@launchdarkly/js-server-sdk-common-edge 1.0.0 → 1.0.2

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE +13 -0
  3. package/README.md +3 -1
  4. package/dist/cjs/package.json +1 -1
  5. package/dist/cjs/src/api/EdgeFeatureStore.d.ts +21 -0
  6. package/dist/cjs/src/api/EdgeFeatureStore.d.ts.map +1 -0
  7. package/dist/cjs/src/api/EdgeFeatureStore.js +104 -0
  8. package/dist/cjs/src/api/EdgeFeatureStore.js.map +1 -0
  9. package/dist/cjs/src/api/index.d.ts +1 -0
  10. package/dist/cjs/src/api/index.d.ts.map +1 -1
  11. package/dist/cjs/src/api/index.js +1 -0
  12. package/dist/cjs/src/api/index.js.map +1 -1
  13. package/dist/cjs/src/index.d.ts +3 -2
  14. package/dist/cjs/src/index.d.ts.map +1 -1
  15. package/dist/cjs/src/index.js +2 -1
  16. package/dist/cjs/src/index.js.map +1 -1
  17. package/dist/cjs/src/utils/mockEdgeProvider.d.ts +4 -0
  18. package/dist/cjs/src/utils/mockEdgeProvider.d.ts.map +1 -0
  19. package/dist/cjs/src/utils/mockEdgeProvider.js +7 -0
  20. package/dist/cjs/src/utils/mockEdgeProvider.js.map +1 -0
  21. package/dist/esm/package.json +1 -1
  22. package/dist/esm/src/api/EdgeFeatureStore.d.ts +21 -0
  23. package/dist/esm/src/api/EdgeFeatureStore.d.ts.map +1 -0
  24. package/dist/esm/src/api/EdgeFeatureStore.js +100 -0
  25. package/dist/esm/src/api/EdgeFeatureStore.js.map +1 -0
  26. package/dist/esm/src/api/index.d.ts +1 -0
  27. package/dist/esm/src/api/index.d.ts.map +1 -1
  28. package/dist/esm/src/api/index.js +1 -0
  29. package/dist/esm/src/api/index.js.map +1 -1
  30. package/dist/esm/src/index.d.ts +3 -2
  31. package/dist/esm/src/index.d.ts.map +1 -1
  32. package/dist/esm/src/index.js +2 -1
  33. package/dist/esm/src/index.js.map +1 -1
  34. package/dist/esm/src/utils/mockEdgeProvider.d.ts +4 -0
  35. package/dist/esm/src/utils/mockEdgeProvider.d.ts.map +1 -0
  36. package/dist/esm/src/utils/mockEdgeProvider.js +5 -0
  37. package/dist/esm/src/utils/mockEdgeProvider.js.map +1 -0
  38. package/package.json +11 -4
package/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@
6
6
  * dependencies
7
7
  * @launchdarkly/js-server-sdk-common bumped from 0.3.0 to 0.3.1
8
8
 
