@launchdarkly/js-client-sdk-common 1.2.0 → 1.4.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 (91) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/LDClientImpl.d.ts +40 -32
  3. package/dist/LDClientImpl.d.ts.map +1 -1
  4. package/dist/LDClientImpl.js +179 -127
  5. package/dist/LDClientImpl.js.map +1 -1
  6. package/dist/api/ConnectionMode.d.ts +3 -1
  7. package/dist/api/ConnectionMode.d.ts.map +1 -1
  8. package/dist/api/LDClient.d.ts +1 -1
  9. package/dist/api/LDClient.d.ts.map +1 -1
  10. package/dist/api/LDEmitter.d.ts +4 -21
  11. package/dist/api/LDEmitter.d.ts.map +1 -1
  12. package/dist/api/LDEmitter.js +16 -40
  13. package/dist/api/LDEmitter.js.map +1 -1
  14. package/dist/api/LDOptions.d.ts +13 -0
  15. package/dist/api/LDOptions.d.ts.map +1 -1
  16. package/dist/configuration/Configuration.d.ts +2 -1
  17. package/dist/configuration/Configuration.d.ts.map +1 -1
  18. package/dist/configuration/Configuration.js +3 -1
  19. package/dist/configuration/Configuration.js.map +1 -1
  20. package/dist/configuration/validators.d.ts.map +1 -1
  21. package/dist/configuration/validators.js +4 -2
  22. package/dist/configuration/validators.js.map +1 -1
  23. package/dist/context/addAutoEnv.d.ts.map +1 -0
  24. package/dist/{utils → context}/addAutoEnv.js +4 -2
  25. package/dist/context/addAutoEnv.js.map +1 -0
  26. package/dist/{utils → context}/ensureKey.d.ts +1 -2
  27. package/dist/context/ensureKey.d.ts.map +1 -0
  28. package/dist/{utils → context}/ensureKey.js +6 -3
  29. package/dist/context/ensureKey.js.map +1 -0
  30. package/dist/flag-manager/ContextIndex.d.ts +39 -0
  31. package/dist/flag-manager/ContextIndex.d.ts.map +1 -0
  32. package/dist/flag-manager/ContextIndex.js +64 -0
  33. package/dist/flag-manager/ContextIndex.js.map +1 -0
  34. package/dist/flag-manager/FlagManager.d.ts +58 -0
  35. package/dist/flag-manager/FlagManager.d.ts.map +1 -0
  36. package/dist/flag-manager/FlagManager.js +74 -0
  37. package/dist/flag-manager/FlagManager.js.map +1 -0
  38. package/dist/flag-manager/FlagPersistence.d.ts +42 -0
  39. package/dist/flag-manager/FlagPersistence.d.ts.map +1 -0
  40. package/dist/flag-manager/FlagPersistence.js +120 -0
  41. package/dist/flag-manager/FlagPersistence.js.map +1 -0
  42. package/dist/flag-manager/FlagStore.d.ts +29 -0
  43. package/dist/flag-manager/FlagStore.d.ts.map +1 -0
  44. package/dist/flag-manager/FlagStore.js +28 -0
  45. package/dist/flag-manager/FlagStore.js.map +1 -0
  46. package/dist/flag-manager/FlagUpdater.d.ts +39 -0
  47. package/dist/flag-manager/FlagUpdater.d.ts.map +1 -0
  48. package/dist/flag-manager/FlagUpdater.js +69 -0
  49. package/dist/flag-manager/FlagUpdater.js.map +1 -0
  50. package/dist/flag-manager/ItemDescriptor.d.ts +10 -0
  51. package/dist/flag-manager/ItemDescriptor.d.ts.map +1 -0
  52. package/dist/flag-manager/ItemDescriptor.js +3 -0
  53. package/dist/flag-manager/ItemDescriptor.js.map +1 -0
  54. package/dist/flag-manager/calculateChangedKeys.d.ts +6 -0
  55. package/dist/flag-manager/calculateChangedKeys.d.ts.map +1 -0
  56. package/dist/flag-manager/calculateChangedKeys.js +22 -0
  57. package/dist/flag-manager/calculateChangedKeys.js.map +1 -0
  58. package/dist/polling/PollingProcessor.d.ts +3 -0
  59. package/dist/polling/PollingProcessor.d.ts.map +1 -0
  60. package/dist/polling/PollingProcessor.js +79 -0
  61. package/dist/polling/PollingProcessor.js.map +1 -0
  62. package/dist/polling/Requestor.d.ts +6 -0
  63. package/dist/polling/Requestor.d.ts.map +1 -0
  64. package/dist/polling/Requestor.js +50 -0
  65. package/dist/polling/Requestor.js.map +1 -0
  66. package/dist/storage/getOrGenerateKey.d.ts +11 -0
  67. package/dist/storage/getOrGenerateKey.d.ts.map +1 -0
  68. package/dist/storage/getOrGenerateKey.js +21 -0
  69. package/dist/storage/getOrGenerateKey.js.map +1 -0
  70. package/dist/storage/namespaceUtils.d.ts +20 -0
  71. package/dist/storage/namespaceUtils.d.ts.map +1 -0
  72. package/dist/storage/namespaceUtils.js +61 -0
  73. package/dist/storage/namespaceUtils.js.map +1 -0
  74. package/package.json +2 -2
  75. package/dist/utils/addAutoEnv.d.ts.map +0 -1
  76. package/dist/utils/addAutoEnv.js.map +0 -1
  77. package/dist/utils/calculateFlagChanges.d.ts +0 -3
  78. package/dist/utils/calculateFlagChanges.d.ts.map +0 -1
  79. package/dist/utils/calculateFlagChanges.js +0 -23
  80. package/dist/utils/calculateFlagChanges.js.map +0 -1
  81. package/dist/utils/ensureKey.d.ts.map +0 -1
  82. package/dist/utils/ensureKey.js.map +0 -1
  83. package/dist/utils/getOrGenerateKey.d.ts +0 -5
  84. package/dist/utils/getOrGenerateKey.d.ts.map +0 -1
  85. package/dist/utils/getOrGenerateKey.js +0 -29
  86. package/dist/utils/getOrGenerateKey.js.map +0 -1
  87. package/dist/utils/index.d.ts +0 -5
  88. package/dist/utils/index.d.ts.map +0 -1
  89. package/dist/utils/index.js +0 -10
  90. package/dist/utils/index.js.map +0 -1
  91. /package/dist/{utils → context}/addAutoEnv.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.4.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.3.0...js-client-sdk-common-v1.4.0) (2024-08-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * Remove event target shim. ([#545](https://github.com/launchdarkly/js-core/issues/545)) ([448ad67](https://github.com/launchdarkly/js-core/commit/448ad67815b9ec29abd322ed8483b2367147b146)), closes [#412](https://github.com/launchdarkly/js-core/issues/412)
9
+
10
+ ## [1.3.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.2.0...js-client-sdk-common-v1.3.0) (2024-08-12)
11
+
12
+
13
+ ### Features
14
+
15
+ * Add connection mananger. ([#522](https://github.com/launchdarkly/js-core/issues/522)) ([5bf8b16](https://github.com/launchdarkly/js-core/commit/5bf8b16e26e7d8cbbd18524f1c13f773de457b82))
16
+ * Implement polling support. ([#524](https://github.com/launchdarkly/js-core/issues/524)) ([a99048e](https://github.com/launchdarkly/js-core/commit/a99048e0cebaafd536f79114c4727524b8f7357d))
17
+ * Refactor application state handling. ([#523](https://github.com/launchdarkly/js-core/issues/523)) ([f5b81e6](https://github.com/launchdarkly/js-core/commit/f5b81e6fc571dc9d97a18d07f382c77cd938fd65))
18
+ * refactors the implementation of context caching. You can now s… ([#531](https://github.com/launchdarkly/js-core/issues/531)) ([8ab2ee4](https://github.com/launchdarkly/js-core/commit/8ab2ee425a35350a4f1c50e608c39fa3527da513))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * Fix field visibility. ([#530](https://github.com/launchdarkly/js-core/issues/530)) ([21fb18b](https://github.com/launchdarkly/js-core/commit/21fb18b40139583b44a4185fb689b043547641ab))
24
+
25
+
26
+ ### Dependencies
27
+
28
+ * The following workspace dependencies were updated
29
+ * dependencies
30
+ * @launchdarkly/js-sdk-common bumped from 2.5.0 to 2.6.0
31
+
3
32
  ## [1.2.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.1.5...js-client-sdk-common-v1.2.0) (2024-07-31)
4
33
 
5
34
 
@@ -2,24 +2,27 @@ import { AutoEnvAttributes, internal, LDContext, LDEvaluationDetail, LDEvaluatio
2
2
  import { ConnectionMode, LDClient, type LDOptions } from './api';
3
3
  import { EventName } from './api/LDEmitter';
4
4
  import { LDIdentifyOptions } from './api/LDIdentifyOptions';
5
- import Configuration from './configuration';
6
5
  export default class LDClientImpl implements LDClient {
7
6
  readonly sdkKey: string;
8
7
  readonly autoEnvAttributes: AutoEnvAttributes;
9
8
  readonly platform: Platform;
10
- config: Configuration;
11
- context?: LDContext;
12
- diagnosticsManager?: internal.DiagnosticsManager;
13
- eventProcessor?: internal.EventProcessor;
14
- identifyTimeout: number;
15
- logger: LDLogger;
16
- streamer?: internal.StreamingProcessor;
17
- readonly highTimeoutThreshold: number;
9
+ private readonly config;
10
+ private uncheckedContext?;
11
+ private checkedContext?;
12
+ private readonly diagnosticsManager?;
13
+ private eventProcessor?;
14
+ private identifyTimeout;
15
+ readonly logger: LDLogger;
16
+ private updateProcessor?;
17
+ private readonly highTimeoutThreshold;
18
18
  private eventFactoryDefault;
19
19
  private eventFactoryWithReasons;
20
20
  private emitter;
21
- private flags;
21
+ private flagManager;
22
22
  private readonly clientContext;
23
+ private eventSendingEnabled;
24
+ private networkAvailable;
25
+ private connectionMode;
23
26
  /**
24
27
  * Creates the client object synchronously. No async, no network calls.
25
28
  */
@@ -44,20 +47,23 @@ export default class LDClientImpl implements LDClient {
44
47
  getContext(): LDContext | undefined;
45
48
  private createStreamListeners;
46
49
  /**
47
- * Generates the url path for streamer.
50
+ * Generates the url path for streaming.
48
51
  *
49
- * For mobile key: /meval/${base64-encoded-context}
50
- * For clientSideId: /eval/${envId}/${base64-encoded-context}
51
- *
52
- * the path.
53
- *
54
- * @protected This function must be overridden in subclasses for streamer
52
+ * @protected This function must be overridden in subclasses for streaming
55
53
  * to work.
56
54
  * @param _context The LDContext object
57
55
  */
58
56
  protected createStreamUriPath(_context: LDContext): string;
57
+ /**
58
+ * Generates the url path for polling.
59
+ * @param _context
60
+ *
61
+ * @protected This function must be overridden in subclasses for polling
62
+ * to work.
63
+ * @param _context The LDContext object
64
+ */
65
+ protected createPollUriPath(_context: LDContext): string;
59
66
  private createIdentifyPromise;
60
- private getFlagsFromStorage;
61
67
  /**
62
68
  * Identifies a context to LaunchDarkly. See {@link LDClient.identify}.
63
69
  *
@@ -74,20 +80,8 @@ export default class LDClientImpl implements LDClient {
74
80
  * 3. A network error is encountered during initialization.
75
81
  */
76
82
  identify(pristineContext: LDContext, identifyOptions?: LDIdentifyOptions): Promise<void>;
77
- /**
78
- * Performs common tasks when resolving the identify promise:
79
- * - resolve the promise
80
- * - update in memory context
81
- * - update in memory flags
82
- * - emit change event if needed
83
- *
84
- * @param resolve
85
- * @param flags
86
- * @param context
87
- * @param source For logging purposes
88
- * @private
89
- */
90
- private onIdentifyResolve;
83
+ private createPollingProcessor;
84
+ private createStreamingProcessor;
91
85
  off(eventName: EventName, listener: Function): void;
92
86
  on(eventName: EventName, listener: Function): void;
93
87
  track(key: string, data?: any, metricValue?: number): void;
@@ -103,5 +97,19 @@ export default class LDClientImpl implements LDClient {
103
97
  numberVariationDetail(key: string, defaultValue: number): LDEvaluationDetailTyped<number>;
104
98
  stringVariationDetail(key: string, defaultValue: string): LDEvaluationDetailTyped<string>;
105
99
  jsonVariationDetail(key: string, defaultValue: unknown): LDEvaluationDetailTyped<unknown>;
100
+ /**
101
+ * Inform the client of the network state. Can be used to modify connection behavior.
102
+ *
103
+ * For instance the implementation may choose to suppress errors from connections if the client
104
+ * knows that there is no network available.
105
+ * @param _available True when there is an available network.
106
+ */
107
+ protected setNetworkAvailability(available: boolean): void;
108
+ /**
109
+ * Enable/Disable event sending.
110
+ * @param enabled True to enable event processing, false to disable.
111
+ * @param flush True to flush while disabling. Useful to flush on certain state transitions.
112
+ */
113
+ protected setEventSendingEnabled(enabled: boolean, flush: boolean): void;
106
114
  }
107
115
  //# sourceMappingURL=LDClientImpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}