@launchdarkly/js-client-sdk-common 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.0.3...js-client-sdk-common-v1.1.0) (2024-04-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * Add identify timeout to client-sdk. ([#420](https://github.com/launchdarkly/js-core/issues/420)) ([5d73dfe](https://github.com/launchdarkly/js-core/commit/5d73dfeb0d5cdacf620e65e214dd2e334363490e))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Identify incorrectly rejected in client-sdk ([#426](https://github.com/launchdarkly/js-core/issues/426)) ([a019dd6](https://github.com/launchdarkly/js-core/commit/a019dd66b1b852d888e10b78aec9693d7de195fe))
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * The following workspace dependencies were updated
19
+ * dependencies
20
+ * @launchdarkly/js-sdk-common bumped from 2.3.1 to 2.4.0
21
+
22
+ ## [1.0.3](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.0.2...js-client-sdk-common-v1.0.3) (2024-03-25)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * Send identify event. ([#407](https://github.com/launchdarkly/js-core/issues/407)) ([1d73462](https://github.com/launchdarkly/js-core/commit/1d73462914cd35925d34a84b61492a52406b4083))
28
+
29
+
30
+ ### Dependencies
31
+
32
+ * The following workspace dependencies were updated
33
+ * dependencies
34
+ * @launchdarkly/js-sdk-common bumped from 2.3.0 to 2.3.1
35
+
3
36
  ## [1.0.2](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.0.1...js-client-sdk-common-v1.0.2) (2024-03-15)
4
37
 
5
38
 
package/README.md CHANGED
@@ -19,7 +19,8 @@ See [Contributing](../CONTRIBUTING.md).
19
19
  - Roll out a new feature to a subset of your users (like a group of users who opt-in to a beta tester group), gathering feedback and bug reports from real-world use cases.
20
20
  - Gradually roll out a feature to an increasing percentage of users, and track the effect that the feature has on key metrics (for instance, how likely is a user to complete a purchase if they have feature A versus feature B?).
21
21
  - Turn off a feature that you realize is causing performance problems in production, without needing to re-deploy, or even restart the application with a changed configuration file.
22
- - Grant access to certain features based on user attributes, like payment plan (eg: users on the ‘gold’ plan get access to more features than users in the ‘silver’ plan). Disable parts of your application to facilitate maintenance, without taking everything offline.
22
+ - Grant access to certain features based on user attributes, like payment plan (eg: users on the ‘gold’ plan get access to more features than users in the ‘silver’ plan).
23
+ - Disable parts of your application to facilitate maintenance, without taking everything offline.
23
24
  - LaunchDarkly provides feature flag SDKs for a wide variety of languages and technologies. Check out [our documentation](https://docs.launchdarkly.com/sdk) for a complete list.
24
25
  - Explore LaunchDarkly
25
26
  - [launchdarkly.com](https://www.launchdarkly.com/ 'LaunchDarkly Main Website') for more information
@@ -1,6 +1,7 @@
1
1
  import { AutoEnvAttributes, internal, LDContext, LDEvaluationDetail, LDEvaluationDetailTyped, LDFlagSet, LDFlagValue, LDLogger, Platform } from '@launchdarkly/js-sdk-common';
2
2
  import { ConnectionMode, LDClient, type LDOptions } from './api';
3
3
  import { EventName } from './api/LDEmitter';
4
+ import { LDIdentifyOptions } from './api/LDIdentifyOptions';
4
5
  import Configuration from './configuration';
5
6
  export default class LDClientImpl implements LDClient {
6
7
  readonly sdkKey: string;
@@ -10,14 +11,14 @@ export default class LDClientImpl implements LDClient {
10
11
  context?: LDContext;
11
12
  diagnosticsManager?: internal.DiagnosticsManager;
12
13
  eventProcessor?: internal.EventProcessor;
14
+ identifyTimeout: number;
13
15
  logger: LDLogger;
14
16
  streamer?: internal.StreamingProcessor;
17
+ readonly highTimeoutThreshold: number;
15
18
  private eventFactoryDefault;
16
19
  private eventFactoryWithReasons;
17
20
  private emitter;
18
21
  private flags;
19
- private identifyChangeListener?;
20
- private identifyErrorListener?;
21
22
  private readonly clientContext;
22
23
  /**
23
24
  * Creates the client object synchronously. No async, no network calls.
@@ -55,9 +56,38 @@ export default class LDClientImpl implements LDClient {
55
56
  * @param _context The LDContext object
56
57
  */
57
58
  protected createStreamUriPath(_context: LDContext): string;
58
- private createPromiseWithListeners;
59
+ private createIdentifyPromise;
59
60
  private getFlagsFromStorage;
60
- identify(pristineContext: LDContext): Promise<void>;
61
+ /**
62
+ * Identifies a context to LaunchDarkly. See {@link LDClient.identify}.
63
+ *
64
+ * @param pristineContext The LDContext object to be identified.
65
+ * @param identifyOptions Optional configuration. See {@link LDIdentifyOptions}.
66
+ * @returns A Promise which resolves when the flag values for the specified
67
+ * context are available. It rejects when:
68
+ *
69
+ * 1. The context is unspecified or has no key.
70
+ *
71
+ * 2. The identify timeout is exceeded. In client SDKs this defaults to 5s.
72
+ * You can customize this timeout with {@link LDIdentifyOptions | identifyOptions}.
73
+ *
74
+ * 3. A network error is encountered during initialization.
75
+ */
76
+ identify(pristineContext: LDContext, identifyOptions?: LDIdentifyOptions): Promise<void>;
77
+ /**
78
+ * Performs common tasks when resolving the identify promise:
79
+ * - resolve the promise
80
+ * - update in memory context
81
+ * - update in memory flags
82
+ * - emit change event if needed
83
+ *
84
+ * @param resolve
85
+ * @param flags
86
+ * @param context
87
+ * @param source For logging purposes
88
+ * @private
89
+ */
90
+ private onIdentifyResolve;
61
91
  off(eventName: EventName, listener: Function): void;
62
92
  on(eventName: EventName, listener: Function): void;
63
93
  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":"AAAA,OAAO,EACL,iBAAiB,EAIjB,QAAQ,EAER,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EAKT,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAkB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAU5C,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,QAAQ;aAsBjC,MAAM,EAAE,MAAM;aACd,iBAAiB,EAAE,iBAAiB;aACpC,QAAQ,EAAE,QAAQ;IAvBpC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,kBAAkB,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACjD,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC;IACzC,eAAe,EAAE,MAAM,CAAK;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAEvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAM;IAE3C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,KAAK,CAAa;IAE1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C;;OAEG;gBAEe,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClC,OAAO,EAAE,SAAS,EAClB,eAAe,CAAC,EAAE,QAAQ,CAAC,iBAAiB;IA8B9C;;;;OAIG;IACG,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B5D;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC,SAAS;IAIT,QAAQ,IAAI,SAAS;IAUf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,KAAK,IAAI,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAY1D,UAAU,IAAI,SAAS,GAAG,SAAS;IAInC,OAAO,CAAC,qBAAqB;IA8D7B;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM;IAM1D,OAAO,CAAC,qBAAqB;YAoBf,mBAAmB;IAKjC;;;;;;;;;;;;;;OAcG;IACG,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkE9F;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,iBAAiB;IAczB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAInD,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIlD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB1D,OAAO,CAAC,iBAAiB;IA4DzB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,WAAW;IAInE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,kBAAkB;IAIhF,OAAO,CAAC,SAAS;IASjB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAO1D,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAI1D,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAO1D,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAO1D,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC;IAOzF,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAOzF,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC;IAOzF,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC;CAG1F"}
@@ -16,6 +16,8 @@ class LDClientImpl {
16
16
  this.sdkKey = sdkKey;
17
17
  this.autoEnvAttributes = autoEnvAttributes;
18
18
  this.platform = platform;
19
+ this.identifyTimeout = 5;
20
+ this.highTimeoutThreshold = 15;
19
21
  this.eventFactoryDefault = new EventFactory_1.default(false);
20
22
  this.eventFactoryWithReasons = new EventFactory_1.default(true);
21
23
  this.flags = {};
@@ -31,6 +33,12 @@ class LDClientImpl {
31
33
  this.diagnosticsManager = (0, createDiagnosticsManager_1.default)(sdkKey, this.config, platform);
32
34
  this.eventProcessor = (0, createEventProcessor_1.default)(sdkKey, this.config, platform, this.diagnosticsManager, !this.isOffline());
33
35
  this.emitter = new LDEmitter_1.default();
36
+ this.emitter.on('change', (c, changedKeys) => {
37
+ this.logger.debug(`change: context: ${JSON.stringify(c)}, flags: ${changedKeys}`);
38
+ });
39
+ this.emitter.on('error', (c, err) => {
40
+ this.logger.error(`error: ${err}, context: ${JSON.stringify(c)}`);
41
+ });
34
42
  }
35
43
  /**
36
44
  * Sets the SDK connection mode.
@@ -52,7 +60,7 @@ class LDClientImpl {
52
60
  (_a = this.eventProcessor) === null || _a === void 0 ? void 0 : _a.start();
53
61
  if (this.context) {
54
62
  // identify will start streamer
55
- return this.identify(this.context);
63
+ return this.identify(this.context, { timeout: this.identifyTimeout });
56
64
  }
57
65
  break;
58
66
  default:
@@ -108,20 +116,8 @@ class LDClientImpl {
108
116
  processJson: async (dataJson) => {
109
117
  var _a;
110
118
  this.logger.debug(`Streamer PUT: ${Object.keys(dataJson)}`);
111
- const changedKeys = (0, utils_1.calculateFlagChanges)(this.flags, dataJson);
112
- this.context = context;
113
- this.flags = dataJson;
119
+ this.onIdentifyResolve(identifyResolve, dataJson, context, 'streamer PUT');
114
120
  await ((_a = this.platform.storage) === null || _a === void 0 ? void 0 : _a.set(canonicalKey, JSON.stringify(this.flags)));
115
- if (changedKeys.length > 0) {
116
- this.logger.debug(`Emitting changes from PUT: ${changedKeys}`);
117
- // emitting change resolves identify
118
- this.emitter.emit('change', context, changedKeys);
119
- }
120
- else {
121
- // manually resolve identify
122
- this.logger.debug('Not emitting changes from PUT');
123
- identifyResolve();
124
- }
125
121
  },
126
122
  });
127
123
  listeners.set('patch', {
@@ -174,38 +170,52 @@ class LDClientImpl {
174
170
  * @param _context The LDContext object
175
171
  */
176
172
  createStreamUriPath(_context) {
177
- throw new Error('createStreamUriPath not implemented. Client sdks must implement createStreamUriPath for streamer to work');
173
+ throw new Error('createStreamUriPath not implemented. Client sdks must implement createStreamUriPath for streamer to work.');
178
174
  }
179
- createPromiseWithListeners() {
175
+ createIdentifyPromise(timeout) {
180
176
  let res;
181
- const p = new Promise((resolve, reject) => {
177
+ let rej;
178
+ const slow = new Promise((resolve, reject) => {
182
179
  res = resolve;
183
- if (this.identifyChangeListener) {
184
- this.emitter.off('change', this.identifyChangeListener);
185
- }
186
- if (this.identifyErrorListener) {
187
- this.emitter.off('error', this.identifyErrorListener);
180
+ rej = reject;
181
+ });
182
+ const timed = (0, js_sdk_common_1.timedPromise)(timeout, 'identify');
183
+ const raced = Promise.race([timed, slow]).catch((e) => {
184
+ if (e.message.includes('timed out')) {
185
+ this.logger.error(`identify error: ${e}`);
188
186
  }
189
- this.identifyChangeListener = (c, changedKeys) => {
190
- this.logger.debug(`change: context: ${JSON.stringify(c)}, flags: ${changedKeys}`);
191
- resolve();
192
- };
193
- this.identifyErrorListener = (c, err) => {
194
- this.logger.debug(`error: ${err}, context: ${JSON.stringify(c)}`);
195
- reject(err);
196
- };
197
- this.emitter.on('change', this.identifyChangeListener);
198
- this.emitter.on('error', this.identifyErrorListener);
187
+ throw e;
199
188
  });
200
- return { identifyPromise: p, identifyResolve: res };
189
+ return { identifyPromise: raced, identifyResolve: res, identifyReject: rej };
201
190
  }
202
191
  async getFlagsFromStorage(canonicalKey) {
203
192
  var _a;
204
193
  const f = await ((_a = this.platform.storage) === null || _a === void 0 ? void 0 : _a.get(canonicalKey));
205
194
  return f ? JSON.parse(f) : undefined;
206
195
  }
207
- async identify(pristineContext) {
208
- var _a;
196
+ /**
197
+ * Identifies a context to LaunchDarkly. See {@link LDClient.identify}.
198
+ *
199
+ * @param pristineContext The LDContext object to be identified.
200
+ * @param identifyOptions Optional configuration. See {@link LDIdentifyOptions}.
201
+ * @returns A Promise which resolves when the flag values for the specified
202
+ * context are available. It rejects when:
203
+ *
204
+ * 1. The context is unspecified or has no key.
205
+ *
206
+ * 2. The identify timeout is exceeded. In client SDKs this defaults to 5s.
207
+ * You can customize this timeout with {@link LDIdentifyOptions | identifyOptions}.
208
+ *
209
+ * 3. A network error is encountered during initialization.
210
+ */
211
+ async identify(pristineContext, identifyOptions) {
212
+ var _a, _b;
213
+ if (identifyOptions === null || identifyOptions === void 0 ? void 0 : identifyOptions.timeout) {
214
+ this.identifyTimeout = identifyOptions.timeout;
215
+ }
216
+ if (this.identifyTimeout > this.highTimeoutThreshold) {
217
+ this.logger.warn('identify called with high timeout parameter.');
218
+ }
209
219
  let context = await (0, utils_1.ensureKey)(pristineContext, this.platform);
210
220
  if (this.autoEnvAttributes === js_sdk_common_1.AutoEnvAttributes.Enabled) {
211
221
  context = await (0, utils_1.addAutoEnv)(context, this.platform, this.config);
@@ -213,19 +223,16 @@ class LDClientImpl {
213
223
  const checkedContext = js_sdk_common_1.Context.fromLDContext(context);
214
224
  if (!checkedContext.valid) {
215
225
  const error = new Error('Context was unspecified or had no key');
216
- this.logger.error(error);
217
226
  this.emitter.emit('error', context, error);
218
227
  return Promise.reject(error);
219
228
  }
220
- const { identifyPromise, identifyResolve } = this.createPromiseWithListeners();
229
+ (_a = this.eventProcessor) === null || _a === void 0 ? void 0 : _a.sendEvent(this.eventFactoryDefault.identifyEvent(checkedContext));
230
+ const { identifyPromise, identifyResolve, identifyReject } = this.createIdentifyPromise(this.identifyTimeout);
221
231
  this.logger.debug(`Identifying ${JSON.stringify(context)}`);
222
232
  const flagsStorage = await this.getFlagsFromStorage(checkedContext.canonicalKey);
223
233
  if (flagsStorage) {
224
234
  this.logger.debug('Using storage');
225
- const changedKeys = (0, utils_1.calculateFlagChanges)(this.flags, flagsStorage);
226
- this.context = context;
227
- this.flags = flagsStorage;
228
- this.emitter.emit('change', context, changedKeys);
235
+ this.onIdentifyResolve(identifyResolve, flagsStorage, context, 'identify storage');
229
236
  }
230
237
  if (this.isOffline()) {
231
238
  if (flagsStorage) {
@@ -239,19 +246,45 @@ class LDClientImpl {
239
246
  }
240
247
  }
241
248
  else {
242
- (_a = this.streamer) === null || _a === void 0 ? void 0 : _a.close();
249
+ (_b = this.streamer) === null || _b === void 0 ? void 0 : _b.close();
243
250
  let streamUri = this.createStreamUriPath(context);
244
251
  if (this.config.withReasons) {
245
252
  streamUri = `${streamUri}?withReasons=true`;
246
253
  }
247
254
  this.streamer = new js_sdk_common_1.internal.StreamingProcessor(this.sdkKey, this.clientContext, streamUri, this.createStreamListeners(context, checkedContext.canonicalKey, identifyResolve), this.diagnosticsManager, (e) => {
248
- this.logger.error(e);
255
+ identifyReject(e);
249
256
  this.emitter.emit('error', context, e);
250
257
  });
251
258
  this.streamer.start();
252
259
  }
253
260
  return identifyPromise;
254
261
  }
262
+ /**
263
+ * Performs common tasks when resolving the identify promise:
264
+ * - resolve the promise
265
+ * - update in memory context
266
+ * - update in memory flags
267
+ * - emit change event if needed
268
+ *
269
+ * @param resolve
270
+ * @param flags
271
+ * @param context
272
+ * @param source For logging purposes
273
+ * @private
274
+ */
275
+ onIdentifyResolve(resolve, flags, context, source) {
276
+ resolve();
277
+ const changedKeys = (0, utils_1.calculateFlagChanges)(this.flags, flags);
278
+ this.context = context;
279
+ this.flags = flags;
280
+ if (changedKeys.length > 0) {
281
+ this.emitter.emit('change', context, changedKeys);
282
+ this.logger.debug(`OnIdentifyResolve emitting changes from: ${source}.`);
283
+ }
284
+ else {
285
+ this.logger.debug(`OnIdentifyResolve no changes to emit from: ${source}.`);
286
+ }
287
+ }
255
288
  off(eventName, listener) {
256
289
  this.emitter.off(eventName, listener);
257
290
  }
@@ -259,22 +292,22 @@ class LDClientImpl {
259
292
  this.emitter.on(eventName, listener);
260
293
  }
261
294
  track(key, data, metricValue) {
262
- var _a, _b, _c;
295
+ var _a;
263
296
  if (!this.context) {
264
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn(ClientMessages.missingContextKeyNoEvent);
297
+ this.logger.warn(ClientMessages.missingContextKeyNoEvent);
265
298
  return;
266
299
  }
267
300
  const checkedContext = js_sdk_common_1.Context.fromLDContext(this.context);
268
301
  if (!checkedContext.valid) {
269
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.warn(ClientMessages.missingContextKeyNoEvent);
302
+ this.logger.warn(ClientMessages.missingContextKeyNoEvent);
270
303
  return;
271
304
  }
272
- (_c = this.eventProcessor) === null || _c === void 0 ? void 0 : _c.sendEvent(this.eventFactoryDefault.customEvent(key, checkedContext, data, metricValue));
305
+ (_a = this.eventProcessor) === null || _a === void 0 ? void 0 : _a.sendEvent(this.eventFactoryDefault.customEvent(key, checkedContext, data, metricValue));
273
306
  }
274
307
  variationInternal(flagKey, defaultValue, eventFactory, typeChecker) {
275
- var _a, _b, _c, _d;
308
+ var _a, _b, _c;
276
309
  if (!this.context) {
277
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(ClientMessages.missingContextKeyNoEvent);
310
+ this.logger.debug(ClientMessages.missingContextKeyNoEvent);
278
311
  return createErrorEvaluationDetail(ErrorKinds.UserNotSpecified, defaultValue);
279
312
  }
280
313
  const evalContext = js_sdk_common_1.Context.fromLDContext(this.context);
@@ -282,19 +315,17 @@ class LDClientImpl {
282
315
  if (!found || found.deleted) {
283
316
  const defVal = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
284
317
  const error = new js_sdk_common_1.LDClientError(`Unknown feature flag "${flagKey}"; returning default value ${defVal}.`);
285
- this.logger.error(error);
286
318
  this.emitter.emit('error', this.context, error);
287
- (_b = this.eventProcessor) === null || _b === void 0 ? void 0 : _b.sendEvent(this.eventFactoryDefault.unknownFlagEvent(flagKey, defVal, evalContext));
319
+ (_a = this.eventProcessor) === null || _a === void 0 ? void 0 : _a.sendEvent(this.eventFactoryDefault.unknownFlagEvent(flagKey, defVal, evalContext));
288
320
  return createErrorEvaluationDetail(ErrorKinds.FlagNotFound, defaultValue);
289
321
  }
290
322
  const { reason, value, variation } = found;
291
323
  if (typeChecker) {
292
324
  const [matched, type] = typeChecker(value);
293
325
  if (!matched) {
294
- (_c = this.eventProcessor) === null || _c === void 0 ? void 0 : _c.sendEvent(eventFactory.evalEventClient(flagKey, defaultValue, // track default value on type errors
326
+ (_b = this.eventProcessor) === null || _b === void 0 ? void 0 : _b.sendEvent(eventFactory.evalEventClient(flagKey, defaultValue, // track default value on type errors
295
327
  defaultValue, found, evalContext, reason));
296
328
  const error = new js_sdk_common_1.LDClientError(`Wrong type "${type}" for feature flag "${flagKey}"; returning default value`);
297
- this.logger.error(error);
298
329
  this.emitter.emit('error', this.context, error);
299
330
  return createErrorEvaluationDetail(ErrorKinds.WrongType, defaultValue);
300
331
  }
@@ -304,7 +335,7 @@ class LDClientImpl {
304
335
  this.logger.debug('Result value is null in variation');
305
336
  successDetail.value = defaultValue;
306
337
  }
307
- (_d = this.eventProcessor) === null || _d === void 0 ? void 0 : _d.sendEvent(eventFactory.evalEventClient(flagKey, value, defaultValue, found, evalContext, reason));
338
+ (_c = this.eventProcessor) === null || _c === void 0 ? void 0 : _c.sendEvent(eventFactory.evalEventClient(flagKey, value, defaultValue, found, evalContext, reason));
308
339
  return successDetail;
309
340
  }
310
341
  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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"}
@@ -1,5 +1,6 @@
1
1
  import { LDContext, LDEvaluationDetail, LDEvaluationDetailTyped, LDFlagSet, LDFlagValue, LDLogger } from '@launchdarkly/js-sdk-common';
2
2
  import ConnectionMode from './ConnectionMode';
3
+ import { LDIdentifyOptions } from './LDIdentifyOptions';
3
4
  /**
4
5
  * The basic interface for the LaunchDarkly client. Platform-specific SDKs may add some methods of their own.
5
6
  *
@@ -94,11 +95,21 @@ export interface LDClient {
94
95
  * await the Promise to determine when the new flag values are available.
95
96
  *
96
97
  * @param context
97
- * The LDContext object.
98
+ * The LDContext object.
99
+ * @param identifyOptions
100
+ * Optional configuration. Please see {@link LDIdentifyOptions}.
98
101
  * @returns
99
- * A Promise which resolves when the flag values for the specified context are available.
102
+ * A Promise which resolves when the flag values for the specified
103
+ * context are available. It rejects when:
104
+ *
105
+ * 1. The context is unspecified or has no key.
106
+ *
107
+ * 2. The identify timeout is exceeded. In client SDKs this defaults to 5s.
108
+ * You can customize this timeout with {@link LDIdentifyOptions | identifyOptions}.
109
+ *
110
+ * 3. A network error is encountered during initialization.
100
111
  */
101
- identify(context: LDContext): Promise<void>;
112
+ identify(context: LDContext, identifyOptions?: LDIdentifyOptions): Promise<void>;
102
113
  /**
103
114
  * Determines the json variation of a feature flag.
104
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LDClient.d.ts","sourceRoot":"","sources":["../../src/api/LDClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface LDIdentifyOptions {
2
+ /**
3
+ * In seconds. Determines when the identify promise resolves if no flags have been
4
+ * returned from the network. If you use a large timeout and await it, then
5
+ * any network delays will cause your application to wait a long time before
6
+ * continuing execution.
7
+ *
8
+ * Defaults to 5 seconds.
9
+ */
10
+ timeout: number;
11
+ }
12
+ //# sourceMappingURL=LDIdentifyOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LDIdentifyOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDIdentifyOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LDIdentifyOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LDIdentifyOptions.js","sourceRoot":"","sources":["../../src/api/LDIdentifyOptions.ts"],"names":[],"mappings":""}
@@ -1,6 +1,5 @@
1
1
  import { internal, Platform } from '@launchdarkly/js-sdk-common';
2
- import { EventProcessor } from '@launchdarkly/js-sdk-common/dist/internal';
3
2
  import Configuration from '../configuration';
4
- declare const createEventProcessor: (clientSideID: string, config: Configuration, platform: Platform, diagnosticsManager?: internal.DiagnosticsManager, start?: boolean) => EventProcessor | undefined;
3
+ declare const createEventProcessor: (clientSideID: string, config: Configuration, platform: Platform, diagnosticsManager?: internal.DiagnosticsManager, start?: boolean) => internal.EventProcessor | undefined;
5
4
  export default createEventProcessor;
6
5
  //# 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,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
+ {"version":3,"file":"createEventProcessor.d.ts","sourceRoot":"","sources":["../../src/events/createEventProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,QAAA,MAAM,oBAAoB,iBACV,MAAM,UACZ,aAAa,YACX,QAAQ,uBACG,SAAS,kBAAkB,UACzC,OAAO,KACb,SAAS,cAAc,GAAG,SAY5B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"createEventProcessor.js","sourceRoot":"","sources":["../../src/events/createEventProcessor.ts"],"names":[],"mappings":";;AAAA,+DAAgF;AAIhF,MAAM,oBAAoB,GAAG,CAC3B,YAAoB,EACpB,MAAqB,EACrB,QAAkB,EAClB,kBAAgD,EAChD,QAAiB,KAAK,EACe,EAAE;IACvC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchdarkly/js-client-sdk-common",
3
- "version": "1.0.2",
3
+ "version": "1.1.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.3.0"
33
+ "@launchdarkly/js-sdk-common": "2.4.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@launchdarkly/private-js-mocks": "0.0.1",