8000 [FSSDK-9416] Refactor dependent promises typing in client onReady (#834) · chrisvaf/javascript-sdk@6b88aaf · GitHub
[go: up one dir, main page]

Skip to content

Commit 6b88aaf

Browse files
authored
[FSSDK-9416] Refactor dependent promises typing in client onReady (optimizely#834)
1 parent 2f75caf commit 6b88aaf

File tree

6 files changed

+16
-8
lines changed

6 files changed

+16
-8
lines changed

packages/optimizely-sdk/lib/modules/event_processor/eventQueue.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ export class SingleEventQueue<K> implements EventQueue<K> {
6767
this.sink = sink
6868
}
6969

70-
start(): void {
70+
start(): Promise<any> {
7171
// no-op
72+
return Promise.resolve()
7273
}
7374

7475
stop(): Promise<any> {
@@ -114,9 +115,11 @@ export class DefaultEventQueue<K> implements EventQueue<K> {
114115
this.started = false
115116
}
116117

117-
start(): void {
118+
start(): Promise<any> {
118119
this.started = true
119120
// dont start the timer until the first event is enqueued
121+
122+
return Promise.resolve();
120123
}
121124

122125
stop(): Promise<any> {

packages/optimizely-sdk/lib/modules/event_processor/managed.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616
export interface Managed {
17-
start(): void
17+
start(): Promise<any>
1818

1919
stop(): Promise<any>
2020
}

packages/optimizely-sdk/lib/modules/event_processor/v1/v1EventProcessor.react_native.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ export class LogTierV1EventProcessor implements EventProcessor {
205205
}
206206

207207
public async start(): Promise<void> {
208-
this.queue.start()
208+
await this.queue.start()
209209
this.unsubscribeNetInfo = addConnectionListener(this.connectionListener.bind(this))
210210

211211
await this.processPendingEvents()

packages/optimizely-sdk/lib/modules/event_processor/v1/v1EventProcessor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,6 @@ export class LogTierV1EventProcessor implements EventProcessor {
9797
}
9898

9999
async start(): Promise<void> {
100-
this.queue.start()
100+
await this.queue.start()
101101
}
102102
}

packages/optimizely-sdk/lib/optimizely/index.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,15 @@ export default class Optimizely implements Client {
179179

180180
const eventProcessorStartedPromise = this.eventProcessor.start();
181181

182-
const dependentPromises: Array<Promise<any> | void> = [
182+
const dependentPromises: Array<Promise<any>> = [
183183
projectConfigManagerReadyPromise,
184184
eventProcessorStartedPromise,
185-
config.odpManager?.initPromise,
186185
];
187186

187+
if (config.odpManager?.initPromise) {
188+
dependentPromises.push(config.odpManager.initPromise);
189+
}
190+
188191
this.readyPromise = Promise.all(dependentPromises).then(promiseResults => {
189192
// If no odpManager exists yet, creates a new one
190193
if (config.odpManager != null) {

packages/optimizely-sdk/lib/plugins/event_processor/forwarding_event_processor.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ class ForwardingEventProcessor implements EventProcessor {
4444
}
4545
}
4646

47-
start(): void {}
47+
start(): Promise<any> {
48+
return Promise.resolve();
49+
}
4850

4951
stop(): Promise<unknown> {
5052
return Promise.resolve();

0 commit comments

Comments
 (0)
0