@launchdarkly/js-client-sdk-common 1.8.0 → 1.9.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 (118) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/DataManager.d.ts +15 -0
  3. package/dist/DataManager.d.ts.map +1 -1
  4. package/dist/HookRunner.d.ts +12 -0
  5. package/dist/HookRunner.d.ts.map +1 -0
  6. package/dist/LDClientImpl.d.ts +6 -5
  7. package/dist/LDClientImpl.d.ts.map +1 -1
  8. package/dist/LDEmitter.d.ts +13 -1
  9. package/dist/LDEmitter.d.ts.map +1 -1
  10. package/dist/api/LDClient.d.ts +13 -0
  11. package/dist/api/LDClient.d.ts.map +1 -1
  12. package/dist/api/LDOptions.d.ts +21 -2
  13. package/dist/api/LDOptions.d.ts.map +1 -1
  14. package/dist/api/index.d.ts +1 -0
  15. package/dist/api/index.d.ts.map +1 -1
  16. package/dist/api/integrations/Hooks.d.ts +133 -0
  17. package/dist/api/integrations/Hooks.d.ts.map +1 -0
  18. package/dist/api/integrations/index.d.ts +2 -0
  19. package/dist/api/integrations/index.d.ts.map +1 -0
  20. package/dist/configuration/Configuration.d.ts +6 -7
  21. package/dist/configuration/Configuration.d.ts.map +1 -1
  22. package/dist/configuration/validators.d.ts.map +1 -1
  23. package/dist/context/addAutoEnv.d.ts +1 -1
  24. package/dist/datasource/DataSourceEventHandler.d.ts +16 -0
  25. package/dist/datasource/DataSourceEventHandler.d.ts.map +1 -0
  26. package/dist/datasource/DataSourceStatus.d.ts +39 -0
  27. package/dist/datasource/DataSourceStatus.d.ts.map +1 -0
  28. package/dist/datasource/DataSourceStatusErrorInfo.d.ts +8 -0
  29. package/dist/datasource/DataSourceStatusErrorInfo.d.ts.map +1 -0
  30. package/dist/datasource/DataSourceStatusManager.d.ts +40 -0
  31. package/dist/datasource/DataSourceStatusManager.d.ts.map +1 -0
  32. package/dist/flag-manager/FlagManager.d.ts +10 -0
  33. package/dist/flag-manager/FlagManager.d.ts.map +1 -1
  34. package/dist/index.cjs +1686 -0
  35. package/dist/index.cjs.map +1 -0
  36. package/dist/index.d.ts +8 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.mjs +1659 -0
  39. package/dist/index.mjs.map +1 -0
  40. package/dist/polling/PollingProcessor.d.ts.map +1 -1
  41. package/dist/streaming/DataSourceConfig.d.ts +4 -0
  42. package/dist/streaming/DataSourceConfig.d.ts.map +1 -1
  43. package/dist/streaming/StreamingProcessor.d.ts.map +1 -1
  44. package/dist/types/index.d.ts +3 -3
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/package.json +18 -7
  47. package/dist/DataManager.js +0 -98
  48. package/dist/DataManager.js.map +0 -1
  49. package/dist/LDClientImpl.js +0 -334
  50. package/dist/LDClientImpl.js.map +0 -1
  51. package/dist/LDEmitter.js +0 -64
  52. package/dist/LDEmitter.js.map +0 -1
  53. package/dist/api/ConnectionMode.js +0 -3
  54. package/dist/api/ConnectionMode.js.map +0 -1
  55. package/dist/api/LDClient.js +0 -3
  56. package/dist/api/LDClient.js.map +0 -1
  57. package/dist/api/LDEvaluationDetail.js +0 -3
  58. package/dist/api/LDEvaluationDetail.js.map +0 -1
  59. package/dist/api/LDIdentifyOptions.js +0 -3
  60. package/dist/api/LDIdentifyOptions.js.map +0 -1
  61. package/dist/api/LDOptions.js +0 -3
  62. package/dist/api/LDOptions.js.map +0 -1
  63. package/dist/api/index.js +0 -21
  64. package/dist/api/index.js.map +0 -1
  65. package/dist/configuration/Configuration.js +0 -79
  66. package/dist/configuration/Configuration.js.map +0 -1
  67. package/dist/configuration/index.js +0 -8
  68. package/dist/configuration/index.js.map +0 -1
  69. package/dist/configuration/validators.js +0 -29
  70. package/dist/configuration/validators.js.map +0 -1
  71. package/dist/context/addAutoEnv.js +0 -113
  72. package/dist/context/addAutoEnv.js.map +0 -1
  73. package/dist/context/ensureKey.js +0 -72
  74. package/dist/context/ensureKey.js.map +0 -1
  75. package/dist/crypto/digest.js +0 -14
  76. package/dist/crypto/digest.js.map +0 -1
  77. package/dist/diagnostics/createDiagnosticsInitConfig.js +0 -19
  78. package/dist/diagnostics/createDiagnosticsInitConfig.js.map +0 -1
  79. package/dist/diagnostics/createDiagnosticsManager.js +0 -12
  80. package/dist/diagnostics/createDiagnosticsManager.js.map +0 -1
  81. package/dist/evaluation/evaluationDetail.js +0 -20
  82. package/dist/evaluation/evaluationDetail.js.map +0 -1
  83. package/dist/events/EventFactory.js +0 -25
  84. package/dist/events/EventFactory.js.map +0 -1
  85. package/dist/events/createEventProcessor.js +0 -11
  86. package/dist/events/createEventProcessor.js.map +0 -1
  87. package/dist/flag-manager/ContextIndex.js +0 -64
  88. package/dist/flag-manager/ContextIndex.js.map +0 -1
  89. package/dist/flag-manager/FlagManager.js +0 -48
  90. package/dist/flag-manager/FlagManager.js.map +0 -1
  91. package/dist/flag-manager/FlagPersistence.js +0 -120
  92. package/dist/flag-manager/FlagPersistence.js.map +0 -1
  93. package/dist/flag-manager/FlagStore.js +0 -31
  94. package/dist/flag-manager/FlagStore.js.map +0 -1
  95. package/dist/flag-manager/FlagUpdater.js +0 -69
  96. package/dist/flag-manager/FlagUpdater.js.map +0 -1
  97. package/dist/flag-manager/ItemDescriptor.js +0 -3
  98. package/dist/flag-manager/ItemDescriptor.js.map +0 -1
  99. package/dist/flag-manager/calculateChangedKeys.js +0 -22
  100. package/dist/flag-manager/calculateChangedKeys.js.map +0 -1
  101. package/dist/index.js +0 -26
  102. package/dist/index.js.map +0 -1
  103. package/dist/polling/PollingProcessor.js +0 -96
  104. package/dist/polling/PollingProcessor.js.map +0 -1
  105. package/dist/polling/Requestor.js +0 -48
  106. package/dist/polling/Requestor.js.map +0 -1
  107. package/dist/storage/getOrGenerateKey.js +0 -21
  108. package/dist/storage/getOrGenerateKey.js.map +0 -1
  109. package/dist/storage/namespaceUtils.js +0 -62
  110. package/dist/storage/namespaceUtils.js.map +0 -1
  111. package/dist/streaming/DataSourceConfig.js +0 -3
  112. package/dist/streaming/DataSourceConfig.js.map +0 -1
  113. package/dist/streaming/StreamingProcessor.js +0 -126
  114. package/dist/streaming/StreamingProcessor.js.map +0 -1
  115. package/dist/streaming/index.js +0 -6
  116. package/dist/streaming/index.js.map +0 -1
  117. package/dist/types/index.js +0 -3
  118. package/dist/types/index.js.map +0 -1
