@launchdarkly/js-client-sdk-common 0.1.2 → 0.2.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/LDClientImpl.d.ts +18 -6
  3. package/dist/LDClientImpl.d.ts.map +1 -1
  4. package/dist/LDClientImpl.js +81 -24
  5. package/dist/LDClientImpl.js.map +1 -1
  6. package/dist/api/ConnectionMode.d.ts +15 -0
  7. package/dist/api/ConnectionMode.d.ts.map +1 -0
  8. package/dist/api/ConnectionMode.js +3 -0
  9. package/dist/api/ConnectionMode.js.map +1 -0
  10. package/dist/api/LDClient.d.ts +8 -3
  11. package/dist/api/LDClient.d.ts.map +1 -1
  12. package/dist/api/LDOptions.d.ts +35 -13
  13. package/dist/api/LDOptions.d.ts.map +1 -1
  14. package/dist/api/index.d.ts +2 -0
  15. package/dist/api/index.d.ts.map +1 -1
  16. package/dist/api/index.js.map +1 -1
  17. package/dist/configuration/Configuration.d.ts +9 -4
  18. package/dist/configuration/Configuration.d.ts.map +1 -1
  19. package/dist/configuration/Configuration.js +6 -3
  20. package/dist/configuration/Configuration.js.map +1 -1
  21. package/dist/configuration/validators.d.ts.map +1 -1
  22. package/dist/configuration/validators.js +14 -3
  23. package/dist/configuration/validators.js.map +1 -1
  24. package/dist/events/createEventProcessor.d.ts +3 -2
  25. package/dist/events/createEventProcessor.d.ts.map +1 -1
  26. package/dist/events/createEventProcessor.js +6 -3
  27. package/dist/events/createEventProcessor.js.map +1 -1
  28. package/dist/utils/addAutoEnv.d.ts +31 -0
  29. package/dist/utils/addAutoEnv.d.ts.map +1 -0
  30. package/dist/utils/addAutoEnv.js +112 -0
  31. package/dist/utils/addAutoEnv.js.map +1 -0
  32. package/dist/utils/calculateFlagChanges.d.ts +3 -0
  33. package/dist/utils/calculateFlagChanges.d.ts.map +1 -0
  34. package/dist/utils/calculateFlagChanges.js +23 -0
  35. package/dist/utils/calculateFlagChanges.js.map +1 -0
  36. package/dist/utils/ensureKey.d.ts +11 -0
  37. package/dist/utils/ensureKey.d.ts.map +1 -0
  38. package/dist/utils/ensureKey.js +69 -0
  39. package/dist/utils/ensureKey.js.map +1 -0
  40. package/dist/utils/getOrGenerateKey.d.ts +5 -0
  41. package/dist/utils/getOrGenerateKey.d.ts.map +1 -0
  42. package/dist/utils/getOrGenerateKey.js +29 -0
  43. package/dist/utils/getOrGenerateKey.js.map +1 -0
  44. package/dist/utils/index.d.ts +4 -2
  45. package/dist/utils/index.d.ts.map +1 -1
  46. package/dist/utils/index.js +7 -21
  47. package/dist/utils/index.js.map +1 -1
  48. package/package.json +5 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v0.1.2...js-client-sdk-common-v0.2.0) (2024-02-06)
