@launchdarkly/js-client-sdk-common 1.21.0 → 1.22.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 +20 -0
- package/dist/cjs/LDClientImpl.d.ts.map +1 -1
- package/dist/cjs/api/LDOptions.d.ts +8 -0
- package/dist/cjs/api/LDOptions.d.ts.map +1 -1
- package/dist/cjs/api/datasource/ModeResolution.d.ts +75 -0
- package/dist/cjs/api/datasource/ModeResolution.d.ts.map +1 -0
- package/dist/cjs/api/datasource/index.d.ts +1 -0
- package/dist/cjs/api/datasource/index.d.ts.map +1 -1
- package/dist/cjs/configuration/Configuration.d.ts +6 -0
- package/dist/cjs/configuration/Configuration.d.ts.map +1 -1
- package/dist/cjs/configuration/validateOptions.d.ts +1 -1
- package/dist/cjs/configuration/validateOptions.d.ts.map +1 -1
- package/dist/cjs/configuration/validators.d.ts +5 -2
- package/dist/cjs/configuration/validators.d.ts.map +1 -1
- package/dist/cjs/datasource/ModeResolver.d.ts +30 -0
- package/dist/cjs/datasource/ModeResolver.d.ts.map +1 -0
- package/dist/cjs/datasource/fdv2/CacheInitializer.d.ts +17 -0
- package/dist/cjs/datasource/fdv2/CacheInitializer.d.ts.map +1 -0
- package/dist/cjs/datasource/fdv2/FDv1PollingSynchronizer.d.ts +2 -0
- package/dist/cjs/datasource/fdv2/FDv1PollingSynchronizer.d.ts.map +1 -0
- package/dist/cjs/datasource/fdv2/FDv2SourceResult.d.ts +3 -1
- package/dist/cjs/datasource/fdv2/FDv2SourceResult.d.ts.map +1 -1
- package/dist/cjs/datasource/fdv2/calculatePollDelay.d.ts +2 -0
- package/dist/cjs/datasource/fdv2/calculatePollDelay.d.ts.map +1 -0
- package/dist/cjs/datasource/fdv2/index.d.ts +4 -0
- package/dist/cjs/datasource/fdv2/index.d.ts.map +1 -1
- package/dist/cjs/datasource/flagEvalMapper.d.ts +3 -3
- package/dist/cjs/flag-manager/FlagManager.d.ts +2 -1
- package/dist/cjs/flag-manager/FlagManager.d.ts.map +1 -1
- package/dist/cjs/flag-manager/FlagPersistence.d.ts +8 -1
- package/dist/cjs/flag-manager/FlagPersistence.d.ts.map +1 -1
- package/dist/cjs/index.cjs +336 -60
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/storage/freshness.d.ts +27 -0
- package/dist/cjs/storage/freshness.d.ts.map +1 -0
- package/dist/cjs/storage/loadCachedFlags.d.ts +25 -0
- package/dist/cjs/storage/loadCachedFlags.d.ts.map +1 -0
- package/dist/esm/LDClientImpl.d.ts.map +1 -1
- package/dist/esm/api/LDOptions.d.ts +8 -0
- package/dist/esm/api/LDOptions.d.ts.map +1 -1
- package/dist/esm/api/datasource/ModeResolution.d.ts +75 -0
- package/dist/esm/api/datasource/ModeResolution.d.ts.map +1 -0
- package/dist/esm/api/datasource/index.d.ts +1 -0
- package/dist/esm/api/datasource/index.d.ts.map +1 -1
- package/dist/esm/configuration/Configuration.d.ts +6 -0
- package/dist/esm/configuration/Configuration.d.ts.map +1 -1
- package/dist/esm/configuration/validateOptions.d.ts +1 -1
- package/dist/esm/configuration/validateOptions.d.ts.map +1 -1
- package/dist/esm/configuration/validators.d.ts +5 -2
- package/dist/esm/configuration/validators.d.ts.map +1 -1
- package/dist/esm/datasource/ModeResolver.d.ts +30 -0
- package/dist/esm/datasource/ModeResolver.d.ts.map +1 -0
- package/dist/esm/datasource/fdv2/CacheInitializer.d.ts +17 -0
- package/dist/esm/datasource/fdv2/CacheInitializer.d.ts.map +1 -0
- package/dist/esm/datasource/fdv2/FDv1PollingSynchronizer.d.ts +2 -0
- package/dist/esm/datasource/fdv2/FDv1PollingSynchronizer.d.ts.map +1 -0
- package/dist/esm/datasource/fdv2/FDv2SourceResult.d.ts +3 -1
- package/dist/esm/datasource/fdv2/FDv2SourceResult.d.ts.map +1 -1
- package/dist/esm/datasource/fdv2/calculatePollDelay.d.ts +2 -0
- package/dist/esm/datasource/fdv2/calculatePollDelay.d.ts.map +1 -0
- package/dist/esm/datasource/fdv2/index.d.ts +4 -0
- package/dist/esm/datasource/fdv2/index.d.ts.map +1 -1
- package/dist/esm/datasource/flagEvalMapper.d.ts +3 -3
- package/dist/esm/flag-manager/FlagManager.d.ts +2 -1
- package/dist/esm/flag-manager/FlagManager.d.ts.map +1 -1
- package/dist/esm/flag-manager/FlagPersistence.d.ts +8 -1
- package/dist/esm/flag-manager/FlagPersistence.d.ts.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.mjs +329 -61
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/storage/freshness.d.ts +27 -0
- package/dist/esm/storage/freshness.d.ts.map +1 -0
- package/dist/esm/storage/loadCachedFlags.d.ts +25 -0
- package/dist/esm/storage/loadCachedFlags.d.ts.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.22.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.21.0...js-client-sdk-common-v1.22.0) (2026-03-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* Add experimental FDv2 configuration (unused) ([#1169](https://github.com/launchdarkly/js-core/issues/1169)) ([c7130cc](https://github.com/launchdarkly/js-core/commit/c7130ccabe19a699b3c14dc949432ef1afb37b3d))
|
|
9
|
+
* Add explicit disableCache setting. ([6be89dd](https://github.com/launchdarkly/js-core/commit/6be89dd16098264a8c75761628f716c1b7387cb7))
|
|
10
|
+
* Add FDv1 polling synchronizer for FDv2 fallback (SDK-1923) ([#1159](https://github.com/launchdarkly/js-core/issues/1159)) ([498216a](https://github.com/launchdarkly/js-core/commit/498216acc43ad007e6888b1fdd53892cd231a4a7))
|
|
11
|
+
* Add mode resolution table for FDv2. ([#1146](https://github.com/launchdarkly/js-core/issues/1146)) ([ab2436d](https://github.com/launchdarkly/js-core/commit/ab2436dc677cfc923fba051aab649a2a7e959a3e))
|
|
12
|
+
* FDv2 Cache Initializer ([#1147](https://github.com/launchdarkly/js-core/issues/1147)) ([7d6299f](https://github.com/launchdarkly/js-core/commit/7d6299fc20dac864487b1f07f283c41e07bf73de))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* Allow 0 status code to be handled by the streaming error filter. ([d96b46b](https://github.com/launchdarkly/js-core/commit/d96b46b01331842647f71cccfaf70ab104029849))
|
|
18
|
+
* Fix the calculation of the basis parameter for FDv2 streaming. (Does not affect FDv1). ([#1165](https://github.com/launchdarkly/js-core/issues/1165)) ([bbdd6c6](https://github.com/launchdarkly/js-core/commit/bbdd6c6f23fcc2a2fbd3ff72a39d872853ceef38))
|
|
19
|
+
* Improve error handling for FDv2 streaming ([d96b46b](https://github.com/launchdarkly/js-core/commit/d96b46b01331842647f71cccfaf70ab104029849))
|
|
20
|
+
* Max cached context enforcement wasn't working for 0. ([6be89dd](https://github.com/launchdarkly/js-core/commit/6be89dd16098264a8c75761628f716c1b7387cb7))
|
|
21
|
+
* rename FDv2 object kind from `flagEval` to `flag-eval` ([#1185](https://github.com/launchdarkly/js-core/issues/1185)) ([cd4b119](https://github.com/launchdarkly/js-core/commit/cd4b1190362373d9a16582dea0f65a786210e8e3))
|
|
22
|
+
|
|
3
23
|
## [1.21.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.20.0...js-client-sdk-common-v1.21.0) (2026-03-04)
|
|
4
24
|
|
|
5
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,OAAO,EAEP,QAAQ,EAER,SAAS,EACT,WAAW,EAEX,QAAQ,EACR,2BAA2B,EAE3B,QAAQ,EAET,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,sBAAsB,EACtB,SAAS,EACT,eAAe,EAEf,gBAAgB,EAIhB,KAAK,SAAS,EAGd,8BAA8B,EAC9B,6BAA6B,EAE9B,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAoC,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAO5F,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAQhE,OAA2B,EAAe,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOnD,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,QAAQ,EAAE,sBAAsB;aAkCzD,MAAM,EAAE,MAAM;aACd,iBAAiB,EAAE,iBAAiB;aACpC,QAAQ,EAAE,QAAQ;IAnCpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAA8B;IACnE,OAAO,CAAC,eAAe,CAAC,CAA0B;IAClD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,OAAO,CAAC,qBAAqB,CAAsD;IAEnF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAc;IAEpD,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,wBAAwB,CAA0B;IAC1D,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;IAC7B,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,YAAY,CAAY;IAChC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;IACpE,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,cAAc,CAAgC;IAKtD,SAAS,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACtE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,6BAA6B,KAAK,IAAI,CAAC;IACxE,SAAS,CAAC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IAE3D;;OAEG;gBAEe,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClC,OAAO,EAAE,SAAS,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,CAAC,EAAE,uBAAuB;
|
|
1
|
+
{"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -252,5 +252,13 @@ export interface LDOptions {
|
|
|
252
252
|
* @defaultValue false.
|
|
253
253
|
*/
|
|
254
254
|
cleanOldPersistentData?: boolean;
|
|
255
|
+
/**
|
|
256
|
+
* Set to true to completely disable the persistent flag cache. When disabled,
|
|
257
|
+
* flags are never read from or written to local storage. This takes precedence
|
|
258
|
+
* over `maxCachedContexts`.
|
|
259
|
+
*
|
|
260
|
+
* @defaultValue false
|
|
261
|
+
*/
|
|
262
|
+
disableCache?: boolean;
|
|
255
263
|
}
|
|
256
264
|
//# 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;
|
|
1
|
+
{"version":3,"file":"LDOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG5D,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;IAiBjC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type FDv2ConnectionMode from './FDv2ConnectionMode';
|
|
2
|
+
/**
|
|
3
|
+
* The lifecycle state of the application.
|
|
4
|
+
*
|
|
5
|
+
* - `'foreground'` — The application is in the foreground (visible, active).
|
|
6
|
+
* Browser and desktop platforms always use this value.
|
|
7
|
+
* - `'background'` — The application is in the background (not visible).
|
|
8
|
+
* Only applicable to mobile platforms.
|
|
9
|
+
*/
|
|
10
|
+
type LifecycleState = 'foreground' | 'background';
|
|
11
|
+
/**
|
|
12
|
+
* Input state used by the mode resolution table to determine the connection
|
|
13
|
+
* mode. The caller is responsible for computing the effective `foregroundMode`
|
|
14
|
+
* before consulting the table — for example, browser listener-driven streaming
|
|
15
|
+
* logic modifies `foregroundMode` externally.
|
|
16
|
+
*/
|
|
17
|
+
export interface ModeState {
|
|
18
|
+
/** Application lifecycle state. */
|
|
19
|
+
readonly lifecycle: LifecycleState;
|
|
20
|
+
/** Whether the device has network connectivity. */
|
|
21
|
+
readonly networkAvailable: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The effective foreground connection mode. This is the mode the SDK should
|
|
24
|
+
* use when in the foreground and online. The caller computes this from
|
|
25
|
+
* user configuration, platform defaults, and any platform-specific logic
|
|
26
|
+
* (e.g., browser listener-driven streaming promotion).
|
|
27
|
+
*/
|
|
28
|
+
readonly foregroundMode: FDv2ConnectionMode;
|
|
29
|
+
/**
|
|
30
|
+
* The effective background connection mode. This is the mode the SDK should
|
|
31
|
+
* use when in the background and online. Only meaningful on mobile platforms.
|
|
32
|
+
*/
|
|
33
|
+
readonly backgroundMode: FDv2ConnectionMode;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A reference to a configured mode slot in the {@link ModeState}. Used in
|
|
37
|
+
* table entries to defer the mode decision to the caller's configuration.
|
|
38
|
+
*
|
|
39
|
+
* - `{ configured: 'foreground' }` — Resolve to `input.foregroundMode`.
|
|
40
|
+
* - `{ configured: 'background' }` — Resolve to `input.backgroundMode`.
|
|
41
|
+
*/
|
|
42
|
+
export interface ConfiguredMode {
|
|
43
|
+
readonly configured: 'foreground' | 'background';
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The result of a mode resolution entry. Either:
|
|
47
|
+
* - A literal {@link FDv2ConnectionMode} string (e.g., `'offline'`).
|
|
48
|
+
* - A {@link ConfiguredMode} object referencing a configured mode slot.
|
|
49
|
+
*/
|
|
50
|
+
type ModeResolution = FDv2ConnectionMode | ConfiguredMode;
|
|
51
|
+
/**
|
|
52
|
+
* A single entry in a mode resolution table. Entries are evaluated in order;
|
|
53
|
+
* the first entry whose conditions all match the input state determines the
|
|
54
|
+
* connection mode.
|
|
55
|
+
*/
|
|
56
|
+
export interface ModeResolutionEntry {
|
|
57
|
+
/**
|
|
58
|
+
* Conditions to match against the input state. All specified fields must
|
|
59
|
+
* match for this entry to apply. Unspecified fields match any value. An
|
|
60
|
+
* empty object matches all inputs (catch-all).
|
|
61
|
+
*/
|
|
62
|
+
readonly conditions: Partial<ModeState>;
|
|
63
|
+
/**
|
|
64
|
+
* The mode to resolve to when this entry matches.
|
|
65
|
+
*/
|
|
66
|
+
readonly mode: ModeResolution;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* An ordered list of mode resolution entries. The first matching entry
|
|
70
|
+
* determines the connection mode. Tables should end with a catch-all
|
|
71
|
+
* entry (empty conditions) to guarantee a match.
|
|
72
|
+
*/
|
|
73
|
+
type ModeResolutionTable = ReadonlyArray<ModeResolutionEntry>;
|
|
74
|
+
export type { LifecycleState, ModeResolution, ModeResolutionTable };
|
|
75
|
+
//# sourceMappingURL=ModeResolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModeResolution.d.ts","sourceRoot":"","sources":["../../../src/api/datasource/ModeResolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;GAOG;AACH,KAAK,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IAEnC,mDAAmD;IACnD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAE5C;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC;CAClD;AAED;;;;GAIG;AACH,KAAK,cAAc,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE1D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAE9D,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -2,4 +2,5 @@ export type { default as FDv2ConnectionMode } from './FDv2ConnectionMode';
|
|
|
2
2
|
export type { EndpointConfig, CacheDataSourceEntry, PollingDataSourceEntry, StreamingDataSourceEntry, DataSourceEntry, } from './DataSourceEntry';
|
|
3
3
|
export type { ModeDefinition } from './ModeDefinition';
|
|
4
4
|
export type { LDClientDataSystemOptions, AutomaticModeSwitchingConfig, PlatformDataSystemDefaults, } from './LDClientDataSystemOptions';
|
|
5
|
+
export type { LifecycleState, ModeState, ConfiguredMode, ModeResolution, ModeResolutionEntry, ModeResolutionTable, } from './ModeResolution';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/datasource/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/datasource/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,cAAc,EACd,SAAS,EACT,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { ApplicationTags, internal, LDFlagSet, LDLogger, LDPluginEnvironmentMetadata, ServiceEndpoints } from '@launchdarkly/js-sdk-common';
|
|
2
2
|
import { Hook, type LDOptions } from '../api';
|
|
3
|
+
import type { LDClientDataSystemOptions, PlatformDataSystemDefaults } from '../api/datasource/LDClientDataSystemOptions';
|
|
3
4
|
import { LDInspection } from '../api/LDInspection';
|
|
4
5
|
export interface LDClientInternalOptions extends internal.LDInternalOptions {
|
|
5
6
|
trackEventModifier?: (event: internal.InputCustomEvent) => internal.InputCustomEvent;
|
|
6
7
|
getImplementationHooks: (environmentMetadata: LDPluginEnvironmentMetadata) => Hook[];
|
|
7
8
|
credentialType: 'clientSideId' | 'mobileKey';
|
|
8
9
|
getLegacyStorageKeys?: () => string[];
|
|
10
|
+
dataSystemDefaults?: PlatformDataSystemDefaults;
|
|
9
11
|
}
|
|
10
12
|
export interface Configuration {
|
|
11
13
|
readonly logger: LDLogger;
|
|
12
14
|
readonly maxCachedContexts: number;
|
|
15
|
+
readonly disableCache?: boolean;
|
|
13
16
|
readonly capacity: number;
|
|
14
17
|
readonly diagnosticRecordingInterval: number;
|
|
15
18
|
readonly flushInterval: number;
|
|
@@ -43,6 +46,7 @@ export interface Configuration {
|
|
|
43
46
|
readonly inspectors: LDInspection[];
|
|
44
47
|
readonly credentialType: 'clientSideId' | 'mobileKey';
|
|
45
48
|
readonly getImplementationHooks: (environmentMetadata: LDPluginEnvironmentMetadata) => Hook[];
|
|
49
|
+
readonly dataSystem?: LDClientDataSystemOptions;
|
|
46
50
|
}
|
|
47
51
|
declare const DEFAULT_POLLING: string;
|
|
48
52
|
declare const DEFAULT_STREAM: string;
|
|
@@ -53,6 +57,7 @@ export default class ConfigurationImpl implements Configuration {
|
|
|
53
57
|
private readonly eventsUri;
|
|
54
58
|
private readonly streamUri;
|
|
55
59
|
readonly maxCachedContexts = 5;
|
|
60
|
+
readonly disableCache: boolean;
|
|
56
61
|
readonly capacity = 100;
|
|
57
62
|
readonly diagnosticRecordingInterval = 900;
|
|
58
63
|
readonly flushInterval = 30;
|
|
@@ -86,6 +91,7 @@ export default class ConfigurationImpl implements Configuration {
|
|
|
86
91
|
readonly trackEventModifier: (event: internal.InputCustomEvent) => internal.InputCustomEvent;
|
|
87
92
|
readonly credentialType: 'clientSideId' | 'mobileKey';
|
|
88
93
|
readonly getImplementationHooks: (environmentMetadata: LDPluginEnvironmentMetadata) => Hook[];
|
|
94
|
+
readonly dataSystem?: LDClientDataSystemOptions;
|
|
89
95
|
[index: string]: any;
|
|
90
96
|
constructor(pristineOptions?: LDOptions, internalOptions?: LDClientInternalOptions);
|
|
91
97
|
}
|
|
@@ -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,EAE3B,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,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;IAC7C,oBAAoB,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export default function validateOptions(input: unknown, validatorMap: Record<str
|
|
|
30
30
|
* `validateOptions` will recursively validate the nested object's properties.
|
|
31
31
|
* Defaults for nested fields are passed through from the parent.
|
|
32
32
|
*/
|
|
33
|
-
export declare function validatorOf(validators: Record<string, TypeValidator>): CompoundValidator;
|
|
33
|
+
export declare function validatorOf(validators: Record<string, TypeValidator>, builtInDefaults?: Record<string, unknown>): CompoundValidator;
|
|
34
34
|
/**
|
|
35
35
|
* Creates a validator for arrays of discriminated objects. Each item in the
|
|
36
36
|
* array must be an object containing a `discriminant` field whose value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOptions.d.ts","sourceRoot":"","sources":["../../src/configuration/validateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAGR,aAAa,EAEd,MAAM,6BAA6B,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,QAAQ,CACN,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,QAAQ,EACjB,QAAQ,CAAC,EAAE,OAAO,GACjB;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACnC;AAMD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,CAAC,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0DzB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,
|
|
1
|
+
{"version":3,"file":"validateOptions.d.ts","sourceRoot":"","sources":["../../src/configuration/validateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAGR,aAAa,EAEd,MAAM,6BAA6B,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,QAAQ,CACN,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,QAAQ,EACjB,QAAQ,CAAC,EAAE,OAAO,GACjB;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACnC;AAMD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,CAAC,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0DzB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,iBAAiB,CAsBnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CACrB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAC9D,iBAAiB,CAuCnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,GAAG,UAAU,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAevE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CACtB,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,aAAa,GAC5B,iBAAiB,CAkCnB"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { TypeValidator } from '@launchdarkly/js-sdk-common';
|
|
2
2
|
import { type LDOptions } from '../api';
|
|
3
|
-
|
|
4
|
-
export
|
|
3
|
+
import type { PlatformDataSystemDefaults } from '../api/datasource/LDClientDataSystemOptions';
|
|
4
|
+
export interface ValidatorOptions {
|
|
5
|
+
dataSystemDefaults?: PlatformDataSystemDefaults;
|
|
6
|
+
}
|
|
7
|
+
export default function createValidators(options?: ValidatorOptions): Record<keyof LDOptions, TypeValidator>;
|
|
5
8
|
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAI9F,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,OAAO,CAAC,EAAE,gBAAgB,GACzB,MAAM,CAAC,MAAM,SAAS,EAAE,aAAa,CAAC,CAyCxC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FDv2ConnectionMode, ModeResolutionTable, ModeState } from '../api/datasource';
|
|
2
|
+
declare function resolveConnectionMode(table: ModeResolutionTable, input: ModeState): FDv2ConnectionMode;
|
|
3
|
+
/**
|
|
4
|
+
* Mode resolution table for mobile platforms (React Native, etc.).
|
|
5
|
+
*
|
|
6
|
+
* - No network → offline.
|
|
7
|
+
* - Background → configured background mode.
|
|
8
|
+
* - Foreground → configured foreground mode.
|
|
9
|
+
*/
|
|
10
|
+
declare const MOBILE_TRANSITION_TABLE: ModeResolutionTable;
|
|
11
|
+
/**
|
|
12
|
+
* Mode resolution table for browser platforms.
|
|
13
|
+
*
|
|
14
|
+
* - No network → offline.
|
|
15
|
+
* - Otherwise → configured foreground mode.
|
|
16
|
+
*
|
|
17
|
+
* Browser listener-driven streaming (auto-promotion to streaming when change
|
|
18
|
+
* listeners are registered) is handled externally by the caller modifying
|
|
19
|
+
* `foregroundMode` before consulting this table.
|
|
20
|
+
*/
|
|
21
|
+
declare const BROWSER_TRANSITION_TABLE: ModeResolutionTable;
|
|
22
|
+
/**
|
|
23
|
+
* Mode resolution table for desktop platforms (Electron, etc.).
|
|
24
|
+
*
|
|
25
|
+
* - No network → offline.
|
|
26
|
+
* - Otherwise → configured foreground mode.
|
|
27
|
+
*/
|
|
28
|
+
declare const DESKTOP_TRANSITION_TABLE: ModeResolutionTable;
|
|
29
|
+
export { resolveConnectionMode, MOBILE_TRANSITION_TABLE, BROWSER_TRANSITION_TABLE, DESKTOP_TRANSITION_TABLE, };
|
|
30
|
+
//# sourceMappingURL=ModeResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModeResolver.d.ts","sourceRoot":"","sources":["../../src/datasource/ModeResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAqB3B,iBAAS,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,GAAG,kBAAkB,CAU/F;AAED;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,EAAE,mBAI9B,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,wBAAwB,EAAE,mBAG/B,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,wBAAwB,EAAE,mBAG/B,CAAC;AAEF,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GACzB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Context, Crypto, LDLogger, Storage } from '@launchdarkly/js-sdk-common';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for creating a cache initializer.
|
|
4
|
+
*/
|
|
5
|
+
export interface CacheInitializerConfig {
|
|
6
|
+
/** Platform storage for reading cached data. */
|
|
7
|
+
storage: Storage | undefined;
|
|
8
|
+
/** Platform crypto for computing storage keys. */
|
|
9
|
+
crypto: Crypto;
|
|
10
|
+
/** Environment namespace (hashed SDK key). */
|
|
11
|
+
environmentNamespace: string;
|
|
12
|
+
/** The context to load cached data for. */
|
|
13
|
+
context: Context;
|
|
14
|
+
/** Optional logger. */
|
|
15
|
+
logger?: LDLogger;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=CacheInitializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheInitializer.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/CacheInitializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAY,QAAQ,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAe3F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FDv1PollingSynchronizer.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/FDv1PollingSynchronizer.ts"],"names":[],"mappings":""}
|
|
@@ -17,6 +17,8 @@ export interface ChangeSetResult {
|
|
|
17
17
|
payload: internal.Payload;
|
|
18
18
|
fdv1Fallback: boolean;
|
|
19
19
|
environmentId?: string;
|
|
20
|
+
/** Freshness timestamp from cache, if this result originated from cached data. */
|
|
21
|
+
freshness?: number;
|
|
20
22
|
}
|
|
21
23
|
/**
|
|
22
24
|
* A status result indicating a state transition (error, shutdown, goodbye).
|
|
@@ -40,7 +42,7 @@ export type FDv2SourceResult = ChangeSetResult | StatusResult;
|
|
|
40
42
|
/**
|
|
41
43
|
* Creates a change set result containing processed flag data.
|
|
42
44
|
*/
|
|
43
|
-
export declare function changeSet(payload: internal.Payload, fdv1Fallback: boolean, environmentId?: string): FDv2SourceResult;
|
|
45
|
+
export declare function changeSet(payload: internal.Payload, fdv1Fallback: boolean, environmentId?: string, freshness?: number): FDv2SourceResult;
|
|
44
46
|
/**
|
|
45
47
|
* Creates an interrupted status result. Indicates a transient error; the
|
|
46
48
|
* synchronizer will attempt to recover automatically.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FDv2SourceResult.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/FDv2SourceResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,yBAAyB,MAAM,8BAA8B,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FDv2SourceResult.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/FDv2SourceResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,yBAAyB,MAAM,8BAA8B,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,YAAY,CAAC;AAE9D;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,EACzB,YAAY,EAAE,OAAO,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,yBAAyB,EACpC,YAAY,EAAE,OAAO,GACpB,gBAAgB,CAElB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAE3C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,yBAAyB,EACpC,YAAY,EAAE,OAAO,GACpB,gBAAgB,CAElB;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,gBAAgB,CAE/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAOpF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAMpF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAMnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAM/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculatePollDelay.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/calculatePollDelay.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
export type { AsyncQueue } from './AsyncQueue';
|
|
2
2
|
export { createAsyncQueue } from './AsyncQueue';
|
|
3
|
+
export type { CacheInitializerConfig } from './CacheInitializer';
|
|
4
|
+
export { createCacheInitializerFactory } from './CacheInitializer';
|
|
3
5
|
export type { FDv2PollResponse, FDv2Requestor } from './FDv2Requestor';
|
|
4
6
|
export { makeFDv2Requestor } from './FDv2Requestor';
|
|
5
7
|
export type { ChangeSetResult, FDv2SourceResult, SourceState, StatusResult, } from './FDv2SourceResult';
|
|
6
8
|
export { changeSet, errorInfoFromHttpError, errorInfoFromInvalidData, errorInfoFromNetworkError, errorInfoFromUnknown, goodbye, interrupted, shutdown, terminalError, } from './FDv2SourceResult';
|
|
7
9
|
export type { Initializer } from './Initializer';
|
|
8
10
|
export type { Synchronizer } from './Synchronizer';
|
|
11
|
+
export { calculatePollDelay } from './calculatePollDelay';
|
|
9
12
|
export { poll } from './PollingBase';
|
|
10
13
|
export { createPollingInitializer } from './PollingInitializer';
|
|
14
|
+
export { createFDv1PollingSynchronizer } from './FDv1PollingSynchronizer';
|
|
11
15
|
export { createPollingSynchronizer } from './PollingSynchronizer';
|
|
12
16
|
export type { PingHandler, StreamingFDv2Base } from './StreamingFDv2Base';
|
|
13
17
|
export { createStreamingBase } from './StreamingFDv2Base';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { internal } from '@launchdarkly/js-sdk-common';
|
|
|
2
2
|
import { ItemDescriptor } from '../flag-manager/ItemDescriptor';
|
|
3
3
|
import { FlagEvaluationResult } from '../types';
|
|
4
4
|
/**
|
|
5
|
-
* ObjProcessor for the `
|
|
5
|
+
* ObjProcessor for the `flag-eval` object kind. Used by the protocol handler to
|
|
6
6
|
* process objects received in `put-object` events.
|
|
7
7
|
*
|
|
8
8
|
* Client-side evaluation results are already in their final form (pre-evaluated
|
|
@@ -10,7 +10,7 @@ import { FlagEvaluationResult } from '../types';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function processFlagEval(object: unknown): FlagEvaluationResult;
|
|
12
12
|
/**
|
|
13
|
-
* Converts an FDv2 {@link internal.Update} with `kind: '
|
|
13
|
+
* Converts an FDv2 {@link internal.Update} with `kind: 'flag-eval'` into an
|
|
14
14
|
* {@link ItemDescriptor} suitable for {@link FlagManager}.
|
|
15
15
|
*
|
|
16
16
|
* For put updates the envelope `version` is used as the {@link ItemDescriptor.version}
|
|
@@ -22,7 +22,7 @@ export declare function processFlagEval(object: unknown): FlagEvaluationResult;
|
|
|
22
22
|
export declare function flagEvalUpdateToItemDescriptor(update: internal.Update): ItemDescriptor;
|
|
23
23
|
/**
|
|
24
24
|
* Converts an array of FDv2 payload updates into a map of flag key to
|
|
25
|
-
* {@link ItemDescriptor}. Only `
|
|
25
|
+
* {@link ItemDescriptor}. Only `flag-eval` kind updates are processed;
|
|
26
26
|
* unrecognized kinds are silently ignored.
|
|
27
27
|
*/
|
|
28
28
|
export declare function flagEvalPayloadToItemDescriptors(updates: internal.Update[]): {
|
|
@@ -116,10 +116,11 @@ export default class DefaultFlagManager implements FlagManager {
|
|
|
116
116
|
* @param platform implementation of various platform provided functionality
|
|
117
117
|
* @param sdkKey that will be used to distinguish different environments
|
|
118
118
|
* @param maxCachedContexts that specifies the max number of contexts that will be cached in persistence
|
|
119
|
+
* @param disableCache set to true to completely disable the persistent flag cache
|
|
119
120
|
* @param logger used for logging various messages
|
|
120
121
|
* @param timeStamper exists for testing purposes
|
|
121
122
|
*/
|
|
122
|
-
constructor(platform: Platform, sdkKey: string, maxCachedContexts: number, logger: LDLogger, timeStamper?: () => number);
|
|
123
|
+
constructor(platform: Platform, sdkKey: string, maxCachedContexts: number, disableCache: boolean, logger: LDLogger, timeStamper?: () => number);
|
|
123
124
|
private _initPersistence;
|
|
124
125
|
get(key: string): ItemDescriptor | undefined;
|
|
125
126
|
getAll(): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagManager.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvF,OAA0B,EAAE,mBAAmB,EAAe,MAAM,eAAe,CAAC;AACpF,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;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAE/D;;;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;IAEzC;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,eAAe,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEvD;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;;;OAOG;IACH,eAAe,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;CACtD;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,WAAW;IAC5D,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAiC;IAEpD
|
|
1
|
+
{"version":3,"file":"FlagManager.d.ts","sourceRoot":"","sources":["../../src/flag-manager/FlagManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvF,OAA0B,EAAE,mBAAmB,EAAe,MAAM,eAAe,CAAC;AACpF,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;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAE/D;;;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;IAEzC;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,eAAe,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAEvD;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;;;OAOG;IACH,eAAe,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;CACtD;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,WAAW;IAC5D,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAiC;IAEpD;;;;;;;OAOG;gBAED,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,QAAQ,EAChB,WAAW,GAAE,MAAM,MAAyB;YAahC,gBAAgB;IAsB9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAQ5C,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE;IAgB3C,WAAW,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,GAAG,IAAI;IAI9D,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;IAIxC,OAAO,CAAC,iCAAiC;IAUzC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;IAQ3C,cAAc,CAAC,OAAO,EAAE,MAAM;IAe9B,iBAAiB;IAQjB,eAAe;;;IAWf,gBAAgB,IAAI,eAAe;CAQpC"}
|
|
@@ -6,11 +6,17 @@ import { ItemDescriptor } from './ItemDescriptor';
|
|
|
6
6
|
* This class handles persisting and loading flag values from a persistent
|
|
7
7
|
* store. It intercepts updates and forwards them to the flag updater and
|
|
8
8
|
* then persists changes after the updater has completed.
|
|
9
|
+
*
|
|
10
|
+
* Freshness metadata (timestamp + context attribute hash) is stored in a
|
|
11
|
+
* separate storage key (`{contextKey}_freshness`) alongside the flag data.
|
|
12
|
+
* Both keys are managed together — when a context is evicted, both the flag
|
|
13
|
+
* data and freshness record are cleared.
|
|
9
14
|
*/
|
|
10
15
|
export default class FlagPersistence {
|
|
11
16
|
private readonly _platform;
|
|
12
17
|
private readonly _environmentNamespace;
|
|
13
18
|
private readonly _maxCachedContexts;
|
|
19
|
+
private readonly _disableCache;
|
|
14
20
|
private readonly _flagStore;
|
|
15
21
|
private readonly _flagUpdater;
|
|
16
22
|
private readonly _logger;
|
|
@@ -18,7 +24,7 @@ export default class FlagPersistence {
|
|
|
18
24
|
private _contextIndex;
|
|
19
25
|
private _indexKey?;
|
|
20
26
|
private _indexKeyPromise;
|
|
21
|
-
constructor(_platform: Platform, _environmentNamespace: string, _maxCachedContexts: number, _flagStore: FlagStore, _flagUpdater: FlagUpdater, _logger: LDLogger, _timeStamper?: () => number);
|
|
27
|
+
constructor(_platform: Platform, _environmentNamespace: string, _maxCachedContexts: number, _disableCache: boolean, _flagStore: FlagStore, _flagUpdater: FlagUpdater, _logger: LDLogger, _timeStamper?: () => number);
|
|
22
28
|
/**
|
|
23
29
|
* Inits flag persistence for the provided context with the provided flags. This will result
|
|
24
30
|
* in the underlying {@link FlagUpdater} switching its active context.
|
|
@@ -37,6 +43,7 @@ export default class FlagPersistence {
|
|
|
37
43
|
* {@link FlagUpdater} this {@link FlagPersistence} was constructed with.
|
|
38
44
|
*/
|
|
39
45
|
loadCached(context: Context): Promise<boolean>;
|
|
46
|
+
private _storeFreshness;
|
|
40
47
|
private _loadIndex;
|
|
41
48
|
private _storeCache;
|
|
42
49
|
}
|
|
@@ -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;
|
|
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;AAO1E,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;GASG;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,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAZ/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,aAAa,EAAE,OAAO,EACtB,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;YAuCtC,eAAe;YAiBf,UAAU;YAqBV,WAAW;CAuD1B"}
|