@launchdarkly/js-client-sdk-common 1.8.0 → 1.9.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 (118) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/DataManager.d.ts +15 -0
  3. package/dist/DataManager.d.ts.map +1 -1
  4. package/dist/HookRunner.d.ts +12 -0
  5. package/dist/HookRunner.d.ts.map +1 -0
  6. package/dist/LDClientImpl.d.ts +6 -5
  7. package/dist/LDClientImpl.d.ts.map +1 -1
  8. package/dist/LDEmitter.d.ts +13 -1
  9. package/dist/LDEmitter.d.ts.map +1 -1
  10. package/dist/api/LDClient.d.ts +13 -0
  11. package/dist/api/LDClient.d.ts.map +1 -1
  12. package/dist/api/LDOptions.d.ts +21 -2
  13. package/dist/api/LDOptions.d.ts.map +1 -1
  14. package/dist/api/index.d.ts +1 -0
  15. package/dist/api/index.d.ts.map +1 -1
  16. package/dist/api/integrations/Hooks.d.ts +133 -0
  17. package/dist/api/integrations/Hooks.d.ts.map +1 -0
  18. package/dist/api/integrations/index.d.ts +2 -0
  19. package/dist/api/integrations/index.d.ts.map +1 -0
  20. package/dist/configuration/Configuration.d.ts +6 -7
  21. package/dist/configuration/Configuration.d.ts.map +1 -1
  22. package/dist/configuration/validators.d.ts.map +1 -1
  23. package/dist/context/addAutoEnv.d.ts +1 -1
  24. package/dist/datasource/DataSourceEventHandler.d.ts +16 -0
  25. package/dist/datasource/DataSourceEventHandler.d.ts.map +1 -0
  26. package/dist/datasource/DataSourceStatus.d.ts +39 -0
  27. package/dist/datasource/DataSourceStatus.d.ts.map +1 -0
  28. package/dist/datasource/DataSourceStatusErrorInfo.d.ts +8 -0
  29. package/dist/datasource/DataSourceStatusErrorInfo.d.ts.map +1 -0
  30. package/dist/datasource/DataSourceStatusManager.d.ts +40 -0
  31. package/dist/datasource/DataSourceStatusManager.d.ts.map +1 -0
  32. package/dist/flag-manager/FlagManager.d.ts +10 -0
  33. package/dist/flag-manager/FlagManager.d.ts.map +1 -1
  34. package/dist/index.cjs +1686 -0
  35. package/dist/index.cjs.map +1 -0
  36. package/dist/index.d.ts +8 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.mjs +1659 -0
  39. package/dist/index.mjs.map +1 -0
  40. package/dist/polling/PollingProcessor.d.ts.map +1 -1
  41. package/dist/streaming/DataSourceConfig.d.ts +4 -0
  42. package/dist/streaming/DataSourceConfig.d.ts.map +1 -1
  43. package/dist/streaming/StreamingProcessor.d.ts.map +1 -1
  44. package/dist/types/index.d.ts +3 -3
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/package.json +18 -7
  47. package/dist/DataManager.js +0 -98
  48. package/dist/DataManager.js.map +0 -1
  49. package/dist/LDClientImpl.js +0 -334
  50. package/dist/LDClientImpl.js.map +0 -1
  51. package/dist/LDEmitter.js +0 -64
  52. package/dist/LDEmitter.js.map +0 -1
  53. package/dist/api/ConnectionMode.js +0 -3
  54. package/dist/api/ConnectionMode.js.map +0 -1
  55. package/dist/api/LDClient.js +0 -3
  56. package/dist/api/LDClient.js.map +0 -1
  57. package/dist/api/LDEvaluationDetail.js +0 -3
  58. package/dist/api/LDEvaluationDetail.js.map +0 -1
  59. package/dist/api/LDIdentifyOptions.js +0 -3
  60. package/dist/api/LDIdentifyOptions.js.map +0 -1
  61. package/dist/api/LDOptions.js +0 -3
  62. package/dist/api/LDOptions.js.map +0 -1
  63. package/dist/api/index.js +0 -21
  64. package/dist/api/index.js.map +0 -1
  65. package/dist/configuration/Configuration.js +0 -79
  66. package/dist/configuration/Configuration.js.map +0 -1
  67. package/dist/configuration/index.js +0 -8
  68. package/dist/configuration/index.js.map +0 -1
  69. package/dist/configuration/validators.js +0 -29
  70. package/dist/configuration/validators.js.map +0 -1
  71. package/dist/context/addAutoEnv.js +0 -113
  72. package/dist/context/addAutoEnv.js.map +0 -1
  73. package/dist/context/ensureKey.js +0 -72
  74. package/dist/context/ensureKey.js.map +0 -1
  75. package/dist/crypto/digest.js +0 -14
  76. package/dist/crypto/digest.js.map +0 -1
  77. package/dist/diagnostics/createDiagnosticsInitConfig.js +0 -19
  78. package/dist/diagnostics/createDiagnosticsInitConfig.js.map +0 -1
  79. package/dist/diagnostics/createDiagnosticsManager.js +0 -12
  80. package/dist/diagnostics/createDiagnosticsManager.js.map +0 -1
  81. package/dist/evaluation/evaluationDetail.js +0 -20
  82. package/dist/evaluation/evaluationDetail.js.map +0 -1
  83. package/dist/events/EventFactory.js +0 -25
  84. package/dist/events/EventFactory.js.map +0 -1
  85. package/dist/events/createEventProcessor.js +0 -11
  86. package/dist/events/createEventProcessor.js.map +0 -1
  87. package/dist/flag-manager/ContextIndex.js +0 -64
  88. package/dist/flag-manager/ContextIndex.js.map +0 -1
  89. package/dist/flag-manager/FlagManager.js +0 -48
  90. package/dist/flag-manager/FlagManager.js.map +0 -1
  91. package/dist/flag-manager/FlagPersistence.js +0 -120
  92. package/dist/flag-manager/FlagPersistence.js.map +0 -1
  93. package/dist/flag-manager/FlagStore.js +0 -31
  94. package/dist/flag-manager/FlagStore.js.map +0 -1
  95. package/dist/flag-manager/FlagUpdater.js +0 -69
  96. package/dist/flag-manager/FlagUpdater.js.map +0 -1
  97. package/dist/flag-manager/ItemDescriptor.js +0 -3
  98. package/dist/flag-manager/ItemDescriptor.js.map +0 -1
  99. package/dist/flag-manager/calculateChangedKeys.js +0 -22
  100. package/dist/flag-manager/calculateChangedKeys.js.map +0 -1
  101. package/dist/index.js +0 -26
  102. package/dist/index.js.map +0 -1
  103. package/dist/polling/PollingProcessor.js +0 -96
  104. package/dist/polling/PollingProcessor.js.map +0 -1
  105. package/dist/polling/Requestor.js +0 -48
  106. package/dist/polling/Requestor.js.map +0 -1
  107. package/dist/storage/getOrGenerateKey.js +0 -21
  108. package/dist/storage/getOrGenerateKey.js.map +0 -1
  109. package/dist/storage/namespaceUtils.js +0 -62
  110. package/dist/storage/namespaceUtils.js.map +0 -1
  111. package/dist/streaming/DataSourceConfig.js +0 -3
  112. package/dist/streaming/DataSourceConfig.js.map +0 -1
  113. package/dist/streaming/StreamingProcessor.js +0 -126
  114. package/dist/streaming/StreamingProcessor.js.map +0 -1
  115. package/dist/streaming/index.js +0 -6
  116. package/dist/streaming/index.js.map +0 -1
  117. package/dist/types/index.js +0 -3
  118. package/dist/types/index.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.9.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.8.0...js-client-sdk-common-v1.9.0) (2024-10-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * Add basic secure mode support for browser SDK. ([#598](https://github.com/launchdarkly/js-core/issues/598)) ([3389983](https://github.com/launchdarkly/js-core/commit/33899830781affbe986f3bb9df35e5c908884f99))
9
+ * Add bootstrap support. ([#600](https://github.com/launchdarkly/js-core/issues/600)) ([4e5dbee](https://github.com/launchdarkly/js-core/commit/4e5dbee48d6bb236b5febd872c910e809058a012))
10
+ * Add ESM support for common and common-client (rollup) ([#604](https://github.com/launchdarkly/js-core/issues/604)) ([8cd0cdc](https://github.com/launchdarkly/js-core/commit/8cd0cdce988f606b1efdf6bfd19484f6607db2e5))
11
+ * Add support for hooks. ([#605](https://github.com/launchdarkly/js-core/issues/605)) ([04d347b](https://github.com/launchdarkly/js-core/commit/04d347b25e01015134a2545be22bfd8b1d1e85cc))
12
+ * Add visibility handling to allow proactive event flushing. ([#607](https://github.com/launchdarkly/js-core/issues/607)) ([819a311](https://github.com/launchdarkly/js-core/commit/819a311db6f56e323bb84c925789ad4bd19ae4ba))
13
+ * adds datasource status to sdk-client ([#590](https://github.com/launchdarkly/js-core/issues/590)) ([6f26204](https://github.com/launchdarkly/js-core/commit/6f262045b76836e5d2f5ccc2be433094993fcdbb))
14
+ * adds support for individual flag change listeners ([#608](https://github.com/launchdarkly/js-core/issues/608)) ([da31436](https://github.com/launchdarkly/js-core/commit/da3143654331d7d2fd8ba76d9d995855dbf6c7a1))
15
+ * Browser-SDK Automatically start streaming based on event handlers. ([#592](https://github.com/launchdarkly/js-core/issues/592)) ([f2e5cbf](https://github.com/launchdarkly/js-core/commit/f2e5cbf1d0b3ae39a95881fecdcbefc11e9d0363))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * Ensure client logger is always wrapped in a safe logger. ([#599](https://github.com/launchdarkly/js-core/issues/599)) ([980e4da](https://github.com/launchdarkly/js-core/commit/980e4daaf32864e18f14b1e5e28e308dff0ae94f))
21
+ * Use flagVersion in analytics events. ([#611](https://github.com/launchdarkly/js-core/issues/611)) ([35fa033](https://github.com/launchdarkly/js-core/commit/35fa0332dc1553c82afd75c9a4770a4833f2dca3))
22
+
23
+
24
+ ### Dependencies
25
+
26
+ * The following workspace dependencies were updated
27
+ * dependencies
28
+ * @launchdarkly/js-sdk-common bumped from 2.9.0 to 2.10.0
29
+
3
30
  ## [1.8.0](https://github.com/launchdarkly/js-core/compare/js-client-sdk-common-v1.7.0...js-client-sdk-common-v1.8.0) (2024-09-26)
4
31
 
5
32
 
@@ -1,6 +1,7 @@
1
1
  import { Context, EventName, internal, LDContext, LDHeaders, LDLogger, Platform, ProcessStreamResponse, subsystem } from '@launchdarkly/js-sdk-common';
2
2
  import { LDIdentifyOptions } from './api/LDIdentifyOptions';
3
3
  import { Configuration } from './configuration/Configuration';
4
+ import DataSourceStatusManager from './datasource/DataSourceStatusManager';
4
5
  import { FlagManager } from './flag-manager/FlagManager';
5
6
  import LDEmitter from './LDEmitter';
6
7
  import { DataSourcePaths } from './streaming';
@@ -27,6 +28,12 @@ export interface DataManager {
27
28
  export interface DataManagerFactory {
28
29
  (flagManager: FlagManager, configuration: Configuration, baseHeaders: LDHeaders, emitter: LDEmitter, diagnosticsManager?: internal.DiagnosticsManager): DataManager;
29
30
  }
31
+ export interface ConnectionParams {
32
+ queryParameters?: {
33
+ key: string;
34
+ value: string;
35
+ }[];
36
+ }
30
37
  export declare abstract class BaseDataManager implements DataManager {
31
38
  protected readonly platform: Platform;
32
39
  protected readonly flagManager: FlagManager;
@@ -40,10 +47,18 @@ export declare abstract class BaseDataManager implements DataManager {
40
47
  protected updateProcessor?: subsystem.LDStreamProcessor;
41
48
  protected readonly logger: LDLogger;
42
49
  protected context?: Context;
50
+ private connectionParams?;
51
+ protected readonly dataSourceStatusManager: DataSourceStatusManager;
52
+ private readonly dataSourceEventHandler;
43
53
  constructor(platform: Platform, flagManager: FlagManager, credential: string, config: Configuration, getPollingPaths: () => DataSourcePaths, getStreamingPaths: () => DataSourcePaths, baseHeaders: LDHeaders, emitter: LDEmitter, diagnosticsManager?: internal.DiagnosticsManager | undefined);
54
+ /**
55
+ * Set additional connection parameters for requests polling/streaming.
56
+ */
57
+ protected setConnectionParams(connectionParams?: ConnectionParams): void;
44
58
  abstract identify(identifyResolve: () => void, identifyReject: (err: Error) => void, context: Context, identifyOptions?: LDIdentifyOptions): Promise<void>;
45
59
  protected createPollingProcessor(context: LDContext, checkedContext: Context, identifyResolve?: () => void, identifyReject?: (err: Error) => void): void;
46
60
  protected createStreamingProcessor(context: LDContext, checkedContext: Context, identifyResolve?: () => void, identifyReject?: (err: Error) => void): void;
47
61
  protected createStreamListeners(context: Context, identifyResolve?: () => void): Map<EventName, ProcessStreamResponse>;
62
+ private decorateProcessorWithStatusReporting;
48
63
  }
49
64
  //# sourceMappingURL=DataManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../src/DataManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../src/DataManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { LDContext, LDLogger } from '@launchdarkly/js-sdk-common';
2
+ import { Hook, IdentifySeriesResult } from './api/integrations/Hooks';
3
+ import { LDEvaluationDetail } from './api/LDEvaluationDetail';
4
+ export default class HookRunner {
5
+ private readonly logger;
6
+ private readonly hooks;
7
+ constructor(logger: LDLogger, initialHooks: Hook[]);
8
+ withEvaluation(key: string, context: LDContext | undefined, defaultValue: unknown, method: () => LDEvaluationDetail): LDEvaluationDetail;
9
+ identify(context: LDContext, timeout: number | undefined): (result: IdentifySeriesResult) => void;
10
+ addHook(hook: Hook): void;
11
+ }
12
+ //# sourceMappingURL=HookRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HookRunner.d.ts","sourceRoot":"","sources":["../src/HookRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAGL,IAAI,EAGJ,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AA0G9D,MAAM,CAAC,OAAO,OAAO,UAAU;IAI3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;gBAGjB,MAAM,EAAE,QAAQ,EACjC,YAAY,EAAE,IAAI,EAAE;IAKtB,cAAc,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,MAAM,kBAAkB,GAC/B,kBAAkB;IAiBrB,QAAQ,CACN,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI;IAYzC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;CAG1B"}
@@ -1,10 +1,10 @@
1
1
  import { AutoEnvAttributes, Context, internal, LDContext, LDFlagSet, LDFlagValue, LDLogger, Platform } from '@launchdarkly/js-sdk-common';
2
- import { LDClient, type LDOptions } from './api';
2
+ import { Hook, LDClient, type LDOptions } 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 { EventName } from './LDEmitter';
7
+ import LDEmitter, { EventName } from './LDEmitter';
8
8
  export default class LDClientImpl implements LDClient {
9
9
  readonly sdkKey: string;
10
10
  readonly autoEnvAttributes: AutoEnvAttributes;
@@ -20,11 +20,12 @@ export default class LDClientImpl implements LDClient {
20
20
  private readonly highTimeoutThreshold;
21
21
  private eventFactoryDefault;
22
22
  private eventFactoryWithReasons;
23
- private emitter;
23
+ protected emitter: LDEmitter;
24
24
  private flagManager;
25
25
  private eventSendingEnabled;
26
26
  private baseHeaders;
27
27
  protected dataManager: DataManager;
28
+ private hookRunner;
28
29
  /**
29
30
  * Creates the client object synchronously. No async, no network calls.
30
31
  */
@@ -37,7 +38,6 @@ export default class LDClientImpl implements LDClient {
37
38
  }>;
38
39
  getContext(): LDContext | undefined;
39
40
  protected getInternalContext(): Context | undefined;
40
- private createStreamListeners;
41
41
  private createIdentifyPromise;
42
42
  /**
43
43
  * Identifies a context to LaunchDarkly. See {@link LDClient.identify}.
@@ -55,8 +55,8 @@ export default class LDClientImpl implements LDClient {
55
55
  * 3. A network error is encountered during initialization.
56
56
  */
57
57
  identify(pristineContext: LDContext, identifyOptions?: LDIdentifyOptions): Promise<void>;
58
- off(eventName: EventName, listener: Function): void;
59
58
  on(eventName: EventName, listener: Function): void;
59
+ off(eventName: EventName, listener: Function): void;
60
60
  track(key: string, data?: any, metricValue?: number): void;
61
61
  private variationInternal;
62
62
  variation(flagKey: string, defaultValue?: LDFlagValue): LDFlagValue;
@@ -70,6 +70,7 @@ export default class LDClientImpl implements LDClient {
70
70
  numberVariationDetail(key: string, defaultValue: number): LDEvaluationDetailTyped<number>;
71
71
  stringVariationDetail(key: string, defaultValue: string): LDEvaluationDetailTyped<string>;
72
72
  jsonVariationDetail(key: string, defaultValue: unknown): LDEvaluationDetailTyped<unknown>;
73
+ addHook(hook: Hook): void;
73
74
  /**
74
75
  * Enable/Disable event sending.
75
76
  * @param enabled True to enable event processing, false to disable.
@@ -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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"}
@@ -1,5 +1,16 @@
1
1
  import { LDLogger } from '@launchdarkly/js-sdk-common';
2
- export type EventName = 'error' | 'change';
2
+ type FlagChangeKey = `change:${string}`;
3
+ /**
4
+ * Type for name of emitted events. 'change' is used for all flag changes. 'change:flag-name-here' is used
5
+ * for specific flag changes.
6
+ */
7
+ export type EventName = 'change' | FlagChangeKey | 'dataSourceStatus' | 'error';
8
+ /**
9
+ * Implementation Note: There should not be any default listeners for change events in a client
10
+ * implementation. Default listeners mean a client cannot determine when there are actual
11
+ * application developer provided listeners. If we require default listeners, then we should add
12
+ * a system to allow listeners which have counts independent of the primary listener counts.
13
+ */
3
14
  export default class LDEmitter {
4
15
  private logger?;
5
16
  private listeners;
@@ -17,4 +28,5 @@ export default class LDEmitter {
17
28
  eventNames(): string[];
18
29
  listenerCount(name: EventName): number;
19
30
  }
31
+ export {};
20
32
  //# sourceMappingURL=LDEmitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LDEmitter.d.ts","sourceRoot":"","sources":["../src/LDEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,SAAS;IAGhB,OAAO,CAAC,MAAM,CAAC;IAF3B,OAAO,CAAC,SAAS,CAAyC;gBAEtC,MAAM,CAAC,sBAAU;IAErC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IAQtC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAqBxC,OAAO,CAAC,cAAc;IAQtB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAKtC,UAAU,IAAI,MAAM,EAAE;IAItB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAGvC"}
1
+ {"version":3,"file":"LDEmitter.d.ts","sourceRoot":"","sources":["../src/LDEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,KAAK,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAGhB,OAAO,CAAC,MAAM,CAAC;IAF3B,OAAO,CAAC,SAAS,CAAyC;gBAEtC,MAAM,CAAC,sBAAU;IAErC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IAQtC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAqBxC,OAAO,CAAC,cAAc;IAQtB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAKtC,UAAU,IAAI,MAAM,EAAE;IAItB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;CAGvC"}
@@ -1,4 +1,5 @@
1
1
  import { LDContext, LDFlagSet, LDFlagValue, LDLogger } from '@launchdarkly/js-sdk-common';
2
+ import { Hook } from './integrations/Hooks';
2
3
  import { LDEvaluationDetail, LDEvaluationDetailTyped } from './LDEvaluationDetail';
3
4
  import { LDIdentifyOptions } from './LDIdentifyOptions';
4
5
  /**
@@ -202,6 +203,9 @@ export interface LDClient {
202
203
  * The callback parameters are the context and an Error object. Errors are also output by
203
204
  * the {@link logger} at the error level.
204
205
  *
206
+ * - `"dataSourceStatus"`: Event indicating that there has been a change in the status of the
207
+ * data source. This will include the state of the data source as well any error information.
208
+ *
205
209
  * @param key
206
210
  * The name of the event for which to listen.
207
211
  * @param callback
@@ -298,5 +302,14 @@ export interface LDClient {
298
302
  * An {@link LDEvaluationDetail} object containing the value and explanation.
299
303
  */
300
304
  variationDetail(key: string, defaultValue?: LDFlagValue): LDEvaluationDetail;
305
+ /**
306
+ * Add a hook to the client. In order to register a hook before the client
307
+ * starts, please use the `hooks` property of {@link LDOptions}.
308
+ *
309
+ * Hooks provide entrypoints which allow for observation of SDK functions.
310
+ *
311
+ * @param Hook The hook to add.
312
+ */
313
+ addHook?(hook: Hook): void;
301
314
  }
302
315
  //# sourceMappingURL=LDClient.d.ts.map
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  import type { LDLogger } from '@launchdarkly/js-sdk-common';
2
+ import { Hook } from './integrations/Hooks';
2
3
  export interface LDOptions {
3
4
  /**
4
5
  * Whether all context attributes (except the context key) should be marked as private, and
@@ -100,9 +101,9 @@ export interface LDOptions {
100
101
  */
101
102
  eventsUri?: string;
102
103
  /**
103
- * Controls how often the SDK flushes events.
104
+ * The interval in between flushes of the analytics events queue, in seconds.
104
105
  *
105
- * @defaultValue 30s.
106
+ * @defaultValue 2s for browser implementations 30s for others.
106
107
  */
107
108
  flushInterval?: number;
108
109
  /**
@@ -213,5 +214,23 @@ export interface LDOptions {
213
214
  * config property.
214
215
  */
215
216
  payloadFilterKey?: string;
217
+ /**
218
+ * Initial set of hooks for the client.
219
+ *
220
+ * Hooks provide entrypoints which allow for observation of SDK functions.
221
+ *
222
+ * LaunchDarkly provides integration packages, and most applications will not
223
+ * need to implement their own hooks. Refer to the `@launchdarkly/node-server-sdk-otel`
224
+ * for instrumentation for the `@launchdarkly/node-server-sdk`.
225
+ *
226
+ * Example:
227
+ * ```typescript
228
+ * import { init } from '@launchdarkly/node-server-sdk';
229
+ * import { TracingHook } from '@launchdarkly/node-server-sdk-otel';
230
+ *
231
+ * const client = init('my-sdk-key', { hooks: [new TracingHook()] });
232
+ * ```
233
+ */
234
+ hooks?: Hook[];
216
235
  }
217
236
  //# sourceMappingURL=LDOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LDOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;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;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"LDOptions.d.ts","sourceRoot":"","sources":["../../src/api/LDOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;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;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB"}
@@ -2,6 +2,7 @@ import ConnectionMode from './ConnectionMode';
2
2
  export * from './LDOptions';
3
3
  export * from './LDClient';
4
4
  export * from './LDEvaluationDetail';
5
+ export * from './integrations';
5
6
  export { ConnectionMode };
6
7
  export * from './LDIdentifyOptions';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAErC,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,cAAc,qBAAqB,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"}
@@ -0,0 +1,133 @@
1
+ import { LDContext } from '@launchdarkly/js-sdk-common';
2
+ import { LDEvaluationDetail } from '../LDEvaluationDetail';
3
+ /**
4
+ * Contextual information provided to evaluation stages.
5
+ */
6
+ export interface EvaluationSeriesContext {
7
+ readonly flagKey: string;
8
+ /**
9
+ * Optional in case evaluations are performed before a context is set.
10
+ */
11
+ readonly context?: LDContext;
12
+ readonly defaultValue: unknown;
13
+ }
14
+ /**
15
+ * Implementation specific hook data for evaluation stages.
16
+ *
17
+ * Hook implementations can use this to store data needed between stages.
18
+ */
19
+ export interface EvaluationSeriesData {
20
+ readonly [index: string]: unknown;
21
+ }
22
+ /**
23
+ * Meta-data about a hook implementation.
24
+ */
25
+ export interface HookMetadata {
26
+ readonly name: string;
27
+ }
28
+ /**
29
+ * Contextual information provided to evaluation stages.
30
+ */
31
+ export interface IdentifySeriesContext {
32
+ readonly context: LDContext;
33
+ /**
34
+ * The timeout, in seconds, associated with the identify operation.
35
+ */
36
+ readonly timeout?: number;
37
+ }
38
+ /**
39
+ * Implementation specific hook data for evaluation stages.
40
+ *
41
+ * Hook implementations can use this to store data needed between stages.
42
+ */
43
+ export interface IdentifySeriesData {
44
+ readonly [index: string]: unknown;
45
+ }
46
+ /**
47
+ * The status an identify operation completed with.
48
+ */
49
+ export type IdentifySeriesStatus = 'completed' | 'error';
50
+ /**
51
+ * The result applies to a single identify operation. An operation may complete
52
+ * with an error and then later complete successfully. Only the first completion
53
+ * will be executed in the evaluation series.
54
+ */
55
+ export interface IdentifySeriesResult {
56
+ status: IdentifySeriesStatus;
57
+ }
58
+ /**
59
+ * Interface for extending SDK functionality via hooks.
60
+ */
61
+ export interface Hook {
62
+ /**
63
+ * Get metadata about the hook implementation.
64
+ */
65
+ getMetadata(): HookMetadata;
66
+ /**
67
+ * This method is called during the execution of a variation method
68
+ * before the flag value has been determined. The method is executed synchronously.
69
+ *
70
+ * @param hookContext Contains information about the evaluation being performed. This is not
71
+ * mutable.
72
+ * @param data A record associated with each stage of hook invocations. Each stage is called with
73
+ * the data of the previous stage for a series. The input record should not be modified.
74
+ * @returns Data to use when executing the next state of the hook in the evaluation series. It is
75
+ * recommended to expand the previous input into the return. This helps ensure your stage remains
76
+ * compatible moving forward as more stages are added.
77
+ * ```js
78
+ * return {...data, "my-new-field": /*my data/*}
79
+ * ```
80
+ */
81
+ beforeEvaluation?(hookContext: EvaluationSeriesContext, data: EvaluationSeriesData): EvaluationSeriesData;
82
+ /**
83
+ * This method is called during the execution of the variation method
84
+ * after the flag value has been determined. The method is executed synchronously.
85
+ *
86
+ * @param hookContext Contains read-only information about the evaluation
87
+ * being performed.
88
+ * @param data A record associated with each stage of hook invocations. Each
89
+ * stage is called with the data of the previous stage for a series.
90
+ * @param detail The result of the evaluation. This value should not be
91
+ * modified.
92
+ * @returns Data to use when executing the next state of the hook in the evaluation series. It is
93
+ * recommended to expand the previous input into the return. This helps ensure your stage remains
94
+ * compatible moving forward as more stages are added.
95
+ * ```js
96
+ * return {...data, "my-new-field": /*my data/*}
97
+ * ```
98
+ */
99
+ afterEvaluation?(hookContext: EvaluationSeriesContext, data: EvaluationSeriesData, detail: LDEvaluationDetail): EvaluationSeriesData;
100
+ /**
101
+ * This method is called during the execution of the identify process before the operation
102
+ * completes, but after any context modifications are performed.
103
+ *
104
+ * @param hookContext Contains information about the evaluation being performed. This is not
105
+ * mutable.
106
+ * @param data A record associated with each stage of hook invocations. Each stage is called with
107
+ * the data of the previous stage for a series. The input record should not be modified.
108
+ * @returns Data to use when executing the next state of the hook in the evaluation series. It is
109
+ * recommended to expand the previous input into the return. This helps ensure your stage remains
110
+ * compatible moving forward as more stages are added.
111
+ * ```js
112
+ * return {...data, "my-new-field": /*my data/*}
113
+ * ```
114
+ */
115
+ beforeIdentify?(hookContext: IdentifySeriesContext, data: IdentifySeriesData): IdentifySeriesData;
116
+ /**
117
+ * This method is called during the execution of the identify process before the operation
118
+ * completes, but after any context modifications are performed.
119
+ *
120
+ * @param hookContext Contains information about the evaluation being performed. This is not
121
+ * mutable.
122
+ * @param data A record associated with each stage of hook invocations. Each stage is called with
123
+ * the data of the previous stage for a series. The input record should not be modified.
124
+ * @returns Data to use when executing the next state of the hook in the evaluation series. It is
125
+ * recommended to expand the previous input into the return. This helps ensure your stage remains
126
+ * compatible moving forward as more stages are added.
127
+ * ```js
128
+ * return {...data, "my-new-field": /*my data/*}
129
+ * ```
130
+ */
131
+ afterIdentify?(hookContext: IdentifySeriesContext, data: IdentifySeriesData, result: IdentifySeriesResult): IdentifySeriesData;
132
+ }
133
+ //# sourceMappingURL=Hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../../src/api/integrations/Hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAOhC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,OAAO,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,WAAW,IAAI,YAAY,CAAC;IAE5B;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,CACf,WAAW,EAAE,uBAAuB,EACpC,IAAI,EAAE,oBAAoB,GACzB,oBAAoB,CAAC;IAExB;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,CACd,WAAW,EAAE,uBAAuB,EACpC,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,kBAAkB,GACzB,oBAAoB,CAAC;IAExB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,CAAC,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IAElG;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,CACZ,WAAW,EAAE,qBAAqB,EAClC,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,oBAAoB,GAC3B,kBAAkB,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export * from './Hooks';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/integrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1,13 +1,10 @@
1
1
  import { ApplicationTags, internal, LDFlagSet, LDLogger, ServiceEndpoints } from '@launchdarkly/js-sdk-common';
2
- import { type LDOptions } from '../api';
2
+ import { Hook, type LDOptions } from '../api';
3
3
  export interface LDClientInternalOptions extends internal.LDInternalOptions {
4
4
  trackEventModifier?: (event: internal.InputCustomEvent) => internal.InputCustomEvent;
5
5
  }
6
6
  export interface Configuration {
7
7
  readonly logger: LDLogger;
8
- readonly baseUri: string;
9
- readonly eventsUri: string;
10
- readonly streamUri: string;
11
8
  readonly maxCachedContexts: number;
12
9
  readonly capacity: number;
13
10
  readonly diagnosticRecordingInterval: number;
@@ -38,15 +35,16 @@ export interface Configuration {
38
35
  readonly pollInterval: number;
39
36
  readonly userAgentHeaderName: 'user-agent' | 'x-launchdarkly-user-agent';
40
37
  readonly trackEventModifier: (event: internal.InputCustomEvent) => internal.InputCustomEvent;
38
+ readonly hooks: Hook[];
41
39
  }
42
40
  declare const DEFAULT_POLLING: string;
43
41
  declare const DEFAULT_STREAM: string;
44
42
  export { DEFAULT_POLLING, DEFAULT_STREAM };
45
43
  export default class ConfigurationImpl implements Configuration {
46
44
  readonly logger: LDLogger;
47
- readonly baseUri: string;
48
- readonly eventsUri: string;
49
- readonly streamUri: string;
45
+ private readonly baseUri;
46
+ private readonly eventsUri;
47
+ private readonly streamUri;
50
48
  readonly maxCachedContexts = 5;
51
49
  readonly capacity = 100;
52
50
  readonly diagnosticRecordingInterval = 900;
@@ -76,6 +74,7 @@ export default class ConfigurationImpl implements Configuration {
76
74
  readonly serviceEndpoints: ServiceEndpoints;
77
75
  readonly pollInterval: number;
78
76
  readonly userAgentHeaderName: 'user-agent' | 'x-launchdarkly-user-agent';
77
+ readonly hooks: Hook[];
79
78
  readonly trackEventModifier: (event: internal.InputCustomEvent) => internal.InputCustomEvent;
80
79
  [index: string]: any;
81
80
  constructor(pristineOptions?: LDOptions, internalOptions?: LDClientInternalOptions);
@@ -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":"validators.d.ts","sourceRoot":"","sources":["../../src/configuration/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,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,EAAE,aAAa,EAAkB,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,aAAa,CA8BtD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -27,5 +27,5 @@ export declare const addApplicationInfo: ({ crypto, info }: Platform, { applicat
27
27
  * @return An LDDevice object with populated key and envAttributesVersion.
28
28
  */
29
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>;
30
+ export declare const addAutoEnv: (context: LDContext, platform: Platform, config: Configuration) => Promise<LDUser | LDSingleKindContext | LDMultiKindContext>;
31
31
  //# sourceMappingURL=addAutoEnv.d.ts.map
@@ -0,0 +1,16 @@
1
+ import { Context, LDLogger, LDPollingError, LDStreamingError } from '@launchdarkly/js-sdk-common';
2
+ import { FlagManager } from '../flag-manager/FlagManager';
3
+ import { DeleteFlag, Flags, PatchFlag } from '../types';
4
+ import DataSourceStatusManager from './DataSourceStatusManager';
5
+ export default class DataSourceEventHandler {
6
+ private readonly flagManager;
7
+ private readonly statusManager;
8
+ private readonly logger;
9
+ constructor(flagManager: FlagManager, statusManager: DataSourceStatusManager, logger: LDLogger);
10
+ handlePut(context: Context, flags: Flags): Promise<void>;
11
+ handlePatch(context: Context, patchFlag: PatchFlag): Promise<void>;
12
+ handleDelete(context: Context, deleteFlag: DeleteFlag): Promise<void>;
13
+ handleStreamingError(error: LDStreamingError): void;
14
+ handlePollingError(error: LDPollingError): void;
15
+ }
16
+ //# sourceMappingURL=DataSourceEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSourceEventHandler.d.ts","sourceRoot":"","sources":["../../src/datasource/DataSourceEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAElG,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAEvC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,uBAAuB,EACtC,MAAM,EAAE,QAAQ;IAG7B,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAexC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;IAQlD,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU;IAkB3D,oBAAoB,CAAC,KAAK,EAAE,gBAAgB;IAI5C,kBAAkB,CAAC,KAAK,EAAE,cAAc;CAGzC"}
@@ -0,0 +1,39 @@
1
+ import DataSourceStatusErrorInfo from './DataSourceStatusErrorInfo';
2
+ export declare enum DataSourceState {
3
+ Initializing = "INITIALIZING",
4
+ Valid = "VALID",
5
+ Interrupted = "INTERRUPTED",
6
+ SetOffline = "SET_OFFLINE",
7
+ Closed = "CLOSED"
8
+ }
9
+ export default interface DataSourceStatus {
10
+ /**
11
+ * An enumerated value representing the overall current state of the data source.
12
+ */
13
+ readonly state: DataSourceState;
14
+ /**
15
+ * The UNIX epoch timestamp in milliseconds that the value of State most recently changed.
16
+ *
17
+ * The meaning of this depends on the current state:
18
+ * For {@link DataSourceState.Initializing}, it is the time that the datasource started
19
+ * attempting to retrieve data.
20
+ *
21
+ * For {@link DataSourceState.Valid}, it is the time that the data source most
22
+ * recently entered a valid state, after previously having been
23
+ * {@link DataSourceStatus.Initializing} or an invalid state such as
24
+ * {@link DataSourceState.Interrupted}.
25
+ *
26
+ * - For {@link DataSourceState.interrupted}, it is the time that the data source
27
+ * most recently entered an error state, after previously having been
28
+ * {@link DataSourceState.valid}.
29
+ *
30
+ * For {@link DataSourceState.Closed}, it is the time that the data source
31
+ * encountered an unrecoverable error or that the datasource was explicitly closed.
32
+ */
33
+ readonly stateSince: number;
34
+ /**
35
+ * The last error encountered. May be absent after application restart.
36
+ */
37
+ readonly lastError?: DataSourceStatusErrorInfo;
38
+ }
39
+ //# sourceMappingURL=DataSourceStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSourceStatus.d.ts","sourceRoot":"","sources":["../../src/datasource/DataSourceStatus.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,UAAU,gBAAgB;IAC1B,MAAM,WAAW;CAGlB;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACvC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAEhC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,yBAAyB,CAAC;CAChD"}
@@ -0,0 +1,8 @@
1
+ import { DataSourceErrorKind } from '@launchdarkly/js-sdk-common';
2
+ export default interface DataSourceStatusErrorInfo {
3
+ readonly kind: DataSourceErrorKind;
4
+ readonly message: string;
5
+ readonly time: number;
6
+ readonly statusCode?: number;
7
+ }
8
+ //# sourceMappingURL=DataSourceStatusErrorInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSourceStatusErrorInfo.d.ts","sourceRoot":"","sources":["../../src/datasource/DataSourceStatusErrorInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,CAAC,OAAO,WAAW,yBAAyB;IAEhD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAMnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B"}