@@ -0,0 +1,40 @@
1
+ import { DataSourceErrorKind } from '@launchdarkly/js-sdk-common';
2
+ import LDEmitter from '../LDEmitter';
3
+ import DataSourceStatus, { DataSourceState } from './DataSourceStatus';
4
+ /**
5
+ * Tracks the current data source status and emits updates when the status changes.
6
+ */
7
+ export default class DataSourceStatusManager {
8
+ private readonly emitter;
9
+ private state;
10
+ private stateSinceMillis;
11
+ private errorInfo?;
12
+ private timeStamper;
13
+ constructor(emitter: LDEmitter, timeStamper?: () => number);
14
+ get status(): DataSourceStatus;
15
+ /**
16
+ * Updates the state of the manager.
17
+ *
18
+ * @param requestedState to track
19
+ * @param isError to indicate that the state update is a result of an error occurring.
20
+ */
21
+ private updateState;
22
+ /**
23
+ * Requests the manager move to the provided state. This request may be ignored
24
+ * if the current state cannot transition to the requested state.
25
+ * @param state that is requested
26
+ */
27
+ requestStateUpdate(state: DataSourceState): void;
28
+ /**
29
+ * Reports a datasource error to this manager. Since the {@link DataSourceStatus} includes error
30
+ * information, it is possible that that a {@link DataSourceStatus} update is emitted with
31
+ * the same {@link DataSourceState}.
32
+ *
33
+ * @param kind of the error
34
+ * @param message for the error
35
+ * @param statusCode of the error if there was one
36
+ * @param recoverable to indicate that the error is anticipated to be recoverable
37
+ */
38
+ reportError(kind: DataSourceErrorKind, message: string, statusCode?: number, recoverable?: boolean): void;
39
+ }
40
+ //# sourceMappingURL=DataSourceStatusManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSourceStatusManager.d.ts","sourceRoot":"","sources":["../../src/datasource/DataSourceStatusManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,gBAAgB,EAAE,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGvE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAOxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,SAAS,CAAC,CAA4B;IAC9C,OAAO,CAAC,WAAW,CAAe;gBAGf,OAAO,EAAE,SAAS,EACnC,WAAW,GAAE,MAAM,MAAyB;IAO9C,IAAI,MAAM,IAAI,gBAAgB,CAM7B;IAED;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAiBnB;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,eAAe;IAIzC;;;;;;;;;OASG;IACH,WAAW,CACT,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,GAAE,OAAe;CAgB/B"}
@@ -34,6 +34,13 @@ export interface FlagManager {
34
34
  * Asynchronously load cached values from persistence.
35
35
  */
36
36
  loadCached(context: Context): Promise<boolean>;
37
+ /**
38
+ * Update in-memory storage with the specified flags, but do not persistent them to cache
39
+ * storage.
40
+ */
41
+ setBootstrap(context: Context, newFlags: {
42
+ [key: string]: ItemDescriptor;
43
+ }): void;
37
44
  /**
38
45
  * Register a flag change callback.
39
46
  */
@@ -61,6 +68,9 @@ export default class DefaultFlagManager implements FlagManager {
61
68
  getAll(): {
62
69
  [key: string]: ItemDescriptor;
63
70
  };
71
+ setBootstrap(context: Context, newFlags: {
72
+ [key: string]: ItemDescriptor;
73
+ }): void;
64
74
  init(context: Context, newFlags: {
65
75
  [key: string]: ItemDescriptor;
66
76
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"FlagManager.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAK1E,OAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;IAE5C;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9E;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,WAAW;IAiB1D,OAAO,CAAC,QAAQ,CAAC,WAAW;IAhB9B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,sBAAsB,CAA2B;IAEzD;;;;;;OAMG;gBAED,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,QAAQ,EACC,WAAW,GAAE,MAAM,MAAyB;YAYjD,eAAe;IAoB7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5C,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE;IAIrC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIvC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAGzC"}
1
+ {"version":3,"file":"FlagManager.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAK1E,OAAoB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;IAE5C;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9E;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAElF;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,WAAW;IAiB1D,OAAO,CAAC,QAAQ,CAAC,WAAW;IAhB9B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,sBAAsB,CAA2B;IAEzD;;;;;;OAMG;gBAED,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,QAAQ,EACC,WAAW,GAAE,MAAM,MAAyB;YAYjD,eAAe;IAoB7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5C,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE;IAI3C,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI;IAM3E,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD,EAAE,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIvC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAGzC"}