@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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Context, Crypto } from '@launchdarkly/js-sdk-common';
|
|
2
|
+
export type Namespace = 'LaunchDarkly' | 'AnonymousKeys' | 'ContextKeys' | 'ContextIndex';
|
|
3
|
+
export declare function concatNamespacesAndValues(parts: {
|
|
4
|
+
value: Namespace | string;
|
|
5
|
+
transform: (value: string) => string;
|
|
6
|
+
}[]): string;
|
|
7
|
+
export declare function namespaceForEnvironment(crypto: Crypto, sdkKey: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated prefer {@link namespaceForGeneratedContextKey}. At one time we only generated keys for
|
|
10
|
+
* anonymous contexts and they were namespaced in LaunchDarkly_AnonymousKeys. Eventually we started
|
|
11
|
+
* generating context keys for non-anonymous contexts such as for the Auto Environment Attributes
|
|
12
|
+
* feature and those were namespaced in LaunchDarkly_ContextKeys. This function can be removed
|
|
13
|
+
* when the data under the LaunchDarkly_AnonymousKeys namespace is merged with data under the
|
|
14
|
+
* LaunchDarkly_ContextKeys namespace.
|
|
15
|
+
*/
|
|
16
|
+
export declare function namespaceForAnonymousGeneratedContextKey(kind: string): string;
|
|
17
|
+
export declare function namespaceForGeneratedContextKey(kind: string): string;
|
|
18
|
+
export declare function namespaceForContextIndex(environmentNamespace: string): string;
|
|
19
|
+
export declare function namespaceForContextData(crypto: Crypto, environmentNamespace: string, context: Context): string;
|
|
20
|
+
//# sourceMappingURL=namespaceUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaceUtils.d.ts","sourceRoot":"","sources":["../../src/storage/namespaceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,GAAG,cAAc,CAAC;AAW1F,wBAAgB,yBAAyB,CACvC,KAAK,EAAE;IAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,EAAE,GAC3E,MAAM,CAGR;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpE;AAED,wBAAgB,wBAAwB,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,OAAO,GACf,MAAM,CAKR"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.namespaceForContextData = exports.namespaceForContextIndex = exports.namespaceForGeneratedContextKey = exports.namespaceForAnonymousGeneratedContextKey = exports.namespaceForEnvironment = exports.concatNamespacesAndValues = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Hashes the input and encodes it as base64
|
|
6
|
+
*/
|
|
7
|
+
function hashAndBase64Encode(crypto) {
|
|
8
|
+
return (input) => crypto.createHash('sha256').update(input).digest('base64');
|
|
9
|
+
}
|
|
10
|
+
const noop = (input) => input; // no-op transform
|
|
11
|
+
function concatNamespacesAndValues(parts) {
|
|
12
|
+
const processedParts = parts.map((part) => part.transform(part.value)); // use the transform from each part to transform the value
|
|
13
|
+
return processedParts.join('_');
|
|
14
|
+
}
|
|
15
|
+
exports.concatNamespacesAndValues = concatNamespacesAndValues;
|
|
16
|
+
function namespaceForEnvironment(crypto, sdkKey) {
|
|
17
|
+
return concatNamespacesAndValues([
|
|
18
|
+
{ value: 'LaunchDarkly', transform: noop },
|
|
19
|
+
{ value: sdkKey, transform: hashAndBase64Encode(crypto) }, // hash sdk key and encode it
|
|
20
|
+
]);
|
|
21
|
+
}
|
|
22
|
+
exports.namespaceForEnvironment = namespaceForEnvironment;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated prefer {@link namespaceForGeneratedContextKey}. At one time we only generated keys for
|
|
25
|
+
* anonymous contexts and they were namespaced in LaunchDarkly_AnonymousKeys. Eventually we started
|
|
26
|
+
* generating context keys for non-anonymous contexts such as for the Auto Environment Attributes
|
|
27
|
+
* feature and those were namespaced in LaunchDarkly_ContextKeys. This function can be removed
|
|
28
|
+
* when the data under the LaunchDarkly_AnonymousKeys namespace is merged with data under the
|
|
29
|
+
* LaunchDarkly_ContextKeys namespace.
|
|
30
|
+
*/
|
|
31
|
+
function namespaceForAnonymousGeneratedContextKey(kind) {
|
|
32
|
+
return concatNamespacesAndValues([
|
|
33
|
+
{ value: 'LaunchDarkly', transform: noop },
|
|
34
|
+
{ value: 'AnonymousKeys', transform: noop },
|
|
35
|
+
{ value: kind, transform: noop }, // existing SDKs are not hashing or encoding this kind, though they should have
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
exports.namespaceForAnonymousGeneratedContextKey = namespaceForAnonymousGeneratedContextKey;
|
|
39
|
+
function namespaceForGeneratedContextKey(kind) {
|
|
40
|
+
return concatNamespacesAndValues([
|
|
41
|
+
{ value: 'LaunchDarkly', transform: noop },
|
|
42
|
+
{ value: 'ContextKeys', transform: noop },
|
|
43
|
+
{ value: kind, transform: noop }, // existing SDKs are not hashing or encoding this kind, though they should have
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
exports.namespaceForGeneratedContextKey = namespaceForGeneratedContextKey;
|
|
47
|
+
function namespaceForContextIndex(environmentNamespace) {
|
|
48
|
+
return concatNamespacesAndValues([
|
|
49
|
+
{ value: environmentNamespace, transform: noop },
|
|
50
|
+
{ value: 'ContextIndex', transform: noop },
|
|
51
|
+
]);
|
|
52
|
+
}
|
|
53
|
+
exports.namespaceForContextIndex = namespaceForContextIndex;
|
|
54
|
+
function namespaceForContextData(crypto, environmentNamespace, context) {
|
|
55
|
+
return concatNamespacesAndValues([
|
|
56
|
+
{ value: environmentNamespace, transform: noop },
|
|
57
|
+
{ value: context.canonicalKey, transform: hashAndBase64Encode(crypto) }, // hash and encode canonical key
|
|
58
|
+
]);
|
|
59
|
+
}
|
|
60
|
+
exports.namespaceForContextData = namespaceForContextData;
|
|
61
|
+
//# sourceMappingURL=namespaceUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaceUtils.js","sourceRoot":"","sources":["../../src/storage/namespaceUtils.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,kBAAkB;AAEzD,SAAgB,yBAAyB,CACvC,KAA4E;IAE5E,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,0DAA0D;IAClI,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AALD,8DAKC;AAED,SAAgB,uBAAuB,CAAC,MAAc,EAAE,MAAc;IACpE,OAAO,yBAAyB,CAAC;QAC/B,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE;QAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,6BAA6B;KACzF,CAAC,CAAC;AACL,CAAC;AALD,0DAKC;AAED;;;;;;;GAOG;AACH,SAAgB,wCAAwC,CAAC,IAAY;IACnE,OAAO,yBAAyB,CAAC;QAC/B,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE;QAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE;QAC3C,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,+EAA+E;KAClH,CAAC,CAAC;AACL,CAAC;AAND,4FAMC;AAED,SAAgB,+BAA+B,CAAC,IAAY;IAC1D,OAAO,yBAAyB,CAAC;QAC/B,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE;QAC1C,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE;QACzC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,+EAA+E;KAClH,CAAC,CAAC;AACL,CAAC;AAND,0EAMC;AAED,SAAgB,wBAAwB,CAAC,oBAA4B;IACnE,OAAO,yBAAyB,CAAC;QAC/B,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,IAAI,EAAE;QAChD,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE;KAC3C,CAAC,CAAC;AACL,CAAC;AALD,4DAKC;AAED,SAAgB,uBAAuB,CACrC,MAAc,EACd,oBAA4B,EAC5B,OAAgB;IAEhB,OAAO,yBAAyB,CAAC;QAC/B,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,IAAI,EAAE;QAChD,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,gCAAgC;KAC1G,CAAC,CAAC;AACL,CAAC;AATD,0DASC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@launchdarkly/js-client-sdk-common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"license": "Apache-2.0",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@launchdarkly/js-sdk-common": "2.
|
|
33
|
+
"@launchdarkly/js-sdk-common": "2.6.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@launchdarkly/private-js-mocks": "0.0.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addAutoEnv.d.ts","sourceRoot":"","sources":["../../src/utils/addAutoEnv.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,aAAa,EACb,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAErC,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAM7C,eAAO,MAAM,OAAO,MAAO,mBAAmB;;;;;;;;;CAO7C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,qBACX,QAAQ,uBACL,aAAa,KACjC,aAAa,GAAG,SA4BlB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,aAAoB,QAAQ,kCA0BrD,CAAC;AAEF,eAAO,MAAM,UAAU,YAAmB,SAAS,YAAY,QAAQ,UAAU,aAAa,+DA2C7F,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addAutoEnv.js","sourceRoot":"","sources":["../../src/utils/addAutoEnv.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculateFlagChanges.d.ts","sourceRoot":"","sources":["../../src/utils/calculateFlagChanges.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,YAmB9E"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const js_sdk_common_1 = require("@launchdarkly/js-sdk-common");
|
|
4
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
5
|
-
function calculateFlagChanges(flags, incomingFlags) {
|
|
6
|
-
const changedKeys = [];
|
|
7
|
-
// flag deleted or updated
|
|
8
|
-
Object.entries(flags).forEach(([k, f]) => {
|
|
9
|
-
const incoming = incomingFlags[k];
|
|
10
|
-
if (!incoming || !(0, js_sdk_common_1.fastDeepEqual)(f, incoming)) {
|
|
11
|
-
changedKeys.push(k);
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
// flag added
|
|
15
|
-
Object.keys(incomingFlags).forEach((k) => {
|
|
16
|
-
if (!flags[k]) {
|
|
17
|
-
changedKeys.push(k);
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
return changedKeys;
|
|
21
|
-
}
|
|
22
|
-
exports.default = calculateFlagChanges;
|
|
23
|
-
//# sourceMappingURL=calculateFlagChanges.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculateFlagChanges.js","sourceRoot":"","sources":["../../src/utils/calculateFlagChanges.ts"],"names":[],"mappings":";;AAAA,+DAA4D;AAI5D,wDAAwD;AACxD,SAAwB,oBAAoB,CAAC,KAAY,EAAE,aAAoB;IAC7E,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,0BAA0B;IAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAA,6BAAa,EAAC,CAAC,EAAE,QAAQ,CAAC,EAAE;YAC5C,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACb,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC;AAnBD,uCAmBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureKey.d.ts","sourceRoot":"","sources":["../../src/utils/ensureKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAKT,QAAQ,EACT,MAAM,6BAA6B,CAAC;AA+CrC;;;;;;GAMG;AACH,QAAA,MAAM,SAAS,YAAmB,SAAS,YAAY,QAAQ,iBAgB9D,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureKey.js","sourceRoot":"","sources":["../../src/utils/ensureKey.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+DASqC;AAErC,yDAAsD;AAEtD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,wBAAQ,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,CAAkB,EAAE,QAAkB,EAAE,EAAE;IACrF,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE;QACrB,sFAAsF;QACtF,6CAA6C;QAC7C,CAAC,CAAC,GAAG,GAAG,MAAM,IAAA,mCAAgB,EAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC7D;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAAE,CAAsB,EAAE,QAAkB,EAAE,EAAE;IAC3E,MAAM,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,YAAgC,EAAE,QAAkB,EAAE,EAAE;IACpF,MAAM,EAAE,IAAI,KAAwB,YAAY,EAA/B,cAAc,UAAK,YAAY,EAA1C,QAA2B,CAAe,CAAC;IAEjD,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5C,eAAe,CAAC,CAAC,EAAE,CAAoB,EAAE,QAAQ,CAAC,CACnD,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAAE,CAAS,EAAE,QAAkB,EAAE,EAAE;IAC9D,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,KAAK,EAAE,OAAkB,EAAE,QAAkB,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,IAAA,qBAAK,EAAY,OAAO,CAAC,CAAC;IAEzC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,eAAe,CAAC,MAA6B,EAAE,QAAQ,CAAC,CAAC;KAChE;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,cAAc,CAAC,MAA4B,EAAE,QAAQ,CAAC,CAAC;KAC9D;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,eAAe,CAAC,MAAgB,EAAE,QAAQ,CAAC,CAAC;KACnD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Platform } from '@launchdarkly/js-sdk-common';
|
|
2
|
-
export type Namespace = 'anonymous' | 'context';
|
|
3
|
-
export declare const prefixNamespace: (namespace: Namespace, s: string) => string;
|
|
4
|
-
export declare const getOrGenerateKey: (namespace: Namespace, contextKind: string, { crypto, storage }: Platform) => Promise<string>;
|
|
5
|
-
//# sourceMappingURL=getOrGenerateKey.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getOrGenerateKey.d.ts","sourceRoot":"","sources":["../../src/utils/getOrGenerateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhD,eAAO,MAAM,eAAe,cAAe,SAAS,KAAK,MAAM,WAiB9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,eACP,MAAM,uBACE,QAAQ,oBAW9B,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getOrGenerateKey = exports.prefixNamespace = void 0;
|
|
4
|
-
const prefixNamespace = (namespace, s) => {
|
|
5
|
-
let n;
|
|
6
|
-
switch (namespace) {
|
|
7
|
-
case 'anonymous':
|
|
8
|
-
n = 'LaunchDarkly_AnonymousKeys_';
|
|
9
|
-
break;
|
|
10
|
-
case 'context':
|
|
11
|
-
n = 'LaunchDarkly_ContextKeys_';
|
|
12
|
-
break;
|
|
13
|
-
default:
|
|
14
|
-
throw new Error(`Unsupported namespace ${namespace}. Only 'anonymous' or 'context' are supported.`);
|
|
15
|
-
}
|
|
16
|
-
return `${n}${s}`;
|
|
17
|
-
};
|
|
18
|
-
exports.prefixNamespace = prefixNamespace;
|
|
19
|
-
const getOrGenerateKey = async (namespace, contextKind, { crypto, storage }) => {
|
|
20
|
-
const storageKey = (0, exports.prefixNamespace)(namespace, contextKind);
|
|
21
|
-
let contextKey = await (storage === null || storage === void 0 ? void 0 : storage.get(storageKey));
|
|
22
|
-
if (!contextKey) {
|
|
23
|
-
contextKey = crypto.randomUUID();
|
|
24
|
-
await (storage === null || storage === void 0 ? void 0 : storage.set(storageKey, contextKey));
|
|
25
|
-
}
|
|
26
|
-
return contextKey;
|
|
27
|
-
};
|
|
28
|
-
exports.getOrGenerateKey = getOrGenerateKey;
|
|
29
|
-
//# sourceMappingURL=getOrGenerateKey.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getOrGenerateKey.js","sourceRoot":"","sources":["../../src/utils/getOrGenerateKey.ts"],"names":[],"mappings":";;;AAIO,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,CAAS,EAAE,EAAE;IACjE,IAAI,CAAS,CAAC;IAEd,QAAQ,SAAS,EAAE;QACjB,KAAK,WAAW;YACd,CAAC,GAAG,6BAA6B,CAAC;YAClC,MAAM;QACR,KAAK,SAAS;YACZ,CAAC,GAAG,2BAA2B,CAAC;YAChC,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CACb,yBAAyB,SAAS,gDAAgD,CACnF,CAAC;KACL;IAED,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AACpB,CAAC,CAAC;AAjBW,QAAA,eAAe,mBAiB1B;AAEK,MAAM,gBAAgB,GAAG,KAAK,EACnC,SAAoB,EACpB,WAAmB,EACnB,EAAE,MAAM,EAAE,OAAO,EAAY,EAC7B,EAAE;IACF,MAAM,UAAU,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,UAAU,GAAG,MAAM,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,UAAU,CAAC,CAAA,CAAC;IAEhD,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,CAAC;KAC5C;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
|
package/dist/utils/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/utils/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addAutoEnv = exports.ensureKey = exports.calculateFlagChanges = void 0;
|
|
4
|
-
const addAutoEnv_1 = require("./addAutoEnv");
|
|
5
|
-
Object.defineProperty(exports, "addAutoEnv", { enumerable: true, get: function () { return addAutoEnv_1.addAutoEnv; } });
|
|
6
|
-
const calculateFlagChanges_1 = require("./calculateFlagChanges");
|
|
7
|
-
exports.calculateFlagChanges = calculateFlagChanges_1.default;
|
|
8
|
-
const ensureKey_1 = require("./ensureKey");
|
|
9
|
-
exports.ensureKey = ensureKey_1.default;
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAIA,2FAJjC,uBAAU,OAIiC;AAHpD,iEAA0D;AAGjD,+BAHF,8BAAoB,CAGE;AAF7B,2CAAoC;AAEL,oBAFxB,mBAAS,CAEwB"}
|
|
File without changes
|