@openfeature/web-sdk 0.3.6-experimental → 0.3.7-experimental
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/dist/cjs/index.js +72 -60
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/index.js +72 -60
- package/dist/esm/index.js.map +4 -4
- package/dist/types.d.ts +294 -276
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -447,6 +447,7 @@ __export(src_exports, {
|
|
|
447
447
|
FlagNotFoundError: () => FlagNotFoundError,
|
|
448
448
|
GeneralError: () => GeneralError,
|
|
449
449
|
InvalidContextError: () => InvalidContextError,
|
|
450
|
+
LOG_LEVELS: () => LOG_LEVELS,
|
|
450
451
|
NOOP_PROVIDER: () => NOOP_PROVIDER,
|
|
451
452
|
NOOP_TRANSACTION_CONTEXT_PROPAGATOR: () => NOOP_TRANSACTION_CONTEXT_PROPAGATOR,
|
|
452
453
|
OpenFeature: () => OpenFeature,
|
|
@@ -461,11 +462,24 @@ __export(src_exports, {
|
|
|
461
462
|
SafeLogger: () => SafeLogger,
|
|
462
463
|
StandardResolutionReasons: () => StandardResolutionReasons,
|
|
463
464
|
TargetingKeyMissingError: () => TargetingKeyMissingError,
|
|
464
|
-
TypeMismatchError: () => TypeMismatchError
|
|
465
|
+
TypeMismatchError: () => TypeMismatchError,
|
|
466
|
+
isObject: () => isObject,
|
|
467
|
+
isString: () => isString,
|
|
468
|
+
objectOrUndefined: () => objectOrUndefined,
|
|
469
|
+
stringOrUndefined: () => stringOrUndefined
|
|
465
470
|
});
|
|
466
471
|
module.exports = __toCommonJS(src_exports);
|
|
467
472
|
|
|
468
|
-
// ../shared/src/
|
|
473
|
+
// ../shared/src/errors/open-feature-error-abstract.ts
|
|
474
|
+
var OpenFeatureError = class extends Error {
|
|
475
|
+
constructor(message) {
|
|
476
|
+
super(message);
|
|
477
|
+
Object.setPrototypeOf(this, OpenFeatureError.prototype);
|
|
478
|
+
this.name = "OpenFeatureError";
|
|
479
|
+
}
|
|
480
|
+
};
|
|
481
|
+
|
|
482
|
+
// ../shared/src/evaluation/evaluation.ts
|
|
469
483
|
var StandardResolutionReasons = {
|
|
470
484
|
/**
|
|
471
485
|
* The resolved value was the result of a dynamic evaluation, such as a rule or specific user-targeting.
|
|
@@ -512,21 +526,6 @@ var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
|
|
|
512
526
|
ErrorCode2["GENERAL"] = "GENERAL";
|
|
513
527
|
return ErrorCode2;
|
|
514
528
|
})(ErrorCode || {});
|
|
515
|
-
var ProviderStatus = /* @__PURE__ */ ((ProviderStatus2) => {
|
|
516
|
-
ProviderStatus2["NOT_READY"] = "NOT_READY";
|
|
517
|
-
ProviderStatus2["READY"] = "READY";
|
|
518
|
-
ProviderStatus2["ERROR"] = "ERROR";
|
|
519
|
-
return ProviderStatus2;
|
|
520
|
-
})(ProviderStatus || {});
|
|
521
|
-
|
|
522
|
-
// ../shared/src/errors/open-feature-error-abstract.ts
|
|
523
|
-
var OpenFeatureError = class extends Error {
|
|
524
|
-
constructor(message) {
|
|
525
|
-
super(message);
|
|
526
|
-
Object.setPrototypeOf(this, OpenFeatureError.prototype);
|
|
527
|
-
this.name = "OpenFeatureError";
|
|
528
|
-
}
|
|
529
|
-
};
|
|
530
529
|
|
|
531
530
|
// ../shared/src/errors/general-error.ts
|
|
532
531
|
var GeneralError = class extends OpenFeatureError {
|
|
@@ -588,8 +587,16 @@ var InvalidContextError = class extends OpenFeatureError {
|
|
|
588
587
|
}
|
|
589
588
|
};
|
|
590
589
|
|
|
591
|
-
// ../shared/src/
|
|
592
|
-
var
|
|
590
|
+
// ../shared/src/events/events.ts
|
|
591
|
+
var ProviderEvents = /* @__PURE__ */ ((ProviderEvents2) => {
|
|
592
|
+
ProviderEvents2["Ready"] = "PROVIDER_READY";
|
|
593
|
+
ProviderEvents2["Error"] = "PROVIDER_ERROR";
|
|
594
|
+
ProviderEvents2["ConfigurationChanged"] = "PROVIDER_CONFIGURATION_CHANGED";
|
|
595
|
+
ProviderEvents2["Stale"] = "PROVIDER_STALE";
|
|
596
|
+
return ProviderEvents2;
|
|
597
|
+
})(ProviderEvents || {});
|
|
598
|
+
|
|
599
|
+
// ../shared/src/logger/default-logger.ts
|
|
593
600
|
var DefaultLogger = class {
|
|
594
601
|
error(...args) {
|
|
595
602
|
console.error(...args);
|
|
@@ -602,6 +609,9 @@ var DefaultLogger = class {
|
|
|
602
609
|
debug() {
|
|
603
610
|
}
|
|
604
611
|
};
|
|
612
|
+
|
|
613
|
+
// ../shared/src/logger/safe-logger.ts
|
|
614
|
+
var LOG_LEVELS = ["error", "warn", "info", "debug"];
|
|
605
615
|
var SafeLogger = class {
|
|
606
616
|
constructor(logger) {
|
|
607
617
|
this.fallbackLogger = new DefaultLogger();
|
|
@@ -639,26 +649,8 @@ var SafeLogger = class {
|
|
|
639
649
|
}
|
|
640
650
|
};
|
|
641
651
|
|
|
642
|
-
// ../shared/src/
|
|
643
|
-
var NoopTransactionContextPropagator = class {
|
|
644
|
-
getTransactionContext() {
|
|
645
|
-
return {};
|
|
646
|
-
}
|
|
647
|
-
setTransactionContext(_, callback) {
|
|
648
|
-
callback();
|
|
649
|
-
}
|
|
650
|
-
};
|
|
651
|
-
var NOOP_TRANSACTION_CONTEXT_PROPAGATOR = new NoopTransactionContextPropagator();
|
|
652
|
-
|
|
653
|
-
// ../shared/src/events.ts
|
|
652
|
+
// ../shared/src/events/open-feature-event-emitter.ts
|
|
654
653
|
var import_events = __toESM(require_events());
|
|
655
|
-
var ProviderEvents = /* @__PURE__ */ ((ProviderEvents2) => {
|
|
656
|
-
ProviderEvents2["Ready"] = "PROVIDER_READY";
|
|
657
|
-
ProviderEvents2["Error"] = "PROVIDER_ERROR";
|
|
658
|
-
ProviderEvents2["ConfigurationChanged"] = "PROVIDER_CONFIGURATION_CHANGED";
|
|
659
|
-
ProviderEvents2["Stale"] = "PROVIDER_STALE";
|
|
660
|
-
return ProviderEvents2;
|
|
661
|
-
})(ProviderEvents || {});
|
|
662
654
|
var OpenFeatureEventEmitter = class {
|
|
663
655
|
constructor(globalLogger) {
|
|
664
656
|
this.globalLogger = globalLogger;
|
|
@@ -706,6 +698,25 @@ var OpenFeatureEventEmitter = class {
|
|
|
706
698
|
}
|
|
707
699
|
};
|
|
708
700
|
|
|
701
|
+
// ../shared/src/provider/provider.ts
|
|
702
|
+
var ProviderStatus = /* @__PURE__ */ ((ProviderStatus2) => {
|
|
703
|
+
ProviderStatus2["NOT_READY"] = "NOT_READY";
|
|
704
|
+
ProviderStatus2["READY"] = "READY";
|
|
705
|
+
ProviderStatus2["ERROR"] = "ERROR";
|
|
706
|
+
return ProviderStatus2;
|
|
707
|
+
})(ProviderStatus || {});
|
|
708
|
+
|
|
709
|
+
// ../shared/src/transaction-context/no-op-transaction-context-propagator.ts
|
|
710
|
+
var NoopTransactionContextPropagator = class {
|
|
711
|
+
getTransactionContext() {
|
|
712
|
+
return {};
|
|
713
|
+
}
|
|
714
|
+
setTransactionContext(_, callback) {
|
|
715
|
+
callback();
|
|
716
|
+
}
|
|
717
|
+
};
|
|
718
|
+
var NOOP_TRANSACTION_CONTEXT_PROPAGATOR = new NoopTransactionContextPropagator();
|
|
719
|
+
|
|
709
720
|
// ../shared/src/type-guards.ts
|
|
710
721
|
function isString(value) {
|
|
711
722
|
return typeof value === "string";
|
|
@@ -728,6 +739,7 @@ function isDefined(input) {
|
|
|
728
739
|
// ../shared/src/open-feature.ts
|
|
729
740
|
var OpenFeatureCommonAPI = class {
|
|
730
741
|
constructor() {
|
|
742
|
+
this._hooks = [];
|
|
731
743
|
this._transactionContextPropagator = NOOP_TRANSACTION_CONTEXT_PROPAGATOR;
|
|
732
744
|
this._context = {};
|
|
733
745
|
this._logger = new DefaultLogger();
|
|
@@ -736,6 +748,17 @@ var OpenFeatureCommonAPI = class {
|
|
|
736
748
|
this._clientProviders = /* @__PURE__ */ new Map();
|
|
737
749
|
this._clientEvents = /* @__PURE__ */ new Map();
|
|
738
750
|
}
|
|
751
|
+
addHooks(...hooks) {
|
|
752
|
+
this._hooks = [...this._hooks, ...hooks];
|
|
753
|
+
return this;
|
|
754
|
+
}
|
|
755
|
+
getHooks() {
|
|
756
|
+
return this._hooks;
|
|
757
|
+
}
|
|
758
|
+
clearHooks() {
|
|
759
|
+
this._hooks = [];
|
|
760
|
+
return this;
|
|
761
|
+
}
|
|
739
762
|
setLogger(logger) {
|
|
740
763
|
this._logger = new SafeLogger(logger);
|
|
741
764
|
return this;
|
|
@@ -747,9 +770,6 @@ var OpenFeatureCommonAPI = class {
|
|
|
747
770
|
get providerMetadata() {
|
|
748
771
|
return this._defaultProvider.metadata;
|
|
749
772
|
}
|
|
750
|
-
getContext() {
|
|
751
|
-
return this._context;
|
|
752
|
-
}
|
|
753
773
|
/**
|
|
754
774
|
* Adds a handler for the given provider event type.
|
|
755
775
|
* The handlers are called in the order they have been added.
|
|
@@ -848,7 +868,12 @@ var OpenFeatureCommonAPI = class {
|
|
|
848
868
|
const namedProviders = [...this._clientProviders.keys()];
|
|
849
869
|
const eventEmitterNames = [...this._clientEvents.keys()].filter(isDefined);
|
|
850
870
|
const unboundEmitterNames = eventEmitterNames.filter((name) => !namedProviders.includes(name));
|
|
851
|
-
return
|
|
871
|
+
return [
|
|
872
|
+
// all unbound, named emitters
|
|
873
|
+
...unboundEmitterNames.map((name) => this._clientEvents.get(name)),
|
|
874
|
+
// the default emitter
|
|
875
|
+
this._clientEvents.get(void 0)
|
|
876
|
+
].filter(isDefined);
|
|
852
877
|
}
|
|
853
878
|
transferListeners(oldProvider, newProvider, clientName, emitters) {
|
|
854
879
|
var _a;
|
|
@@ -924,7 +949,7 @@ var OpenFeatureCommonAPI = class {
|
|
|
924
949
|
}
|
|
925
950
|
};
|
|
926
951
|
|
|
927
|
-
// src/no-op-provider.ts
|
|
952
|
+
// src/provider/no-op-provider.ts
|
|
928
953
|
var REASON_NO_OP = "No-op";
|
|
929
954
|
var NoopFeatureProvider = class {
|
|
930
955
|
constructor() {
|
|
@@ -963,7 +988,6 @@ var OpenFeatureAPI = class extends OpenFeatureCommonAPI {
|
|
|
963
988
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
964
989
|
constructor() {
|
|
965
990
|
super();
|
|
966
|
-
this._hooks = [];
|
|
967
991
|
this._defaultProvider = NOOP_PROVIDER;
|
|
968
992
|
}
|
|
969
993
|
/**
|
|
@@ -980,21 +1004,6 @@ var OpenFeatureAPI = class extends OpenFeatureCommonAPI {
|
|
|
980
1004
|
_globalThis[GLOBAL_OPENFEATURE_API_KEY] = instance;
|
|
981
1005
|
return instance;
|
|
982
1006
|
}
|
|
983
|
-
setLogger(logger) {
|
|
984
|
-
this._logger = new SafeLogger(logger);
|
|
985
|
-
return this;
|
|
986
|
-
}
|
|
987
|
-
addHooks(...hooks) {
|
|
988
|
-
this._hooks = [...this._hooks, ...hooks];
|
|
989
|
-
return this;
|
|
990
|
-
}
|
|
991
|
-
getHooks() {
|
|
992
|
-
return this._hooks;
|
|
993
|
-
}
|
|
994
|
-
clearHooks() {
|
|
995
|
-
this._hooks = [];
|
|
996
|
-
return this;
|
|
997
|
-
}
|
|
998
1007
|
setContext(context) {
|
|
999
1008
|
return __async(this, null, function* () {
|
|
1000
1009
|
var _a, _b;
|
|
@@ -1003,6 +1012,9 @@ var OpenFeatureAPI = class extends OpenFeatureCommonAPI {
|
|
|
1003
1012
|
yield (_b = (_a = this._defaultProvider) == null ? void 0 : _a.onContextChange) == null ? void 0 : _b.call(_a, oldContext, context);
|
|
1004
1013
|
});
|
|
1005
1014
|
}
|
|
1015
|
+
getContext() {
|
|
1016
|
+
return this._context;
|
|
1017
|
+
}
|
|
1006
1018
|
/**
|
|
1007
1019
|
* A factory function for creating new named OpenFeature clients. Clients can contain
|
|
1008
1020
|
* their own state (e.g. logger, hook, context). Multiple clients can be used
|
|
@@ -1027,7 +1039,7 @@ var OpenFeatureAPI = class extends OpenFeatureCommonAPI {
|
|
|
1027
1039
|
};
|
|
1028
1040
|
var OpenFeature = OpenFeatureAPI.getInstance();
|
|
1029
1041
|
|
|
1030
|
-
// src/client.ts
|
|
1042
|
+
// src/client/open-feature-client.ts
|
|
1031
1043
|
var OpenFeatureClient = class {
|
|
1032
1044
|
constructor(providerAccessor, emitterAccessor, globalLogger, options) {
|
|
1033
1045
|
this.providerAccessor = providerAccessor;
|