@configdirector/openfeature-server-provider 1.11.0 → 1.12.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.
@@ -24,13 +24,24 @@ interface ConfigDirectorLogger {
24
24
  interface ConfigDirectorLogMessageDecorator {
25
25
  decorateMessage(message: string): string;
26
26
  }
27
- type EvaluationReason = "found-match" | "config-state-missing" | "client-not-ready" | "type-mismatch" | "value-missing" | "invalid-number" | "invalid-json" | "invalid-boolean";
28
- type ConfigEvaluation = {
29
- key: string;
30
- value: ConfigValueType;
31
- valueId?: string;
32
- isDefaultValue: boolean;
33
- reason: EvaluationReason;
27
+ /**
28
+ * Why an evaluation returned the value it did. `found-match` returns a value from ConfigDirector,
29
+ * and `cached` a value kept on the device while a client SDK waits for live values. `value-missing`
30
+ * returns the in-code default value because the config has no value. Every other reason returns the
31
+ * in-code default value because of an error: the config does not exist (`config-state-missing`), no
32
+ * values have arrived yet (`client-not-ready`), or the value cannot be read as the type of the in-code
33
+ * default value.
34
+ */
35
+ type EvaluationReason = "found-match" | "config-state-missing" | "client-not-ready" | "type-mismatch" | "value-missing" | "invalid-number" | "invalid-json" | "invalid-boolean" | "cached";
36
+ /**
37
+ * One evaluation of a config: the value it returned, why, and the context it was evaluated for.
38
+ */
39
+ type ConfigEvaluation<T extends ConfigValueType = ConfigValueType> = {
40
+ /** The config key that was evaluated. */key: string; /** The value returned, which is the in-code default value when {@link isDefaultValue} is `true`. */
41
+ value: T; /** The ID ConfigDirector assigned to the value returned, when ConfigDirector sent one with it. */
42
+ valueId?: string; /** Whether the evaluation returned the in-code default value. */
43
+ isDefaultValue: boolean; /** Why the evaluation returned this value. */
44
+ reason: EvaluationReason; /** The context the config was evaluated for, if any. */
34
45
  context?: ConfigDirectorContext;
35
46
  };
36
47
  /**
@@ -43,9 +54,11 @@ type ConfigDirectorContext = {
43
54
  * The context's identifier. This should be a value that uniquely identifies the user or other
44
55
  * entity among contexts of the same {@link kind}.
45
56
  * In the case of anonymous users, you could generate a UUID or alternatively not provide
46
- * the {@link id} and the SDK will generate a random UUID. However, keep in mind that this
47
- * value is used for segmenting contexts in percentage rollouts, and changes to the {@link id}
48
- * could result in the context being assigned to a different percentile.
57
+ * the {@link id}. In a client SDK, ConfigDirector then derives an identifier from an ID the SDK
58
+ * stores for the app install or the website, so it stays the same until the app is uninstalled
59
+ * or the site's data is cleared. However, keep in mind that this value is used for segmenting
60
+ * contexts in percentage rollouts, and changes to the {@link id} could result in the context
61
+ * being assigned to a different percentile.
49
62
  */
50
63
  id?: string;
51
64
  /**
@@ -310,6 +323,17 @@ interface ConfigDirectorClient {
310
323
  * @param context The user's context to be used for targeting rules evaluation (optional)
311
324
  */
312
325
  getValue<T extends ConfigValueType>(configKey: string, defaultValue: T, context?: ConfigDirectorContext): T;
326
+ /**
327
+ * Evaluates a config as {@link getValue} does and returns the evaluation: the value, the reason it
328
+ * was served and its value ID. Like every read, it fires `configEvaluated` and is counted in
329
+ * telemetry.
330
+ *
331
+ * @returns The evaluation, whose `value` is what {@link getValue} returns
332
+ * @param configKey The config key to evaluate
333
+ * @param defaultValue The in-code default value, returned when no value from ConfigDirector can be served
334
+ * @param context The user's context to be used for targeting rules evaluation (optional)
335
+ */
336
+ evaluate<T extends ConfigValueType>(configKey: string, defaultValue: T, context?: ConfigDirectorContext): ConfigEvaluation<T>;
313
337
  /**
314
338
  * Watches for changes to a a config evaluation value. Whenever the config value changes, the
315
339
  * provided callback function will be called with the new value. Changes can happen due to updates
@@ -367,7 +391,6 @@ declare class ConfigDirectorInitializationError extends Error {
367
391
  //#region src/ConfigDirectorProvider.d.ts
368
392
  declare class ConfigDirectorProvider implements Provider {
369
393
  private readonly client;
370
- private readonly readyHandler;
371
394
  readonly metadata: ProviderMetadata;
372
395
  readonly runsOn: Paradigm;
373
396
  readonly events: OpenFeatureEventEmitter;
@@ -386,7 +409,6 @@ declare class ConfigDirectorProvider implements Provider {
386
409
  resolveNumberEvaluation(flagKey: string, defaultValue: number, context: EvaluationContext): Promise<ResolutionDetails<number>>;
387
410
  resolveObjectEvaluation<T extends JsonValue>(flagKey: string, defaultValue: T, context: EvaluationContext): Promise<ResolutionDetails<T>>;
388
411
  onClose?(): Promise<void>;
389
- private evaluate;
390
412
  private mapContext;
391
413
  }
392
414
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"configdirector-openfeature-server-provider.d.cts","names":[],"sources":["../../shared/src/types.ts","../../shared/src/native-values.ts","../../js-server-sdk/src/types.ts","../../shared/src/errors.ts","../src/ConfigDirectorProvider.ts"],"mappings":";;;cAAa,cAAA;AAAA,KAUD,UAAA,WAAqB,cAAA;AAAA,KAErB,kBAAA;EAAA,CAAwB,GAAA;AAAA;AAAA,KAExB,eAAA,wCAAuD,kBAAA;AAAA,KAEvD,WAAA;EACV,EAAA;EACA,GAAA;EACA,IAAA,EAAM,UAAA;EACN,KAAA;EACA,OAAA;AAAA;AAAA,KAQU,0BAAA;AAAA,UAEK,oBAAA;EACf,KAAA,CAAM,OAAA,aAAoB,IAAA;EAE1B,IAAA,CAAK,OAAA,aAAoB,IAAA;EAEzB,IAAA,CAAK,OAAA,aAAoB,IAAA;EAEzB,KAAA,CAAM,OAAA,aAAoB,IAAA;AAAA;AAAA,UAGX,iCAAA;EACf,eAAA,CAAgB,OAAA;AAAA;AAAA,KAGN,gBAAA;AAAA,KAUA,gBAAA;EACV,GAAA;EACA,KAAA,EAAO,eAAA;EACP,OAAA;EACA,cAAA;EACA,MAAA,EAAQ,gBAAA;EACR,OAAA,GAAU,qBAAA;AAAA;;;;;AA9BZ;KAqCY,qBAAA;;;;;;;;;EASV,EAAA;EAzCK;;;;;;;AAKP;;;;EAiDE,IAAA;EA7CU;;;;EAmDV,IAAA;EAzCU;;;;EA+CV,MAAA;IAAA,CAAY,GAAA;EAAA;EAzCmB;;;;;;;EAkD/B,SAAA;AAAA;;;;AA3CF;KAkDY,yBAAA;EACV,UAAA;EACA,OAAA;AAAA;AAAA,KAGU,cAAA;;;KCxHA,eAAA,sCAAqD,eAAA;EAAA,CAAuB,GAAA,WAAc,eAAA;AAAA;AAAA,KAE1F,WAAA,+BAA0C,eAAA;EAAA,CAAuB,GAAA,WAAc,eAAA;AAAA;AAAA,KAE/E,YAAA,GAAe,MAAA,SAAe,WAAA;;;;;;ADG1C;;KEqBY,YAAA,GAAe,WAAA;;;AFnB3B;;KEyBY,aAAA,GAAgB,YAAA;;;AFvB5B;KE4BY,iBAAA;;;;AF1BZ;;;;;;;;;EEuCE,IAAA,GAAO,cAAA;EFlCA;;AAQT;;;;;AAEA;;;EEmCE,IAAA;EFlCA;;;;;;;EE0CA,MAAA,GAAS,aAAA;EFtCgB;;;;;;AAK3B;EEyCE,eAAA;;;;AFrCF;;;;;AAUA;EEqCE,OAAA;;;;;;EAMA,GAAA;AAAA;;;;KAMU,2BAAA;EF5CV;;;EEgDA,QAAA,GAAW,yBAAA;EF/CoB;;AAOjC;EE4CE,UAAA,GAAa,iBAAA;;;;;;;;;;;AFMf;;;EEQE,MAAA,GAAS,oBAAA;EFNF;AAGT;;;;;;EEYE,SAAA;;ADpIF;;;;;;;;IC8II,eAAA;ID5IQ;;;;;;;;ICsJR,aAAA;EAAA;EDpJoB;;;;;;;ACwBxB;;;;;AAMA;;;EAwIE,KAAA,GAAQ,WAAA;AAAA;AAnIV;;;AAAA,KAyIY,oBAAA,GAAuB,2BAAA;EACjC,UAAA,EAAY,iBAAA;IAAsB,IAAA;EAAA;AAAA;AAAA,KAGxB,YAAA;EACV,cAAA;IAAkB,IAAA;IAAgB,WAAA;EAAA;EAClC,WAAA;EACA,eAAA;IAAmB,UAAA,EAAY,gBAAA;EAAA;EAC/B,eAAA;IAAmB,KAAA,EAAO,KAAA;EAAA;AAAA;AAAA,KAGhB,WAAA;EACV,WAAA,GAAc,WAAA,kBAA6B,WAAA;EAC3C,cAAA,GAAiB,WAAA,qBAAgC,WAAA;EACjD,eAAA,GAAkB,WAAA,sBAAiC,WAAA;EACnD,eAAA,GAAkB,WAAA,sBAAiC,WAAA;AAAA;AAAA,KAGzC,WAAA,sBAAiC,YAAA,KAAiB,OAAA,EAAS,YAAA,CAAa,MAAA;AAAA,KAExE,YAAA,WAAuB,eAAA,KAAoB,OAAA,EAAS,CAAA;;;;;;;UAQ/C,oBAAA;EA5BL;;;;;;;;;;AAIZ;EAoCE,UAAA,IAAc,OAAA;;;;;;;MAQV,OAAA;EAzCe;;;;;;;AAIrB;;;EAiDE,QAAA,WAAmB,eAAA,EAAiB,SAAA,UAAmB,YAAA,EAAc,CAAA,EAAG,OAAA,GAAU,qBAAA,GAAwB,CAAA;EAhD/D;;;;;;;;;;;;EA8D3C,KAAA,WAAgB,eAAA,EACd,SAAA,UACA,YAAA,EAAc,CAAA,EACd,QAAA,EAAU,YAAA,CAAa,CAAA,GACvB,OAAA,GAAU,qBAAA;EAjEK;;;;;;;;EA4EjB,OAAA,WAAkB,eAAA,EAAiB,SAAA,UAAmB,QAAA,GAAW,YAAA,CAAa,CAAA;EA1EhB;AAGhE;;EA4EE,UAAA;EA5E2C;;;;;;;EAqF3C,aAAA,CAAc,OAAA;IACZ,OAAA,GAAU,qBAAA;IACV,UAAA;EAAA,IACE,MAAA,SAAe,WAAA;EAEnB,EAAA,iBAAmB,YAAA,EAAc,SAAA,EAAW,CAAA,EAAG,OAAA,GAAU,IAAA,EAAM,YAAA,CAAa,CAAA;EAE5E,GAAA,iBAAoB,YAAA,EAAc,SAAA,EAAW,CAAA,EAAG,OAAA,IAAW,IAAA,EAAM,YAAA,CAAa,CAAA;EA1FxD;;;;;;EAkGtB,OAAA;AAAA;;;cCnRW,iCAAA,SAA0C,KAAA;EAAA,SAC5B,IAAA;cAEb,OAAA;AAAA;;;cCVD,sBAAA,YAAkC,QAAA;EAAA,iBAC5B,MAAA;EAAA,iBACA,YAAA;EAAA,SAER,QAAA,EAAU,gBAAA;EAAA,SAGV,MAAA,EAAQ,QAAA;EAAA,SACR,MAAA,EAAM,uBAAA;EJbK;;;cIkBD,YAAA,UAAsB,aAAA,GAAgB,2BAAA;EJhB/C;;;;cIqBS,aAAA,EAAe,oBAAA;EAc5B,UAAA,CAAA,GAAU,OAAA;EAMhB,wBAAA,CACE,OAAA,UACA,YAAA,WACA,OAAA,EAAS,iBAAA,GACR,OAAA,CAAQ,iBAAA;EAIX,uBAAA,CACE,OAAA,UACA,YAAA,UACA,OAAA,EAAS,iBAAA,GACR,OAAA,CAAQ,iBAAA;EAIX,uBAAA,CACE,OAAA,UACA,YAAA,UACA,OAAA,EAAS,iBAAA,GACR,OAAA,CAAQ,iBAAA;EAIX,uBAAA,WAAkC,SAAA,CAAA,CAChC,OAAA,UACA,YAAA,EAAc,CAAA,EACd,OAAA,EAAS,iBAAA,GACR,OAAA,CAAQ,iBAAA,CAAkB,CAAA;EAM7B,OAAA,CAAA,CAAA,GAAY,OAAA;EAAA,QAKJ,QAAA;EAAA,QAWA,UAAA;AAAA"}
1
+ {"version":3,"file":"configdirector-openfeature-server-provider.d.cts","names":[],"sources":["../../shared/src/types.ts","../../shared/src/native-values.ts","../../js-server-sdk/src/types.ts","../../shared/src/errors.ts","../src/ConfigDirectorProvider.ts"],"mappings":"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"}
@@ -24,13 +24,24 @@ interface ConfigDirectorLogger {
24
24
  interface ConfigDirectorLogMessageDecorator {
25
25
  decorateMessage(message: string): string;
26
26
  }
27
- type EvaluationReason = "found-match" | "config-state-missing" | "client-not-ready" | "type-mismatch" | "value-missing" | "invalid-number" | "invalid-json" | "invalid-boolean";
28
- type ConfigEvaluation = {
29
- key: string;
30
- value: ConfigValueType;
31
- valueId?: string;
32
- isDefaultValue: boolean;
33
- reason: EvaluationReason;
27
+ /**
28
+ * Why an evaluation returned the value it did. `found-match` returns a value from ConfigDirector,
29
+ * and `cached` a value kept on the device while a client SDK waits for live values. `value-missing`
30
+ * returns the in-code default value because the config has no value. Every other reason returns the
31
+ * in-code default value because of an error: the config does not exist (`config-state-missing`), no
32
+ * values have arrived yet (`client-not-ready`), or the value cannot be read as the type of the in-code
33
+ * default value.
34
+ */
35
+ type EvaluationReason = "found-match" | "config-state-missing" | "client-not-ready" | "type-mismatch" | "value-missing" | "invalid-number" | "invalid-json" | "invalid-boolean" | "cached";
36
+ /**
37
+ * One evaluation of a config: the value it returned, why, and the context it was evaluated for.
38
+ */
39
+ type ConfigEvaluation<T extends ConfigValueType = ConfigValueType> = {
40
+ /** The config key that was evaluated. */key: string; /** The value returned, which is the in-code default value when {@link isDefaultValue} is `true`. */
41
+ value: T; /** The ID ConfigDirector assigned to the value returned, when ConfigDirector sent one with it. */
42
+ valueId?: string; /** Whether the evaluation returned the in-code default value. */
43
+ isDefaultValue: boolean; /** Why the evaluation returned this value. */
44
+ reason: EvaluationReason; /** The context the config was evaluated for, if any. */
34
45
  context?: ConfigDirectorContext;
35
46
  };
36
47
  /**
@@ -43,9 +54,11 @@ type ConfigDirectorContext = {
43
54
  * The context's identifier. This should be a value that uniquely identifies the user or other
44
55
  * entity among contexts of the same {@link kind}.
45
56
  * In the case of anonymous users, you could generate a UUID or alternatively not provide
46
- * the {@link id} and the SDK will generate a random UUID. However, keep in mind that this
47
- * value is used for segmenting contexts in percentage rollouts, and changes to the {@link id}
48
- * could result in the context being assigned to a different percentile.
57
+ * the {@link id}. In a client SDK, ConfigDirector then derives an identifier from an ID the SDK
58
+ * stores for the app install or the website, so it stays the same until the app is uninstalled
59
+ * or the site's data is cleared. However, keep in mind that this value is used for segmenting
60
+ * contexts in percentage rollouts, and changes to the {@link id} could result in the context
61
+ * being assigned to a different percentile.
49
62
  */
50
63
  id?: string;
51
64
  /**
@@ -310,6 +323,17 @@ interface ConfigDirectorClient {
310
323
  * @param context The user's context to be used for targeting rules evaluation (optional)
311
324
  */
312
325
  getValue<T extends ConfigValueType>(configKey: string, defaultValue: T, context?: ConfigDirectorContext): T;
326
+ /**
327
+ * Evaluates a config as {@link getValue} does and returns the evaluation: the value, the reason it
328
+ * was served and its value ID. Like every read, it fires `configEvaluated` and is counted in
329
+ * telemetry.
330
+ *
331
+ * @returns The evaluation, whose `value` is what {@link getValue} returns
332
+ * @param configKey The config key to evaluate
333
+ * @param defaultValue The in-code default value, returned when no value from ConfigDirector can be served
334
+ * @param context The user's context to be used for targeting rules evaluation (optional)
335
+ */
336
+ evaluate<T extends ConfigValueType>(configKey: string, defaultValue: T, context?: ConfigDirectorContext): ConfigEvaluation<T>;
313
337
  /**
314
338
  * Watches for changes to a a config evaluation value. Whenever the config value changes, the
315
339
  * provided callback function will be called with the new value. Changes can happen due to updates
@@ -367,7 +391,6 @@ declare class ConfigDirectorInitializationError extends Error {
367
391
  //#region src/ConfigDirectorProvider.d.ts
368
392
  declare class ConfigDirectorProvider implements Provider {
369
393
  private readonly client;
370
- private readonly readyHandler;
371
394
  readonly metadata: ProviderMetadata;
372
395
  readonly runsOn: Paradigm;
373
396
  readonly events: OpenFeatureEventEmitter;
@@ -386,7 +409,6 @@ declare class ConfigDirectorProvider implements Provider {
386
409
  resolveNumberEvaluation(flagKey: string, defaultValue: number, context: EvaluationContext): Promise<ResolutionDetails<number>>;
387
410
  resolveObjectEvaluation<T extends JsonValue>(flagKey: string, defaultValue: T, context: EvaluationContext): Promise<ResolutionDetails<T>>;
388
411
  onClose?(): Promise<void>;
389
- private evaluate;
390
412
  private mapContext;
391
413
  }
392
414
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"configdirector-openfeature-server-provider.d.mts","names":[],"sources":["../../shared/src/types.ts","../../shared/src/native-values.ts","../../js-server-sdk/src/types.ts","../../shared/src/errors.ts","../src/ConfigDirectorProvider.ts"],"mappings":"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"}
1
+ {"version":3,"file":"configdirector-openfeature-server-provider.d.mts","names":[],"sources":["../../shared/src/types.ts","../../shared/src/native-values.ts","../../js-server-sdk/src/types.ts","../../shared/src/errors.ts","../src/ConfigDirectorProvider.ts"],"mappings":"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"}