@launchdarkly/js-client-sdk-common 1.24.0 → 1.25.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.
@@ -6,7 +6,7 @@ import LDClientImpl from './LDClientImpl';
6
6
  import LDEmitter, { EventName } from './LDEmitter';
7
7
  export * from '@launchdarkly/js-sdk-common';
8
8
  export * as platform from '@launchdarkly/js-sdk-common';
9
- export type { LDEvaluationDetail, LDEvaluationDetailTyped, LDClient, LDOptions, ConnectionMode, LDIdentifyOptions, Hook, HookMetadata, EvaluationSeriesContext, EvaluationSeriesData, IdentifySeriesContext, IdentifySeriesData, IdentifySeriesResult, IdentifySeriesStatus, TrackSeriesContext, LDInspection, LDIdentifyResult, LDIdentifySuccess, LDIdentifyError, LDIdentifyTimeout, LDIdentifyShed, LDClientIdentifyResult, LDPluginBase, LDWaitForInitializationOptions, LDWaitForInitializationResult, LDWaitForInitializationComplete, LDWaitForInitializationFailed, LDWaitForInitializationTimeout, LDContext, LDContextStrict, } from './api';
9
+ export type { LDEvaluationDetail, LDEvaluationDetailTyped, LDClient, LDOptions, ConnectionMode, LDIdentifyOptions, Hook, HookMetadata, EvaluationSeriesContext, EvaluationSeriesData, IdentifySeriesContext, IdentifySeriesData, IdentifySeriesResult, IdentifySeriesStatus, TrackSeriesContext, LDInspection, LDIdentifyResult, LDIdentifySuccess, LDIdentifyError, LDIdentifyTimeout, LDIdentifyShed, LDClientIdentifyResult, LDPluginBase, LDWaitForInitializationOptions, LDWaitForInitializationResult, LDWaitForInitializationComplete, LDWaitForInitializationFailed, LDWaitForInitializationTimeout, LDStartOptions, LDContext, LDContextStrict, } from './api';
10
10
  export type { DataManager, DataManagerFactory, ConnectionParams } from './DataManager';
11
11
  export type { FlagManager, LDDebugOverride } from './flag-manager/FlagManager';
12
12
  export { safeRegisterDebugOverridePlugins } from './plugins/safeRegisterDebugOverridePlugins';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { AutoEnvAttributes, Context, internal, LDFlagSet, LDFlagValue, LDLogger, LDPluginEnvironmentMetadata, Platform } from '@launchdarkly/js-sdk-common';
2
- import { Hook, LDClient, LDClientIdentifyResult, LDContext, LDContextStrict, LDIdentifyResult, type LDOptions, LDWaitForInitializationOptions, LDWaitForInitializationResult } from './api';
2
+ import { Hook, LDClient, LDClientIdentifyResult, LDContext, LDContextStrict, LDIdentifyResult, type LDOptions, LDStartOptions, LDWaitForInitializationOptions, LDWaitForInitializationResult } from './api';
3
3
  import { LDEvaluationDetail, LDEvaluationDetailTyped } from './api/LDEvaluationDetail';
4
4
  import { LDIdentifyOptions } from './api/LDIdentifyOptions';
5
5
  import { LDClientInternalOptions } from './configuration';
6
6
  import { DataManager, DataManagerFactory } from './DataManager';
7
+ import type { InternalDataSystemOptions } from './datasource/LDClientDataSystemOptions';
7
8
  import { LDDebugOverride } from './flag-manager/FlagManager';
8
9
  import { ItemDescriptor } from './flag-manager/ItemDescriptor';
9
10
  import LDEmitter, { EventName } from './LDEmitter';
@@ -24,6 +25,8 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
24
25
  private _eventSendingEnabled;
25
26
  private _baseHeaders;
26
27
  protected dataManager: DataManager;
28
+ protected readonly isFDv2: boolean;
29
+ protected readonly dataSystemConfig?: InternalDataSystemOptions;
27
30
  protected readonly environmentMetadata: LDPluginEnvironmentMetadata;
28
31
  private _hookRunner;
29
32
  private _inspectorManager;
@@ -31,6 +34,9 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
31
34
  protected initializedPromise?: Promise<LDWaitForInitializationResult>;
32
35
  protected initResolve?: (result: LDWaitForInitializationResult) => void;