4
+
5
+
6
+ ### Features
7
+
8
+ * Implement common client side support for auto environment attributes. ([#356](https://github.com/launchdarkly/js-core/issues/356)) ([8d80259](https://github.com/launchdarkly/js-core/commit/8d80259f7379827e46bef8bcf8293e3b2d966d25))
9
+ * React-native support for auto-env attributes. Only affects react-native package. ([deea99c](https://github.com/launchdarkly/js-core/commit/deea99ca2fbb3865f2ce55a83b2cf12e0ae2db5e))
10
+ * Update eslint jest configuration and versions. ([deea99c](https://github.com/launchdarkly/js-core/commit/deea99ca2fbb3865f2ce55a83b2cf12e0ae2db5e))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * Add LDOptions.application name and versionName. ([#358](https://github.com/launchdarkly/js-core/issues/358)) ([cd75210](https://github.com/launchdarkly/js-core/commit/cd75210d20e3d989897ea42276792d934ac8c9c1))
16
+ * Add RN SDK offline support through ConnectionMode. ([#361](https://github.com/launchdarkly/js-core/issues/361)) ([d97ce82](https://github.com/launchdarkly/js-core/commit/d97ce82861438a1b79b93799a9d061cdfa1ab027))
17
+ * Implement anonymous context processing ([#350](https://github.com/launchdarkly/js-core/issues/350)) ([308100d](https://github.com/launchdarkly/js-core/commit/308100d095259635bfd8beca8a11aa8b43d7f29a))
18
+ * Improvements and fixes from docs review. ([#362](https://github.com/launchdarkly/js-core/issues/362)) ([ba07fbf](https://github.com/launchdarkly/js-core/commit/ba07fbf4ea0b505c4bdc6376b6b36d7a9c1e5fda))
19
+
20
+
21
+ ### Dependencies
22
+
23
+ * The following workspace dependencies were updated
24
+ * dependencies
25
+ * @launchdarkly/js-sdk-common bumped from 2.1.1 to 2.2.0
26
+
3
27
  ## [0.1.2](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v0.1.1...js-client-sdk-common-v0.1.2) (2024-01-16)
4
28
 
5
29
 
@@ -1,16 +1,17 @@
1
- import { internal, LDContext, LDEvaluationDetail, LDEvaluationDetailTyped, LDFlagSet, LDFlagValue, LDLogger, Platform, subsystem } from '@launchdarkly/js-sdk-common';
2
- import { LDClient, type LDOptions } from './api';
1
+ import { AutoEnvAttributes, internal, LDContext, LDEvaluationDetail, LDEvaluationDetailTyped, LDFlagSet, LDFlagValue, LDLogger, Platform } from '@launchdarkly/js-sdk-common';
2
+ import { ConnectionMode, LDClient, type LDOptions } from './api';
3
3
  import { EventName } from './api/LDEmitter';
4
4
  import Configuration from './configuration';
5
5
  export default class LDClientImpl implements LDClient {
6
6
  readonly sdkKey: string;
7
+ readonly autoEnvAttributes: AutoEnvAttributes;
7
8
  readonly platform: Platform;
8
9
  config: Configuration;
9
10
  context?: LDContext;
10
11
  diagnosticsManager?: internal.DiagnosticsManager;
11
- eventProcessor: subsystem.LDEventProcessor;
12
- streamer?: internal.StreamingProcessor;
12
+ eventProcessor?: internal.EventProcessor;
13
13
  logger: LDLogger;
14
+ streamer?: internal.StreamingProcessor;
14
15
  private eventFactoryDefault;
15
16
  private eventFactoryWithReasons;
16
17
  private emitter;
@@ -21,7 +22,18 @@ export default class LDClientImpl implements LDClient {
21
22
  /**
22
23
  * Creates the client object synchronously. No async, no network calls.
23
24
  */
24
- constructor(sdkKey: string, platform: Platform, options: LDOptions, internalOptions?: internal.LDInternalOptions);
25
+ constructor(sdkKey: string, autoEnvAttributes: AutoEnvAttributes, platform: Platform, options: LDOptions, internalOptions?: internal.LDInternalOptions);
26
+ /**
27
+ * Sets the SDK connection mode.
28
+ *
29
+ * @param mode - One of supported {@link ConnectionMode}. Default is 'streaming'.
30
+ */
31
+ setConnectionMode(mode: ConnectionMode): Promise<void>;
32
+ /**
33
+ * Gets the SDK connection mode.
34
+ */
35
+ getConnectionMode(): ConnectionMode;
36
+ isOffline(): boolean;
25
37
  allFlags(): LDFlagSet;
26
38
  close(): Promise<void>;
27
39
  flush(): Promise<{
@@ -45,7 +57,7 @@ export default class LDClientImpl implements LDClient {
45
57
  protected createStreamUriPath(_context: LDContext): string;
46
58
  private createPromiseWithListeners;
47
59
  private getFlagsFromStorage;
48
- identify(context: LDContext, _hash?: string): Promise<void>;
60
+ identify(pristineContext: LDContext): Promise<void>;
49
61
  off(eventName: EventName, listener: Function): void;
50
62
  on(eventName: EventName, listener: Function): void;
51
63
  track(key: string, data?: any, metricValue?: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LDClientImpl.d.ts","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,9 @@ class LDClientImpl {
12
12
  /**
13
13
  * Creates the client object synchronously. No async, no network calls.
14
14
  */
15
- constructor(sdkKey, platform, options, internalOptions) {
15
+ constructor(sdkKey, autoEnvAttributes, platform, options, internalOptions) {
16
16
  this.sdkKey = sdkKey;
17
+ this.autoEnvAttributes = autoEnvAttributes;
17
18
  this.platform = platform;
18
19
  this.eventFactoryDefault = new EventFactory_1.default(false);
19
20
  this.eventFactoryWithReasons = new EventFactory_1.default(true);
@@ -28,9 +29,47 @@ class LDClientImpl {
28
29
  this.clientContext = new js_sdk_common_1.ClientContext(sdkKey, this.config, platform);
29
30
  this.logger = this.config.logger;
30
31
  this.diagnosticsManager = (0, createDiagnosticsManager_1.default)(sdkKey, this.config, platform);
31
- this.eventProcessor = (0, createEventProcessor_1.default)(sdkKey, this.config, platform, this.diagnosticsManager);
32
+ this.eventProcessor = (0, createEventProcessor_1.default)(sdkKey, this.config, platform, this.diagnosticsManager, !this.isOffline());
32
33
  this.emitter = new LDEmitter_1.default();
33
34
  }
35
+ /**
36
+ * Sets the SDK connection mode.
37
+ *
38
+ * @param mode - One of supported {@link ConnectionMode}. Default is 'streaming'.
39
+ */
40
+ async setConnectionMode(mode) {
41
+ var _a;
42
+ if (this.config.connectionMode === mode) {
43
+ this.logger.debug(`setConnectionMode ignored. Mode is already '${mode}'.`);
44
+ return Promise.resolve();
45
+ }
46
+ this.config.connectionMode = mode;
47
+ this.logger.debug(`setConnectionMode ${mode}.`);
48
+ switch (mode) {
49
+ case 'offline':
50
+ return this.close();
51
+ case 'streaming':
52
+ (_a = this.eventProcessor) === null || _a === void 0 ? void 0 : _a.start();
53
+ if (this.context) {
54
+ // identify will start streamer
55
+ return this.identify(this.context);
56
+ }
57
+ break;
58
+ default:
59
+ this.logger.warn(`Unknown ConnectionMode: ${mode}. Only 'offline' and 'streaming' are supported.`);
60
+ break;
61
+ }
62
+ return Promise.resolve();
63
+ }
64
+ /**
65
+ * Gets the SDK connection mode.
66
+ */
67
+ getConnectionMode() {
68
+ return this.config.connectionMode;
69
+ }
70
+ isOffline() {
71
+ return this.config.connectionMode === 'offline';
72
+ }
34
73
  allFlags() {
35
74
  const result = {};
36
75
  Object.entries(this.flags).forEach(([k, r]) => {
@@ -41,16 +80,20 @@ class LDClientImpl {
41
80
  return result;
42
81
  }
43
82
  async close() {
44
- var _a;
83
+ var _a, _b;
45
84
  await this.flush();
46
- this.eventProcessor.close();
47
- (_a = this.streamer) === null || _a === void 0 ? void 0 : _a.close();
85
+ (_a = this.eventProcessor) === null || _a === void 0 ? void 0 : _a.close();
86
+ (_b = this.streamer) === null || _b === void 0 ? void 0 : _b.close();
87
+ this.logger.debug('Closed eventProcessor and streamer.');
48
88
  }
49
89
  async flush() {
90
+ var _a;
50
91
  try {
51
- await this.eventProcessor.flush();
92
+ await ((_a = this.eventProcessor) === null || _a === void 0 ? void 0 : _a.flush());
93
+ this.logger.debug('Successfully flushed eventProcessor.');
52
94
  }
53
95
  catch (e) {
96
+ this.logger.error(`Error flushing eventProcessor: ${e}.`);
54
97
  return { error: e, result: false };
55
98
  }
56
99
  return { result: true };
@@ -131,7 +174,7 @@ class LDClientImpl {
131
174
  * @param _context The LDContext object
132
175
  */
133
176
  createStreamUriPath(_context) {
134
- throw new Error('createStreamUriPath not implemented. client sdks must implement createStreamUriPath for streamer to work');
177
+ throw new Error('createStreamUriPath not implemented. Client sdks must implement createStreamUriPath for streamer to work');
135
178
  }
136
179
  createPromiseWithListeners() {
137
180
  let res;
@@ -161,9 +204,12 @@ class LDClientImpl {
161
204
  const f = await ((_a = this.platform.storage) === null || _a === void 0 ? void 0 : _a.get(canonicalKey));
162
205
  return f ? JSON.parse(f) : undefined;
163
206
  }
164
- // TODO: implement secure mode
165
- async identify(context, _hash) {
207
+ async identify(pristineContext) {
166
208
  var _a;
209
+ let context = await (0, utils_1.ensureKey)(pristineContext, this.platform);
210
+ if (this.autoEnvAttributes === js_sdk_common_1.AutoEnvAttributes.Enabled) {
211
+ context = await (0, utils_1.addAutoEnv)(context, this.platform, this.config);
212
+ }
167
213
  const checkedContext = js_sdk_common_1.Context.fromLDContext(context);
168
214
  if (!checkedContext.valid) {
169
215
  const error = new Error('Context was unspecified or had no key');
@@ -182,12 +228,25 @@ class LDClientImpl {
182
228
  this.flags = flagsStorage;
183
229
  this.emitter.emit('change', context, changedKeys);
184
230
  }
185
- (_a = this.streamer) === null || _a === void 0 ? void 0 : _a.close();
186
- this.streamer = new js_sdk_common_1.internal.StreamingProcessor(this.sdkKey, this.clientContext, this.createStreamUriPath(context), this.createStreamListeners(context, checkedContext.canonicalKey, identifyResolve), this.diagnosticsManager, (e) => {
187
- this.logger.error(e);
188
- this.emitter.emit('error', context, e);
189
- });
190
- this.streamer.start();
231
+ if (this.isOffline()) {
232
+ if (flagsStorage) {
233
+ this.logger.debug('Offline identify using storage flags.');
234
+ }
235
+ else {
236
+ this.logger.debug('Offline identify no storage. Defaults will be used.');
237
+ this.context = context;
238
+ this.flags = {};
239
+ identifyResolve();
240
+ }
241
+ }
242
+ else {
243
+ (_a = this.streamer) === null || _a === void 0 ? void 0 : _a.close();
244
+ this.streamer = new js_sdk_common_1.internal.StreamingProcessor(this.sdkKey, this.clientContext, this.createStreamUriPath(context), this.createStreamListeners(context, checkedContext.canonicalKey, identifyResolve), this.diagnosticsManager, (e) => {
245
+ this.logger.error(e);
246
+ this.emitter.emit('error', context, e);
247
+ });
248
+ this.streamer.start();
249
+ }
191
250
  return identifyPromise;
192
251
  }
193
252
  off(eventName, listener) {
@@ -197,7 +256,7 @@ class LDClientImpl {
197
256
  this.emitter.on(eventName, listener);
198
257
  }
199
258
  track(key, data, metricValue) {
200
- var _a, _b;
259
+ var _a, _b, _c;
201
260
  if (!this.context) {
202
261
  (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn(ClientMessages.missingContextKeyNoEvent);
203
262
  return;
@@ -207,12 +266,10 @@ class LDClientImpl {
207
266
  (_b = this.logger) === null || _b === void 0 ? void 0 : _b.warn(ClientMessages.missingContextKeyNoEvent);
208
267
  return;
209
268
  }
210
- this.eventProcessor.sendEvent(this.eventFactoryDefault.customEvent(key, checkedContext, data, metricValue));
269
+ (_c = this.eventProcessor) === null || _c === void 0 ? void 0 : _c.sendEvent(this.eventFactoryDefault.customEvent(key, checkedContext, data, metricValue));
211
270
  }
212
- // TODO: move variation functions to a separate file to make this file size
213
- // more manageable.
214
271
  variationInternal(flagKey, defaultValue, eventFactory, typeChecker) {
215
- var _a;
272
+ var _a, _b, _c, _d;
216
273
  if (!this.context) {
217
274
  (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(ClientMessages.missingContextKeyNoEvent);
218
275
  return createErrorEvaluationDetail(ErrorKinds.UserNotSpecified, defaultValue);
@@ -221,17 +278,17 @@ class LDClientImpl {
221
278
  const found = this.flags[flagKey];
222
279
  if (!found || found.deleted) {
223
280
  const defVal = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
224
- const error = new js_sdk_common_1.LDClientError(`Unknown feature flag "${flagKey}"; returning default value ${defVal}`);
281
+ const error = new js_sdk_common_1.LDClientError(`Unknown feature flag "${flagKey}"; returning default value ${defVal}.`);
225
282
  this.logger.error(error);
226
283
  this.emitter.emit('error', this.context, error);
227
- this.eventProcessor.sendEvent(this.eventFactoryDefault.unknownFlagEvent(flagKey, defVal, evalContext));
284
+ (_b = this.eventProcessor) === null || _b === void 0 ? void 0 : _b.sendEvent(this.eventFactoryDefault.unknownFlagEvent(flagKey, defVal, evalContext));
228
285
  return createErrorEvaluationDetail(ErrorKinds.FlagNotFound, defaultValue);
229
286
  }
230
287
  const { reason, value, variation } = found;
231
288
  if (typeChecker) {
232
289
  const [matched, type] = typeChecker(value);
233
290
  if (!matched) {
234
- this.eventProcessor.sendEvent(eventFactory.evalEventClient(flagKey, defaultValue, // track default value on type errors
291
+ (_c = this.eventProcessor) === null || _c === void 0 ? void 0 : _c.sendEvent(eventFactory.evalEventClient(flagKey, defaultValue, // track default value on type errors
235
292
  defaultValue, found, evalContext, reason));
236
293
  const error = new js_sdk_common_1.LDClientError(`Wrong type "${type}" for feature flag "${flagKey}"; returning default value`);
237
294
  this.logger.error(error);
@@ -244,7 +301,7 @@ class LDClientImpl {
244
301
  this.logger.debug('Result value is null in variation');
245
302
  successDetail.value = defaultValue;
246
303
  }
247
- this.eventProcessor.sendEvent(eventFactory.evalEventClient(flagKey, value, defaultValue, found, evalContext, reason));
304
+ (_d = this.eventProcessor) === null || _d === void 0 ? void 0 : _d.sendEvent(eventFactory.evalEventClient(flagKey, value, defaultValue, found, evalContext, reason));
248
305
  return successDetail;
249
306
  }
250
307
  variation(flagKey, defaultValue) {
@@ -1 +1 @@
1
- {"version":3,"file":"LDClientImpl.js","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LDClientImpl.js","sourceRoot":"","sources":["../src/LDClientImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The connection mode for the SDK to use.
3
+ *
4
+ * @remarks
5
+ *
6
+ * The following connection modes are supported:
7
+ *
8
+ * offline - When the SDK is set offline it will stop receiving updates and will stop sending
9
+ * analytic and diagnostic events.
10
+ *
11
+ * streaming - The SDK will use a streaming connection to receive updates from LaunchDarkly.
12
+ */
13
+ type ConnectionMode = 'offline' | 'streaming';
14
+ export default ConnectionMode;
15
+ //# sourceMappingURL=ConnectionMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionMode.d.ts","sourceRoot":"","sources":["../../src/api/ConnectionMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,KAAK,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;AAE9C,eAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ConnectionMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionMode.js","sourceRoot":"","sources":["../../src/api/ConnectionMode.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { LDContext, LDEvaluationDetail, LDEvaluationDetailTyped, LDFlagSet, LDFlagValue, LDLogger } from '@launchdarkly/js-sdk-common';
2
+ import ConnectionMode from './ConnectionMode';
2
3
  /**
3
4
  * The basic interface for the LaunchDarkly client. Platform-specific SDKs may add some methods of their own.
4
5
  *
@@ -87,12 +88,10 @@ export interface LDClient {
87
88
  *
88
89
  * @param context
89
90
  * The LDContext object.
90
- * @param hash
91
- * The signed context key if you are using [Secure Mode](https://docs.launchdarkly.com/sdk/features/secure-mode#configuring-secure-mode-in-the-javascript-client-side-sdk).
92
91
  * @returns
93
92
  * A Promise which resolves when the flag values for the specified context are available.
94
93
  */
95
- identify(context: LDContext, hash?: string): Promise<void>;
94
+ identify(context: LDContext): Promise<void>;
96
95
  /**
97
96
  * Determines the json variation of a feature flag.
98
97
  *
@@ -194,6 +193,12 @@ export interface LDClient {
194
193
  * receive parameters, depending on the type of event.
195
194
  */
196
195
  on(key: string, callback: (...args: any[]) => void): void;
196
+ /**
197
+ * Sets the SDK connection mode.
198
+ *
199
+ * @param mode - One of supported {@link ConnectionMode}. By default, the SDK uses 'streaming'.
200
+ */
201
+ setConnectionMode(mode: ConnectionMode): void;
197
202
  /**
198
203
  * Determines the string variation of a feature flag.
199
204
  *
@@ -1 +1 @@
1
- {"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;;OAOG;IACH,QAAQ,IAAI,SAAS,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAE1F;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;;;;OASG;IACH,KAAK,IAAI,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAErD;;;;;OAKG;IACH,UAAU,IAAI,SAAS,GAAG,SAAS,CAAC;IAEpC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAE1F;;;;OAIG;IACH,MAAM,EAAE,QAAQ,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAE1F;;;;;;;OAOG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAE1D;;;;;;;;;;OAUG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAE1F;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3D;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;CAC9E"}
1
+ {"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,QAAQ,EACT,MAAM,6BAA6B,CAAC;AAErC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;;OAOG;IACH,QAAQ,IAAI,SAAS,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAE1F;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;;;;OASG;IACH,KAAK,IAAI,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAErD;;;;;OAKG;IACH,UAAU,IAAI,SAAS,GAAG,SAAS,CAAC;IAEpC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAE1F;;;;OAIG;IACH,MAAM,EAAE,QAAQ,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAE1F;;;;;;;OAOG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAE3D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAE1D;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3D;;;;;;;;;;;;;;;;;;OAkBG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAE1F;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3D;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,kBAAkB,CAAC;CAC9E"}
@@ -1,4 +1,5 @@
1
1
  import type { LDFlagSet, LDLogger } from '@launchdarkly/js-sdk-common';
2
+ import ConnectionMode from './ConnectionMode';
2
3
  import type { LDInspection } from './LDInspection';
3
4
  export interface LDOptions {
4
5
  /**
@@ -11,7 +12,7 @@ export interface LDOptions {
11
12
  /**
12
13
  * Information about the application where the LaunchDarkly SDK is running.
13
14
  */
14
- application?: {
15
+ applicationInfo?: {
15
16
  /**
16
17
  * A unique identifier representing the application where the LaunchDarkly SDK is running.
17
18
  *
@@ -30,6 +31,20 @@ export interface LDOptions {
30
31
  * Example: `1.0.0` (standard version string) or `abcdef` (sha prefix)
31
32
  */
32
33
  version?: string;
34
+ /**
35
+ * A human-friendly application name representing the application where the LaunchDarkly SDK is running.
36
+ *
37
+ * This can be specified as any string value as long as it only uses the following characters: ASCII letters,
38
+ * ASCII digits, period, hyphen, underscore. A string containing any other characters will be ignored.
39
+ */
40
+ name?: string;
41
+ /**
42
+ * A human-friendly name representing the version of the application where the LaunchDarkly SDK is running.
43
+ *
44
+ * This can be specified as any string value as long as it only uses the following characters: ASCII letters,
45
+ * ASCII digits, period, hyphen, underscore. A string containing any other characters will be ignored.
46
+ */
47
+ versionName?: string;
33
48
  };
34
49
  /**
35
50
  * The base uri for the LaunchDarkly server.
@@ -38,17 +53,11 @@ export interface LDOptions {
38
53
  */
39
54
  baseUri?: string;
40
55
  /**
56
+ * TODO: bootstrap
41
57
  * The initial set of flags to use until the remote set is retrieved.
42
- *
43
- * If `"localStorage"` is specified, the flags will be saved and retrieved from browser local
44
- * storage. Alternatively, an {@link LDFlagSet} can be specified which will be used as the initial
45
- * source of flag values. In the latter case, the flag values will be available via {@link LDClient.variation}
46
- * immediately after calling `initialize()` (normally they would not be available until the
47
- * client signals that it is ready).
48
- *
49
- * For more information, see the [SDK Reference Guide](https://docs.launchdarkly.com/sdk/features/bootstrapping#javascript).
58
+ * @alpha
50
59
  */
51
- bootstrap?: 'localStorage' | LDFlagSet;
60
+ bootstrap?: LDFlagSet;
52
61
  /**
53
62
  * The capacity of the analytics events queue.
54
63
  *
@@ -62,6 +71,12 @@ export interface LDOptions {
62
71
  * The default value is 100.
63
72
  */
64
73
  capacity?: number;
74
+ /**
75
+ * Enables debug logging.
76
+ *
77
+ * The default value is false.
78
+ */
79
+ debug?: boolean;
65
80
  /**
66
81
  * Set to true to opt out of sending diagnostics data.
67
82
  *
@@ -92,14 +107,21 @@ export interface LDOptions {
92
107
  */
93
108
  flushInterval?: number;
94
109
  /**
110
+ * TODO: secure mode
95
111
  * The signed context key for Secure Mode.
96
- *
97
- * For more information, see the JavaScript SDK Reference Guide on
98
- * [Secure mode](https://docs.launchdarkly.com/sdk/features/secure-mode#configuring-secure-mode-in-the-javascript-client-side-sdk).
112
+ * @alpha
99
113
  */
100
114
  hash?: string;
101
115
  /**
116
+ * Sets the mode to use for connections when the SDK is initialized.
117
+ *
118
+ * Defaults to streaming.
119
+ */
120
+ initialConnectionMode?: ConnectionMode;
121
+ /**
122
+ * TODO: inspectors
102
123
  * Inspectors can be used for collecting information for monitoring, analytics, and debugging.
124
+ * @alpha
103
125
  */
104
126
  inspectors?: LDInspection[];
105
127
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LDOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAEvC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"LDOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,eAAe,CAAC,EAAE;QAChB;;;;;;;WAOG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB;;;;;WAKG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;;;;WAKG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -1,3 +1,5 @@
1
+ import ConnectionMode from './ConnectionMode';
1
2
  export * from './LDOptions';
2
3
  export * from './LDClient';
4
+ export { ConnectionMode };
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,8CAA4B;AAC5B,6CAA2B"}
@@ -1,5 +1,5 @@
1
1
  import { ApplicationTags, internal, LDFlagSet, ServiceEndpoints } from '@launchdarkly/js-sdk-common';
2
- import { type LDOptions } from '../api';
2
+ import { ConnectionMode, type LDOptions } from '../api';
3
3
  import { LDInspection } from '../api/LDInspection';
4
4
  export default class Configuration {
5
5
  static DEFAULT_POLLING: string;
@@ -13,19 +13,24 @@ export default class Configuration {
13
13
  readonly flushInterval = 2;
14
14
  readonly streamInitialReconnectDelay = 1;
15
15
  readonly allAttributesPrivate = false;
16
+ readonly debug = false;
16
17
  readonly diagnosticOptOut = false;
17
- readonly withReasons = false;
18
18
  readonly sendEvents = true;
19
19
  readonly sendLDHeaders = true;
20
20
  readonly useReport = false;
21
+ readonly withReasons = false;
21
22
  readonly inspectors: LDInspection[];
22
23
  readonly privateAttributes: string[];
24
+ readonly initialConnectionMode: ConnectionMode;
25
+ connectionMode: ConnectionMode;
23
26
  readonly tags: ApplicationTags;
24
- readonly application?: {
27
+ readonly applicationInfo?: {
25
28
  id?: string;
26
29
  version?: string;
30
+ name?: string;
31
+ versionName?: string;
27
32
  };
28
- readonly bootstrap?: 'localStorage' | LDFlagSet;
33
+ readonly bootstrap?: LDFlagSet;
29
34
  readonly requestHeaderTransform?: (headers: Map<string, string>) => Map<string, string>;
30
35
  readonly stream?: boolean;
31
36
  readonly hash?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,QAAQ,EACR,SAAS,EAGT,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAc,eAAe,SAAkC;IAC/D,OAAc,cAAc,SAA2C;IAEvE,SAAgB,MAAM,uGAAsB;IAE5C,SAAgB,OAAO,SAAiC;IACxD,SAAgB,SAAS,SAAmC;IAC5D,SAAgB,SAAS,SAAgC;IAEzD,SAAgB,QAAQ,OAAO;IAC/B,SAAgB,2BAA2B,OAAO;IAClD,SAAgB,aAAa,KAAK;IAClC,SAAgB,2BAA2B,KAAK;IAEhD,SAAgB,oBAAoB,SAAS;IAC7C,SAAgB,gBAAgB,SAAS;IACzC,SAAgB,WAAW,SAAS;IACpC,SAAgB,UAAU,QAAQ;IAClC,SAAgB,aAAa,QAAQ;IACrC,SAAgB,SAAS,SAAS;IAElC,SAAgB,UAAU,EAAE,YAAY,EAAE,CAAM;IAChD,SAAgB,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAEjD,SAAgB,IAAI,EAAE,eAAe,CAAC;IACtC,SAAgB,WAAW,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,SAAgB,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACvD,SAAgB,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/F,SAAgB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IAGnD,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;gBAET,eAAe,GAAE,SAAc,EAAE,eAAe,GAAE,QAAQ,CAAC,iBAAsB;IAe7F,qBAAqB,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,EAAE;CAqC5D"}
1
+ {"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,QAAQ,EACR,SAAS,EAGT,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAc,eAAe,SAAwC;IACrE,OAAc,cAAc,SAA2C;IAEvE,SAAgB,MAAM,uGAAsB;IAE5C,SAAgB,OAAO,SAAiC;IACxD,SAAgB,SAAS,SAAmC;IAC5D,SAAgB,SAAS,SAAgC;IAEzD,SAAgB,QAAQ,OAAO;IAC/B,SAAgB,2BAA2B,OAAO;IAClD,SAAgB,aAAa,KAAK;IAClC,SAAgB,2BAA2B,KAAK;IAEhD,SAAgB,oBAAoB,SAAS;IAC7C,SAAgB,KAAK,SAAS;IAC9B,SAAgB,gBAAgB,SAAS;IACzC,SAAgB,UAAU,QAAQ;IAClC,SAAgB,aAAa,QAAQ;IAErC,SAAgB,SAAS,SAAS;IAClC,SAAgB,WAAW,SAAS;IAEpC,SAAgB,UAAU,EAAE,YAAY,EAAE,CAAM;IAChD,SAAgB,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAEjD,SAAgB,qBAAqB,EAAE,cAAc,CAAe;IAC7D,cAAc,EAAE,cAAc,CAAC;IAEtC,SAAgB,IAAI,EAAE,eAAe,CAAC;IACtC,SAAgB,eAAe,CAAC,EAAE;QAChC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAgB,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtC,SAAgB,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/F,SAAgB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IAGnD,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;gBAET,eAAe,GAAE,SAAc,EAAE,eAAe,GAAE,QAAQ,CAAC,iBAAsB;IAgB7F,qBAAqB,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,EAAE;CAqC5D"}
@@ -13,17 +13,20 @@ class Configuration {
13
13
  this.flushInterval = 2;
14
14
  this.streamInitialReconnectDelay = 1;
15
15
  this.allAttributesPrivate = false;
16
+ this.debug = false;
16
17
  this.diagnosticOptOut = false;
17
- this.withReasons = false;
18
18
  this.sendEvents = true;
19
19
  this.sendLDHeaders = true;
20
20
  this.useReport = false;
21
+ this.withReasons = false;
21
22
  this.inspectors = [];
22
23
  this.privateAttributes = [];
24
+ this.initialConnectionMode = 'streaming';
23
25
  const errors = this.validateTypesAndNames(pristineOptions);
24
26
  errors.forEach((e) => this.logger.warn(e));
25
27
  this.serviceEndpoints = new js_sdk_common_1.ServiceEndpoints(this.streamUri, this.baseUri, this.eventsUri, internalOptions.analyticsEventPath, internalOptions.diagnosticEventPath, internalOptions.includeAuthorizationHeader);
26
- this.tags = new js_sdk_common_1.ApplicationTags({ application: this.application, logger: this.logger });
28
+ this.tags = new js_sdk_common_1.ApplicationTags({ application: this.applicationInfo, logger: this.logger });
29
+ this.connectionMode = this.initialConnectionMode;
27
30
  }
28
31
  validateTypesAndNames(pristineOptions) {
29
32
  const errors = [];
@@ -63,7 +66,7 @@ class Configuration {
63
66
  return errors;
64
67
  }
65
68
  }
66
- Configuration.DEFAULT_POLLING = 'https://sdk.launchdarkly.com';
69
+ Configuration.DEFAULT_POLLING = 'https://clientsdk.launchdarkly.com';
67
70
  Configuration.DEFAULT_STREAM = 'https://clientstream.launchdarkly.com';
68
71
  exports.default = Configuration;
69
72
  //# sourceMappingURL=Configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAaxC,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,aAAa,CA6BtD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAuBxC,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,aAAa,CA+BtD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,15 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ // eslint-disable-next-line max-classes-per-file
3
4
  const js_sdk_common_1 = require("@launchdarkly/js-sdk-common");
4
5
  class BootStrapValidator {
5
6
  is(u) {
6
- return u === 'localStorage' || typeof u === 'object' || typeof u === 'undefined' || u === null;
7
+ return typeof u === 'object' || typeof u === 'undefined' || u === null;
7
8
  }
8
9
  getType() {
9
- return `'localStorage' | LDFlagSet`;
10
+ return `LDFlagSet`;
11
+ }
12
+ }
13
+ class ConnectionModeValidator {
14
+ is(u) {
15
+ return u === 'offline' || u === 'streaming';
16
+ }
17
+ getType() {
18
+ return `'offline' | streaming`;
10
19
  }
11
20
  }
12
21
  const validators = {
22
+ initialConnectionMode: new ConnectionModeValidator(),
13
23
  logger: js_sdk_common_1.TypeValidators.Object,
14
24
  baseUri: js_sdk_common_1.TypeValidators.String,
15
25
  streamUri: js_sdk_common_1.TypeValidators.String,
@@ -19,6 +29,7 @@ const validators = {
19
29
  flushInterval: js_sdk_common_1.TypeValidators.numberWithMin(2),
20
30
  streamInitialReconnectDelay: js_sdk_common_1.TypeValidators.numberWithMin(0),
21
31
  allAttributesPrivate: js_sdk_common_1.TypeValidators.Boolean,
32
+ debug: js_sdk_common_1.TypeValidators.Boolean,
22
33
  diagnosticOptOut: js_sdk_common_1.TypeValidators.Boolean,
23
34
  withReasons: js_sdk_common_1.TypeValidators.Boolean,
24
35
  sendEvents: js_sdk_common_1.TypeValidators.Boolean,
@@ -28,7 +39,7 @@ const validators = {
28
39
  name: '',
29
40
  }),
30
41
  privateAttributes: js_sdk_common_1.TypeValidators.StringArray,
31
- application: js_sdk_common_1.TypeValidators.Object,
42
+ applicationInfo: js_sdk_common_1.TypeValidators.Object,
32
43
  bootstrap: new BootStrapValidator(),
33
44
  wrapperName: js_sdk_common_1.TypeValidators.String,
34
45
  wrapperVersion: js_sdk_common_1.TypeValidators.String,
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":";;AAAA,+DAAkF;AAKlF,MAAM,kBAAkB;IACtB,EAAE,CAAC,CAAU;QACX,OAAO,CAAC,KAAK,cAAc,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC;IACjG,CAAC;IAED,OAAO;QACL,OAAO,4BAA4B,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,GAA2C;IACzD,MAAM,EAAE,8BAAc,CAAC,MAAM;IAE7B,OAAO,EAAE,8BAAc,CAAC,MAAM;IAC9B,SAAS,EAAE,8BAAc,CAAC,MAAM;IAChC,SAAS,EAAE,8BAAc,CAAC,MAAM;IAEhC,QAAQ,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,2BAA2B,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5D,aAAa,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,2BAA2B,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5D,oBAAoB,EAAE,8BAAc,CAAC,OAAO;IAC5C,gBAAgB,EAAE,8BAAc,CAAC,OAAO;IACxC,WAAW,EAAE,8BAAc,CAAC,OAAO;IACnC,UAAU,EAAE,8BAAc,CAAC,OAAO;IAElC,UAAU,EAAE,8BAAc,CAAC,eAAe,CAAe,gBAAgB,EAAE;QACzE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAI;QACZ,IAAI,EAAE,EAAE;KACT,CAAC;IACF,iBAAiB,EAAE,8BAAc,CAAC,WAAW;IAE7C,WAAW,EAAE,8BAAc,CAAC,MAAM;IAClC,SAAS,EAAE,IAAI,kBAAkB,EAAE;IACnC,WAAW,EAAE,8BAAc,CAAC,MAAM;IAClC,cAAc,EAAE,8BAAc,CAAC,MAAM;IACrC,IAAI,EAAE,8BAAc,CAAC,MAAM;CAC5B,CAAC;AAEF,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":";;AAAA,gDAAgD;AAChD,+DAAkF;AAKlF,MAAM,kBAAkB;IACtB,EAAE,CAAC,CAAU;QACX,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI,CAAC;IACzE,CAAC;IAED,OAAO;QACL,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED,MAAM,uBAAuB;IAC3B,EAAE,CAAC,CAAU;QACX,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,WAAW,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,uBAAuB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,UAAU,GAA2C;IACzD,qBAAqB,EAAE,IAAI,uBAAuB,EAAE;IACpD,MAAM,EAAE,8BAAc,CAAC,MAAM;IAE7B,OAAO,EAAE,8BAAc,CAAC,MAAM;IAC9B,SAAS,EAAE,8BAAc,CAAC,MAAM;IAChC,SAAS,EAAE,8BAAc,CAAC,MAAM;IAEhC,QAAQ,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,2BAA2B,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5D,aAAa,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,2BAA2B,EAAE,8BAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5D,oBAAoB,EAAE,8BAAc,CAAC,OAAO;IAC5C,KAAK,EAAE,8BAAc,CAAC,OAAO;IAC7B,gBAAgB,EAAE,8BAAc,CAAC,OAAO;IACxC,WAAW,EAAE,8BAAc,CAAC,OAAO;IACnC,UAAU,EAAE,8BAAc,CAAC,OAAO;IAElC,UAAU,EAAE,8BAAc,CAAC,eAAe,CAAe,gBAAgB,EAAE;QACzE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,oBAAI;QACZ,IAAI,EAAE,EAAE;KACT,CAAC;IACF,iBAAiB,EAAE,8BAAc,CAAC,WAAW;IAE7C,eAAe,EAAE,8BAAc,CAAC,MAAM;IACtC,SAAS,EAAE,IAAI,kBAAkB,EAAE;IACnC,WAAW,EAAE,8BAAc,CAAC,MAAM;IAClC,cAAc,EAAE,8BAAc,CAAC,MAAM;IACrC,IAAI,EAAE,8BAAc,CAAC,MAAM;CAC5B,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -1,5 +1,6 @@
1
- import { internal, Platform, subsystem } from '@launchdarkly/js-sdk-common';
1
+ import { internal, Platform } from '@launchdarkly/js-sdk-common';
2
+ import { EventProcessor } from '@launchdarkly/js-sdk-common/dist/internal';
2
3
  import Configuration from '../configuration';
3
- declare const createEventProcessor: (clientSideID: string, config: Configuration, platform: Platform, diagnosticsManager?: internal.DiagnosticsManager) => subsystem.LDEventProcessor;
4
+ declare const createEventProcessor: (clientSideID: string, config: Configuration, platform: Platform, diagnosticsManager?: internal.DiagnosticsManager, start?: boolean) => EventProcessor | undefined;
4
5
  export default createEventProcessor;
5
6
  //# sourceMappingURL=createEventProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createEventProcessor.d.ts","sourceRoot":"","sources":["../../src/events/createEventProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE3F,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,QAAA,MAAM,oBAAoB,iBACV,MAAM,UACZ,aAAa,YACX,QAAQ,uBACG,SAAS,kBAAkB,KAC/C,UAAU,gBAQ0B,CAAC;AAExC,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"createEventProcessor.d.ts","sourceRoot":"","sources":["../../src/events/createEventProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,QAAA,MAAM,oBAAoB,iBACV,MAAM,UACZ,aAAa,YACX,QAAQ,uBACG,SAAS,kBAAkB,UACzC,OAAO,KACb,cAAc,GAAG,SAYnB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const js_sdk_common_1 = require("@launchdarkly/js-sdk-common");
4
- const createEventProcessor = (clientSideID, config, platform, diagnosticsManager) => config.sendEvents
5
- ? new js_sdk_common_1.internal.EventProcessor(Object.assign(Object.assign({}, config), { eventsCapacity: config.capacity }), new js_sdk_common_1.ClientContext(clientSideID, config, platform), undefined, diagnosticsManager)
6
- : new js_sdk_common_1.internal.NullEventProcessor();
4
+ const createEventProcessor = (clientSideID, config, platform, diagnosticsManager, start = false) => {
5
+ if (config.sendEvents) {
6
+ return new js_sdk_common_1.internal.EventProcessor(Object.assign(Object.assign({}, config), { eventsCapacity: config.capacity }), new js_sdk_common_1.ClientContext(clientSideID, config, platform), undefined, diagnosticsManager, start);
7
+ }
8
+ return undefined;
9
+ };
7
10
  exports.default = createEventProcessor;
8
11
  //# sourceMappingURL=createEventProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createEventProcessor.js","sourceRoot":"","sources":["../../src/events/createEventProcessor.ts"],"names":[],"mappings":";;AAAA,+DAA2F;AAI3F,MAAM,oBAAoB,GAAG,CAC3B,YAAoB,EACpB,MAAqB,EACrB,QAAkB,EAClB,kBAAgD,EACpB,EAAE,CAC9B,MAAM,CAAC,UAAU;IACf,CAAC,CAAC,IAAI,wBAAQ,CAAC,cAAc,iCACpB,MAAM,KAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,KAC5C,IAAI,6BAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,SAAS,EACT,kBAAkB,CACnB;IACH,CAAC,CAAC,IAAI,wBAAQ,CAAC,kBAAkB,EAAE,CAAC;AAExC,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"createEventProcessor.js","sourceRoot":"","sources":["../../src/events/createEventProcessor.ts"],"names":[],"mappings":";;AAAA,+DAAgF;AAKhF,MAAM,oBAAoB,GAAG,CAC3B,YAAoB,EACpB,MAAqB,EACrB,QAAkB,EAClB,kBAAgD,EAChD,QAAiB,KAAK,EACM,EAAE;IAC9B,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,OAAO,IAAI,wBAAQ,CAAC,cAAc,iCAC3B,MAAM,KAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,KAC5C,IAAI,6BAAa,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,SAAS,EACT,kBAAkB,EAClB,KAAK,CACN,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { LDApplication, LDContext, LDDevice, LDMultiKindContext, LDSingleKindContext, LDUser, Platform } from '@launchdarkly/js-sdk-common';
2
+ import Configuration from '../configuration';
3
+ export declare const toMulti: (c: LDSingleKindContext) => {
4
+ [x: string]: string | {
5
+ [attribute: string]: any;
6
+ key: string;
7
+ name?: string | undefined;
8
+ _meta?: import("@launchdarkly/js-sdk-common").LDContextMeta | undefined;
9
+ anonymous?: boolean | undefined;
10
+ };
11
+ kind: string;
12
+ };
13
+ /**
14
+ * Clones the LDApplication object and populates the key, envAttributesVersion, id and version fields.
15
+ *
16
+ * @param crypto
17
+ * @param info
18
+ * @param applicationInfo
19
+ * @param config
20
+ * @return An LDApplication object with populated key, envAttributesVersion, id and version.
21
+ */
22
+ export declare const addApplicationInfo: ({ crypto, info }: Platform, { applicationInfo }: Configuration) => LDApplication | undefined;
23
+ /**
24
+ * Clones the LDDevice object and populates the key and envAttributesVersion field.
25
+ *
26
+ * @param platform
27
+ * @return An LDDevice object with populated key and envAttributesVersion.
28
+ */
29
+ export declare const addDeviceInfo: (platform: Platform) => Promise<LDDevice | undefined>;
30
+ export declare const addAutoEnv: (context: LDContext, platform: Platform, config: Configuration) => Promise<LDMultiKindContext | LDSingleKindContext | LDUser>;
31
+ //# sourceMappingURL=addAutoEnv.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.addAutoEnv = exports.addDeviceInfo = exports.addApplicationInfo = exports.toMulti = void 0;
15
+ /* eslint-disable @typescript-eslint/naming-convention */
16
+ const js_sdk_common_1 = require("@launchdarkly/js-sdk-common");
17
+ const getOrGenerateKey_1 = require("./getOrGenerateKey");
18
+ const { isLegacyUser, isSingleKind, isMultiKind } = js_sdk_common_1.internal;
19
+ const defaultAutoEnvSchemaVersion = '1.0';
20
+ const toMulti = (c) => {
21
+ const { kind } = c, contextCommon = __rest(c, ["kind"]);
22
+ return {
23
+ kind: 'multi',
24
+ [kind]: contextCommon,
25
+ };
26
+ };
27
+ exports.toMulti = toMulti;
28
+ /**
29
+ * Clones the LDApplication object and populates the key, envAttributesVersion, id and version fields.
30
+ *
31
+ * @param crypto
32
+ * @param info
33
+ * @param applicationInfo
34
+ * @param config
35
+ * @return An LDApplication object with populated key, envAttributesVersion, id and version.
36
+ */
37
+ const addApplicationInfo = ({ crypto, info }, { applicationInfo }) => {
38
+ var _a;
39
+ const { ld_application } = info.platformData();
40
+ let app = (_a = (0, js_sdk_common_1.deepCompact)(ld_application)) !== null && _a !== void 0 ? _a : {};
41
+ const id = (applicationInfo === null || applicationInfo === void 0 ? void 0 : applicationInfo.id) || (app === null || app === void 0 ? void 0 : app.id);
42
+ if (id) {
43
+ const version = (applicationInfo === null || applicationInfo === void 0 ? void 0 : applicationInfo.version) || (app === null || app === void 0 ? void 0 : app.version);
44
+ const name = (applicationInfo === null || applicationInfo === void 0 ? void 0 : applicationInfo.name) || (app === null || app === void 0 ? void 0 : app.name);
45
+ const versionName = (applicationInfo === null || applicationInfo === void 0 ? void 0 : applicationInfo.versionName) || (app === null || app === void 0 ? void 0 : app.versionName);
46
+ app = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, app), { id }), (version ? { version } : {})), (name ? { name } : {})), (versionName ? { versionName } : {}));
47
+ const hasher = crypto.createHash('sha256');
48
+ hasher.update(id);
49
+ app.key = hasher.digest('base64');
50
+ app.envAttributesVersion = app.envAttributesVersion || defaultAutoEnvSchemaVersion;
51
+ return app;
52
+ }
53
+ return undefined;
54
+ };
55
+ exports.addApplicationInfo = addApplicationInfo;
56
+ /**
57
+ * Clones the LDDevice object and populates the key and envAttributesVersion field.
58
+ *
59
+ * @param platform
60
+ * @return An LDDevice object with populated key and envAttributesVersion.
61
+ */
62
+ const addDeviceInfo = async (platform) => {
63
+ var _a, _b, _c, _d;
64
+ const { ld_device, os } = platform.info.platformData();
65
+ const device = (_a = (0, js_sdk_common_1.deepCompact)(ld_device)) !== null && _a !== void 0 ? _a : {};
66
+ const name = (os === null || os === void 0 ? void 0 : os.name) || ((_b = device.os) === null || _b === void 0 ? void 0 : _b.name);
67
+ const version = (os === null || os === void 0 ? void 0 : os.version) || ((_c = device.os) === null || _c === void 0 ? void 0 : _c.version);
68
+ const family = (_d = device.os) === null || _d === void 0 ? void 0 : _d.family;
69
+ // only add device.os if there's data
70
+ if (name || version || family) {
71
+ device.os = Object.assign(Object.assign(Object.assign({}, (name ? { name } : {})), (version ? { version } : {})), (family ? { family } : {}));
72
+ }
73
+ // Check if device has any meaningful data before we return it.
74
+ if (Object.keys(device).filter((k) => k !== 'key' && k !== 'envAttributesVersion').length) {
75
+ device.key = await (0, getOrGenerateKey_1.getOrGenerateKey)('context', 'ld_device', platform);
76
+ device.envAttributesVersion = device.envAttributesVersion || defaultAutoEnvSchemaVersion;
77
+ return device;
78
+ }
79
+ return undefined;
80
+ };
81
+ exports.addDeviceInfo = addDeviceInfo;
82
+ const addAutoEnv = async (context, platform, config) => {
83
+ // LDUser is not supported for auto env reporting
84
+ if (isLegacyUser(context)) {
85
+ return context;
86
+ }
87
+ let ld_application;
88
+ let ld_device;
89
+ // Check if customer contexts exist. Only override if they are not provided.
90
+ if ((isSingleKind(context) && context.kind !== 'ld_application') ||
91
+ (isMultiKind(context) && !context.ld_application)) {
92
+ ld_application = (0, exports.addApplicationInfo)(platform, config);
93
+ }
94
+ else {
95
+ config.logger.warn('Not adding ld_application environment attributes because it already exists.');
96
+ }
97
+ if ((isSingleKind(context) && context.kind !== 'ld_device') ||
98
+ (isMultiKind(context) && !context.ld_device)) {
99
+ ld_device = await (0, exports.addDeviceInfo)(platform);
100
+ }
101
+ else {
102
+ config.logger.warn('Not adding ld_device environment attributes because it already exists.');
103
+ }
104
+ // Unable to automatically add environment attributes for kind: {}. {} already exists.
105
+ if (ld_application || ld_device) {
106
+ const multi = isSingleKind(context) ? (0, exports.toMulti)(context) : context;
107
+ return Object.assign(Object.assign(Object.assign({}, multi), (ld_application ? { ld_application } : {})), (ld_device ? { ld_device } : {}));
108
+ }
109
+ return context;
110
+ };
111
+ exports.addAutoEnv = addAutoEnv;
112
+ //# sourceMappingURL=addAutoEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addAutoEnv.js","sourceRoot":"","sources":["../../src/utils/addAutoEnv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Flags } from '../types';
2
+ export default function calculateFlagChanges(flags: Flags, incomingFlags: Flags): string[];
3
+ //# sourceMappingURL=calculateFlagChanges.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,23 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,11 @@
1
+ import { LDContext, Platform } from '@launchdarkly/js-sdk-common';
2
+ /**
3
+ * Ensure a key is always present in anonymous contexts. Non-anonymous contexts
4
+ * are not processed and will just be returned as is.
5
+ *
6
+ * @param context
7
+ * @param platform
8
+ */
9
+ declare const ensureKey: (context: LDContext, platform: Platform) => Promise<any>;
10
+ export default ensureKey;
11
+ //# sourceMappingURL=ensureKey.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ const js_sdk_common_1 = require("@launchdarkly/js-sdk-common");
15
+ const getOrGenerateKey_1 = require("./getOrGenerateKey");
16
+ const { isLegacyUser, isMultiKind, isSingleKind } = js_sdk_common_1.internal;
17
+ /**
18
+ * This is the root ensureKey function. All other ensureKey functions reduce to this.
19
+ *
20
+ * - ensureKeyCommon // private root function
21
+ * - ensureKeySingle
22
+ * - ensureKeyMulti
23
+ * - ensureKeyLegacy
24
+ * - ensureKey // exported for external use
25
+ *
26
+ * @param kind The LDContext kind
27
+ * @param c The LDContext object
28
+ * @param platform Platform containing crypto and storage needed for storing and querying keys.
29
+ */
30
+ const ensureKeyCommon = async (kind, c, platform) => {
31
+ const { anonymous, key } = c;
32
+ if (anonymous && !key) {
33
+ // This mutates a cloned copy of the original context from ensureyKey so this is safe.
34
+ // eslint-disable-next-line no-param-reassign
35
+ c.key = await (0, getOrGenerateKey_1.getOrGenerateKey)('anonymous', kind, platform);
36
+ }
37
+ };
38
+ const ensureKeySingle = async (c, platform) => {
39
+ await ensureKeyCommon(c.kind, c, platform);
40
+ };
41
+ const ensureKeyMulti = async (multiContext, platform) => {
42
+ const { kind } = multiContext, singleContexts = __rest(multiContext, ["kind"]);
43
+ return Promise.all(Object.entries(singleContexts).map(([k, c]) => ensureKeyCommon(k, c, platform)));
44
+ };
45
+ const ensureKeyLegacy = async (c, platform) => {
46
+ await ensureKeyCommon('user', c, platform);
47
+ };
48
+ /**
49
+ * Ensure a key is always present in anonymous contexts. Non-anonymous contexts
50
+ * are not processed and will just be returned as is.
51
+ *
52
+ * @param context
53
+ * @param platform
54
+ */
55
+ const ensureKey = async (context, platform) => {
56
+ const cloned = (0, js_sdk_common_1.clone)(context);
57
+ if (isSingleKind(cloned)) {
58
+ await ensureKeySingle(cloned, platform);
59
+ }
60
+ if (isMultiKind(cloned)) {
61
+ await ensureKeyMulti(cloned, platform);
62
+ }
63
+ if (isLegacyUser(cloned)) {
64
+ await ensureKeyLegacy(cloned, platform);
65
+ }
66
+ return cloned;
67
+ };
68
+ exports.default = ensureKey;
69
+ //# sourceMappingURL=ensureKey.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,5 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,29 @@
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
@@ -0,0 +1 @@
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"}
@@ -1,3 +1,5 @@
1
- import { Flags } from '../types';
2
- export declare function calculateFlagChanges(flags: Flags, incomingFlags: Flags): string[];
1
+ import { addAutoEnv } from './addAutoEnv';
2
+ import calculateFlagChanges from './calculateFlagChanges';
3
+ import ensureKey from './ensureKey';
4
+ export { calculateFlagChanges, ensureKey, addAutoEnv };
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,YAmBtE"}
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"}
@@ -1,24 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateFlagChanges = void 0;
4
- const js_sdk_common_1 = require("@launchdarkly/js-sdk-common");
5
- // eslint-disable-next-line import/prefer-default-export
6
- function calculateFlagChanges(flags, incomingFlags) {
7
- const changedKeys = [];
8
- // flag deleted or updated
9
- Object.entries(flags).forEach(([k, f]) => {
10
- const incoming = incomingFlags[k];
11
- if (!incoming || !(0, js_sdk_common_1.fastDeepEqual)(f, incoming)) {
12
- changedKeys.push(k);
13
- }
14
- });
15
- // flag added
16
- Object.keys(incomingFlags).forEach((k) => {
17
- if (!flags[k]) {
18
- changedKeys.push(k);
19
- }
20
- });
21
- return changedKeys;
22
- }
23
- exports.calculateFlagChanges = calculateFlagChanges;
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;
24
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAI5D,wDAAwD;AACxD,SAAgB,oBAAoB,CAAC,KAAY,EAAE,aAAoB;IACrE,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,oDAmBC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchdarkly/js-client-sdk-common",
3
- "version": "0.1.2",
3
+ "version": "0.2.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.1.1"
33
+ "@launchdarkly/js-sdk-common": "2.2.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@launchdarkly/private-js-mocks": "0.0.1",
@@ -38,13 +38,14 @@
38
38
  "@testing-library/jest-dom": "^5.16.5",
39
39
  "@types/jest": "^29.5.3",
40
40
  "@types/semver": "^7.5.0",
41
- "@typescript-eslint/eslint-plugin": "^6.1.0",
42
- "@typescript-eslint/parser": "^6.1.0",
41
+ "@typescript-eslint/eslint-plugin": "^6.20.0",
42
+ "@typescript-eslint/parser": "^6.20.0",
43
43
  "eslint": "^8.45.0",
44
44
  "eslint-config-airbnb-base": "^15.0.0",
45
45
  "eslint-config-airbnb-typescript": "^17.1.0",
46
46
  "eslint-config-prettier": "^8.8.0",
47
47
  "eslint-plugin-import": "^2.27.5",
48
+ "eslint-plugin-jest": "^27.6.3",
48
49
  "eslint-plugin-prettier": "^5.0.0",
49
50
  "jest": "^29.6.1",
50
51
  "jest-diff": "^29.6.1",