9
+ ## [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)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * make vercel use EdgeProvider ([#114](https://github.com/launchdarkly/js-core/issues/114)) ([6705996](https://github.com/launchdarkly/js-core/commit/6705996929471ff8f72f97d58a665f75d4e5fecd))
15
+
16
+
17
+ ### Dependencies
18
+
19
+ * The following workspace dependencies were updated
20
+ * dependencies
21
+ * @launchdarkly/js-server-sdk-common bumped from 1.0.1 to 1.0.2
22
+
23
+ ## [1.0.1](https://github.com/launchdarkly/js-core/compare/js-server-sdk-common-edge-v1.0.0...js-server-sdk-common-edge-v1.0.1) (2023-04-27)
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * add licence and fix missing package.json fields. ([c586398](https://github.com/launchdarkly/js-core/commit/c5863980c5bf4ee2a7590dfc4f7c575045d669b0))
29
+ * Ensure top level commands work correctly ([#105](https://github.com/launchdarkly/js-core/issues/105)) ([762571f](https://github.com/launchdarkly/js-core/commit/762571ff851558d229e4d29ba40a9c16b89f2a8d))
30
+ * remove beta text from cloudflare sdk readme. ([c586398](https://github.com/launchdarkly/js-core/commit/c5863980c5bf4ee2a7590dfc4f7c575045d669b0))
31
+
32
+
33
+ ### Dependencies
34
+
35
+ * The following workspace dependencies were updated
36
+ * dependencies
37
+ * @launchdarkly/js-server-sdk-common bumped from 1.0.0 to 1.0.1
38
+
9
39
  ## [1.0.0](https://github.com/launchdarkly/js-core/compare/js-server-sdk-common-edge-v0.0.3...js-server-sdk-common-edge-v1.0.0) (2023-04-26)
10
40
 
11
41
 
package/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright 2022 Catamorphic, Co.
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![NPM][js-server-sdk-common-edge-badge]][js-server-sdk-common-edge-link]
4
4
  [![Actions Status][shared-sdk-server-edge-ci-badge]][shared-sdk-server-edge-ci]
5
- [![Documentation](https://launchdarkly.github.io/js-core/packages/shared/common/docs/)
5
+ [![Documentation][shared-sdk-server-edge-ghp-badge]][shared-sdk-server-edge-ghp-link]
6
6
 
7
7
  This project contains Typescript classes and interfaces that are applicable to server-side edge SDKs.
8
8
 
@@ -30,3 +30,5 @@ See [Contributing](../CONTRIBUTING.md).
30
30
  [shared-sdk-server-edge-ci]: https://github.com/launchdarkly/js-core/actions/workflows/sdk-server-edge.yml
31
31
  [js-server-sdk-common-edge-badge]: https://img.shields.io/npm/v/@launchdarkly/js-server-sdk-common-edge.svg?style=flat-square
32
32
  [js-server-sdk-common-edge-link]: https://www.npmjs.com/package/@launchdarkly/js-server-sdk-common-edge
33
+ [shared-sdk-server-edge-ghp-badge]: https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8
34
+ [shared-sdk-server-edge-ghp-link]: https://launchdarkly.github.io/js-core/packages/shared/sdk-server-edge/docs/
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@launchdarkly/js-server-sdk-common-edge",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "type": "commonjs"
5
5
  }
@@ -0,0 +1,21 @@
1
+ import type { DataKind, LDLogger, LDFeatureStore, LDFeatureStoreDataStorage, LDFeatureStoreItem, LDFeatureStoreKindData } from '@launchdarkly/js-server-sdk-common';
2
+ export interface EdgeProvider {
3
+ get: (rootKey: string) => Promise<string | null | undefined>;
4
+ }
5
+ export declare class EdgeFeatureStore implements LDFeatureStore {
6
+ private readonly edgeProvider;
7
+ private readonly sdkKey;
8
+ private readonly description;
9
+ private logger;
10
+ private readonly rootKey;
11
+ constructor(edgeProvider: EdgeProvider, sdkKey: string, description: string, logger: LDLogger);
12
+ get(kind: DataKind, dataKey: string, callback: (res: LDFeatureStoreItem | null) => void): Promise<void>;
13
+ all(kind: DataKind, callback?: (res: LDFeatureStoreKindData) => void): Promise<void>;
14
+ initialized(callback?: (isInitialized: boolean) => void): Promise<void>;
15
+ init(allData: LDFeatureStoreDataStorage, callback: () => void): void;
16
+ getDescription(): string;
17
+ close: () => void;
18
+ delete: () => void;
19
+ upsert: () => void;
20
+ }
21
+ //# sourceMappingURL=EdgeFeatureStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeFeatureStore.d.ts","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAG5C,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CAC9D;AAED,qBAAa,gBAAiB,YAAW,cAAc;IAInD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAGd,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAC5B,MAAM,EAAE,QAAQ;IAKpB,GAAG,CACP,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,GACjD,OAAO,CAAC,IAAI,CAAC;IAiCV,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1F,WAAW,CAAC,QAAQ,GAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnF,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIpE,cAAc,IAAI,MAAM;IAKxB,KAAK,aAAQ;IAEb,MAAM,aAAQ;IAEd,MAAM,aAAQ;CACf"}
@@ -0,0 +1,104 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EdgeFeatureStore = void 0;
13
+ const js_server_sdk_common_1 = require("@launchdarkly/js-server-sdk-common");
14
+ class EdgeFeatureStore {
15
+ constructor(edgeProvider, sdkKey, description, logger) {
16
+ this.edgeProvider = edgeProvider;
17
+ this.sdkKey = sdkKey;
18
+ this.description = description;
19
+ this.logger = logger;
20
+ // unused
21
+ this.close = js_server_sdk_common_1.noop;
22
+ this.delete = js_server_sdk_common_1.noop;
23
+ this.upsert = js_server_sdk_common_1.noop;
24
+ this.rootKey = `LD-Env-${sdkKey}`;
25
+ }
26
+ get(kind, dataKey, callback) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const { namespace } = kind;
29
+ const kindKey = namespace === 'features' ? 'flags' : namespace;
30
+ this.logger.debug(`Requesting ${dataKey} from ${this.rootKey}.${kindKey}`);
31
+ try {
32
+ const i = yield this.edgeProvider.get(this.rootKey);
33
+ if (!i) {
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
+ }
50
+ }
51
+ catch (err) {
52
+ this.logger.error(err);
53
+ callback(null);
54
+ }
55
+ });
56
+ }
57
+ all(kind, callback = js_server_sdk_common_1.noop) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const { namespace } = kind;
60
+ const kindKey = namespace === 'features' ? 'flags' : namespace;
61
+ this.logger.debug(`Requesting all from ${this.rootKey}.${kindKey}`);
62
+ try {
63
+ const i = yield this.edgeProvider.get(this.rootKey);
64
+ if (!i) {
65
+ throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
66
+ }
67
+ const item = (0, js_server_sdk_common_1.deserializePoll)(i);
68
+ if (!item) {
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
+ }
81
+ }
82
+ catch (err) {
83
+ this.logger.error(err);
84
+ callback({});
85
+ }
86
+ });
87
+ }
88
+ initialized(callback = js_server_sdk_common_1.noop) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ const config = yield this.edgeProvider.get(this.rootKey);
91
+ const result = config !== null;
92
+ this.logger.debug(`Is ${this.rootKey} initialized? ${result}`);
93
+ callback(result);
94
+ });
95
+ }
96
+ init(allData, callback) {
97
+ callback();
98
+ }
99
+ getDescription() {
100
+ return this.description;
101
+ }
102
+ }
103
+ exports.EdgeFeatureStore = EdgeFeatureStore;
104
+ //# sourceMappingURL=EdgeFeatureStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeFeatureStore.js","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export * from './EdgeFeatureStore';
1
2
  export * from './LDClient';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -14,5 +14,6 @@ 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
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./EdgeFeatureStore"), exports);
17
18
  __exportStar(require("./LDClient"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,6CAA2B"}
@@ -6,10 +6,11 @@
6
6
  *
7
7
  */
8
8
  import type { Info } from '@launchdarkly/js-server-sdk-common';
9
- import { LDClient } from './api';
9
+ import { LDClient, EdgeFeatureStore, EdgeProvider } from './api';
10
10
  import { LDOptions, LDOptionsInternal } from './utils/validateOptions';
11
11
  export * from '@launchdarkly/js-server-sdk-common';
12
- export type { LDClient, LDOptions };
12
+ export { EdgeFeatureStore };
13
+ export type { LDClient, LDOptions, EdgeProvider };
13
14
  /**
14
15
  * Do not use this function directly.
15
16
  *
@@ -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;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAwB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AACnD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,IAAI,WAAY,MAAM,gBAAgB,IAAI,WAAW,iBAAiB,aAKlF,CAAC"}
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;AAC/D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,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"}
@@ -14,8 +14,9 @@ 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
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.init = void 0;
17
+ exports.init = exports.EdgeFeatureStore = void 0;
18
18
  const api_1 = require("./api");
19
+ Object.defineProperty(exports, "EdgeFeatureStore", { enumerable: true, get: function () { return api_1.EdgeFeatureStore; } });
19
20
  const validateOptions_1 = require("./utils/validateOptions");
20
21
  __exportStar(require("@launchdarkly/js-server-sdk-common"), exports);
21
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,+BAAiC;AACjC,6DAAwF;AAExF,qEAAmD;AAGnD;;;;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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,+BAAiE;AAIxD,iGAJU,sBAAgB,OAIV;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"}
@@ -0,0 +1,4 @@
1
+ import { EdgeProvider } from '../api';
2
+ declare const mockEdgeProvider: EdgeProvider;
3
+ export default mockEdgeProvider;
4
+ //# sourceMappingURL=mockEdgeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockEdgeProvider.d.ts","sourceRoot":"","sources":["../../../../src/utils/mockEdgeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,QAAA,MAAM,gBAAgB,EAAE,YAEvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mockEdgeProvider = {
4
+ get: jest.fn(),
5
+ };
6
+ exports.default = mockEdgeProvider;
7
+ //# sourceMappingURL=mockEdgeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockEdgeProvider.js","sourceRoot":"","sources":["../../../../src/utils/mockEdgeProvider.ts"],"names":[],"mappings":";;AAEA,MAAM,gBAAgB,GAAiB;IACrC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;CACf,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@launchdarkly/js-server-sdk-common-edge",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "type": "module"
5
5
  }
@@ -0,0 +1,21 @@
1
+ import type { DataKind, LDLogger, LDFeatureStore, LDFeatureStoreDataStorage, LDFeatureStoreItem, LDFeatureStoreKindData } from '@launchdarkly/js-server-sdk-common';
2
+ export interface EdgeProvider {
3
+ get: (rootKey: string) => Promise<string | null | undefined>;
4
+ }
5
+ export declare class EdgeFeatureStore implements LDFeatureStore {
6
+ private readonly edgeProvider;
7
+ private readonly sdkKey;
8
+ private readonly description;
9
+ private logger;
10
+ private readonly rootKey;
11
+ constructor(edgeProvider: EdgeProvider, sdkKey: string, description: string, logger: LDLogger);
12
+ get(kind: DataKind, dataKey: string, callback: (res: LDFeatureStoreItem | null) => void): Promise<void>;
13
+ all(kind: DataKind, callback?: (res: LDFeatureStoreKindData) => void): Promise<void>;
14
+ initialized(callback?: (isInitialized: boolean) => void): Promise<void>;
15
+ init(allData: LDFeatureStoreDataStorage, callback: () => void): void;
16
+ getDescription(): string;
17
+ close: () => void;
18
+ delete: () => void;
19
+ upsert: () => void;
20
+ }
21
+ //# sourceMappingURL=EdgeFeatureStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeFeatureStore.d.ts","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAG5C,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CAC9D;AAED,qBAAa,gBAAiB,YAAW,cAAc;IAInD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAGd,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAC5B,MAAM,EAAE,QAAQ;IAKpB,GAAG,CACP,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,GACjD,OAAO,CAAC,IAAI,CAAC;IAiCV,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1F,WAAW,CAAC,QAAQ,GAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnF,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIpE,cAAc,IAAI,MAAM;IAKxB,KAAK,aAAQ;IAEb,MAAM,aAAQ;IAEd,MAAM,aAAQ;CACf"}
@@ -0,0 +1,100 @@
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
+ import { deserializePoll, noop } from '@launchdarkly/js-server-sdk-common';
11
+ export class EdgeFeatureStore {
12
+ constructor(edgeProvider, sdkKey, description, logger) {
13
+ this.edgeProvider = edgeProvider;
14
+ this.sdkKey = sdkKey;
15
+ this.description = description;
16
+ this.logger = logger;
17
+ // unused
18
+ this.close = noop;
19
+ this.delete = noop;
20
+ this.upsert = noop;
21
+ this.rootKey = `LD-Env-${sdkKey}`;
22
+ }
23
+ get(kind, dataKey, callback) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const { namespace } = kind;
26
+ const kindKey = namespace === 'features' ? 'flags' : namespace;
27
+ this.logger.debug(`Requesting ${dataKey} from ${this.rootKey}.${kindKey}`);
28
+ try {
29
+ const i = yield this.edgeProvider.get(this.rootKey);
30
+ if (!i) {
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
+ }
47
+ }
48
+ catch (err) {
49
+ this.logger.error(err);
50
+ callback(null);
51
+ }
52
+ });
53
+ }
54
+ all(kind, callback = noop) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const { namespace } = kind;
57
+ const kindKey = namespace === 'features' ? 'flags' : namespace;
58
+ this.logger.debug(`Requesting all from ${this.rootKey}.${kindKey}`);
59
+ try {
60
+ const i = yield this.edgeProvider.get(this.rootKey);
61
+ if (!i) {
62
+ throw new Error(`${this.rootKey}.${kindKey} is not found in KV.`);
63
+ }
64
+ const item = deserializePoll(i);
65
+ if (!item) {
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
+ }
78
+ }
79
+ catch (err) {
80
+ this.logger.error(err);
81
+ callback({});
82
+ }
83
+ });
84
+ }
85
+ initialized(callback = noop) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const config = yield this.edgeProvider.get(this.rootKey);
88
+ const result = config !== null;
89
+ this.logger.debug(`Is ${this.rootKey} initialized? ${result}`);
90
+ callback(result);
91
+ });
92
+ }
93
+ init(allData, callback) {
94
+ callback();
95
+ }
96
+ getDescription() {
97
+ return this.description;
98
+ }
99
+ }
100
+ //# sourceMappingURL=EdgeFeatureStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeFeatureStore.js","sourceRoot":"","sources":["../../../../src/api/EdgeFeatureStore.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export * from './EdgeFeatureStore';
1
2
  export * from './LDClient';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -1,2 +1,3 @@
1
+ export * from './EdgeFeatureStore';
1
2
  export * from './LDClient';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -6,10 +6,11 @@
6
6
  *
7
7
  */
8
8
  import type { Info } from '@launchdarkly/js-server-sdk-common';
9
- import { LDClient } from './api';
9
+ import { LDClient, EdgeFeatureStore, EdgeProvider } from './api';
10
10
  import { LDOptions, LDOptionsInternal } from './utils/validateOptions';
11
11
  export * from '@launchdarkly/js-server-sdk-common';
12
- export type { LDClient, LDOptions };
12
+ export { EdgeFeatureStore };
13
+ export type { LDClient, LDOptions, EdgeProvider };
13
14
  /**
14
15
  * Do not use this function directly.
15
16
  *
@@ -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;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAwB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AACnD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,IAAI,WAAY,MAAM,gBAAgB,IAAI,WAAW,iBAAiB,aAKlF,CAAC"}
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;AAC/D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,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"}
@@ -1,6 +1,7 @@
1
- import { LDClient } from './api';
1
+ import { LDClient, EdgeFeatureStore } from './api';
2
2
  import validateOptions from './utils/validateOptions';
3
3
  export * from '@launchdarkly/js-server-sdk-common';
4
+ export { EdgeFeatureStore };
4
5
  /**
5
6
  * Do not use this function directly.
6
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,eAAiD,MAAM,yBAAyB,CAAC;AAExF,cAAc,oCAAoC,CAAC;AAGnD;;;;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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAgB,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"}
@@ -0,0 +1,4 @@
1
+ import { EdgeProvider } from '../api';
2
+ declare const mockEdgeProvider: EdgeProvider;
3
+ export default mockEdgeProvider;
4
+ //# sourceMappingURL=mockEdgeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockEdgeProvider.d.ts","sourceRoot":"","sources":["../../../../src/utils/mockEdgeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,QAAA,MAAM,gBAAgB,EAAE,YAEvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ const mockEdgeProvider = {
2
+ get: jest.fn(),
3
+ };
4
+ export default mockEdgeProvider;
5
+ //# sourceMappingURL=mockEdgeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockEdgeProvider.js","sourceRoot":"","sources":["../../../../src/utils/mockEdgeProvider.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAiB;IACrC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;CACf,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "@launchdarkly/js-server-sdk-common-edge",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
+ "homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/shared/sdk-server-edge",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/launchdarkly/js-core.git"
8
+ },
4
9
  "description": "LaunchDarkly Server SDK for JavaScript - common Edge SDK code",
5
10
  "packageManager": "yarn@3.4.1",
6
11
  "keywords": [
@@ -17,20 +22,22 @@
17
22
  "main": "./dist/cjs/src/index.js",
18
23
  "types": "./dist/cjs/src/index.d.ts",
19
24
  "files": [
20
- "/dist"
25
+ "dist"
21
26
  ],
22
27
  "scripts": {
23
28
  "doc": "../../../scripts/build-doc.sh .",
24
29
  "build": "../../../scripts/build-package.sh",
25
30
  "tsw": "yarn tsc --watch",
31
+ "clean": "rimraf dist",
26
32
  "start": "rimraf dist && yarn tsw",
27
33
  "lint": "eslint . --ext .ts",
28
34
  "prettier": "prettier --write '**/*.@(js|ts|tsx|json|css)' --ignore-path ../../../.prettierignore",
29
- "test": "NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --ci --runInBand --coverage",
35
+ "test": "NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --ci --runInBand",
36
+ "coverage": "yarn test --coverage",
30
37
  "check": "yarn prettier && yarn lint && yarn build && yarn test && yarn doc"
31
38
  },
32
39
  "dependencies": {
33
- "@launchdarkly/js-server-sdk-common": "1.0.0",
40
+ "@launchdarkly/js-server-sdk-common": "1.0.2",
34
41
  "crypto-js": "^4.1.1"
35
42
  },
36
43
  "devDependencies": {