33
36
  protected initializeResult?: LDWaitForInitializationResult;
37
+ private _requiresStart;
38
+ protected initialContext?: LDContext;
39
+ protected startPromise?: Promise<LDWaitForInitializationResult>;
34
40
  /**
35
41
  * Creates the client object synchronously. No async, no network calls.
36
42
  */
@@ -51,6 +57,15 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
51
57
  protected presetFlags(newFlags: {
52
58
  [key: string]: ItemDescriptor;
53
59
  }): void;
60
+ /**
61
+ * Starts the client and returns a promise that resolves to the initialization result.
62
+ *
63
+ * This method is idempotent - calling it multiple times returns the same promise.
64
+ *
65
+ * @param options Optional configuration. See {@link LDStartOptions}.
66
+ * @returns A promise that resolves to the initialization result.
67
+ */
68
+ start(options?: LDStartOptions): Promise<LDWaitForInitializationResult>;
54
69
  /**
55
70
  * Identifies a context to LaunchDarkly. See {@link LDClient.identify}.
56
71
  *
@@ -84,18 +99,14 @@ export default class LDClientImpl implements LDClient, LDClientIdentifyResult {
84
99
  protected maybeSetInitializationResult(result: LDWaitForInitializationResult): void;
85
100
  waitForInitialization(options?: LDWaitForInitializationOptions): Promise<LDWaitForInitializationResult>;
86
101
  /**
87
- * Apply a timeout promise to a base promise. This is for use with waitForInitialization.
102
+ * Apply a timeout promise to a base promise. This is for use with waitForInitialization
103
+ * and start.
88
104
  *
89
105
  * @param basePromise The promise to race against a timeout.
90
106
  * @param timeout The timeout in seconds.
91
107
  * @returns A promise that resolves to the initialization result or timeout.
92
- *
93
- * @privateRemarks
94
- * This method is protected because it is used by the browser SDK's `start` method.
95
- * Eventually, the start method will be moved to this common implementation and this method will
96
- * be made private.
97
108
  */
98
- protected promiseWithTimeout(basePromise: Promise<LDWaitForInitializationResult>, timeout: number): Promise<LDWaitForInitializationResult>;
109
+ private _promiseWithTimeout;
99
110
  on(eventName: EventName, listener: Function): void;
100
111
  off(eventName: EventName, listener: Function): void;
101
112
  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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"}
@@ -0,0 +1,19 @@
1
+ import { LDIdentifyOptions } from './LDIdentifyOptions';
2
+ import { LDWaitForInitializationOptions } from './LDWaitForInitialization';
3
+ export interface LDStartOptions extends LDWaitForInitializationOptions {
4
+ /**
5
+ * Optional bootstrap data to use for the identify operation.
6
+ * If {@link LDIdentifyOptions.bootstrap} is provided in identifyOptions, it takes precedence.
7
+ */
8
+ bootstrap?: unknown;
9
+ /**
10
+ * Optional identify options to use for the identify operation.
11
+ * See {@link LDIdentifyOptions} for more information.
12
+ *
13
+ * @remarks
14
+ * Since the first identify option should never be sheddable, the sheddable option is omitted
15
+ * from the interface to avoid confusion.
16
+ */
17
+ identifyOptions?: Omit<LDIdentifyOptions, 'sheddable'>;
18
+ }
19
+ //# sourceMappingURL=LDStartOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LDStartOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDStartOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAE3E,MAAM,WAAW,cAAe,SAAQ,8BAA8B;IACpE;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;CACxD"}
@@ -8,6 +8,7 @@ export * from './LDIdentifyOptions';
8
8
  export * from './LDInspection';
9
9
  export * from './LDIdentifyResult';
10
10
  export * from './LDPlugin';
11
+ export * from './LDStartOptions';
11
12
  export * from './LDWaitForInitialization';
12
13
  export * from './LDContext';
13
14
  export * from './datasource';
@@ -1 +1 @@
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;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,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;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ApplicationTags, internal, LDFlagSet, LDLogger, LDPluginEnvironmentMetadata, ServiceEndpoints } from '@launchdarkly/js-sdk-common';
2
2
  import { Hook, type LDOptions } from '../api';
