@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 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/types.ts
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/logger.ts
592
- var LOG_LEVELS = ["error", "warn", "info", "debug"];
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/no-op-transaction-context-propagator.ts
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 unboundEmitterNames.map((name) => this._clientEvents.get(name)).filter(isDefined);
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;