@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.
- package/CHANGELOG.md +29 -0
- package/dist/LDClientImpl.d.ts +40 -32
- package/dist/LDClientImpl.d.ts.map +1 -1
- package/dist/LDClientImpl.js +179 -127
- package/dist/LDClientImpl.js.map +1 -1
- package/dist/api/ConnectionMode.d.ts +3 -1
- package/dist/api/ConnectionMode.d.ts.map +1 -1
- package/dist/api/LDClient.d.ts +1 -1
- package/dist/api/LDClient.d.ts.map +1 -1
- package/dist/api/LDEmitter.d.ts +4 -21
- package/dist/api/LDEmitter.d.ts.map +1 -1
- package/dist/api/LDEmitter.js +16 -40
- package/dist/api/LDEmitter.js.map +1 -1
- package/dist/api/LDOptions.d.ts +13 -0
- package/dist/api/LDOptions.d.ts.map +1 -1
- package/dist/configuration/Configuration.d.ts +2 -1
- package/dist/configuration/Configuration.d.ts.map +1 -1
- package/dist/configuration/Configuration.js +3 -1
- package/dist/configuration/Configuration.js.map +1 -1
- package/dist/configuration/validators.d.ts.map +1 -1
- package/dist/configuration/validators.js +4 -2
- package/dist/configuration/validators.js.map +1 -1
- package/dist/context/addAutoEnv.d.ts.map +1 -0
- package/dist/{utils → context}/addAutoEnv.js +4 -2
- package/dist/context/addAutoEnv.js.map +1 -0
- package/dist/{utils → context}/ensureKey.d.ts +1 -2
- package/dist/context/ensureKey.d.ts.map +1 -0
- package/dist/{utils → context}/ensureKey.js +6 -3
- package/dist/context/ensureKey.js.map +1 -0
- package/dist/flag-manager/ContextIndex.d.ts +39 -0
- package/dist/flag-manager/ContextIndex.d.ts.map +1 -0
- package/dist/flag-manager/ContextIndex.js +64 -0
- package/dist/flag-manager/ContextIndex.js.map +1 -0
- package/dist/flag-manager/FlagManager.d.ts +58 -0
- package/dist/flag-manager/FlagManager.d.ts.map +1 -0
- package/dist/flag-manager/FlagManager.js +74 -0
- package/dist/flag-manager/FlagManager.js.map +1 -0
- package/dist/flag-manager/FlagPersistence.d.ts +42 -0
- package/dist/flag-manager/FlagPersistence.d.ts.map +1 -0
- package/dist/flag-manager/FlagPersistence.js +120 -0
- package/dist/flag-manager/FlagPersistence.js.map +1 -0
- package/dist/flag-manager/FlagStore.d.ts +29 -0
- package/dist/flag-manager/FlagStore.d.ts.map +1 -0
- package/dist/flag-manager/FlagStore.js +28 -0
- package/dist/flag-manager/FlagStore.js.map +1 -0
- package/dist/flag-manager/FlagUpdater.d.ts +39 -0
- package/dist/flag-manager/FlagUpdater.d.ts.map +1 -0
- package/dist/flag-manager/FlagUpdater.js +69 -0
- package/dist/flag-manager/FlagUpdater.js.map +1 -0
- package/dist/flag-manager/ItemDescriptor.d.ts +10 -0
- package/dist/flag-manager/ItemDescriptor.d.ts.map +1 -0
- package/dist/flag-manager/ItemDescriptor.js +3 -0
- package/dist/flag-manager/ItemDescriptor.js.map +1 -0
- package/dist/flag-manager/calculateChangedKeys.d.ts +6 -0
- package/dist/flag-manager/calculateChangedKeys.d.ts.map +1 -0
- package/dist/flag-manager/calculateChangedKeys.js +22 -0
- package/dist/flag-manager/calculateChangedKeys.js.map +1 -0
- package/dist/polling/PollingProcessor.d.ts +3 -0
- package/dist/polling/PollingProcessor.d.ts.map +1 -0
- package/dist/polling/PollingProcessor.js +79 -0
- package/dist/polling/PollingProcessor.js.map +1 -0
- package/dist/polling/Requestor.d.ts +6 -0
- package/dist/polling/Requestor.d.ts.map +1 -0
- package/dist/polling/Requestor.js +50 -0
- package/dist/polling/Requestor.js.map +1 -0
- package/dist/storage/getOrGenerateKey.d.ts +11 -0
- package/dist/storage/getOrGenerateKey.d.ts.map +1 -0
- package/dist/storage/getOrGenerateKey.js +21 -0
- package/dist/storage/getOrGenerateKey.js.map +1 -0
- package/dist/storage/namespaceUtils.d.ts +20 -0
- package/dist/storage/namespaceUtils.d.ts.map +1 -0
- package/dist/storage/namespaceUtils.js +61 -0
- package/dist/storage/namespaceUtils.js.map +1 -0
- package/package.json +2 -2
- package/dist/utils/addAutoEnv.d.ts.map +0 -1
- package/dist/utils/addAutoEnv.js.map +0 -1
- package/dist/utils/calculateFlagChanges.d.ts +0 -3
- package/dist/utils/calculateFlagChanges.d.ts.map +0 -1
- package/dist/utils/calculateFlagChanges.js +0 -23
- package/dist/utils/calculateFlagChanges.js.map +0 -1
- package/dist/utils/ensureKey.d.ts.map +0 -1
- package/dist/utils/ensureKey.js.map +0 -1
- package/dist/utils/getOrGenerateKey.d.ts +0 -5
- package/dist/utils/getOrGenerateKey.d.ts.map +0 -1
- package/dist/utils/getOrGenerateKey.js +0 -29
- package/dist/utils/getOrGenerateKey.js.map +0 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -10
- package/dist/utils/index.js.map +0 -1
- /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
|
|
package/dist/LDClientImpl.d.ts
CHANGED
|
@@ -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
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
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
|
|
50
|
+
* Generates the url path for streaming.
|
|
48
51
|
*
|
|
49
|
-
*
|
|
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
|
-
|
|
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":"AAAA,OAAO,EACL,iBAAiB,EAIjB,QAAQ,EAER,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EAKT,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
|