3
+ import { LDContext } from '../api/LDContext';
3
4
  import { LDInspection } from '../api/LDInspection';
4
5
  import type { InternalDataSystemOptions, PlatformDataSystemDefaults } from '../datasource/LDClientDataSystemOptions';
5
6
  export interface LDClientInternalOptions extends internal.LDInternalOptions {
@@ -8,6 +9,15 @@ export interface LDClientInternalOptions extends internal.LDInternalOptions {
8
9
  credentialType: 'clientSideId' | 'mobileKey';
9
10
  getLegacyStorageKeys?: () => string[];
10
11
  dataSystemDefaults?: PlatformDataSystemDefaults;
12
+ /**
13
+ * When true, the SDK requires `start()` to be called before `identify()`.
14
+ * Set this value to `true` to use the new initialization pattern.
15
+ */
16
+ requiresStart?: boolean;
17
+ /**
18
+ * The initial context to use when starting the client.
19
+ */
20
+ initialContext?: LDContext;
11
21
  }
12
22
  export interface Configuration {
13
23
  readonly logger: LDLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/Configuration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CacheInitializer.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/CacheInitializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAY,QAAQ,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAe3F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB"}
1
+ {"version":3,"file":"CacheInitializer.d.ts","sourceRoot":"","sources":["../../../src/datasource/fdv2/CacheInitializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAY,QAAQ,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAS3F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,uBAAuB;IACvB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB"}
@@ -6,7 +6,7 @@ import LDClientImpl from './LDClientImpl';
6
6
  import LDEmitter, { EventName } from './LDEmitter';
7
7
  export * from '@launchdarkly/js-sdk-common';
8
8
  export * as platform from '@launchdarkly/js-sdk-common';
9
- export type { LDEvaluationDetail, LDEvaluationDetailTyped, LDClient, LDOptions, ConnectionMode, LDIdentifyOptions, Hook, HookMetadata, EvaluationSeriesContext, EvaluationSeriesData, IdentifySeriesContext, IdentifySeriesData, IdentifySeriesResult, IdentifySeriesStatus, TrackSeriesContext, LDInspection, LDIdentifyResult, LDIdentifySuccess, LDIdentifyError, LDIdentifyTimeout, LDIdentifyShed, LDClientIdentifyResult, LDPluginBase, LDWaitForInitializationOptions, LDWaitForInitializationResult, LDWaitForInitializationComplete, LDWaitForInitializationFailed, LDWaitForInitializationTimeout, LDContext, LDContextStrict, } from './api';
9
+ export type { LDEvaluationDetail, LDEvaluationDetailTyped, LDClient, LDOptions, ConnectionMode, LDIdentifyOptions, Hook, HookMetadata, EvaluationSeriesContext, EvaluationSeriesData, IdentifySeriesContext, IdentifySeriesData, IdentifySeriesResult, IdentifySeriesStatus, TrackSeriesContext, LDInspection, LDIdentifyResult, LDIdentifySuccess, LDIdentifyError, LDIdentifyTimeout, LDIdentifyShed, LDClientIdentifyResult, LDPluginBase, LDWaitForInitializationOptions, LDWaitForInitializationResult, LDWaitForInitializationComplete, LDWaitForInitializationFailed, LDWaitForInitializationTimeout, LDStartOptions, LDContext, LDContextStrict, } from './api';
10
10
  export type { DataManager, DataManagerFactory, ConnectionParams } from './DataManager';
11
11
  export type { FlagManager, LDDebugOverride } from './flag-manager/FlagManager';
12
12
  export { safeRegisterDebugOverridePlugins } from './plugins/safeRegisterDebugOverridePlugins';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -999,6 +999,46 @@ class EventFactory extends internal.EventFactoryBase {
999
999
  }
1000
1000
  }
1001
1001
 
1002
+ function readFlagsFromBootstrap(logger, data) {
1003
+ // If the bootstrap data came from an older server-side SDK, we'll have just a map of keys to values.
1004
+ // Newer SDKs that have an allFlagsState method will provide an extra "$flagsState" key that contains
1005
+ // the rest of the metadata we want. We do it this way for backward compatibility with older JS SDKs.
1006
+ const keys = Object.keys(data);
1007
+ const metadataKey = '$flagsState';
1008
+ const validKey = '$valid';
1009
+ const metadata = data[metadataKey];
1010
+ if (!metadata && keys.length) {
1011
+ logger.warn('LaunchDarkly client was initialized with bootstrap data that did not include flag' +
1012
+ ' metadata. Events may not be sent correctly.');
1013
+ }
1014
+ if (data[validKey] === false) {
1015
+ logger.warn('LaunchDarkly bootstrap data is not available because the back end could not read the flags.');
1016
+ }
1017
+ const ret = {};
1018
+ keys.forEach((key) => {
1019
+ if (key !== metadataKey && key !== validKey) {
1020
+ let flag;
1021
+ if (metadata && metadata[key]) {
1022
+ flag = {
1023
+ value: data[key],
1024
+ ...metadata[key],
1025
+ };
1026
+ }
1027
+ else {
1028
+ flag = {
1029
+ value: data[key],
1030
+ version: 0,
1031
+ };
1032
+ }
1033
+ ret[key] = {
1034
+ version: flag.version,
1035
+ flag,
1036
+ };
1037
+ }
1038
+ });
1039
+ return ret;
1040
+ }
1041
+
1002
1042
  /**
1003
1043
  * Suffix appended to context storage keys to form the freshness storage key.
1004
1044
  */
@@ -1927,6 +1967,10 @@ class LDClientImpl {
1927
1967
  this._eventFactoryWithReasons = new EventFactory(true);
1928
1968
  this._eventSendingEnabled = false;
1929
1969
  this._identifyQueue = createAsyncTaskQueue();
1970
+ // NOTE: this is used to ease the transition to the new initialization pattern.
1971
+ // All client SDKs should set this to true with the exception of React Native which is
1972
+ // still using the deprecated construct + identify pattern.
1973
+ this._requiresStart = false;
1930
1974
  if (!sdkKey) {
1931
1975
  throw new Error('You must configure the client with a client-side SDK key');
1932
1976
  }
@@ -1935,6 +1979,8 @@ class LDClientImpl {
1935
1979
  }
1936
1980
  this._config = new ConfigurationImpl(options, internalOptions);
1937
1981
  this.logger = this._config.logger;
1982
+ this._requiresStart = internalOptions?.requiresStart ?? false;
1983
+ this.initialContext = internalOptions?.initialContext;
1938
1984
  this._baseHeaders = defaultHeaders(this.sdkKey, this.platform.info, this._config.tags, this._config.serviceEndpoints.includeAuthorizationHeader, this._config.userAgentHeaderName);
1939
1985
  this._flagManager = new DefaultFlagManager(this.platform, sdkKey, this._config.maxCachedContexts, this._config.disableCache ?? false, this._config.logger);
1940
1986
  this._diagnosticsManager = createDiagnosticsManager(sdkKey, this._config, platform);
@@ -1952,6 +1998,8 @@ class LDClientImpl {
1952
1998
  });
1953
1999
  });
