@launchdarkly/js-client-sdk-common 1.15.2 → 1.17.0

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 (68) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/LDClientImpl.d.ts +37 -4
  3. package/dist/cjs/LDClientImpl.d.ts.map +1 -1
  4. package/dist/cjs/LDEmitter.d.ts +1 -1
  5. package/dist/cjs/LDEmitter.d.ts.map +1 -1
  6. package/dist/cjs/api/LDClient.d.ts +33 -0
  7. package/dist/cjs/api/LDClient.d.ts.map +1 -1
  8. package/dist/cjs/api/LDOptions.d.ts +7 -0
  9. package/dist/cjs/api/LDOptions.d.ts.map +1 -1
  10. package/dist/cjs/api/LDPlugin.d.ts +16 -0
  11. package/dist/cjs/api/LDPlugin.d.ts.map +1 -0
  12. package/dist/cjs/api/LDWaitForInitialization.d.ts +50 -0
  13. package/dist/cjs/api/LDWaitForInitialization.d.ts.map +1 -0
  14. package/dist/cjs/api/index.d.ts +2 -0
  15. package/dist/cjs/api/index.d.ts.map +1 -1
  16. package/dist/cjs/configuration/Configuration.d.ts +1 -0
  17. package/dist/cjs/configuration/Configuration.d.ts.map +1 -1
  18. package/dist/cjs/configuration/validators.d.ts.map +1 -1
  19. package/dist/cjs/context/createActiveContextTracker.d.ts +49 -0
  20. package/dist/cjs/context/createActiveContextTracker.d.ts.map +1 -0
  21. package/dist/cjs/flag-manager/FlagManager.d.ts +70 -1
  22. package/dist/cjs/flag-manager/FlagManager.d.ts.map +1 -1
  23. package/dist/cjs/flag-manager/FlagPersistence.d.ts +1 -1
  24. package/dist/cjs/flag-manager/FlagPersistence.d.ts.map +1 -1
  25. package/dist/cjs/flag-manager/FlagStore.d.ts +15 -13
  26. package/dist/cjs/flag-manager/FlagStore.d.ts.map +1 -1
  27. package/dist/cjs/flag-manager/FlagUpdater.d.ts +35 -7
  28. package/dist/cjs/flag-manager/FlagUpdater.d.ts.map +1 -1
  29. package/dist/cjs/index.cjs +347 -121
  30. package/dist/cjs/index.cjs.map +1 -1
  31. package/dist/cjs/index.d.ts +3 -2
  32. package/dist/cjs/index.d.ts.map +1 -1
  33. package/dist/cjs/plugins/safeRegisterDebugOverridePlugins.d.ts +12 -0
  34. package/dist/cjs/plugins/safeRegisterDebugOverridePlugins.d.ts.map +1 -0
  35. package/dist/esm/LDClientImpl.d.ts +37 -4
  36. package/dist/esm/LDClientImpl.d.ts.map +1 -1
  37. package/dist/esm/LDEmitter.d.ts +1 -1
  38. package/dist/esm/LDEmitter.d.ts.map +1 -1
  39. package/dist/esm/api/LDClient.d.ts +33 -0
  40. package/dist/esm/api/LDClient.d.ts.map +1 -1
  41. package/dist/esm/api/LDOptions.d.ts +7 -0
  42. package/dist/esm/api/LDOptions.d.ts.map +1 -1
  43. package/dist/esm/api/LDPlugin.d.ts +16 -0
  44. package/dist/esm/api/LDPlugin.d.ts.map +1 -0
  45. package/dist/esm/api/LDWaitForInitialization.d.ts +50 -0
  46. package/dist/esm/api/LDWaitForInitialization.d.ts.map +1 -0
  47. package/dist/esm/api/index.d.ts +2 -0
  48. package/dist/esm/api/index.d.ts.map +1 -1
  49. package/dist/esm/configuration/Configuration.d.ts +1 -0
  50. package/dist/esm/configuration/Configuration.d.ts.map +1 -1
  51. package/dist/esm/configuration/validators.d.ts.map +1 -1
  52. package/dist/esm/context/createActiveContextTracker.d.ts +49 -0
  53. package/dist/esm/context/createActiveContextTracker.d.ts.map +1 -0
  54. package/dist/esm/flag-manager/FlagManager.d.ts +70 -1
  55. package/dist/esm/flag-manager/FlagManager.d.ts.map +1 -1
  56. package/dist/esm/flag-manager/FlagPersistence.d.ts +1 -1
  57. package/dist/esm/flag-manager/FlagPersistence.d.ts.map +1 -1
  58. package/dist/esm/flag-manager/FlagStore.d.ts +15 -13
  59. package/dist/esm/flag-manager/FlagStore.d.ts.map +1 -1
  60. package/dist/esm/flag-manager/FlagUpdater.d.ts +35 -7
  61. package/dist/esm/flag-manager/FlagUpdater.d.ts.map +1 -1
  62. package/dist/esm/index.d.ts +3 -2
  63. package/dist/esm/index.d.ts.map +1 -1
  64. package/dist/esm/index.mjs +348 -123
  65. package/dist/esm/index.mjs.map +1 -1
  66. package/dist/esm/plugins/safeRegisterDebugOverridePlugins.d.ts +12 -0
  67. package/dist/esm/plugins/safeRegisterDebugOverridePlugins.d.ts.map +1 -0
  68. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import { Context, LDLogger } from '@launchdarkly/js-sdk-common';
