@launchdarkly/js-server-sdk-common-edge 1.1.0-alpha.0 → 2.0.0-alpha.1
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 +50 -0
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/api/EdgeFeatureStore.js +57 -72
- package/dist/cjs/src/api/EdgeFeatureStore.js.map +1 -1
- package/dist/cjs/src/api/LDClient.d.ts +1 -1
- package/dist/cjs/src/api/LDClient.d.ts.map +1 -1
- package/dist/cjs/src/api/LDClient.js +3 -2
- package/dist/cjs/src/api/LDClient.js.map +1 -1
- package/dist/cjs/src/api/createOptions.d.ts +1 -1
- package/dist/cjs/src/index.d.ts +1 -1
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +3 -15
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/utils/validateOptions.d.ts +1 -4
- package/dist/cjs/src/utils/validateOptions.d.ts.map +1 -1
- package/dist/cjs/src/utils/validateOptions.js +1 -4
- package/dist/cjs/src/utils/validateOptions.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/src/api/EdgeFeatureStore.js +57 -72
- package/dist/esm/src/api/EdgeFeatureStore.js.map +1 -1
- package/dist/esm/src/api/LDClient.d.ts +1 -1
- package/dist/esm/src/api/LDClient.d.ts.map +1 -1
- package/dist/esm/src/api/LDClient.js +3 -2
- package/dist/esm/src/api/LDClient.js.map +1 -1
- package/dist/esm/src/api/createOptions.d.ts +1 -1
- package/dist/esm/src/index.d.ts +1 -1
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +3 -15
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/utils/validateOptions.d.ts +1 -4
- package/dist/esm/src/utils/validateOptions.d.ts.map +1 -1
- package/dist/esm/src/utils/validateOptions.js +1 -4
- package/dist/esm/src/utils/validateOptions.js.map +1 -1
- package/package.json +4 -5
package/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,56 @@
|
|
|
30
30
|
* dependencies
|
|
31
31
|
* @launchdarkly/js-server-sdk-common bumped from 1.0.5 to 1.0.6
|
|
32
32
|
|
|
33
|
+
### Dependencies
|
|
34
|
+
|
|
35
|
+
* The following workspace dependencies were updated
|
|
36
|
+
* dependencies
|
|
37
|
+
* @launchdarkly/js-server-sdk-common bumped from 1.0.6 to 1.0.7
|
|
38
|
+
|
|
39
|
+
### Dependencies
|
|
40
|
+
|
|
41
|
+
* The following workspace dependencies were updated
|
|
42
|
+
* dependencies
|
|
43
|
+
* @launchdarkly/js-server-sdk-common bumped from 1.0.8 to 1.1.0
|
|
44
|
+
|
|
45
|
+
### Dependencies
|
|
46
|
+
|
|
47
|
+
* The following workspace dependencies were updated
|
|
48
|
+
* dependencies
|
|
49
|
+
* @launchdarkly/js-server-sdk-common bumped from 1.1.0 to 1.2.0
|
|
50
|
+
|
|
51
|
+
### Dependencies
|
|
52
|
+
|
|
53
|
+
* The following workspace dependencies were updated
|
|
54
|
+
* dependencies
|
|
55
|
+
* @launchdarkly/js-server-sdk-common bumped from 1.2.0 to 1.2.1
|
|
56
|
+
|
|
57
|
+
### Dependencies
|
|
58
|
+
|
|
59
|
+
* The following workspace dependencies were updated
|
|
60
|
+
* dependencies
|
|
61
|
+
* @launchdarkly/js-server-sdk-common bumped from 1.2.1 to 1.2.2
|
|
62
|
+
|
|
63
|
+
### Dependencies
|
|
64
|
+
|
|
65
|
+
* The following workspace dependencies were updated
|
|
66
|
+
* dependencies
|
|
67
|
+
* @launchdarkly/js-server-sdk-common bumped from 1.2.2 to 1.2.3
|
|
68
|
+
|
|
69
|
+
## [1.0.8](https://github.com/launchdarkly/js-core/compare/js-server-sdk-common-edge-v1.0.7...js-server-sdk-common-edge-v1.0.8) (2023-08-10)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### Bug Fixes
|
|
73
|
+
|
|
74
|
+
* Switch to es2017 target to ensure native async/await. ([a83e4e6](https://github.com/launchdarkly/js-core/commit/a83e4e62d04c66105a1b0e8893640a7ca2d641e4))
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
### Dependencies
|
|
78
|
+
|
|
79
|
+
* The following workspace dependencies were updated
|
|
80
|
+
* dependencies
|
|
81
|
+
* @launchdarkly/js-server-sdk-common bumped from 1.0.7 to 1.0.8
|
|
82
|
+
|
|
33
83
|
## [1.0.2](https://github.com/launchdarkly/js-core/compare/js-server-sdk-common-edge-v1.0.1...js-server-sdk-common-edge-v1.0.2) (2023-04-28)
|
|
34
84
|
|
|
35
85
|
|
package/dist/cjs/package.json
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.EdgeFeatureStore = void 0;
|
|
13
4
|
const js_server_sdk_common_1 = require("@launchdarkly/js-server-sdk-common");
|
|
@@ -23,75 +14,69 @@ class EdgeFeatureStore {
|
|
|
23
14
|
this.upsert = js_server_sdk_common_1.noop;
|
|
24
15
|
this.rootKey = `LD-Env-${sdkKey}`;
|
|
25
16
|
}
|
|
26
|
-
get(kind, dataKey, callback) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
|
|
35
|
-
}
|
|
36
|
-
const item = (0, js_server_sdk_common_1.deserializePoll)(i);
|
|
37
|
-
if (!item) {
|
|
38
|
-
throw new Error(`Error deserializing ${kindKey}`);
|
|
39
|
-
}
|
|
40
|
-
switch (namespace) {
|
|
41
|
-
case 'features':
|
|
42
|
-
callback(item.flags[dataKey]);
|
|
43
|
-
break;
|
|
44
|
-
case 'segments':
|
|
45
|
-
callback(item.segments[dataKey]);
|
|
46
|
-
break;
|
|
47
|
-
default:
|
|
48
|
-
throw new Error(`Unsupported DataKind: ${namespace}`);
|
|
49
|
-
}
|
|
17
|
+
async get(kind, dataKey, callback) {
|
|
18
|
+
const { namespace } = kind;
|
|
19
|
+
const kindKey = namespace === 'features' ? 'flags' : namespace;
|
|
20
|
+
this.logger.debug(`Requesting ${dataKey} from ${this.rootKey}.${kindKey}`);
|
|
21
|
+
try {
|
|
22
|
+
const i = await this.edgeProvider.get(this.rootKey);
|
|
23
|
+
if (!i) {
|
|
24
|
+
throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
|
|
50
25
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
26
|
+
const item = (0, js_server_sdk_common_1.deserializePoll)(i);
|
|
27
|
+
if (!item) {
|
|
28
|
+
throw new Error(`Error deserializing ${kindKey}`);
|
|
54
29
|
}
|
|
55
|
-
|
|
30
|
+
switch (namespace) {
|
|
31
|
+
case 'features':
|
|
32
|
+
callback(item.flags[dataKey]);
|
|
33
|
+
break;
|
|
34
|
+
case 'segments':
|
|
35
|
+
callback(item.segments[dataKey]);
|
|
36
|
+
break;
|
|
37
|
+
default:
|
|
38
|
+
callback(null);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
this.logger.error(err);
|
|
43
|
+
callback(null);
|
|
44
|
+
}
|
|
56
45
|
}
|
|
57
|
-
all(kind, callback = js_server_sdk_common_1.noop) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
throw new Error(`Error deserializing ${kindKey}`);
|
|
70
|
-
}
|
|
71
|
-
switch (namespace) {
|
|
72
|
-
case 'features':
|
|
73
|
-
callback(item.flags);
|
|
74
|
-
break;
|
|
75
|
-
case 'segments':
|
|
76
|
-
callback(item.segments);
|
|
77
|
-
break;
|
|
78
|
-
default:
|
|
79
|
-
throw new Error(`Unsupported DataKind: ${namespace}`);
|
|
80
|
-
}
|
|
46
|
+
async all(kind, callback = js_server_sdk_common_1.noop) {
|
|
47
|
+
const { namespace } = kind;
|
|
48
|
+
const kindKey = namespace === 'features' ? 'flags' : namespace;
|
|
49
|
+
this.logger.debug(`Requesting all from ${this.rootKey}.${kindKey}`);
|
|
50
|
+
try {
|
|
51
|
+
const i = await this.edgeProvider.get(this.rootKey);
|
|
52
|
+
if (!i) {
|
|
53
|
+
throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
|
|
54
|
+
}
|
|
55
|
+
const item = (0, js_server_sdk_common_1.deserializePoll)(i);
|
|
56
|
+
if (!item) {
|
|
57
|
+
throw new Error(`Error deserializing ${kindKey}`);
|
|
81
58
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
59
|
+
switch (namespace) {
|
|
60
|
+
case 'features':
|
|
61
|
+
callback(item.flags);
|
|
62
|
+
break;
|
|
63
|
+
case 'segments':
|
|
64
|
+
callback(item.segments);
|
|
65
|
+
break;
|
|
66
|
+
default:
|
|
67
|
+
callback({});
|
|
85
68
|
}
|
|
86
|
-
}
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
this.logger.error(err);
|
|
72
|
+
callback({});
|
|
73
|
+
}
|
|
87
74
|
}
|
|
88
|
-
initialized(callback = js_server_sdk_common_1.noop) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
callback(result);
|
|
94
|
-
});
|
|
75
|
+
async initialized(callback = js_server_sdk_common_1.noop) {
|
|
76
|
+
const config = await this.edgeProvider.get(this.rootKey);
|
|
77
|
+
const result = config !== null;
|
|
78
|
+
this.logger.debug(`Is ${this.rootKey} initialized? ${result}`);
|
|
79
|
+
callback(result);
|
|
95
80
|
}
|
|
96
81
|
init(allData, callback) {
|
|
97
82
|
callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeFeatureStore.js","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EdgeFeatureStore.js","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":";;;AAQA,6EAA2E;AAM3E,MAAa,gBAAgB;IAG3B,YACmB,YAA0B,EAC1B,MAAc,EACd,WAAmB,EAC5B,MAAgB;QAHP,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QAC5B,WAAM,GAAN,MAAM,CAAU;QAwF1B,SAAS;QACT,UAAK,GAAG,2BAAI,CAAC;QAEb,WAAM,GAAG,2BAAI,CAAC;QAEd,WAAM,GAAG,2BAAI,CAAC;QA3FZ,IAAI,CAAC,OAAO,GAAG,UAAU,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAc,EACd,OAAe,EACf,QAAkD;QAElD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,OAAO,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,SAAS,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC;QAE3E,IAAI;YACF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEpD,IAAI,CAAC,CAAC,EAAE;gBACN,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,sBAAsB,CAAC,CAAC;aACnE;YAED,MAAM,IAAI,GAAG,IAAA,sCAAe,EAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;aACnD;YAED,QAAQ,SAAS,EAAE;gBACjB,KAAK,UAAU;oBACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjC,MAAM;gBACR;oBACE,QAAQ,CAAC,IAAI,CAAC,CAAC;aAClB;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChB;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAc,EAAE,WAAkD,2BAAI;QAC9E,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,OAAO,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI;YACF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,CAAC,EAAE;gBACN,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,sBAAsB,CAAC,CAAC;aACnE;YAED,MAAM,IAAI,GAAG,IAAA,sCAAe,EAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;aACnD;YAED,QAAQ,SAAS,EAAE;gBACjB,KAAK,UAAU;oBACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxB,MAAM;gBACR;oBACE,QAAQ,CAAC,EAAE,CAAC,CAAC;aAChB;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,QAAQ,CAAC,EAAE,CAAC,CAAC;SACd;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAA6C,2BAAI;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,iBAAiB,MAAM,EAAE,CAAC,CAAC;QAC/D,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAkC,EAAE,QAAoB;QAC3D,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CAQF;AArGD,4CAqGC"}
|
|
@@ -6,7 +6,7 @@ import { Info, LDClientImpl, LDOptions } from '@launchdarkly/js-server-sdk-commo
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class LDClient extends LDClientImpl {
|
|
8
8
|
emitter: EventEmitter;
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(sdkKey: string, platformInfo: Info, options: LDOptions);
|
|
10
10
|
}
|
|
11
11
|
export default LDClient;
|
|
12
12
|
//# sourceMappingURL=LDClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAMnF;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAMnF;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,EAAE,YAAY,CAAC;gBAGV,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS;CAMnE;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -10,10 +10,11 @@ const createOptions_1 = require("./createOptions");
|
|
|
10
10
|
* The LaunchDarkly SDK edge client object.
|
|
11
11
|
*/
|
|
12
12
|
class LDClient extends js_server_sdk_common_1.LDClientImpl {
|
|
13
|
-
|
|
13
|
+
// sdkKey is only used to query featureStore, not to initialize with LD servers
|
|
14
|
+
constructor(sdkKey, platformInfo, options) {
|
|
14
15
|
const em = new node_events_1.EventEmitter();
|
|
15
16
|
const platform = new platform_1.default(platformInfo);
|
|
16
|
-
super(
|
|
17
|
+
super('n/a', platform, (0, createOptions_1.default)(options), (0, createCallbacks_1.default)(em));
|
|
17
18
|
this.emitter = em;
|
|
18
19
|
}
|
|
19
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDClient.js","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,6EAAmF;AAEnF,0CAAuC;AACvC,uDAAgD;AAChD,mDAA4C;AAE5C;;GAEG;AACH,MAAa,QAAS,SAAQ,mCAAY;IAGxC,YAAY,
|
|
1
|
+
{"version":3,"file":"LDClient.js","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,6EAAmF;AAEnF,0CAAuC;AACvC,uDAAgD;AAChD,mDAA4C;AAE5C;;GAEG;AACH,MAAa,QAAS,SAAQ,mCAAY;IAGxC,+EAA+E;IAC/E,YAAY,MAAc,EAAE,YAAkB,EAAE,OAAkB;QAChE,MAAM,EAAE,GAAG,IAAI,0BAAY,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,kBAAY,CAAC,YAAY,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAA,uBAAa,EAAC,OAAO,CAAC,EAAE,IAAA,yBAAe,EAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AAVD,4BAUC;AAED,kBAAe,QAAQ,CAAC"}
|
|
@@ -9,7 +9,7 @@ declare const createOptions: (options: LDOptions) => {
|
|
|
9
9
|
logger?: import("@launchdarkly/js-server-sdk-common").LDLogger | undefined;
|
|
10
10
|
featureStore?: import("@launchdarkly/js-server-sdk-common").LDFeatureStore | ((clientContext: import("@launchdarkly/js-server-sdk-common").LDClientContext) => import("@launchdarkly/js-server-sdk-common").LDFeatureStore) | undefined;
|
|
11
11
|
bigSegments?: import("@launchdarkly/js-server-sdk-common").LDBigSegmentsOptions | undefined;
|
|
12
|
-
updateProcessor?: object | ((clientContext: import("@launchdarkly/js-server-sdk-common").LDClientContext, dataSourceUpdates: import("@launchdarkly/js-server-sdk-common/dist/api/subsystems").LDDataSourceUpdates
|
|
12
|
+
updateProcessor?: object | ((clientContext: import("@launchdarkly/js-server-sdk-common").LDClientContext, dataSourceUpdates: import("@launchdarkly/js-server-sdk-common/dist/api/subsystems").LDDataSourceUpdates, initSuccessHandler: import("@launchdarkly/js-server-sdk-common").VoidFunction, errorHandler?: ((e: Error) => void) | undefined) => import("@launchdarkly/js-sdk-common/dist/api/subsystem").LDStreamProcessor) | undefined;
|
|
13
13
|
flushInterval?: number | undefined;
|
|
14
14
|
pollInterval?: number | undefined;
|
|
15
15
|
proxyOptions?: import("@launchdarkly/js-server-sdk-common").LDProxyOptions | undefined;
|
package/dist/cjs/src/index.d.ts
CHANGED
|
@@ -16,5 +16,5 @@ export type { LDClient, LDOptions, EdgeProvider };
|
|
|
16
16
|
*
|
|
17
17
|
* This is an internal API to be used directly only by LaunchDarkly Edge SDKs.
|
|
18
18
|
*/
|
|
19
|
-
export declare const init: (
|
|
19
|
+
export declare const init: (sdkKey: string, platformInfo: Info, options: LDOptionsInternal) => LDClient;
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAwB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAwB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,IAAI,WAAY,MAAM,gBAAgB,IAAI,WAAW,iBAAiB,aAKlF,CAAC"}
|
package/dist/cjs/src/index.js
CHANGED
|
@@ -13,17 +13,6 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
17
|
-
var t = {};
|
|
18
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
19
|
-
t[p] = s[p];
|
|
20
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
21
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
22
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
23
|
-
t[p[i]] = s[p[i]];
|
|
24
|
-
}
|
|
25
|
-
return t;
|
|
26
|
-
};
|
|
27
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
17
|
exports.init = exports.EdgeFeatureStore = void 0;
|
|
29
18
|
const api_1 = require("./api");
|
|
@@ -35,11 +24,10 @@ __exportStar(require("@launchdarkly/js-server-sdk-common"), exports);
|
|
|
35
24
|
*
|
|
36
25
|
* This is an internal API to be used directly only by LaunchDarkly Edge SDKs.
|
|
37
26
|
*/
|
|
38
|
-
const init = (
|
|
27
|
+
const init = (sdkKey, platformInfo, options) => {
|
|
39
28
|
// this throws if options are invalid
|
|
40
|
-
(0, validateOptions_1.default)(
|
|
41
|
-
|
|
42
|
-
return new api_1.LDClient(serverSideKey || 'n/a', platformInfo, allOtherOptions);
|
|
29
|
+
(0, validateOptions_1.default)(sdkKey, options);
|
|
30
|
+
return new api_1.LDClient(sdkKey, platformInfo, options);
|
|
43
31
|
};
|
|
44
32
|
exports.init = init;
|
|
45
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AASA,+BAAiE;AAIxD,iGAJA,sBAAgB,OAIA;AAHzB,6DAAwF;AAExF,qEAAmD;AAInD;;;;GAIG;AACI,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,YAAkB,EAAE,OAA0B,EAAE,EAAE;IACrF,qCAAqC;IACrC,IAAA,yBAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO,IAAI,cAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC,CAAC;AALW,QAAA,IAAI,QAKf"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { LDOptions as LDOptionsCommon } from '@launchdarkly/js-server-sdk-common';
|
|
2
|
-
type EdgeOptions = {
|
|
3
|
-
serverSideKey?: string;
|
|
4
|
-
};
|
|
5
2
|
/**
|
|
6
3
|
* The Launchdarkly Edge SDKs configuration options. Only logger is officially
|
|
7
4
|
* supported. sendEvents is unsupported and is only included as a beta
|
|
8
5
|
* preview.
|
|
9
6
|
*/
|
|
10
|
-
export type LDOptions =
|
|
7
|
+
export type LDOptions = Pick<LDOptionsCommon, 'logger' | 'sendEvents'>;
|
|
11
8
|
/**
|
|
12
9
|
* The internal options include featureStore because that's how the LDClient
|
|
13
10
|
* implementation expects it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOptions.d.ts","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAElF
|
|
1
|
+
{"version":3,"file":"validateOptions.d.ts","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAElF,QAAA,MAAM,eAAe,WAAY,MAAM,WAAW,iBAAiB,YAmBlE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
const validateOptions = (sdkKey, options) => {
|
|
15
|
-
const { featureStore, logger, sendEvents
|
|
15
|
+
const { featureStore, logger, sendEvents } = options, rest = __rest(options, ["featureStore", "logger", "sendEvents"]);
|
|
16
16
|
if (!sdkKey) {
|
|
17
17
|
throw new Error('You must configure the client with a client key');
|
|
18
18
|
}
|
|
@@ -22,9 +22,6 @@ const validateOptions = (sdkKey, options) => {
|
|
|
22
22
|
if (!logger) {
|
|
23
23
|
throw new Error('You must configure the client with a logger');
|
|
24
24
|
}
|
|
25
|
-
if (sendEvents && !serverSideKey) {
|
|
26
|
-
throw new Error('You must provide the serverSideKey to enable events');
|
|
27
|
-
}
|
|
28
25
|
if (JSON.stringify(rest) !== '{}') {
|
|
29
26
|
throw new Error(`Invalid configuration: ${Object.keys(rest).toString()} not supported`);
|
|
30
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAeA,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,OAA0B,EAAE,EAAE;IACrE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,KAAc,OAAO,EAAhB,IAAI,UAAK,OAAO,EAAvD,wCAA6C,CAAU,CAAC;IAC9D,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACpE;IAED,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;QAC1E,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAChE;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;KACzF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
package/dist/esm/package.json
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { deserializePoll, noop } from '@launchdarkly/js-server-sdk-common';
|
|
11
2
|
export class EdgeFeatureStore {
|
|
12
3
|
constructor(edgeProvider, sdkKey, description, logger) {
|
|
@@ -20,75 +11,69 @@ export class EdgeFeatureStore {
|
|
|
20
11
|
this.upsert = noop;
|
|
21
12
|
this.rootKey = `LD-Env-${sdkKey}`;
|
|
22
13
|
}
|
|
23
|
-
get(kind, dataKey, callback) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
|
|
32
|
-
}
|
|
33
|
-
const item = deserializePoll(i);
|
|
34
|
-
if (!item) {
|
|
35
|
-
throw new Error(`Error deserializing ${kindKey}`);
|
|
36
|
-
}
|
|
37
|
-
switch (namespace) {
|
|
38
|
-
case 'features':
|
|
39
|
-
callback(item.flags[dataKey]);
|
|
40
|
-
break;
|
|
41
|
-
case 'segments':
|
|
42
|
-
callback(item.segments[dataKey]);
|
|
43
|
-
break;
|
|
44
|
-
default:
|
|
45
|
-
throw new Error(`Unsupported DataKind: ${namespace}`);
|
|
46
|
-
}
|
|
14
|
+
async get(kind, dataKey, callback) {
|
|
15
|
+
const { namespace } = kind;
|
|
16
|
+
const kindKey = namespace === 'features' ? 'flags' : namespace;
|
|
17
|
+
this.logger.debug(`Requesting ${dataKey} from ${this.rootKey}.${kindKey}`);
|
|
18
|
+
try {
|
|
19
|
+
const i = await this.edgeProvider.get(this.rootKey);
|
|
20
|
+
if (!i) {
|
|
21
|
+
throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
|
|
47
22
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
23
|
+
const item = deserializePoll(i);
|
|
24
|
+
if (!item) {
|
|
25
|
+
throw new Error(`Error deserializing ${kindKey}`);
|
|
51
26
|
}
|
|
52
|
-
|
|
27
|
+
switch (namespace) {
|
|
28
|
+
case 'features':
|
|
29
|
+
callback(item.flags[dataKey]);
|
|
30
|
+
break;
|
|
31
|
+
case 'segments':
|
|
32
|
+
callback(item.segments[dataKey]);
|
|
33
|
+
break;
|
|
34
|
+
default:
|
|
35
|
+
callback(null);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
this.logger.error(err);
|
|
40
|
+
callback(null);
|
|
41
|
+
}
|
|
53
42
|
}
|
|
54
|
-
all(kind, callback = noop) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
throw new Error(`Error deserializing ${kindKey}`);
|
|
67
|
-
}
|
|
68
|
-
switch (namespace) {
|
|
69
|
-
case 'features':
|
|
70
|
-
callback(item.flags);
|
|
71
|
-
break;
|
|
72
|
-
case 'segments':
|
|
73
|
-
callback(item.segments);
|
|
74
|
-
break;
|
|
75
|
-
default:
|
|
76
|
-
throw new Error(`Unsupported DataKind: ${namespace}`);
|
|
77
|
-
}
|
|
43
|
+
async all(kind, callback = noop) {
|
|
44
|
+
const { namespace } = kind;
|
|
45
|
+
const kindKey = namespace === 'features' ? 'flags' : namespace;
|
|
46
|
+
this.logger.debug(`Requesting all from ${this.rootKey}.${kindKey}`);
|
|
47
|
+
try {
|
|
48
|
+
const i = await this.edgeProvider.get(this.rootKey);
|
|
49
|
+
if (!i) {
|
|
50
|
+
throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
|
|
51
|
+
}
|
|
52
|
+
const item = deserializePoll(i);
|
|
53
|
+
if (!item) {
|
|
54
|
+
throw new Error(`Error deserializing ${kindKey}`);
|
|
78
55
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
56
|
+
switch (namespace) {
|
|
57
|
+
case 'features':
|
|
58
|
+
callback(item.flags);
|
|
59
|
+
break;
|
|
60
|
+
case 'segments':
|
|
61
|
+
callback(item.segments);
|
|
62
|
+
break;
|
|
63
|
+
default:
|
|
64
|
+
callback({});
|
|
82
65
|
}
|
|
83
|
-
}
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
this.logger.error(err);
|
|
69
|
+
callback({});
|
|
70
|
+
}
|
|
84
71
|
}
|
|
85
|
-
initialized(callback = noop) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
callback(result);
|
|
91
|
-
});
|
|
72
|
+
async initialized(callback = noop) {
|
|
73
|
+
const config = await this.edgeProvider.get(this.rootKey);
|
|
74
|
+
const result = config !== null;
|
|
75
|
+
this.logger.debug(`Is ${this.rootKey} initialized? ${result}`);
|
|
76
|
+
callback(result);
|
|
92
77
|
}
|
|
93
78
|
init(allData, callback) {
|
|
94
79
|
callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeFeatureStore.js","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EdgeFeatureStore.js","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { Info, LDClientImpl, LDOptions } from '@launchdarkly/js-server-sdk-commo
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class LDClient extends LDClientImpl {
|
|
8
8
|
emitter: EventEmitter;
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(sdkKey: string, platformInfo: Info, options: LDOptions);
|
|
10
10
|
}
|
|
11
11
|
export default LDClient;
|
|
12
12
|
//# sourceMappingURL=LDClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAMnF;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAMnF;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,EAAE,YAAY,CAAC;gBAGV,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS;CAMnE;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -7,10 +7,11 @@ import createOptions from './createOptions';
|
|
|
7
7
|
* The LaunchDarkly SDK edge client object.
|
|
8
8
|
*/
|
|
9
9
|
export class LDClient extends LDClientImpl {
|
|
10
|
-
|
|
10
|
+
// sdkKey is only used to query featureStore, not to initialize with LD servers
|
|
11
|
+
constructor(sdkKey, platformInfo, options) {
|
|
11
12
|
const em = new EventEmitter();
|
|
12
13
|
const platform = new EdgePlatform(platformInfo);
|
|
13
|
-
super(
|
|
14
|
+
super('n/a', platform, createOptions(options), createCallbacks(em));
|
|
14
15
|
this.emitter = em;
|
|
15
16
|
}
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDClient.js","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAQ,YAAY,EAAa,MAAM,oCAAoC,CAAC;AAEnF,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAY;IAGxC,YAAY,
|
|
1
|
+
{"version":3,"file":"LDClient.js","sourceRoot":"","sources":["../../../../src/api/LDClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAQ,YAAY,EAAa,MAAM,oCAAoC,CAAC;AAEnF,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAY;IAGxC,+EAA+E;IAC/E,YAAY,MAAc,EAAE,YAAkB,EAAE,OAAkB;QAChE,MAAM,EAAE,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -9,7 +9,7 @@ declare const createOptions: (options: LDOptions) => {
|
|
|
9
9
|
logger?: import("@launchdarkly/js-server-sdk-common").LDLogger | undefined;
|
|
10
10
|
featureStore?: import("@launchdarkly/js-server-sdk-common").LDFeatureStore | ((clientContext: import("@launchdarkly/js-server-sdk-common").LDClientContext) => import("@launchdarkly/js-server-sdk-common").LDFeatureStore) | undefined;
|
|
11
11
|
bigSegments?: import("@launchdarkly/js-server-sdk-common").LDBigSegmentsOptions | undefined;
|
|
12
|
-
updateProcessor?: object | ((clientContext: import("@launchdarkly/js-server-sdk-common").LDClientContext, dataSourceUpdates: import("@launchdarkly/js-server-sdk-common/dist/api/subsystems").LDDataSourceUpdates
|
|
12
|
+
updateProcessor?: object | ((clientContext: import("@launchdarkly/js-server-sdk-common").LDClientContext, dataSourceUpdates: import("@launchdarkly/js-server-sdk-common/dist/api/subsystems").LDDataSourceUpdates, initSuccessHandler: import("@launchdarkly/js-server-sdk-common").VoidFunction, errorHandler?: ((e: Error) => void) | undefined) => import("@launchdarkly/js-sdk-common/dist/api/subsystem").LDStreamProcessor) | undefined;
|
|
13
13
|
flushInterval?: number | undefined;
|
|
14
14
|
pollInterval?: number | undefined;
|
|
15
15
|
proxyOptions?: import("@launchdarkly/js-server-sdk-common").LDProxyOptions | undefined;
|
package/dist/esm/src/index.d.ts
CHANGED
|
@@ -16,5 +16,5 @@ export type { LDClient, LDOptions, EdgeProvider };
|
|
|
16
16
|
*
|
|
17
17
|
* This is an internal API to be used directly only by LaunchDarkly Edge SDKs.
|
|
18
18
|
*/
|
|
19
|
-
export declare const init: (
|
|
19
|
+
export declare const init: (sdkKey: string, platformInfo: Info, options: LDOptionsInternal) => LDClient;
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAwB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAwB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,IAAI,WAAY,MAAM,gBAAgB,IAAI,WAAW,iBAAiB,aAKlF,CAAC"}
|
package/dist/esm/src/index.js
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
1
|
import { EdgeFeatureStore, LDClient } from './api';
|
|
13
2
|
import validateOptions from './utils/validateOptions';
|
|
14
3
|
export * from '@launchdarkly/js-server-sdk-common';
|
|
@@ -18,10 +7,9 @@ export { EdgeFeatureStore };
|
|
|
18
7
|
*
|
|
19
8
|
* This is an internal API to be used directly only by LaunchDarkly Edge SDKs.
|
|
20
9
|
*/
|
|
21
|
-
export const init = (
|
|
10
|
+
export const init = (sdkKey, platformInfo, options) => {
|
|
22
11
|
// this throws if options are invalid
|
|
23
|
-
validateOptions(
|
|
24
|
-
|
|
25
|
-
return new LDClient(serverSideKey || 'n/a', platformInfo, allOtherOptions);
|
|
12
|
+
validateOptions(sdkKey, options);
|
|
13
|
+
return new LDClient(sdkKey, platformInfo, options);
|
|
26
14
|
};
|
|
27
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAgB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,eAAiD,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAG5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,YAAkB,EAAE,OAA0B,EAAE,EAAE;IACrF,qCAAqC;IACrC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { LDOptions as LDOptionsCommon } from '@launchdarkly/js-server-sdk-common';
|
|
2
|
-
type EdgeOptions = {
|
|
3
|
-
serverSideKey?: string;
|
|
4
|
-
};
|
|
5
2
|
/**
|
|
6
3
|
* The Launchdarkly Edge SDKs configuration options. Only logger is officially
|
|
7
4
|
* supported. sendEvents is unsupported and is only included as a beta
|
|
8
5
|
* preview.
|
|
9
6
|
*/
|
|
10
|
-
export type LDOptions =
|
|
7
|
+
export type LDOptions = Pick<LDOptionsCommon, 'logger' | 'sendEvents'>;
|
|
11
8
|
/**
|
|
12
9
|
* The internal options include featureStore because that's how the LDClient
|
|
13
10
|
* implementation expects it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOptions.d.ts","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAElF
|
|
1
|
+
{"version":3,"file":"validateOptions.d.ts","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAElF,QAAA,MAAM,eAAe,WAAY,MAAM,WAAW,iBAAiB,YAmBlE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
const validateOptions = (sdkKey, options) => {
|
|
13
|
-
const { featureStore, logger, sendEvents
|
|
13
|
+
const { featureStore, logger, sendEvents } = options, rest = __rest(options, ["featureStore", "logger", "sendEvents"]);
|
|
14
14
|
if (!sdkKey) {
|
|
15
15
|
throw new Error('You must configure the client with a client key');
|
|
16
16
|
}
|
|
@@ -20,9 +20,6 @@ const validateOptions = (sdkKey, options) => {
|
|
|
20
20
|
if (!logger) {
|
|
21
21
|
throw new Error('You must configure the client with a logger');
|
|
22
22
|
}
|
|
23
|
-
if (sendEvents && !serverSideKey) {
|
|
24
|
-
throw new Error('You must provide the serverSideKey to enable events');
|
|
25
|
-
}
|
|
26
23
|
if (JSON.stringify(rest) !== '{}') {
|
|
27
24
|
throw new Error(`Invalid configuration: ${Object.keys(rest).toString()} not supported`);
|
|
28
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["../../../../src/utils/validateOptions.ts"],"names":[],"mappings":";;;;;;;;;;;AAeA,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,OAA0B,EAAE,EAAE;IACrE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,KAAc,OAAO,EAAhB,IAAI,UAAK,OAAO,EAAvD,wCAA6C,CAAU,CAAC;IAC9D,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACpE;IAED,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;QAC1E,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KACvE;IAED,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAChE;IAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;KACzF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@launchdarkly/js-server-sdk-common-edge",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.1",
|
|
4
4
|
"homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/shared/sdk-server-edge",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"scripts": {
|
|
28
|
-
"doc": "../../../scripts/build-doc.sh .",
|
|
29
28
|
"build": "../../../scripts/build-package.sh",
|
|
30
29
|
"tsw": "yarn tsc --watch",
|
|
31
30
|
"clean": "rimraf dist",
|
|
@@ -37,7 +36,7 @@
|
|
|
37
36
|
"check": "yarn prettier && yarn lint && yarn build && yarn test && yarn doc"
|
|
38
37
|
},
|
|
39
38
|
"dependencies": {
|
|
40
|
-
"@launchdarkly/js-server-sdk-common": "
|
|
39
|
+
"@launchdarkly/js-server-sdk-common": "2.0.0-alpha.1",
|
|
41
40
|
"crypto-js": "^4.1.1"
|
|
42
41
|
},
|
|
43
42
|
"devDependencies": {
|
|
@@ -59,7 +58,7 @@
|
|
|
59
58
|
"prettier": "^3.0.0",
|
|
60
59
|
"rimraf": "^5.0.0",
|
|
61
60
|
"ts-jest": "^29.1.0",
|
|
62
|
-
"typedoc": "0.
|
|
63
|
-
"typescript": "
|
|
61
|
+
"typedoc": "0.25.0",
|
|
62
|
+
"typescript": "5.1.6"
|
|
64
63
|
}
|
|
65
64
|
}
|