@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.
- package/CHANGELOG.md +17 -0
- package/dist/cjs/LDClientImpl.d.ts +37 -4
- package/dist/cjs/LDClientImpl.d.ts.map +1 -1
- package/dist/cjs/LDEmitter.d.ts +1 -1
- package/dist/cjs/LDEmitter.d.ts.map +1 -1
- package/dist/cjs/api/LDClient.d.ts +33 -0
- package/dist/cjs/api/LDClient.d.ts.map +1 -1
- package/dist/cjs/api/LDOptions.d.ts +7 -0
- package/dist/cjs/api/LDOptions.d.ts.map +1 -1
- package/dist/cjs/api/LDPlugin.d.ts +16 -0
- package/dist/cjs/api/LDPlugin.d.ts.map +1 -0
- package/dist/cjs/api/LDWaitForInitialization.d.ts +50 -0
- package/dist/cjs/api/LDWaitForInitialization.d.ts.map +1 -0
- package/dist/cjs/api/index.d.ts +2 -0
- package/dist/cjs/api/index.d.ts.map +1 -1
- package/dist/cjs/configuration/Configuration.d.ts +1 -0
- package/dist/cjs/configuration/Configuration.d.ts.map +1 -1
- package/dist/cjs/configuration/validators.d.ts.map +1 -1
- package/dist/cjs/context/createActiveContextTracker.d.ts +49 -0
- package/dist/cjs/context/createActiveContextTracker.d.ts.map +1 -0
- package/dist/cjs/flag-manager/FlagManager.d.ts +70 -1
- package/dist/cjs/flag-manager/FlagManager.d.ts.map +1 -1
- package/dist/cjs/flag-manager/FlagPersistence.d.ts +1 -1
- package/dist/cjs/flag-manager/FlagPersistence.d.ts.map +1 -1
- package/dist/cjs/flag-manager/FlagStore.d.ts +15 -13
- package/dist/cjs/flag-manager/FlagStore.d.ts.map +1 -1
- package/dist/cjs/flag-manager/FlagUpdater.d.ts +35 -7
- package/dist/cjs/flag-manager/FlagUpdater.d.ts.map +1 -1
- package/dist/cjs/index.cjs +347 -121
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/plugins/safeRegisterDebugOverridePlugins.d.ts +12 -0
- package/dist/cjs/plugins/safeRegisterDebugOverridePlugins.d.ts.map +1 -0
- package/dist/esm/LDClientImpl.d.ts +37 -4
- package/dist/esm/LDClientImpl.d.ts.map +1 -1
- package/dist/esm/LDEmitter.d.ts +1 -1
- package/dist/esm/LDEmitter.d.ts.map +1 -1
- package/dist/esm/api/LDClient.d.ts +33 -0
- package/dist/esm/api/LDClient.d.ts.map +1 -1
- package/dist/esm/api/LDOptions.d.ts +7 -0
- package/dist/esm/api/LDOptions.d.ts.map +1 -1
- package/dist/esm/api/LDPlugin.d.ts +16 -0
- package/dist/esm/api/LDPlugin.d.ts.map +1 -0
- package/dist/esm/api/LDWaitForInitialization.d.ts +50 -0
- package/dist/esm/api/LDWaitForInitialization.d.ts.map +1 -0
- package/dist/esm/api/index.d.ts +2 -0
- package/dist/esm/api/index.d.ts.map +1 -1
- package/dist/esm/configuration/Configuration.d.ts +1 -0
- package/dist/esm/configuration/Configuration.d.ts.map +1 -1
- package/dist/esm/configuration/validators.d.ts.map +1 -1
- package/dist/esm/context/createActiveContextTracker.d.ts +49 -0
- package/dist/esm/context/createActiveContextTracker.d.ts.map +1 -0
- package/dist/esm/flag-manager/FlagManager.d.ts +70 -1
- package/dist/esm/flag-manager/FlagManager.d.ts.map +1 -1
- package/dist/esm/flag-manager/FlagPersistence.d.ts +1 -1
- package/dist/esm/flag-manager/FlagPersistence.d.ts.map +1 -1
- package/dist/esm/flag-manager/FlagStore.d.ts +15 -13
- package/dist/esm/flag-manager/FlagStore.d.ts.map +1 -1
- package/dist/esm/flag-manager/FlagUpdater.d.ts +35 -7
- package/dist/esm/flag-manager/FlagUpdater.d.ts.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.mjs +348 -123
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/plugins/safeRegisterDebugOverridePlugins.d.ts +12 -0
- package/dist/esm/plugins/safeRegisterDebugOverridePlugins.d.ts.map +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.17.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.16.0...js-client-sdk-common-v1.17.0) (2026-01-06)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add legacy storage key cleanup functionality ([#1043](https://github.com/launchdarkly/js-core/issues/1043)) ([fe4725e](https://github.com/launchdarkly/js-core/commit/fe4725e24917fe795cee448383b4fe8fa8b4b56f))
|
|
9
|
+
* add waitForInitialization to RN SDK ([#1048](https://github.com/launchdarkly/js-core/issues/1048)) ([13ce456](https://github.com/launchdarkly/js-core/commit/13ce456d9e3a5bcf043734f757415d4856034257))
|
|
10
|
+
|
|
11
|
+
## [1.16.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.15.2...js-client-sdk-common-v1.16.0) (2025-12-18)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* adding support for debug override plugins ([#1033](https://github.com/launchdarkly/js-core/issues/1033)) ([17f5e7d](https://github.com/launchdarkly/js-core/commit/17f5e7d7d11d502d54a6ccf88aea6bec3e4b775c))
|
|
17
|
+
* allow clients to evaluate bootstrapped flags when not ready ([#1036](https://github.com/launchdarkly/js-core/issues/1036)) ([9b4542a](https://github.com/launchdarkly/js-core/commit/9b4542a722e5d19e123e860faef113d134dad47c))
|
|
18
|
+
* implement `waitForInitialization` for browser sdk 4.x ([#1028](https://github.com/launchdarkly/js-core/issues/1028)) ([156532a](https://github.com/launchdarkly/js-core/commit/156532aea3ec39635dab21dbab125c81fc31a3f5))
|
|
19
|
+
|
|
3
20
|
## [1.15.2](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.15.1...js-client-sdk-common-v1.15.2) (2025-12-05)
|
|
4
21
|
|
|
5
22
|
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { AutoEnvAttributes, Context, internal, LDContext, LDFlagSet, LDFlagValue, LDLogger, LDPluginEnvironmentMetadata, Platform } from '@launchdarkly/js-sdk-common';
|
|
2
|
-
import { Hook, LDClient, LDClientIdentifyResult, LDIdentifyResult, type LDOptions } from './api';
|
|
2
|
+
import { Hook, LDClient, LDClientIdentifyResult, LDIdentifyResult, type LDOptions, LDWaitForInitializationOptions, LDWaitForInitializationResult } from './api';
|
|
3
3
|
import { LDEvaluationDetail, LDEvaluationDetailTyped } from './api/LDEvaluationDetail';
|
|
4
4
|
import { LDIdentifyOptions } from './api/LDIdentifyOptions';
|
|
5
5
|
import { LDClientInternalOptions } from './configuration';
|
|
6
6
|
import { DataManager, DataManagerFactory } from './DataManager';
|
|
7
|
+
import { LDDebugOverride } from './flag-manager/FlagManager';
|
|
8
|
+
import { ItemDescriptor } from './flag-manager/ItemDescriptor';
|
|
7
9
|
import LDEmitter, { EventName } from './LDEmitter';
|
|
8
10
|
export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
|
|
9
11
|
readonly sdkKey: string;
|
|
10
12
|
readonly autoEnvAttributes: AutoEnvAttributes;
|
|
11
13
|
readonly platform: Platform;
|
|
12
14
|
private readonly _config;
|
|
13
|
-
private _uncheckedContext?;
|
|
14
|
-
private _checkedContext?;
|
|
15
15
|
private readonly _diagnosticsManager?;
|
|
16
16
|
private _eventProcessor?;
|
|
17
17
|
readonly logger: LDLogger;
|
|
18
|
+
private _activeContextTracker;
|
|
18
19
|
private readonly _highTimeoutThreshold;
|
|
19
20
|
private _eventFactoryDefault;
|
|
20
21
|
private _eventFactoryWithReasons;
|
|
@@ -27,6 +28,9 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
|
|
|
27
28
|
private _hookRunner;
|
|
28
29
|
private _inspectorManager;
|
|
29
30
|
private _identifyQueue;
|
|
31
|
+
protected initializedPromise?: Promise<LDWaitForInitializationResult>;
|
|
32
|
+
protected initResolve?: (result: LDWaitForInitializationResult) => void;
|
|
33
|
+
protected initializeResult?: LDWaitForInitializationResult;
|
|
30
34
|
/**
|
|
31
35
|
* Creates the client object synchronously. No async, no network calls.
|
|
32
36
|
*/
|
|
@@ -39,7 +43,14 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
|
|
|
39
43
|
}>;
|
|
40
44
|
getContext(): LDContext | undefined;
|
|
41
45
|
protected getInternalContext(): Context | undefined;
|
|
42
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Preset flags are used to set the flags before the client is initialized. This is useful for
|
|
48
|
+
* when client has precached flags that are ready to evaluate without full initialization.
|
|
49
|
+
* @param newFlags - The flags to preset.
|
|
50
|
+
*/
|
|
51
|
+
protected presetFlags(newFlags: {
|
|
52
|
+
[key: string]: ItemDescriptor;
|
|
53
|
+
}): void;
|
|
43
54
|
/**
|
|
44
55
|
* Identifies a context to LaunchDarkly. See {@link LDClient.identify}.
|
|
45
56
|
*
|
|
@@ -64,6 +75,27 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
|
|
|
64
75
|
*/
|
|
65
76
|
identify(pristineContext: LDContext, identifyOptions?: LDIdentifyOptions): Promise<void>;
|
|
66
77
|
identifyResult(pristineContext: LDContext, identifyOptions?: LDIdentifyOptions): Promise<LDIdentifyResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Sets the initialization result and resolves any pending waitForInitialization promises.
|
|
80
|
+
* This method is idempotent and will only be set by the initialization flow. Subsequent calls
|
|
81
|
+
* should not do anything.
|
|
82
|
+
* @param result The initialization result.
|
|
83
|
+
*/
|
|
84
|
+
protected maybeSetInitializationResult(result: LDWaitForInitializationResult): void;
|
|
85
|
+
waitForInitialization(options?: LDWaitForInitializationOptions): Promise<LDWaitForInitializationResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Apply a timeout promise to a base promise. This is for use with waitForInitialization.
|
|
88
|
+
*
|
|
89
|
+
* @param basePromise The promise to race against a timeout.
|
|
90
|
+
* @param timeout The timeout in seconds.
|
|
91
|
+
* @returns A promise that resolves to the initialization result or timeout.
|
|
92
|
+
*
|
|
93
|
+
* @privateRemarks
|
|
94
|
+
* This method is protected because it is used by the browser SDK's `start` method.
|
|
95
|
+
* Eventually, the start method will be moved to this common implementation and this method will
|
|
96
|
+
* be made private.
|
|
97
|
+
*/
|
|
98
|
+
protected promiseWithTimeout(basePromise: Promise<LDWaitForInitializationResult>, timeout: number): Promise<LDWaitForInitializationResult>;
|
|
67
99
|
on(eventName: EventName, listener: Function): void;
|
|
68
100
|
off(eventName: EventName, listener: Function): void;
|
|
69
101
|
track(key: string, data?: any, metricValue?: number): void;
|
|
@@ -87,6 +119,7 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
|
|
|
87
119
|
*/
|
|
88
120
|
protected setEventSendingEnabled(enabled: boolean, flush: boolean): void;
|
|
89
121
|
protected sendEvent(event: internal.InputEvent): void;
|
|
122
|
+
protected getDebugOverrides(): LDDebugOverride | undefined;
|
|
90
123
|
private _handleInspectionChanged;
|
|
91
124
|
}
|
|
92
125
|
//# 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,
|
|
1
|
+
{"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/LDEmitter.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ type FlagChangeKey = `change:${string}`;
|
|
|
4
4
|
* Type for name of emitted events. 'change' is used for all flag changes. 'change:flag-name-here' is used
|
|
5
5
|
* for specific flag changes.
|
|
6
6
|
*/
|
|
7
|
-
export type EventName = 'change' | FlagChangeKey | 'dataSourceStatus' | 'error';
|
|
7
|
+
export type EventName = 'change' | FlagChangeKey | 'dataSourceStatus' | 'error' | 'initialized' | 'ready';
|
|
8
8
|
/**
|
|
9
9
|
* Implementation Note: There should not be any default listeners for change events in a client
|
|
10
10
|
* implementation. Default listeners mean a client cannot determine when there are actual
|
|
@@ -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,
|
|
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;IAQtC;;;;;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"}
|
|
@@ -3,6 +3,7 @@ import { Hook } from './integrations/Hooks';
|
|
|
3
3
|
import { LDEvaluationDetail, LDEvaluationDetailTyped } from './LDEvaluationDetail';
|
|
4
4
|
import { LDIdentifyOptions } from './LDIdentifyOptions';
|
|
5
5
|
import { LDIdentifyResult } from './LDIdentifyResult';
|
|
6
|
+
import { LDWaitForInitializationOptions, LDWaitForInitializationResult } from './LDWaitForInitialization';
|
|
6
7
|
/**
|
|
7
8
|
* The basic interface for the LaunchDarkly client. Platform-specific SDKs may add some methods of their own.
|
|
8
9
|
*
|
|
@@ -315,6 +316,38 @@ export interface LDClient {
|
|
|
315
316
|
* @param Hook The hook to add.
|
|
316
317
|
*/
|
|
317
318
|
addHook(hook: Hook): void;
|
|
319
|
+
/**
|
|
320
|
+
* Returns a Promise that tracks the client's initialization state.
|
|
321
|
+
*
|
|
322
|
+
* The Promise will be resolved to a {@link LDWaitForInitializationResult} object containing the
|
|
323
|
+
* status of the waitForInitialization operation.
|
|
324
|
+
*
|
|
325
|
+
* @example
|
|
326
|
+
* This example shows use of async/await syntax for specifying handlers:
|
|
327
|
+
* ```
|
|
328
|
+
* const result = await client.waitForInitialization({ timeout: 5 });
|
|
329
|
+
*
|
|
330
|
+
* if (result.status === 'complete') {
|
|
331
|
+
* doSomethingWithSuccessfullyInitializedClient();
|
|
332
|
+
* } else if (result.status === 'failed') {
|
|
333
|
+
* doSomethingForFailedStartup(result.error);
|
|
334
|
+
* } else if (result.status === 'timeout') {
|
|
335
|
+
* doSomethingForTimedOutStartup();
|
|
336
|
+
* }
|
|
337
|
+
* ```
|
|
338
|
+
*
|
|
339
|
+
* @remarks
|
|
340
|
+
* You can also use event listeners ({@link on}) for the same purpose: the event `"initialized"`
|
|
341
|
+
* indicates success, and `"error"` indicates an error.
|
|
342
|
+
*
|
|
343
|
+
* @param options
|
|
344
|
+
* Optional configuration. Please see {@link LDWaitForInitializationOptions}.
|
|
345
|
+
*
|
|
346
|
+
* @returns
|
|
347
|
+
* A Promise that will be resolved to a {@link LDWaitForInitializationResult} object containing the
|
|
348
|
+
* status of the waitForInitialization operation.
|
|
349
|
+
*/
|
|
350
|
+
waitForInitialization(options?: LDWaitForInitializationOptions): Promise<LDWaitForInitializationResult>;
|
|
318
351
|
}
|
|
319
352
|
/**
|
|
320
353
|
* Interface that extends the LDClient interface to include the identifyResult method.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -245,5 +245,12 @@ export interface LDOptions {
|
|
|
245
245
|
* let us know through a github issue or support.
|
|
246
246
|
*/
|
|
247
247
|
inspectors?: LDInspection[];
|
|
248
|
+
/**
|
|
249
|
+
* Whether to clean old persistent data. If set to true, the SDK will check to see if old
|
|
250
|
+
* there are any persistent data that is generated by an older version and remove it.
|
|
251
|
+
*
|
|
252
|
+
* @defaultValue false.
|
|
253
|
+
*/
|
|
254
|
+
cleanOldPersistentData?: boolean;
|
|
248
255
|
}
|
|
249
256
|
//# sourceMappingURL=LDOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,eAAe,CAAC,EAAE;QAChB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB;;;;;WAKG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;;;;WAKG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"LDOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,eAAe,CAAC,EAAE;QAChB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB;;;;;WAKG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;;;;WAKG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LDPluginBase as LDPluginBaseCommon } from '@launchdarkly/js-sdk-common';
|
|
2
|
+
import { LDDebugOverride } from '../flag-manager/FlagManager';
|
|
3
|
+
export interface LDPluginBase<TClient, THook> extends LDPluginBaseCommon<TClient, THook> {
|
|
4
|
+
/**
|
|
5
|
+
* An optional function called if the plugin wants to register debug capabilities.
|
|
6
|
+
* This method allows plugins to receive a debug override interface for
|
|
7
|
+
* temporarily overriding flag values during development and testing.
|
|
8
|
+
*
|
|
9
|
+
* @experimental This interface is experimental and intended for use by LaunchDarkly tools at this time.
|
|
10
|
+
* The API may change in future versions.
|
|
11
|
+
*
|
|
12
|
+
* @param debugOverride The debug override interface instance
|
|
13
|
+
*/
|
|
14
|
+
registerDebug?(debugOverride: LDDebugOverride): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=LDPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDPlugin.d.ts","sourceRoot":"","sources":["../../src/api/LDPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,WAAW,YAAY,CAAC,OAAO,EAAE,KAAK,CAAE,SAAQ,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC;IACtF;;;;;;;;;OASG;IACH,aAAa,CAAC,CAAC,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;CACtD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The waitForInitialization operation failed.
|
|
3
|
+
*/
|
|
4
|
+
export interface LDWaitForInitializationFailed {
|
|
5
|
+
status: 'failed';
|
|
6
|
+
error: Error;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The waitForInitialization operation timed out.
|
|
10
|
+
*/
|
|
11
|
+
export interface LDWaitForInitializationTimeout {
|
|
12
|
+
status: 'timeout';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The waitForInitialization operation completed successfully.
|
|
16
|
+
*/
|
|
17
|
+
export interface LDWaitForInitializationComplete {
|
|
18
|
+
status: 'complete';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The result of the waitForInitialization operation.
|
|
22
|
+
*/
|
|
23
|
+
export type LDWaitForInitializationResult = LDWaitForInitializationFailed | LDWaitForInitializationTimeout | LDWaitForInitializationComplete;
|
|
24
|
+
/**
|
|
25
|
+
* @ignore
|
|
26
|
+
* Currently these options and the waitForInitialization method signiture will mirror the one
|
|
27
|
+
* that is defined in the server common. We will be consolidating this mehod so that it will
|
|
28
|
+
* be common to all sdks in the future.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Options for the waitForInitialization method.
|
|
32
|
+
*/
|
|
33
|
+
export interface LDWaitForInitializationOptions {
|
|
34
|
+
/**
|
|
35
|
+
* The timeout duration in seconds to wait for initialization before resolving the promise.
|
|
36
|
+
* If exceeded, the promise will resolve to a {@link LDWaitForInitializationTimeout} object.
|
|
37
|
+
*
|
|
38
|
+
* If no options are specified on the `waitForInitialization`, the default timeout of 5 seconds will be used.
|
|
39
|
+
*
|
|
40
|
+
* Using a high timeout, or no timeout, is not recommended because it could result in a long
|
|
41
|
+
* delay when conditions prevent successful initialization.
|
|
42
|
+
*
|
|
43
|
+
* A value of 0 will cause the promise to resolve without waiting. In that scenario it would be
|
|
44
|
+
* more effective to not call `waitForInitialization`.
|
|
45
|
+
*
|
|
46
|
+
* @default 5 seconds
|
|
47
|
+
*/
|
|
48
|
+
timeout?: number;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=LDWaitForInitialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDWaitForInitialization.d.ts","sourceRoot":"","sources":["../../src/api/LDWaitForInitialization.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GACrC,6BAA6B,GAC7B,8BAA8B,GAC9B,+BAA+B,CAAC;AAEpC;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/cjs/api/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"}
|
|
@@ -5,6 +5,7 @@ export interface LDClientInternalOptions extends internal.LDInternalOptions {
|
|
|
5
5
|
trackEventModifier?: (event: internal.InputCustomEvent) => internal.InputCustomEvent;
|
|
6
6
|
getImplementationHooks: (environmentMetadata: LDPluginEnvironmentMetadata) => Hook[];
|
|
7
7
|
credentialType: 'clientSideId' | 'mobileKey';
|
|
8
|
+
getLegacyStorageKeys?: () => string[];
|
|
8
9
|
}
|
|
9
10
|
export interface Configuration {
|
|
10
11
|
readonly logger: LDLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,2BAA2B,EAI3B,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD,MAAM,WAAW,uBAAwB,SAAQ,QAAQ,CAAC,iBAAiB;IACzE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB,CAAC;IACrF,sBAAsB,EAAE,CAAC,mBAAmB,EAAE,2BAA2B,KAAK,IAAI,EAAE,CAAC;IACrF,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,aAAa,CAgCtD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Context, LDContext } from '@launchdarkly/js-sdk-common';
|
|
2
|
+
/**
|
|
3
|
+
* ActiveContextTracker is an internal class that helps tracks the current active context
|
|
4
|
+
* used by the client.
|
|
5
|
+
*/
|
|
6
|
+
export interface ActiveContextTracker {
|
|
7
|
+
/**
|
|
8
|
+
* Set the active context and unwrapped context. This will only be called when the passed in context
|
|
9
|
+
* is checked and valid.
|
|
10
|
+
*
|
|
11
|
+
* @param unwrappedContext - The unwrapped context, which is the context as it was passed in to the SDK.
|
|
12
|
+
* @param context - The active context, which is the context as it was checked and validated.
|
|
13
|
+
*/
|
|
14
|
+
set(unwrappedContext: LDContext, context: Context): void;
|
|
15
|
+
/**
|
|
16
|
+
* Get the active context.
|
|
17
|
+
*
|
|
18
|
+
* @returns The active context or undefined if it has not been set.
|
|
19
|
+
*/
|
|
20
|
+
getContext(): Context | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Get the unwrapped context.
|
|
23
|
+
*
|
|
24
|
+
* @returns The unwrapped context or undefined if it has not been set.
|
|
25
|
+
*/
|
|
26
|
+
getUnwrappedContext(): LDContext | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Create a new identification promise. To allow other parts of the SDK to track the identification process.
|
|
29
|
+
*/
|
|
30
|
+
newIdentificationPromise(): {
|
|
31
|
+
identifyPromise: Promise<void>;
|
|
32
|
+
identifyResolve: () => void;
|
|
33
|
+
identifyReject: (err: Error) => void;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Check if the active context is set. Regardless of whether it is valid or not.
|
|
37
|
+
*
|
|
38
|
+
* @returns True if the active context is set, false otherwise.
|
|
39
|
+
*/
|
|
40
|
+
hasContext(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Check if the active context is valid.
|
|
43
|
+
*
|
|
44
|
+
* @returns True if the active context is valid, false otherwise.
|
|
45
|
+
*/
|
|
46
|
+
hasValidContext(): boolean;
|
|
47
|
+
}
|
|
48
|
+
export declare function createActiveContextTracker(): ActiveContextTracker;
|
|
49
|
+
//# sourceMappingURL=createActiveContextTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createActiveContextTracker.d.ts","sourceRoot":"","sources":["../../src/context/createActiveContextTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEzD;;;;OAIG;IACH,UAAU,IAAI,OAAO,GAAG,SAAS,CAAC;IAElC;;;;OAIG;IACH,mBAAmB,IAAI,SAAS,GAAG,SAAS,CAAC;IAE7C;;OAEG;IACH,wBAAwB,IAAI;QAC1B,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,eAAe,EAAE,MAAM,IAAI,CAAC;QAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;KACtC,CAAC;IAEF;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC;IAEtB;;;;OAIG;IACH,eAAe,IAAI,OAAO,CAAC;CAC5B;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAiCjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Context, LDLogger, Platform } from '@launchdarkly/js-sdk-common';
|
|
1
|
+
import { Context, LDFlagValue, LDLogger, Platform } from '@launchdarkly/js-sdk-common';
|
|
2
2
|
import { FlagsChangeCallback } from './FlagUpdater';
|
|
3
3
|
import { ItemDescriptor } from './ItemDescriptor';
|
|
4
4
|
/**
|
|
@@ -34,6 +34,16 @@ export interface FlagManager {
|
|
|
34
34
|
* Asynchronously load cached values from persistence.
|
|
35
35
|
*/
|
|
36
36
|
loadCached(context: Context): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Updates in-memory storage with the specified flags without a context
|
|
39
|
+
* or persistent storage. Flags set in this way are considered emphemeral and
|
|
40
|
+
* should be replaced as soon as initialization is done.
|
|
41
|
+
*
|
|
42
|
+
* @param newFlags - cached flags
|
|
43
|
+
*/
|
|
44
|
+
presetFlags(newFlags: {
|
|
45
|
+
[key: string]: ItemDescriptor;
|
|
46
|
+
}): void;
|
|
37
47
|
/**
|
|
38
48
|
* Update in-memory storage with the specified flags, but do not persistent them to cache
|
|
39
49
|
* storage.
|
|
@@ -49,11 +59,59 @@ export interface FlagManager {
|
|
|
49
59
|
* Unregister a flag change callback.
|
|
50
60
|
*/
|
|
51
61
|
off(callback: FlagsChangeCallback): void;
|
|
62
|
+
/**
|
|
63
|
+
* Obtain debug override functions that allows plugins
|
|
64
|
+
* to manipulate the outcome of the flags managed by
|
|
65
|
+
* this manager
|
|
66
|
+
*
|
|
67
|
+
* @experimental This function is experimental and intended for use by LaunchDarkly tools at this time.
|
|
68
|
+
*/
|
|
69
|
+
getDebugOverride?(): LDDebugOverride;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Debug interface for plugins that need to override flag values during development.
|
|
73
|
+
* This interface provides methods to temporarily override flag values that take
|
|
74
|
+
* precedence over the actual flag values from LaunchDarkly. These overrides are
|
|
75
|
+
* useful for testing, development, and debugging scenarios.
|
|
76
|
+
*
|
|
77
|
+
* @experimental This interface is experimental and intended for use by LaunchDarkly tools at this time.
|
|
78
|
+
* The API may change in future versions.
|
|
79
|
+
*/
|
|
80
|
+
export interface LDDebugOverride {
|
|
81
|
+
/**
|
|
82
|
+
* Set an override value for a flag that takes precedence over the real flag value.
|
|
83
|
+
*
|
|
84
|
+
* @param flagKey The flag key.
|
|
85
|
+
* @param value The override value.
|
|
86
|
+
*/
|
|
87
|
+
setOverride(flagKey: string, value: LDFlagValue): void;
|
|
88
|
+
/**
|
|
89
|
+
* Remove an override value for a flag, reverting to the real flag value.
|
|
90
|
+
*
|
|
91
|
+
* @param flagKey The flag key.
|
|
92
|
+
*/
|
|
93
|
+
removeOverride(flagKey: string): void;
|
|
94
|
+
/**
|
|
95
|
+
* Clear all override values, reverting all flags to their real values.
|
|
96
|
+
*/
|
|
97
|
+
clearAllOverrides(): void;
|
|
98
|
+
/**
|
|
99
|
+
* Get all currently active flag overrides.
|
|
100
|
+
*
|
|
101
|
+
* @returns
|
|
102
|
+
* An object containing all active overrides as key-value pairs,
|
|
103
|
+
* where keys are flag keys and values are the overridden flag values.
|
|
104
|
+
* Returns an empty object if no overrides are active.
|
|
105
|
+
*/
|
|
106
|
+
getAllOverrides(): {
|
|
107
|
+
[key: string]: ItemDescriptor;
|
|
108
|
+
};
|
|
52
109
|
}
|
|
53
110
|
export default class DefaultFlagManager implements FlagManager {
|
|
54
111
|
private _flagStore;
|
|
55
112
|
private _flagUpdater;
|
|
56
113
|
private _flagPersistencePromise;
|
|
114
|
+
private _overrides?;
|
|
57
115
|
/**
|
|
58
116
|
* @param platform implementation of various platform provided functionality
|
|
59
117
|
* @param sdkKey that will be used to distinguish different environments
|
|
@@ -67,6 +125,9 @@ export default class DefaultFlagManager implements FlagManager {
|
|
|
67
125
|
getAll(): {
|
|
68
126
|
[key: string]: ItemDescriptor;
|
|
69
127
|
};
|
|
128
|
+
presetFlags(newFlags: {
|
|
129
|
+
[key: string]: ItemDescriptor;
|
|
130
|
+
}): void;
|
|
70
131
|
setBootstrap(context: Context, newFlags: {
|
|
71
132
|
[key: string]: ItemDescriptor;
|
|
72
133
|
}): void;
|
|
@@ -77,5 +138,13 @@ export default class DefaultFlagManager implements FlagManager {
|
|
|
77
138
|
loadCached(context: Context): Promise<boolean>;
|
|
78
139
|
on(callback: FlagsChangeCallback): void;
|
|
79
140
|
off(callback: FlagsChangeCallback): void;
|
|
141
|
+
private _convertValueToOverrideDescripter;
|
|
142
|
+
setOverride(key: string, value: LDFlagValue): void;
|
|
143
|
+
removeOverride(flagKey: string): void;
|
|
144
|
+
clearAllOverrides(): void;
|
|
145
|
+
getAllOverrides(): {
|
|
146
|
+
[key: string]: ItemDescriptor;
|
|
147
|
+
};
|
|
148
|
+
getDebugOverride(): LDDebugOverride;
|
|
80
149
|
}
|
|
81
150
|
//# sourceMappingURL=FlagManager.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"FlagManager.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Context, LDLogger, Platform } from '@launchdarkly/js-sdk-common';
|
|
2
2
|
import FlagStore from './FlagStore';
|
|
3
|
-
import FlagUpdater from './FlagUpdater';
|
|
3
|
+
import { FlagUpdater } from './FlagUpdater';
|
|
4
4
|
import { ItemDescriptor } from './ItemDescriptor';
|
|
5
5
|
/**
|
|
6
6
|
* This class handles persisting and loading flag values from a persistent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagPersistence.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAK1E,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,WAAW,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"FlagPersistence.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAK1E,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAMhC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAX/B,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAkB;gBAGvB,SAAS,EAAE,QAAQ,EACnB,qBAAqB,EAAE,MAAM,EAC7B,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,WAAW,EACzB,OAAO,EAAE,QAAQ,EACjB,YAAY,GAAE,MAAM,MAAyB;IAKhE;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnF;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YA4CtC,UAAU;YAqBV,WAAW;CA4B1B"}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { ItemDescriptor } from './ItemDescriptor';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* FlagStore used to store flag data in memory.
|
|
4
4
|
*/
|
|
5
5
|
export default interface FlagStore {
|
|
6
|
+
/**
|
|
7
|
+
* Initializes the flag store with the given flags.
|
|
8
|
+
*/
|
|
6
9
|
init(newFlags: {
|
|
7
10
|
[key: string]: ItemDescriptor;
|
|
8
11
|
}): void;
|
|
12
|
+
/**
|
|
13
|
+
* Inserts or updates the flag with the given key and update.
|
|
14
|
+
*/
|
|
9
15
|
insertOrUpdate(key: string, update: ItemDescriptor): void;
|
|
16
|
+
/**
|
|
17
|
+
* Gets the flag with the given key.
|
|
18
|
+
*/
|
|
10
19
|
get(key: string): ItemDescriptor | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Gets all the flags in the flag store.
|
|
22
|
+
*/
|
|
11
23
|
getAll(): {
|
|
12
24
|
[key: string]: ItemDescriptor;
|
|
13
25
|
};
|
|
14
26
|
}
|
|
15
27
|
/**
|
|
16
|
-
*
|
|
28
|
+
* Creates the default implementation of the flag store.
|
|
17
29
|
*/
|
|
18
|
-
export declare
|
|
19
|
-
private _flags;
|
|
20
|
-
init(newFlags: {
|
|
21
|
-
[key: string]: ItemDescriptor;
|
|
22
|
-
}): void;
|
|
23
|
-
insertOrUpdate(key: string, update: ItemDescriptor): void;
|
|
24
|
-
get(key: string): ItemDescriptor | undefined;
|
|
25
|
-
getAll(): {
|
|
26
|
-
[key: string]: ItemDescriptor;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
30
|
+
export declare function createDefaultFlagStore(): FlagStore;
|
|
29
31
|
//# sourceMappingURL=FlagStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagStore.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,SAAS;IAChC,IAAI,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC7C,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;CAC7C;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"FlagStore.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,SAAS;IAChC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1D;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC7C;;OAEG;IACH,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,CAyBlD"}
|