@launchdarkly/js-client-sdk-common 1.25.0 → 1.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/LDClientImpl.d.ts +2 -2
  3. package/dist/cjs/LDClientImpl.d.ts.map +1 -1
  4. package/dist/cjs/LDEmitter.d.ts +2 -2
  5. package/dist/cjs/LDEmitter.d.ts.map +1 -1
  6. package/dist/cjs/context/ensureKey.d.ts.map +1 -1
  7. package/dist/cjs/datasource/FDv2DataManagerBase.d.ts.map +1 -1
  8. package/dist/cjs/datasource/SourceFactoryProvider.d.ts.map +1 -1
  9. package/dist/cjs/datasource/fdv2/FDv2DataSource.d.ts.map +1 -1
  10. package/dist/cjs/datasource/fdv2/SourceManager.d.ts +28 -10
  11. package/dist/cjs/datasource/fdv2/SourceManager.d.ts.map +1 -1
  12. package/dist/cjs/index.cjs +117 -40
  13. package/dist/cjs/index.cjs.map +1 -1
  14. package/dist/cjs/storage/getOrGenerateKey.d.ts +4 -1
  15. package/dist/cjs/storage/getOrGenerateKey.d.ts.map +1 -1
  16. package/dist/cjs/storage/namespaceUtils.d.ts +3 -6
  17. package/dist/cjs/storage/namespaceUtils.d.ts.map +1 -1
  18. package/dist/esm/LDClientImpl.d.ts +2 -2
  19. package/dist/esm/LDClientImpl.d.ts.map +1 -1
  20. package/dist/esm/LDEmitter.d.ts +2 -2
  21. package/dist/esm/LDEmitter.d.ts.map +1 -1
  22. package/dist/esm/context/ensureKey.d.ts.map +1 -1
  23. package/dist/esm/datasource/FDv2DataManagerBase.d.ts.map +1 -1
  24. package/dist/esm/datasource/SourceFactoryProvider.d.ts.map +1 -1
  25. package/dist/esm/datasource/fdv2/FDv2DataSource.d.ts.map +1 -1
  26. package/dist/esm/datasource/fdv2/SourceManager.d.ts +28 -10
  27. package/dist/esm/datasource/fdv2/SourceManager.d.ts.map +1 -1
  28. package/dist/esm/index.mjs +117 -40
  29. package/dist/esm/index.mjs.map +1 -1
  30. package/dist/esm/storage/getOrGenerateKey.d.ts +4 -1
  31. package/dist/esm/storage/getOrGenerateKey.d.ts.map +1 -1
  32. package/dist/esm/storage/namespaceUtils.d.ts +3 -6
  33. package/dist/esm/storage/namespaceUtils.d.ts.map +1 -1
  34. package/package.json +2 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.26.1](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.26.0...js-client-sdk-common-v1.26.1) (2026-04-24)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * enabling eslint `ban-types` rule and fixed string typing ([#1313](https://github.com/launchdarkly/js-core/issues/1313)) ([f6d907f](https://github.com/launchdarkly/js-core/commit/f6d907f1a65abd0b41827f3c827e6dad896b16b1))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @launchdarkly/js-sdk-common bumped from 2.24.1 to 2.24.2
16
+
17
+ ## [1.26.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.25.0...js-client-sdk-common-v1.26.0) (2026-04-23)
18
+
19
+
20
+ ### Features
21
+
22
+ * support waitForNetworkResults in FDv2 data manager ([#1280](https://github.com/launchdarkly/js-core/issues/1280)) ([df7fa9e](https://github.com/launchdarkly/js-core/commit/df7fa9e571703132ffa697e8a005f31d7ab866dd))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * FDv2 Only -- Adjust the behavior of initialization when only cache initializers are available. ([#1304](https://github.com/launchdarkly/js-core/issues/1304)) ([9a2b25a](https://github.com/launchdarkly/js-core/commit/9a2b25afd1507b2b6e42b85a32edea7a40be8bb0))
28
+ * migrate anonymous context namespace to general namespace ([#1312](https://github.com/launchdarkly/js-core/issues/1312)) ([afbed0f](https://github.com/launchdarkly/js-core/commit/afbed0f299808f21dd4a8aa5159fe8d31879e1b9))
29
+
3
30
  ## [1.25.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.24.0...js-client-sdk-common-v1.25.0) (2026-04-17)
4
31
 
5
32
 
@@ -107,8 +107,8 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
107
107
  * @returns A promise that resolves to the initialization result or timeout.
108
108
  */
109
109
  private _promiseWithTimeout;
110
- on(eventName: EventName, listener: Function): void;
111
- off(eventName: EventName, listener: Function): void;
110
+ on(eventName: EventName, listener: (...args: any[]) => void): void;
111
+ off(eventName: EventName, listener: (...args: any[]) => void): void;
112
112
  track(key: string, data?: any, metricValue?: number): void;
113
113
  private _variationInternal;
114
114
  variation(flagKey: string, defaultValue?: LDFlagValue): LDFlagValue;
@@ -1 +1 @@
1
- {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,OAAO,EAEP,QAAQ,EAER,SAAS,EACT,WAAW,EAEX,QAAQ,EACR,2BAA2B,EAE3B,QAAQ,EAET,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,sBAAsB,EACtB,SAAS,EACT,eAAe,EAEf,gBAAgB,EAIhB,KAAK,SAAS,EACd,cAAc,EAGd,8BAA8B,EAC9B,6BAA6B,EAE9B,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAoC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAO5F,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AASxF,OAA2B,EAAe,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOnD,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,QAAQ,EAAE,sBAAsB;aA2CzD,MAAM,EAAE,MAAM;aACd,iBAAiB,EAAE,iBAAiB;aACpC,QAAQ,EAAE,QAAQ;IA5CpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA8B;IACnE,OAAO,CAAC,eAAe,CAAC,CAA0B;IAClD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,OAAO,CAAC,qBAAqB,CAAsD;IAEnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAc;IAEpD,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,wBAAwB,CAA0B;IAC1D,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;IAC7B,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,YAAY,CAAY;IAChC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;IACpE,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,cAAc,CAAgC;IAKtD,SAAS,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACtE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,6BAA6B,KAAK,IAAI,CAAC;IACxE,SAAS,CAAC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IAK3D,OAAO,CAAC,cAAc,CAAkB;IACxC,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IACrC,SAAS,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEhE;;OAEG;gBAEe,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClC,OAAO,EAAE,SAAS,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,CAAC,EAAE,uBAAuB;IAuG3C,QAAQ,IAAI,SAAS;IAcf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,KAAK,IAAI,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAY1D,UAAU,IAAI,eAAe,GAAG,SAAS;IAWzC,SAAS,CAAC,kBAAkB,IAAI,OAAO,GAAG,SAAS;IAInD;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE;IAIjE;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAyDvE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxF,cAAc,CAClB,eAAe,EAAE,SAAS,EAC1B,eAAe,CAAC,EAAE,iBAAiB,GAClC,OAAO,CAAC,gBAAgB,CAAC;IA6G5B;;;;;OAKG;IACH,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI;IAcnF,qBAAqB,CACnB,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC,6BAA6B,CAAC;IAwBzC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAuB3B,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIlD,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAInD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IA+B1D,OAAO,CAAC,kBAAkB;IAoF1B,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,WAAW;IASnE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,kBAAkB;IAShF,OAAO,CAAC,UAAU;IAclB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAO1D,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAI1D,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAO1D,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAO1D,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC;IAOzF,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAOzF,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAOzF,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC;IAIzF,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IA2BxE,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI;IAIrD,SAAS,CAAC,iBAAiB,IAAI,eAAe,GAAG,SAAS;IAI1D,OAAO,CAAC,wBAAwB;CA8BjC"}
1
+ {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,14 @@ export default class LDEmitter {
15
15
  private _logger?;
16
16
  private _listeners;
17
17
  constructor(_logger?: LDLogger | undefined);
18
- on(name: EventName, listener: Function): void;
18
+ on(name: EventName, listener: (...args: any[]) => void): void;
19
19
  /**
20
20
  * Unsubscribe one or all events.
21
21
  *
22
22
  * @param name
23
23
  * @param listener Optional. If unspecified, all listeners for the event will be removed.
24
24
  */
25
- off(name: EventName, listener?: Function): void;
25
+ off(name: EventName, listener?: (...args: any[]) => void): void;
26
26
  private _invokeListener;
27
27
  emit(name: EventName, ...detail: any[]): void;
28
28
  eventNames(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"LDEmitter.d.ts","sourceRoot":"","sources":["../src/LDEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,KAAK,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,aAAa,GACb,kBAAkB,GAClB,OAAO,GACP,aAAa,GACb,OAAO,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAGhB,OAAO,CAAC,OAAO,CAAC;IAF5B,OAAO,CAAC,UAAU,CAAyC;gBAEvC,OAAO,CAAC,sBAAU;IAEtC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IAYtC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAqBxC,OAAO,CAAC,eAAe;IAQvB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAKtC,UAAU,IAAI,MAAM,EAAE;IAItB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAGvC"}
1
+ {"version":3,"file":"LDEmitter.d.ts","sourceRoot":"","sources":["../src/LDEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,KAAK,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,aAAa,GACb,kBAAkB,GAClB,OAAO,GACP,aAAa,GACb,OAAO,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAGhB,OAAO,CAAC,OAAO,CAAC;IAF5B,OAAO,CAAC,UAAU,CAA2D;gBAEzD,OAAO,CAAC,sBAAU;IAEtC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAYtD;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAqBxD,OAAO,CAAC,eAAe;IAQvB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAKtC,UAAU,IAAI,MAAM,EAAE;IAItB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAGvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureKey.d.ts","sourceRoot":"","sources":["../../src/context/ensureKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAgDnE;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,YACX,SAAS,YACR,QAAQ,KACjB,QAAQ,eAAe,CAgBzB,CAAC"}
1
+ {"version":3,"file":"ensureKey.d.ts","sourceRoot":"","sources":["../../src/context/ensureKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAoDnE;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,YACX,SAAS,YACR,QAAQ,KACjB,QAAQ,eAAe,CAgBzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FDv2DataManagerBase.d.ts","sourceRoot":"","sources":["../../src/datasource/FDv2DataManagerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,QAAQ,EAET,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,kBAAkB,EAElB,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAiB,MAAM,aAAa,CAAC;AAQjE,OAAO,EAAwB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAEL,cAAc,EACd,YAAY,EAGb,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IAEnB,+CAA+C;IAC/C,eAAe,EAAE,mBAAmB,CAAC;IACrC,8FAA8F;IAC9F,cAAc,EAAE,kBAAkB,CAAC;IACnC,8CAA8C;IAC9C,cAAc,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,+DAA+D;IAC/D,SAAS,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE5F;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,+DAA+D;IAC/D,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C,iEAAiE;IACjE,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnD,kDAAkD;IAClD,cAAc,IAAI,kBAAkB,CAAC;IACrC,+EAA+E;IAC/E,QAAQ,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;IACtD;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,yBAAyB,GACpC,sBAAsB,CA4fxB"}
1
+ {"version":3,"file":"FDv2DataManagerBase.d.ts","sourceRoot":"","sources":["../../src/datasource/FDv2DataManagerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,QAAQ,EAET,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,kBAAkB,EAElB,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAiB,MAAM,aAAa,CAAC;AAQjE,OAAO,EAAwB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAEL,cAAc,EACd,YAAY,EAGb,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IAEnB,+CAA+C;IAC/C,eAAe,EAAE,mBAAmB,CAAC;IACrC,8FAA8F;IAC9F,cAAc,EAAE,kBAAkB,CAAC;IACnC,8CAA8C;IAC9C,cAAc,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,+DAA+D;IAC/D,SAAS,EAAE,SAAS,CAAC;IACrB,gFAAgF;IAChF,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAE5F;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,+DAA+D;IAC/D,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C,iEAAiE;IACjE,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnD,kDAAkD;IAClD,cAAc,IAAI,kBAAkB,CAAC;IACrC,+EAA+E;IAC/E,QAAQ,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;IACtD;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,yBAAyB,GACpC,sBAAsB,CAkhBxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFactoryProvider.d.ts","sourceRoot":"","sources":["../../src/datasource/SourceFactoryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACR,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAkB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AAIxE,OAAO,EAA0B,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKpG;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,SAAS,EAAE,aAAa,CAAC;IACzB,oCAAoC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,sCAAsC;IACtC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,4BAA4B;IAC5B,WAAW,EAAE,SAAS,CAAC;IACvB,oEAAoE;IACpE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc;IACd,MAAM,EAAE,QAAQ,CAAC;IAEjB,sCAAsC;IACtC,OAAO,EAAE;QACP,kCAAkC;QAClC,KAAK,EAAE,eAAe,CAAC;QACvB,wCAAwC;QACxC,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF,wCAAwC;IACxC,SAAS,EAAE;QACT,oCAAoC;QACpC,KAAK,EAAE,eAAe,CAAC;QACvB,kDAAkD;QAClD,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IAGF,gDAAgD;IAChD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,wBAAwB,CACtB,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,oBAAoB,GACxB,kBAAkB,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,sBAAsB,CACpB,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,oBAAoB,GACxB,gBAAgB,GAAG,SAAS,CAAC;CACjC;AAkFD;;;GAGG;AACH,wBAAgB,kCAAkC,IAAI,qBAAqB,CAuD1E"}
1
+ {"version":3,"file":"SourceFactoryProvider.d.ts","sourceRoot":"","sources":["../../src/datasource/SourceFactoryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACR,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAkB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AAIxE,OAAO,EAA0B,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKpG;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,SAAS,EAAE,aAAa,CAAC;IACzB,oCAAoC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,sCAAsC;IACtC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,4BAA4B;IAC5B,WAAW,EAAE,SAAS,CAAC;IACvB,oEAAoE;IACpE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc;IACd,MAAM,EAAE,QAAQ,CAAC;IAEjB,sCAAsC;IACtC,OAAO,EAAE;QACP,kCAAkC;QAClC,KAAK,EAAE,eAAe,CAAC;QACvB,wCAAwC;QACxC,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF,wCAAwC;IACxC,SAAS,EAAE;QACT,oCAAoC;QACpC,KAAK,EAAE,eAAe,CAAC;QACvB,kDAAkD;QAClD,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IAGF,gDAAgD;IAChD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,wBAAwB,CACtB,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,oBAAoB,GACxB,kBAAkB,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,sBAAsB,CACpB,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,oBAAoB,GACxB,gBAAgB,GAAG,SAAS,CAAC;CACjC;AAkFD;;;GAGG;AACH,wBAAgB,kCAAkC,IAAI,qBAAqB,CAwD1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"FDv2DataSource.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/FDv2DataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AASrE,OAAO,EAAuB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAE3C,qDAAqD;IACrD,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEtC,2DAA2D;IAC3D,YAAY,EAAE,YAAY,CAAC;IAE3B,kEAAkE;IAClE,aAAa,EAAE,uBAAuB,CAAC;IAEvC;;;;OAIG;IACH,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEzC,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,wDAAwD;IACxD,KAAK,IAAI,IAAI,CAAC;CACf;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CA8QjF"}
1
+ {"version":3,"file":"FDv2DataSource.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/FDv2DataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AASrE,OAAO,EAAuB,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;IAE3C,qDAAqD;IACrD,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEtC,2DAA2D;IAC3D,YAAY,EAAE,YAAY,CAAC;IAE3B,kEAAkE;IAClE,aAAa,EAAE,uBAAuB,CAAC;IAEvC;;;;OAIG;IACH,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAEzC,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,wDAAwD;IACxD,KAAK,IAAI,IAAI,CAAC;CACf;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAqTjF"}
@@ -1,19 +1,37 @@
1
1
  import { Initializer } from './Initializer';
2
2
  import { Synchronizer } from './Synchronizer';
3
3
  /**
4
- * Factory function that creates an {@link Initializer} instance.
5
- *
6
- * @param selectorGetter Returns the current selector (basis) string, or
7
- * `undefined` if no selector is available.
4
+ * Factory that creates an {@link Initializer} instance and carries optional
5
+ * metadata about the kind of initializer it produces.
8
6
  */
9
- export type InitializerFactory = (selectorGetter: () => string | undefined) => Initializer;
7
+ export interface InitializerFactory {
8
+ /**
9
+ * Create an {@link Initializer} instance.
10
+ *
11
+ * @param selectorGetter Returns the current selector (basis) string, or
12
+ * `undefined` if no selector is available.
13
+ */
14
+ create(selectorGetter: () => string | undefined): Initializer;
15
+ /**
16
+ * True if this factory produces a cache initializer. Used by the data
17
+ * source orchestrator to distinguish cache-only data systems (where a
18
+ * cache miss should still complete initialization) from general
19
+ * initializer chains.
20
+ */
21
+ readonly isCache?: boolean;
22
+ }
10
23
  /**
11
- * Factory function that creates a {@link Synchronizer} instance.
12
- *
13
- * @param selectorGetter Returns the current selector (basis) string, or
14
- * `undefined` if no selector is available.
24
+ * Factory that creates a {@link Synchronizer} instance.
15
25
  */
16
- export type SynchronizerFactory = (selectorGetter: () => string | undefined) => Synchronizer;
26
+ export interface SynchronizerFactory {
27
+ /**
28
+ * Create a {@link Synchronizer} instance.
29
+ *
30
+ * @param selectorGetter Returns the current selector (basis) string, or
31
+ * `undefined` if no selector is available.
32
+ */
33
+ create(selectorGetter: () => string | undefined): Synchronizer;
34
+ }
17
35
  /**
18
36
  * State of a synchronizer slot.
19
37
  * - `'available'`: can be selected for use.
@@ -1 +1 @@
1
- {"version":3,"file":"SourceManager.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/SourceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,KAAK,WAAW,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,KAAK,YAAY,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC,GACA,gBAAgB,CAIlB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,8BAA8B,IAAI,WAAW,GAAG,SAAS,CAAC;IAE1D;;;;OAIG;IACH,wCAAwC,IAAI,YAAY,GAAG,SAAS,CAAC;IAErE,6EAA6E;IAC7E,wBAAwB,IAAI,IAAI,CAAC;IAEjC,qFAAqF;IACrF,gBAAgB,IAAI,IAAI,CAAC;IAEzB,uEAAuE;IACvE,YAAY,IAAI,IAAI,CAAC;IAErB,yEAAyE;IACzE,mBAAmB,IAAI,OAAO,CAAC;IAE/B,qDAAqD;IACrD,6BAA6B,IAAI,MAAM,CAAC;IAExC,mEAAmE;IACnE,eAAe,IAAI,OAAO,CAAC;IAE3B,iEAAiE;IACjE,KAAK,IAAI,IAAI,CAAC;IAEd,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,oBAAoB,EAAE,kBAAkB,EAAE,EAC1C,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,GACvC,aAAa,CAsGf"}
1
+ {"version":3,"file":"SourceManager.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/SourceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IAE9D;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;CAChE;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC,GACA,gBAAgB,CAIlB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,8BAA8B,IAAI,WAAW,GAAG,SAAS,CAAC;IAE1D;;;;OAIG;IACH,wCAAwC,IAAI,YAAY,GAAG,SAAS,CAAC;IAErE,6EAA6E;IAC7E,wBAAwB,IAAI,IAAI,CAAC;IAEjC,qFAAqF;IACrF,gBAAgB,IAAI,IAAI,CAAC;IAEzB,uEAAuE;IACvE,YAAY,IAAI,IAAI,CAAC;IAErB,yEAAyE;IACzE,mBAAmB,IAAI,OAAO,CAAC;IAE/B,qDAAqD;IACrD,6BAA6B,IAAI,MAAM,CAAC;IAExC,mEAAmE;IACnE,eAAe,IAAI,OAAO,CAAC;IAE3B,iEAAiE;IACjE,KAAK,IAAI,IAAI,CAAC;IAEd,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,oBAAoB,EAAE,kBAAkB,EAAE,EAC1C,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,GACvC,aAAa,CAsGf"}
@@ -698,13 +698,28 @@ async function digest(hasher, encoding) {
698
698
  * @param storageKey keyed storage location where the generated key should live. See {@link namespaceForGeneratedContextKey}
699
699
  * for related exmaples of generating a storage key and usage.
700
700
  * @param platform crypto and storage implementations for necessary operations
701
+ * @param legacyStorageKey optional legacy storage key to migrate from. If the key is not found
702
+ * under {@link storageKey} but exists under this legacy key, it will be migrated to the new
703
+ * location and the legacy key will be cleared.
701
704
  * @returns the generated key
702
705
  */
703
- const getOrGenerateKey = async (storageKey, { crypto, storage }) => {
706
+ const getOrGenerateKey = async (storageKey, { crypto, storage }, legacyStorageKey) => {
704
707
  let generatedKey = await storage?.get(storageKey);
705
- if (!generatedKey) {
706
- generatedKey = crypto.randomUUID();
707
- await storage?.set(storageKey, generatedKey);
708
+ if (generatedKey == null) {
709
+ if (legacyStorageKey) {
710
+ generatedKey = await storage?.get(legacyStorageKey);
711
+ if (generatedKey != null) {
712
+ await storage?.set(storageKey, generatedKey);
713
+ const verified = await storage?.get(storageKey);
714
+ if (verified != null) {
715
+ await storage?.clear(legacyStorageKey);
716
+ }
717
+ }
718
+ }
719
+ if (generatedKey == null) {
720
+ generatedKey = crypto.randomUUID();
721
+ await storage?.set(storageKey, generatedKey);
722
+ }
708
723
  }
709
724
  return generatedKey;
710
725
  };
@@ -727,12 +742,9 @@ async function namespaceForEnvironment(crypto, sdkKey) {
727
742
  ]);
728
743
  }
729
744
  /**
730
- * @deprecated prefer {@link namespaceForGeneratedContextKey}. At one time we only generated keys for
731
- * anonymous contexts and they were namespaced in LaunchDarkly_AnonymousKeys. Eventually we started
732
- * generating context keys for non-anonymous contexts such as for the Auto Environment Attributes
733
- * feature and those were namespaced in LaunchDarkly_ContextKeys. This function can be removed
734
- * when the data under the LaunchDarkly_AnonymousKeys namespace is merged with data under the
735
- * LaunchDarkly_ContextKeys namespace.
745
+ * @deprecated Used only for migration in ensureKey. Data stored under LaunchDarkly_AnonymousKeys
746
+ * is now migrated to LaunchDarkly_ContextKeys on first access. This function can be removed once
747
+ * all clients have had the chance to run the migration.
736
748
  */
737
749
  async function namespaceForAnonymousGeneratedContextKey(kind) {
738
750
  return concatNamespacesAndValues([
@@ -915,10 +927,11 @@ const { isLegacyUser, isMultiKind, isSingleKind } = jsSdkCommon.internal;
915
927
  const ensureKeyCommon = async (kind, c, platform) => {
916
928
  const { anonymous, key } = c;
917
929
  if (anonymous && !key) {
918
- const storageKey = await namespaceForAnonymousGeneratedContextKey(kind);
930
+ const storageKey = await namespaceForGeneratedContextKey(kind);
931
+ const legacyStorageKey = await namespaceForAnonymousGeneratedContextKey(kind);
919
932
  // This mutates a cloned copy of the original context from ensureyKey so this is safe.
920
933
  // eslint-disable-next-line no-param-reassign
921
- c.key = await getOrGenerateKey(storageKey, platform);
934
+ c.key = await getOrGenerateKey(storageKey, platform, legacyStorageKey);
922
935
  }
923
936
  };
924
937
  const ensureKeySingle = async (c, platform) => {
@@ -3305,21 +3318,24 @@ async function loadFromCache(config) {
3305
3318
  * @internal
3306
3319
  */
3307
3320
  function createCacheInitializerFactory(config) {
3308
- // The selectorGetter is ignored — cache data has no selector.
3309
- return (_selectorGetter) => {
3310
- let shutdownResolve;
3311
- const shutdownPromise = new Promise((resolve) => {
3312
- shutdownResolve = resolve;
3313
- });
3314
- return {
3315
- async run() {
3316
- return Promise.race([shutdownPromise, loadFromCache(config)]);
3317
- },
3318
- close() {
3319
- shutdownResolve?.(shutdown());
3320
- shutdownResolve = undefined;
3321
- },
3322
- };
3321
+ return {
3322
+ isCache: true,
3323
+ // The selectorGetter is ignored -- cache data has no selector.
3324
+ create(_selectorGetter) {
3325
+ let shutdownResolve;
3326
+ const shutdownPromise = new Promise((resolve) => {
3327
+ shutdownResolve = resolve;
3328
+ });
3329
+ return {
3330
+ async run() {
3331
+ return Promise.race([shutdownPromise, loadFromCache(config)]);
3332
+ },
3333
+ close() {
3334
+ shutdownResolve?.(shutdown());
3335
+ shutdownResolve = undefined;
3336
+ },
3337
+ };
3338
+ },
3323
3339
  };
3324
3340
  }
3325
3341
 
@@ -3787,7 +3803,7 @@ function createSourceManager(initializerFactories, synchronizerSlots, selectorGe
3787
3803
  return undefined;
3788
3804
  }
3789
3805
  closeActiveSource();
3790
- const initializer = initializerFactories[initializerIndex](selectorGetter);
3806
+ const initializer = initializerFactories[initializerIndex].create(selectorGetter);
3791
3807
  activeSource = initializer;
3792
3808
  return initializer;
3793
3809
  },
@@ -3807,7 +3823,7 @@ function createSourceManager(initializerFactories, synchronizerSlots, selectorGe
3807
3823
  const candidate = synchronizerSlots[synchronizerIndex];
3808
3824
  if (candidate.state === 'available') {
3809
3825
  closeActiveSource();
3810
- const synchronizer = candidate.factory(selectorGetter);
3826
+ const synchronizer = candidate.factory.create(selectorGetter);
3811
3827
  activeSource = synchronizer;
3812
3828
  return synchronizer;
3813
3829
  }
@@ -4197,10 +4213,14 @@ function createDefaultSourceFactoryProvider() {
4197
4213
  switch (entry.type) {
4198
4214
  case 'polling': {
4199
4215
  const requestor = resolvePollingRequestor(ctx, entry.endpoints);
4200
- return (sg) => createPollingInitializer(requestor, ctx.logger, sg);
4216
+ return {
4217
+ create: (sg) => createPollingInitializer(requestor, ctx.logger, sg),
4218
+ };
4201
4219
  }
4202
4220
  case 'streaming':
4203
- return (sg) => createStreamingInitializer(buildStreamingBase(entry, ctx, sg));
4221
+ return {
4222
+ create: (sg) => createStreamingInitializer(buildStreamingBase(entry, ctx, sg)),
4223
+ };
4204
4224
  case 'cache':
4205
4225
  return createCacheInitializerFactory({
4206
4226
  storage: ctx.storage,
@@ -4218,13 +4238,14 @@ function createDefaultSourceFactoryProvider() {
4218
4238
  case 'polling': {
4219
4239
  const intervalMs = (entry.pollInterval ?? ctx.polling.intervalSeconds) * 1000;
4220
4240
  const requestor = resolvePollingRequestor(ctx, entry.endpoints);
4221
- const factory = (sg) => createPollingSynchronizer(requestor, ctx.logger, sg, intervalMs);
4222
- return createSynchronizerSlot(factory);
4223
- }
4224
- case 'streaming': {
4225
- const factory = (sg) => createStreamingSynchronizer(buildStreamingBase(entry, ctx, sg));
4226
- return createSynchronizerSlot(factory);
4241
+ return createSynchronizerSlot({
4242
+ create: (sg) => createPollingSynchronizer(requestor, ctx.logger, sg, intervalMs),
4243
+ });
4227
4244
  }
4245
+ case 'streaming':
4246
+ return createSynchronizerSlot({
4247
+ create: (sg) => createStreamingSynchronizer(buildStreamingBase(entry, ctx, sg)),
4248
+ });
4228
4249
  default:
4229
4250
  return undefined;
4230
4251
  }
@@ -4495,6 +4516,15 @@ function createFDv2DataSource(config) {
4495
4516
  let dataReceived = false;
4496
4517
  let initResolve;
4497
4518
  let initReject;
4519
+ // When every initializer is a cache initializer and there are no
4520
+ // synchronizers, the cache is the only possible data source. A cache miss
4521
+ // in that configuration must not fail initialization -- there is nowhere
4522
+ // else for data to come from, and reporting an error would be meaningless.
4523
+ // Mirrors the Android SDK's InitializerFromCache / hasAvailableSources
4524
+ // behavior.
4525
+ const cacheOnlyDataSystem = initializerFactories.length > 0 &&
4526
+ initializerFactories.every((f) => f.isCache === true) &&
4527
+ synchronizerSlots.length === 0;
4498
4528
  const sourceManager = createSourceManager(initializerFactories, synchronizerSlots, selectorGetter);
4499
4529
  function markInitialized() {
4500
4530
  if (!initialized) {
@@ -4524,6 +4554,10 @@ function createFDv2DataSource(config) {
4524
4554
  // The orchestration loops intentionally use await-in-loop for sequential
4525
4555
  // state machine processing — one result at a time.
4526
4556
  async function runInitializers() {
4557
+ // Tracks whether any initializer reported interrupted/terminal_error.
4558
+ // Used below so the cache-only exhaustion branch does not overwrite
4559
+ // that error status with VALID.
4560
+ let errorReportedDuringInit = false;
4527
4561
  while (!closed) {
4528
4562
  const initializer = sourceManager.getNextInitializerAndSetActive();
4529
4563
  if (initializer === undefined) {
@@ -4556,6 +4590,7 @@ function createFDv2DataSource(config) {
4556
4590
  case 'terminal_error':
4557
4591
  logger?.warn(`Initializer failed: ${result.errorInfo?.message ?? 'unknown error'}`);
4558
4592
  reportStatusError(result);
4593
+ errorReportedDuringInit = true;
4559
4594
  break;
4560
4595
  case 'shutdown':
4561
4596
  return;
@@ -4563,8 +4598,30 @@ function createFDv2DataSource(config) {
4563
4598
  handleFdv1Fallback(result);
4564
4599
  }
4565
4600
  }
4601
+ // close() between the last loop iteration and the exhaustion branch.
4602
+ // Exit without marking initialized or emitting a spurious VALID; the
4603
+ // start() promise will be rejected by the post-orchestration handler
4604
+ // with "closed before initialization completed."
4605
+ if (closed) {
4606
+ return;
4607
+ }
4566
4608
  // All initializers exhausted.
4567
- if (dataReceived) {
4609
+ if (cacheOnlyDataSystem) {
4610
+ // Cache-only data system with no synchronizer to produce a VALID
4611
+ // status on its own. On a cache miss with no errors, nothing else
4612
+ // has asserted VALID yet, so do it here. Skip the update if:
4613
+ // - dataReceived (cache hit): applyChangeSet already asserted VALID.
4614
+ // - errorReportedDuringInit: reportError set an error status that
4615
+ // must not be silently overwritten.
4616
+ if (!dataReceived && !errorReportedDuringInit) {
4617
+ statusManager.requestStateUpdate('VALID');
4618
+ }
4619
+ markInitialized();
4620
+ }
4621
+ else if (dataReceived) {
4622
+ // At least one initializer delivered data. Do not overwrite any
4623
+ // error status that a subsequent failed initializer may have
4624
+ // reported -- the status will be driven by the synchronizers.
4568
4625
  markInitialized();
4569
4626
  }
4570
4627
  }
@@ -4795,6 +4852,13 @@ function createFDv2DataManagerBase(baseConfig) {
4795
4852
  let bootstrapped = false;
4796
4853
  let closed = false;
4797
4854
  let flushCallback;
4855
+ /**
4856
+ * The minimum data availability required before the identify promise
4857
+ * resolves. Maps from the public `waitForNetworkResults` option:
4858
+ * - `'cached'` -- resolve as soon as any data (e.g. from cache) is delivered
4859
+ * - `'fresh'` -- wait for network data with a selector (REFRESHED state)
4860
+ */
4861
+ let minimumDataAvailability = 'fresh';
4798
4862
  // Explicit connection mode override — bypasses transition table entirely.
4799
4863
  let connectionModeOverride;
4800
4864
  // Forced/automatic streaming state for browser listener-driven streaming.
@@ -4897,7 +4961,9 @@ function createFDv2DataManagerBase(baseConfig) {
4897
4961
  ? new jsSdkCommon.ServiceEndpoints(fallbackConfig.endpoints.streamingBaseUri ?? ctx.serviceEndpoints.streaming, fallbackConfig.endpoints.pollingBaseUri ?? ctx.serviceEndpoints.polling, ctx.serviceEndpoints.events, ctx.serviceEndpoints.analyticsEventPath, ctx.serviceEndpoints.diagnosticEventPath, ctx.serviceEndpoints.includeAuthorizationHeader, ctx.serviceEndpoints.payloadFilterKey)
4898
4962
  : ctx.serviceEndpoints;
4899
4963
  const fdv1RequestorFactory = () => makeRequestor(ctx.plainContextString, fallbackServiceEndpoints, fdv1Endpoints.polling(), ctx.requests, ctx.encoding, ctx.baseHeaders, ctx.queryParams, config.withReasons, config.useReport);
4900
- const fdv1SyncFactory = () => createFDv1PollingSynchronizer(fdv1RequestorFactory(), fallbackPollIntervalMs, logger);
4964
+ const fdv1SyncFactory = {
4965
+ create: () => createFDv1PollingSynchronizer(fdv1RequestorFactory(), fallbackPollIntervalMs, logger),
4966
+ };
4901
4967
  synchronizerSlots.push(createSynchronizerSlot(fdv1SyncFactory, { isFDv1Fallback: true }));
4902
4968
  }
4903
4969
  return { initializerFactories, synchronizerSlots };
@@ -4916,11 +4982,21 @@ function createFDv2DataManagerBase(baseConfig) {
4916
4982
  }
4917
4983
  const descriptors = flagEvalPayloadToItemDescriptors(payload.updates ?? []);
4918
4984
  // Flag updates and change events happen synchronously inside applyChanges.
4919
- // The returned promise is only for async cache persistence we intentionally
4985
+ // The returned promise is only for async cache persistence -- we intentionally
4920
4986
  // do not await it so the data source pipeline is not blocked by storage I/O.
4921
4987
  flagManager.applyChanges(context, descriptors, payload.type).catch((e) => {
4922
4988
  logger.warn(`${logTag} Failed to persist flag cache: ${e}`);
4923
4989
  });
4990
+ // When the minimum data availability is 'cached', resolve the identify
4991
+ // promise as soon as any data (e.g. from cache) has been delivered. The
4992
+ // data source continues its initialization pipeline normally --
4993
+ // subsequent changesets update flags and fire change events.
4994
+ if (minimumDataAvailability === 'cached' && !initialized && pendingIdentifyResolve) {
4995
+ initialized = true;
4996
+ pendingIdentifyResolve();
4997
+ pendingIdentifyResolve = undefined;
4998
+ pendingIdentifyReject = undefined;
4999
+ }
4924
5000
  }
4925
5001
  /**
4926
5002
  * Create and start a new FDv2DataSource for the given mode.
@@ -5027,6 +5103,7 @@ function createFDv2DataManagerBase(baseConfig) {
5027
5103
  selector = undefined;
5028
5104
  initialized = false;
5029
5105
  bootstrapped = false;
5106
+ minimumDataAvailability = identifyOptions?.waitForNetworkResults ? 'fresh' : 'cached';
5030
5107
  identifiedContext = context;
5031
5108
  pendingIdentifyResolve = identifyResolve;
5032
5109
  pendingIdentifyReject = identifyReject;