1954
2000
  this.dataManager = dataManagerFactory(this._flagManager, this._config, this._baseHeaders, this.emitter, this._diagnosticsManager);
2001
+ this.isFDv2 = !!this._config.dataSystem;
2002
+ this.dataSystemConfig = this._config.dataSystem;
1955
2003
  const hooks = [...this._config.hooks];
1956
2004
  this.environmentMetadata = createPluginEnvironmentMetadata(this.sdkKey, this.platform, this._config);
1957
2005
  this._config.getImplementationHooks(this.environmentMetadata).forEach((hook) => {
@@ -2029,6 +2077,57 @@ class LDClientImpl {
2029
2077
  presetFlags(newFlags) {
2030
2078
  this._flagManager.presetFlags(newFlags);
2031
2079
  }
2080
+ /**
2081
+ * Starts the client and returns a promise that resolves to the initialization result.
2082
+ *
2083
+ * This method is idempotent - calling it multiple times returns the same promise.
2084
+ *
2085
+ * @param options Optional configuration. See {@link LDStartOptions}.
2086
+ * @returns A promise that resolves to the initialization result.
2087
+ */
2088
+ start(options) {
2089
+ if (this.initializeResult) {
2090
+ return Promise.resolve(this.initializeResult);
2091
+ }
2092
+ if (this.startPromise) {
2093
+ return this.startPromise;
2094
+ }
2095
+ if (!this.initialContext) {
2096
+ this.logger.error('Initial context not set');
2097
+ return Promise.resolve({ status: 'failed', error: new Error('Initial context not set') });
2098
+ }
2099
+ const identifyOptions = {
2100
+ ...(options?.identifyOptions ?? {}),
2101
+ // Initial identify operations are not sheddable.
2102
+ sheddable: false,
2103
+ };
2104
+ // If the bootstrap data is provided in the start options, and the identify options do not
2105
+ // have bootstrap data, then use the bootstrap data from the start options.
2106
+ if (options?.bootstrap && !identifyOptions.bootstrap) {
2107
+ identifyOptions.bootstrap = options.bootstrap;
2108
+ }
2109
+ if (identifyOptions.bootstrap) {
2110
+ try {
2111
+ if (!identifyOptions.bootstrapParsed) {
2112
+ identifyOptions.bootstrapParsed = readFlagsFromBootstrap(this.logger, identifyOptions.bootstrap);
2113
+ }
2114
+ if (identifyOptions.bootstrapParsed) {
2115
+ this.presetFlags(identifyOptions.bootstrapParsed);
2116
+ }
2117
+ }
2118
+ catch (error) {
2119
+ this.logger.error('Failed to bootstrap data', error);
2120
+ }
2121
+ }
2122
+ if (!this.initializedPromise) {
2123
+ this.initializedPromise = new Promise((resolve) => {
2124
+ this.initResolve = resolve;
2125
+ });
2126
+ }
2127
+ this.startPromise = this._promiseWithTimeout(this.initializedPromise, options?.timeout ?? 5, 'start');
2128
+ this.identifyResult(this.initialContext, identifyOptions);
2129
+ return this.startPromise;
2130
+ }
2032
2131
  /**
2033
2132
  * Identifies a context to LaunchDarkly. See {@link LDClient.identify}.
2034
2133
  *
@@ -2066,6 +2165,10 @@ class LDClientImpl {
2066
2165
  // If completed or shed, then we are done.
2067
2166
  }
2068
2167
  async identifyResult(pristineContext, identifyOptions) {
2168
+ if (this._requiresStart && !this.startPromise) {
2169
+ this.logger.error('The client must be started before a context can be identified. Call start() prior to identifying a context.');
2170
+ return { status: 'error', error: new Error('Identify called before start') };
2171
+ }
2069
2172
  const identifyTimeout = identifyOptions?.timeout ?? DEFAULT_IDENTIFY_TIMEOUT_SECONDS;
2070
2173
  const noTimeout = identifyOptions?.timeout === undefined && identifyOptions?.noTimeout === true;
2071
2174
  // When noTimeout is specified, and a timeout is not specified, then this condition cannot
@@ -2175,7 +2278,7 @@ class LDClientImpl {
2175
2278
  // If waitForInitialization was previously called, then return the promise with a timeout.
2176
2279
  // This condition should only be triggered if waitForInitialization was called multiple times.
2177
2280
  if (this.initializedPromise) {
2178
- return this.promiseWithTimeout(this.initializedPromise, timeout);
2281
+ return this._promiseWithTimeout(this.initializedPromise, timeout);
2179
2282
  }
2180
2283
  // Create a new promise for tracking initialization
2181
2284
  if (!this.initializedPromise) {
@@ -2183,22 +2286,18 @@ class LDClientImpl {
2183
2286
  this.initResolve = resolve;
2184
2287
  });
2185
2288
  }
2186
- return this.promiseWithTimeout(this.initializedPromise, timeout);
2289
+ return this._promiseWithTimeout(this.initializedPromise, timeout);
2187
2290
  }
2188
2291
  /**
2189
- * Apply a timeout promise to a base promise. This is for use with waitForInitialization.
2292
+ * Apply a timeout promise to a base promise. This is for use with waitForInitialization
2293
+ * and start.
2190
2294
  *
2191
2295
  * @param basePromise The promise to race against a timeout.
2192
2296
  * @param timeout The timeout in seconds.
2193
2297
  * @returns A promise that resolves to the initialization result or timeout.
2194
- *
2195
- * @privateRemarks
2196
- * This method is protected because it is used by the browser SDK's `start` method.
2197
- * Eventually, the start method will be moved to this common implementation and this method will
2198
- * be made private.
2199
2298
  */
2200
- promiseWithTimeout(basePromise, timeout) {
2201
- const cancelableTimeout = cancelableTimedPromise(timeout, 'waitForInitialization');
2299
+ _promiseWithTimeout(basePromise, timeout, label = 'waitForInitialization') {
2300
+ const cancelableTimeout = cancelableTimedPromise(timeout, label);
2202
2301
  return Promise.race([
2203
2302
  basePromise.then((res) => {
2204
2303
  cancelableTimeout.cancel();
@@ -2428,46 +2527,6 @@ function safeRegisterDebugOverridePlugins(logger, debugOverride, plugins) {
2428
2527
  });
2429
2528
  }
2430
2529
 
2431
- function readFlagsFromBootstrap(logger, data) {
2432
- // If the bootstrap data came from an older server-side SDK, we'll have just a map of keys to values.
2433
- // Newer SDKs that have an allFlagsState method will provide an extra "$flagsState" key that contains
2434
- // the rest of the metadata we want. We do it this way for backward compatibility with older JS SDKs.
2435
- const keys = Object.keys(data);
2436
- const metadataKey = '$flagsState';
2437
- const validKey = '$valid';
2438
- const metadata = data[metadataKey];
2439
- if (!metadata && keys.length) {
2440
- logger.warn('LaunchDarkly client was initialized with bootstrap data that did not include flag' +
2441
- ' metadata. Events may not be sent correctly.');
2442
- }
2443
- if (data[validKey] === false) {
2444
- logger.warn('LaunchDarkly bootstrap data is not available because the back end could not read the flags.');
2445
- }
2446
- const ret = {};
2447
- keys.forEach((key) => {
2448
- if (key !== metadataKey && key !== validKey) {
2449
- let flag;
2450
- if (metadata && metadata[key]) {
2451
- flag = {
2452
- value: data[key],
2453
- ...metadata[key],
2454
- };
2455
- }
2456
- else {
2457
- flag = {
2458
- value: data[key],
2459
- version: 0,
2460
- };
2461
- }
2462
- ret[key] = {
2463
- version: flag.version,
2464
- flag,
2465
- };
2466
- }
2467
- });
2468
- return ret;
2469
- }
2470
-
2471
2530
  /**
2472
2531
  * Creates endpoint paths for browser (client-side ID) FDv1 evaluation.
2473
2532
  *
@@ -3190,12 +3249,12 @@ async function loadFromCache(config) {
3190
3249
  const { storage, crypto, environmentNamespace, context, logger } = config;
3191
3250
  if (!storage) {
3192
3251
  logger?.debug('No storage available for cache initializer');
3193
- return interrupted(errorInfoFromUnknown('No storage available'), false);
3252
+ return changeSet({ version: 0, type: 'none', updates: [] }, false);
3194
3253
  }
3195
3254
  const cached = await loadCachedFlags(storage, crypto, environmentNamespace, context, logger);
3196
3255
  if (!cached) {
3197
3256
  logger?.debug('Cache miss for context');
3198
- return interrupted(errorInfoFromUnknown('Cache miss'), false);
3257
+ return changeSet({ version: 0, type: 'none', updates: [] }, false);
3199
3258
  }
3200
3259
  const updates = Object.entries(cached.flags).map(([key, flag]) => ({
3201
3260
  kind: 'flag-eval',
@@ -4456,16 +4515,16 @@ function createFDv2DataSource(config) {
4456
4515
  if (closed) {
4457
4516
  return;
4458
4517
  }
4459
- if (result.type === 'changeSet') {
4518
+ if (result.type === 'changeSet' && result.payload.type !== 'none') {
4460
4519
  applyChangeSet(result);
4461
4520
  if (handleFdv1Fallback(result)) {
4462
- // FDv1 fallback triggered during initialization data was received
4521
+ // FDv1 fallback triggered during initialization -- data was received
4463
4522
  // but we should move to synchronizers where the FDv1 adapter will run.
4464
4523
  dataReceived = true;
4465
4524
  break;
4466
4525
  }
4467
4526
  if (result.payload.state) {
4468
- // Got basis data with a selector initialization is complete.
4527
+ // Got basis data with a selector -- initialization is complete.
4469
4528
  markInitialized();
4470
4529
  return;
4471
4530
  }