2
2
  import FlagStore from './FlagStore';
3
3
  import { ItemDescriptor } from './ItemDescriptor';
4
- export type FlagChangeType = 'init' | 'patch';
4
+ export type FlagChangeType = 'init' | 'patch' | 'override';
5
5
  /**
6
6
  * This callback indicates that the details associated with one or more flags
7
7
  * have changed.
@@ -21,20 +21,48 @@ export type FlagsChangeCallback = (context: Context, flagKeys: Array<string>, ty
21
21
  * It handles versions checking to handle out of order flag updates and
22
22
  * also handles flag comparisons for change notification.
23
23
  */
24
- export default class FlagUpdater {
25
- private _flagStore;
26
- private _logger;
27
- private _activeContextKey;
28
- private _changeCallbacks;
29
- constructor(flagStore: FlagStore, logger: LDLogger);
24
+ export interface FlagUpdater {
25
+ /**
26
+ * Handles the flag changes by calling the change callbacks.
27
+ *
28
+ * @param keys keys of the flags that changed
29
+ * @param type type of change that occurred see {@link FlagChangeType}
30
+ */
31
+ handleFlagChanges(keys: string[], type: FlagChangeType): void;
32
+ /**
33
+ * Initializes the flag updater with the given context and flags.
34
+ * This will be called every time a new context is identified.
35
+ *
36
+ * @param context the context to initialize the flag updater with
37
+ * @param newFlags the flags to initialize the flag updater with
38
+ */
30
39
  init(context: Context, newFlags: {
31
40
  [key: string]: ItemDescriptor;
32
41
  }): void;
33
42
  initCached(context: Context, newFlags: {
34
43
  [key: string]: ItemDescriptor;
35
44
  }): void;
45
+ /**
46
+ * Upserts the flag with the given key and item.
47
+ *
48
+ * @param context the context to upsert the flag with
49
+ * @param key the key of the flag to upsert
50
+ * @param item the item to upsert the flag with
51
+ * @returns true if the flag was upserted, false otherwise
52
+ */
36
53
  upsert(context: Context, key: string, item: ItemDescriptor): boolean;
54
+ /**
55
+ * Registers a callback to be called when the flags change.
56
+ *
57
+ * @param callback the callback to register
58
+ */
37
59
  on(callback: FlagsChangeCallback): void;
60
+ /**
61
+ * Unregisters a callback to be called when the flags change.
62
+ *
63
+ * @param callback the callback to unregister
64
+ */
38
65
  off(callback: FlagsChangeCallback): void;
39
66
  }
67
+ export default function createFlagUpdater(_flagStore: FlagStore, _logger: LDLogger): FlagUpdater;
40
68
  //# sourceMappingURL=FlagUpdater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlagUpdater.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,IAAI,EAAE,cAAc,KACjB,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,gBAAgB,CAAoC;gBAEhD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ;IAKlD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE;IAgBlE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE;IAQxE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO;IAuBpE,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIvC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAMzC"}
1
+ {"version":3,"file":"FlagUpdater.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EACvB,IAAI,EAAE,cAAc,KACjB,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9D;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAE1E,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAEhF;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAErE;;;;OAIG;IACH,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW,CAoE/F"}