@configdirector/openfeature-server-provider 1.11.1 → 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.
- package/README.md +16 -0
- package/dist/configdirector-openfeature-server-provider.cjs +1 -1
- package/dist/configdirector-openfeature-server-provider.d.cts +28 -8
- package/dist/configdirector-openfeature-server-provider.d.cts.map +1 -1
- package/dist/configdirector-openfeature-server-provider.d.mts +28 -8
- package/dist/configdirector-openfeature-server-provider.d.mts.map +1 -1
- package/dist/configdirector-openfeature-server-provider.mjs +2 -2
- package/dist/configdirector-openfeature-server-provider.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -24,13 +24,24 @@ interface ConfigDirectorLogger {
|
|
|
24
24
|
interface ConfigDirectorLogMessageDecorator {
|
|
25
25
|
decorateMessage(message: string): string;
|
|
26
26
|
}
|
|
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
|
+
*/
|
|
27
35
|
type EvaluationReason = "found-match" | "config-state-missing" | "client-not-ready" | "type-mismatch" | "value-missing" | "invalid-number" | "invalid-json" | "invalid-boolean" | "cached";
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
/**
|
|
@@ -312,6 +323,17 @@ interface ConfigDirectorClient {
|
|
|
312
323
|
* @param context The user's context to be used for targeting rules evaluation (optional)
|
|
313
324
|
*/
|
|
314
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>;
|
|
315
337
|
/**
|
|
316
338
|
* Watches for changes to a a config evaluation value. Whenever the config value changes, the
|
|
317
339
|
* provided callback function will be called with the new value. Changes can happen due to updates
|
|
@@ -369,7 +391,6 @@ declare class ConfigDirectorInitializationError extends Error {
|
|
|
369
391
|
//#region src/ConfigDirectorProvider.d.ts
|
|
370
392
|
declare class ConfigDirectorProvider implements Provider {
|
|
371
393
|
private readonly client;
|
|
372
|
-
private readonly readyHandler;
|
|
373
394
|
readonly metadata: ProviderMetadata;
|
|
374
395
|
readonly runsOn: Paradigm;
|
|
375
396
|
readonly events: OpenFeatureEventEmitter;
|
|
@@ -388,7 +409,6 @@ declare class ConfigDirectorProvider implements Provider {
|
|
|
388
409
|
resolveNumberEvaluation(flagKey: string, defaultValue: number, context: EvaluationContext): Promise<ResolutionDetails<number>>;
|
|
389
410
|
resolveObjectEvaluation<T extends JsonValue>(flagKey: string, defaultValue: T, context: EvaluationContext): Promise<ResolutionDetails<T>>;
|
|
390
411
|
onClose?(): Promise<void>;
|
|
391
|
-
private evaluate;
|
|
392
412
|
private mapContext;
|
|
393
413
|
}
|
|
394
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
|
|
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
|
+
/**
|
|
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
|
+
*/
|
|
27
35
|
type EvaluationReason = "found-match" | "config-state-missing" | "client-not-ready" | "type-mismatch" | "value-missing" | "invalid-number" | "invalid-json" | "invalid-boolean" | "cached";
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
/**
|
|
@@ -312,6 +323,17 @@ interface ConfigDirectorClient {
|
|
|
312
323
|
* @param context The user's context to be used for targeting rules evaluation (optional)
|
|
313
324
|
*/
|
|
314
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>;
|
|
315
337
|
/**
|
|
316
338
|
* Watches for changes to a a config evaluation value. Whenever the config value changes, the
|
|
317
339
|
* provided callback function will be called with the new value. Changes can happen due to updates
|
|
@@ -369,7 +391,6 @@ declare class ConfigDirectorInitializationError extends Error {
|
|
|
369
391
|
//#region src/ConfigDirectorProvider.d.ts
|
|
370
392
|
declare class ConfigDirectorProvider implements Provider {
|
|
371
393
|
private readonly client;
|
|
372
|
-
private readonly readyHandler;
|
|
373
394
|
readonly metadata: ProviderMetadata;
|
|
374
395
|
readonly runsOn: Paradigm;
|
|
375
396
|
readonly events: OpenFeatureEventEmitter;
|
|
@@ -388,7 +409,6 @@ declare class ConfigDirectorProvider implements Provider {
|
|
|
388
409
|
resolveNumberEvaluation(flagKey: string, defaultValue: number, context: EvaluationContext): Promise<ResolutionDetails<number>>;
|
|
389
410
|
resolveObjectEvaluation<T extends JsonValue>(flagKey: string, defaultValue: T, context: EvaluationContext): Promise<ResolutionDetails<T>>;
|
|
390
411
|
onClose?(): Promise<void>;
|
|
391
|
-
private evaluate;
|
|
392
412
|
private mapContext;
|
|
393
413
|
}
|
|
394
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":";;;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
|
|
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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"}
|