@featbit/js-client-sdk 4.2.8 → 4.2.11

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 (47) hide show
  1. package/dist/esm/data-sources/DataSourceUpdates.d.ts.map +1 -1
  2. package/dist/esm/data-sources/DataSourceUpdates.js +3 -1
  3. package/dist/esm/data-sources/DataSourceUpdates.js.map +1 -1
  4. package/dist/esm/evaluation/EvalResult.js +1 -1
  5. package/dist/esm/evaluation/EvalResult.js.map +1 -1
  6. package/dist/esm/evaluation/ReasonKinds.d.ts +1 -1
  7. package/dist/esm/evaluation/ReasonKinds.js +1 -1
  8. package/dist/esm/evaluation/data/IFlag.d.ts +1 -0
  9. package/dist/esm/evaluation/data/IFlag.d.ts.map +1 -1
  10. package/dist/esm/integrations/test_data/FlagBuilder.d.ts +2 -0
  11. package/dist/esm/integrations/test_data/FlagBuilder.d.ts.map +1 -1
  12. package/dist/esm/integrations/test_data/FlagBuilder.js +7 -1
  13. package/dist/esm/integrations/test_data/FlagBuilder.js.map +1 -1
  14. package/dist/esm/store/BaseStore.d.ts.map +1 -1
  15. package/dist/esm/store/BaseStore.js +0 -1
  16. package/dist/esm/store/BaseStore.js.map +1 -1
  17. package/dist/esm/store/InMemoryStore.js +2 -2
  18. package/dist/esm/store/InMemoryStore.js.map +1 -1
  19. package/dist/esm/utils/deepCopy.d.ts +2 -0
  20. package/dist/esm/utils/deepCopy.d.ts.map +1 -0
  21. package/dist/esm/utils/deepCopy.js +8 -0
  22. package/dist/esm/utils/deepCopy.js.map +1 -0
  23. package/dist/esm/utils/index.d.ts +1 -0
  24. package/dist/esm/utils/index.d.ts.map +1 -1
  25. package/dist/esm/utils/index.js +1 -0
  26. package/dist/esm/utils/index.js.map +1 -1
  27. package/dist/esm/version.d.ts +1 -1
  28. package/dist/esm/version.d.ts.map +1 -1
  29. package/dist/esm/version.js +1 -1
  30. package/dist/esm/version.js.map +1 -1
  31. package/dist/umd/featbit-js-client-sdk-4.2.11.js +2 -0
  32. package/dist/umd/featbit-js-client-sdk-4.2.11.js.map +1 -0
  33. package/dist/umd/featbit-js-client-sdk.js +1 -1
  34. package/dist/umd/featbit-js-client-sdk.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/data-sources/DataSourceUpdates.ts +3 -1
  37. package/src/evaluation/EvalResult.ts +1 -1
  38. package/src/evaluation/ReasonKinds.ts +1 -1
  39. package/src/evaluation/data/IFlag.ts +2 -1
  40. package/src/integrations/test_data/FlagBuilder.ts +8 -1
  41. package/src/store/BaseStore.ts +0 -1
  42. package/src/store/InMemoryStore.ts +3 -3
  43. package/src/utils/deepCopy.ts +3 -0
  44. package/src/utils/index.ts +2 -1
  45. package/src/version.ts +1 -1
  46. package/dist/umd/featbit-js-client-sdk-4.2.8.js +0 -2
  47. package/dist/umd/featbit-js-client-sdk-4.2.8.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DataSourceUpdates.d.ts","sourceRoot":"","sources":["../../../src/data-sources/DataSourceUpdates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAmC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,kBAAkB;IAGhE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,OAAO,EAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI;IAI/C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD/F,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAoB3F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5G,OAAO,CAAC,SAAS;CAWlB"}
1
+ {"version":3,"file":"DataSourceUpdates.d.ts","sourceRoot":"","sources":["../../../src/data-sources/DataSourceUpdates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAmC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,kBAAkB;IAGhE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,MAAM,OAAO,EAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI;IAI/C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAiD/F,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAqB3F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5G,OAAO,CAAC,SAAS;CAWlB"}
@@ -47,6 +47,7 @@ class DataSourceUpdates {
47
47
  Promise.resolve().then(() => {
48
48
  if (checkForChanges) {
49
49
  const updatedKeys = Object.keys(newData)
50
+ .filter((key) => key !== 'version')
50
51
  .flatMap((namespace) => {
51
52
  const oldDataForKind = (oldData === null || oldData === void 0 ? void 0 : oldData[namespace]) || {};
52
53
  const newDataForKind = newData[namespace];
@@ -73,6 +74,7 @@ class DataSourceUpdates {
73
74
  return;
74
75
  }
75
76
  const updatedKeys = Object.keys(newData)
77
+ .filter((key) => key !== 'version')
76
78
  .flatMap((namespace) => {
77
79
  const oldDataForKind = (oldData === null || oldData === void 0 ? void 0 : oldData[namespace]) || {};
78
80
  const newDataForKind = newData[namespace];
@@ -94,7 +96,7 @@ class DataSourceUpdates {
94
96
  const doUpsert = (oldItem) => __awaiter(this, void 0, void 0, function* () {
95
97
  yield this.store.upsert(kind, data);
96
98
  Promise.resolve().then(() => {
97
- if (checkForChanges && this.isUpdated(oldItem, data[key])) {
99
+ if (checkForChanges && this.isUpdated(oldItem, data)) {
98
100
  this.onChange([key]);
99
101
  }
100
102
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DataSourceUpdates.js","sourceRoot":"","sources":["../../../src/data-sources/DataSourceUpdates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataSourceUpdates.js","sourceRoot":"","sources":["../../../src/data-sources/DataSourceUpdates.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ class EvalResult {
18
18
  return new EvalResult(ReasonKinds_1.ReasonKinds.FlagNotFound, null, `flag not found: ${flagKey}`);
19
19
  }
20
20
  static matched(val) {
21
- return new EvalResult(ReasonKinds_1.ReasonKinds.Match, val, 'target match');
21
+ return new EvalResult(ReasonKinds_1.ReasonKinds.Match, val, val.matchReason);
22
22
  }
23
23
  toEvalEvent(user) {
24
24
  var _a, _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"EvalResult.js","sourceRoot":"","sources":["../../../src/evaluation/EvalResult.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAE5C,2CAA4C;AAG5C;;;;;GAKG;AACH,MAAqB,UAAU;IAC7B,YACS,IAAiB,EACjB,KAAmB,EACnB,MAAe;QAFf,SAAI,GAAJ,IAAI,CAAa;QACjB,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAS;IAExB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAe;QACjC,OAAO,IAAI,UAAU,CAAC,yBAAW,CAAC,YAAY,EAAE,IAAI,EAAE,mBAAoB,OAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAU;QACvB,OAAO,IAAI,UAAU,CAAC,yBAAW,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,WAAW,CAAC,IAAW;;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAW,CAAC,KAAK,EAAE;YACnC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAC,CAAC,KAAK,MAAK,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAA,CAAA,EAAA,CAAC,CAAC;QAC9F,OAAO,IAAI,iBAAS,CAAC,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,EAAG,EAAE,iBAAkB,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,gBAAiB,CAAC,CAAC;IACjG,CAAC;CACF;AAxBD,6BAwBC"}
1
+ {"version":3,"file":"EvalResult.js","sourceRoot":"","sources":["../../../src/evaluation/EvalResult.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAE5C,2CAA4C;AAG5C;;;;;GAKG;AACH,MAAqB,UAAU;IAC7B,YACS,IAAiB,EACjB,KAAmB,EACnB,MAAe;QAFf,SAAI,GAAJ,IAAI,CAAa;QACjB,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAS;IAExB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAe;QACjC,OAAO,IAAI,UAAU,CAAC,yBAAW,CAAC,YAAY,EAAE,IAAI,EAAE,mBAAoB,OAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAU;QACvB,OAAO,IAAI,UAAU,CAAC,yBAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,WAAW,CAAC,IAAW;;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAW,CAAC,KAAK,EAAE;YACnC,OAAO,IAAI,CAAC;SACb;QAED,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAC,CAAC,KAAK,MAAK,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAA,CAAA,EAAA,CAAC,CAAC;QAC9F,OAAO,IAAI,iBAAS,CAAC,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,EAAG,EAAE,iBAAkB,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,gBAAiB,CAAC,CAAC;IACjG,CAAC;CACF;AAxBD,6BAwBC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Different kinds of error which may be encountered during evaluation.
2
+ * Different kinds of reasons which may be encountered during evaluation.
3
3
  */
4
4
  export declare enum ReasonKinds {
5
5
  ClientNotReady = "ClientNotReady",
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReasonKinds = void 0;
4
4
  /**
5
- * Different kinds of error which may be encountered during evaluation.
5
+ * Different kinds of reasons which may be encountered during evaluation.
6
6
  */
7
7
  var ReasonKinds;
8
8
  (function (ReasonKinds) {
@@ -24,5 +24,6 @@ export interface IFlag extends IFlagBase {
24
24
  variations: IVariation[];
25
25
  version: number;
26
26
  origin: StoreItemOriginEnum;
27
+ matchReason: string;
27
28
  }
28
29
  //# sourceMappingURL=IFlag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IFlag.d.ts","sourceRoot":"","sources":["../../../../src/evaluation/data/IFlag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAE5B,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,KAAK;CACX;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAA;CAC5B"}
1
+ {"version":3,"file":"IFlag.d.ts","sourceRoot":"","sources":["../../../../src/evaluation/data/IFlag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAE5B,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,KAAK;CACX;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -9,6 +9,7 @@ export declare class FlagBuilder {
9
9
  private _sendToExperiment;
10
10
  private _variation;
11
11
  private _variations;
12
+ private _matchReason;
12
13
  id(id: string): FlagBuilder;
13
14
  key(key: string): FlagBuilder;
14
15
  version(version: number): FlagBuilder;
@@ -17,6 +18,7 @@ export declare class FlagBuilder {
17
18
  variation(variation: FlagValue): FlagBuilder;
18
19
  variationType(variationType: VariationDataType): FlagBuilder;
19
20
  variations(variations: IVariation[]): FlagBuilder;
21
+ matchReason(matchReason: string): FlagBuilder;
20
22
  build(): IFlag;
21
23
  }
22
24
  //# sourceMappingURL=FlagBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlagBuilder.d.ts","sourceRoot":"","sources":["../../../../src/integrations/test_data/FlagBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAkD;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,WAAW,CAAoB;IAEvC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAK3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAK7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAKrC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,WAAW;IAKhD,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAK3C,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW;IAK5C,aAAa,CAAC,aAAa,EAAE,iBAAiB,GAAG,WAAW;IAK5D,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW;IAKjD,KAAK,IAAI,KAAK;CAaf"}
1
+ {"version":3,"file":"FlagBuilder.d.ts","sourceRoot":"","sources":["../../../../src/integrations/test_data/FlagBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,qBAAa,WAAW;IACtB,OAAO,CAAC,GAAG,CAAkD;IAC7D,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAsB;IACtC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,YAAY,CAAc;IAElC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAK3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAK7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAKrC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,WAAW;IAKhD,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAK3C,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW;IAK5C,aAAa,CAAC,aAAa,EAAE,iBAAiB,GAAG,WAAW;IAK5D,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW;IAKjD,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAK7C,KAAK,IAAI,KAAK;CAcf"}
@@ -10,6 +10,7 @@ class FlagBuilder {
10
10
  this._sendToExperiment = false;
11
11
  this._variation = '';
12
12
  this._variations = [];
13
+ this._matchReason = '';
13
14
  }
14
15
  id(id) {
15
16
  this._id = id;
@@ -43,6 +44,10 @@ class FlagBuilder {
43
44
  this._variations = variations;
44
45
  return this;
45
46
  }
47
+ matchReason(matchReason) {
48
+ this._matchReason = matchReason;
49
+ return this;
50
+ }
46
51
  build() {
47
52
  return {
48
53
  id: this._id,
@@ -53,7 +58,8 @@ class FlagBuilder {
53
58
  variations: this._variations,
54
59
  sendToExperiment: this._sendToExperiment,
55
60
  variation: this._variation,
56
- timestamp: new Date().getTime()
61
+ timestamp: new Date().getTime(),
62
+ matchReason: this._matchReason,
57
63
  };
58
64
  }
59
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FlagBuilder.js","sourceRoot":"","sources":["../../../../src/integrations/test_data/FlagBuilder.ts"],"names":[],"mappings":";;;AAAA,qBAAqB;AACrB,uDAA8F;AAG9F,MAAa,WAAW;IAAxB;QACU,QAAG,GAAW,SAAS,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QAIrD,mBAAc,GAAsB,yBAAiB,CAAC,KAAK,CAAC;QAC5D,sBAAiB,GAAY,KAAK,CAAC;QACnC,eAAU,GAAc,EAAE,CAAC;QAC3B,gBAAW,GAAiB,EAAE,CAAC;IAuDzC,CAAC;IArDC,EAAE,CAAC,EAAU;QACX,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,MAA2B;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,GAAY;QAC3B,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAA;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,SAAoB;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,aAAgC;QAC5C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,UAAwB;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAI;YACb,GAAG,EAAE,IAAI,CAAC,IAAK;YACf,OAAO,EAAE,IAAI,CAAC,QAAS;YACvB,MAAM,EAAE,IAAI,CAAC,OAAQ;YACrB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;SAChC,CAAC;IACJ,CAAC;CACF;AA/DD,kCA+DC"}
1
+ {"version":3,"file":"FlagBuilder.js","sourceRoot":"","sources":["../../../../src/integrations/test_data/FlagBuilder.ts"],"names":[],"mappings":";;;AAAA,qBAAqB;AACrB,uDAA8F;AAG9F,MAAa,WAAW;IAAxB;QACU,QAAG,GAAW,SAAS,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QAIrD,mBAAc,GAAsB,yBAAiB,CAAC,KAAK,CAAC;QAC5D,sBAAiB,GAAY,KAAK,CAAC;QACnC,eAAU,GAAc,EAAE,CAAC;QAC3B,gBAAW,GAAiB,EAAE,CAAC;QAC/B,iBAAY,GAAW,EAAE,CAAC;IA6DpC,CAAC;IA3DC,EAAE,CAAC,EAAU;QACX,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,MAA2B;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,GAAY;QAC3B,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAA;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,SAAoB;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,aAAgC;QAC5C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,UAAwB;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,WAAmB;QAC7B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAI;YACb,GAAG,EAAE,IAAI,CAAC,IAAK;YACf,OAAO,EAAE,IAAI,CAAC,QAAS;YACvB,MAAM,EAAE,IAAI,CAAC,OAAQ;YACrB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC/B,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;IACJ,CAAC;CACF;AAtED,kCAsEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStore.d.ts","sourceRoot":"","sources":["../../../src/store/BaseStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,SAAU,YAAW,MAAM;IACtC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAA4B;IAE9D,SAAS,CAAC,UAAU,UAAS;IAE7B,SAAS,CAAC,KAAK,EAAE,KAAK,CAAe;;IAK/B,QAAQ,CAAC,IAAI,EAAE,KAAK;IAO1B,IAAI,IAAI,IAAI,KAAK,CAEhB;cAEe,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAyBtE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAapD,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC;IAYxC,IAAI,CAAC,OAAO,EAAE,iBAAiB;IAgB/B,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe;IAInD,WAAW,IAAI,OAAO;IAKtB,KAAK,IAAI,IAAI;IAIb,IAAI,OAAO,IAAI,MAAM,CAEpB;IAGD,IAAI,WAAW,IAAI,MAAM,CAExB;cAGe,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAIzB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;cAIrC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAEpD"}
1
+ {"version":3,"file":"BaseStore.d.ts","sourceRoot":"","sources":["../../../src/store/BaseStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,SAAU,YAAW,MAAM;IACtC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAA4B;IAE9D,SAAS,CAAC,UAAU,UAAS;IAE7B,SAAS,CAAC,KAAK,EAAE,KAAK,CAAe;;IAK/B,QAAQ,CAAC,IAAI,EAAE,KAAK;IAM1B,IAAI,IAAI,IAAI,KAAK,CAEhB;cAEe,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAyBtE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAapD,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC;IAYxC,IAAI,CAAC,OAAO,EAAE,iBAAiB;IAgB/B,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe;IAInD,WAAW,IAAI,OAAO;IAKtB,KAAK,IAAI,IAAI;IAIb,IAAI,OAAO,IAAI,MAAM,CAEpB;IAGD,IAAI,WAAW,IAAI,MAAM,CAExB;cAGe,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAIzB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;cAIrC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAEpD"}
@@ -20,7 +20,6 @@ class BaseStore {
20
20
  return __awaiter(this, void 0, void 0, function* () {
21
21
  this._user = Object.assign({}, user);
22
22
  yield this.saveUser();
23
- yield this.loadStoreFromStorage();
24
23
  });
25
24
  }
26
25
  get user() {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStore.js","sourceRoot":"","sources":["../../../src/store/BaseStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseStore.js","sourceRoot":"","sources":["../../../src/store/BaseStore.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ class InMemoryStore extends BaseStore_1.BaseStore {
33
33
  return __awaiter(this, void 0, void 0, function* () {
34
34
  const userHash = yield (0, utils_1.hashSerializeUser)(this._user);
35
35
  const storageKey = `${store_1.StoreStorageKey}-${userHash}`;
36
- this.allStores[storageKey] = Object.assign({}, this.store);
36
+ this.allStores[storageKey] = (0, utils_1.deepCopy)(this.store);
37
37
  });
38
38
  }
39
39
  loadStoreFromStorage() {
@@ -41,7 +41,7 @@ class InMemoryStore extends BaseStore_1.BaseStore {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
42
  const userHash = yield (0, utils_1.hashSerializeUser)(this._user);
43
43
  const storageKey = `${store_1.StoreStorageKey}-${userHash}`;
44
- this.store = (_a = this.allStores[storageKey]) !== null && _a !== void 0 ? _a : { flags: {}, version: 0 };
44
+ this.store = (_a = (0, utils_1.deepCopy)(this.allStores[storageKey])) !== null && _a !== void 0 ? _a : { flags: {}, version: 0 };
45
45
  });
46
46
  }
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryStore.js","sourceRoot":"","sources":["../../../src/store/InMemoryStore.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAGiB;AACjB,2CAAwC;AACxC,oCAA6C;AAE7C,MAAqB,aAAc,SAAQ,qBAAS;IAGlD;QACE,KAAK,EAAE,CAAC;QAHF,cAAS,GAAyD,EAAE,CAAC;IAI7E,CAAC;IAED,2CAA2C;IAC3C,KAAK;QACH,8CAA8C;IAChD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAEe,QAAQ;;YACtB,wCAAwC;QAC1C,CAAC;KAAA;IAEwB,kBAAkB;;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,uBAAe,IAAI,QAAQ,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,qBAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;KAAA;IAEwB,oBAAoB;;;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,uBAAe,IAAI,QAAQ,EAAE,CAAC;YAEpD,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;KACtE;CACF;AAhCD,gCAgCC"}
1
+ {"version":3,"file":"InMemoryStore.js","sourceRoot":"","sources":["../../../src/store/InMemoryStore.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAGiB;AACjB,2CAAwC;AACxC,oCAAuD;AAEvD,MAAqB,aAAc,SAAQ,qBAAS;IAGlD;QACE,KAAK,EAAE,CAAC;QAHF,cAAS,GAAyD,EAAE,CAAC;IAI7E,CAAC;IAED,2CAA2C;IAC3C,KAAK;QACH,8CAA8C;IAChD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAEe,QAAQ;;YACtB,wCAAwC;QAC1C,CAAC;KAAA;IAEwB,kBAAkB;;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,uBAAe,IAAI,QAAQ,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;KAAA;IAEwB,oBAAoB;;;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,GAAG,uBAAe,IAAI,QAAQ,EAAE,CAAC;YAEpD,IAAI,CAAC,KAAK,GAAG,MAAA,IAAA,gBAAQ,EAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,mCAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;KAChF;CACF;AAhCD,gCAgCC"}
@@ -0,0 +1,2 @@
1
+ export declare function deepCopy<T>(obj: T): T;
2
+ //# sourceMappingURL=deepCopy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepCopy.d.ts","sourceRoot":"","sources":["../../../src/utils/deepCopy.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAErC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deepCopy = void 0;
4
+ function deepCopy(obj) {
5
+ return JSON.parse(JSON.stringify(obj));
6
+ }
7
+ exports.deepCopy = deepCopy;
8
+ //# sourceMappingURL=deepCopy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepCopy.js","sourceRoot":"","sources":["../../../src/utils/deepCopy.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAI,GAAM;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAFD,4BAEC"}
@@ -4,4 +4,5 @@ export * from './ValueConverters';
4
4
  export * from './VoidFunction';
5
5
  export * from './serializeUser';
6
6
  export * from './debounce';
7
+ export * from './deepCopy';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -20,4 +20,5 @@ __exportStar(require("./ValueConverters"), exports);
20
20
  __exportStar(require("./VoidFunction"), exports);
21
21
  __exportStar(require("./serializeUser"), exports);
22
22
  __exportStar(require("./debounce"), exports);
23
+ __exportStar(require("./deepCopy"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,0CAAwB;AACxB,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,0CAAwB;AACxB,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAChC,6CAA2B;AAC3B,6CAA2B"}
@@ -1,3 +1,3 @@
1
- export declare const version = "4.2.8";
1
+ export declare const version = "4.2.11";
2
2
  export declare const name = "@featbit/js-client-sdk";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAAC,eAAO,MAAM,IAAI,2BAA2B,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC;AAAC,eAAO,MAAM,IAAI,2BAA2B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.name = exports.version = void 0;
4
- exports.version = "4.2.8";
4
+ exports.version = "4.2.11";
5
5
  exports.name = "@featbit/js-client-sdk";
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC;AAAc,QAAA,IAAI,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC;AAAc,QAAA,IAAI,GAAG,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var r in i)("object"==typeof exports?exports:e)[r]=i[r]}}(this,(()=>(()=>{"use strict";var e={1058:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.defaultValues=void 0;const n=i(5862),s=r(i(9176)),o=r(i(7783)),a=i(5562),l=i(1624),u=i(665),c=i(7837),d=i(607),h=i(8317),f={startWaitTime:n.TypeValidators.Number,sdkKey:n.TypeValidators.String,pollingUri:n.TypeValidators.String,streamingUri:n.TypeValidators.String,eventsUri:n.TypeValidators.String,webSocketPingInterval:n.TypeValidators.Number,logger:n.TypeValidators.Object,logLevel:n.TypeValidators.String,store:n.TypeValidators.ObjectOrFactory,dataSynchronizer:n.TypeValidators.ObjectOrFactory,flushInterval:n.TypeValidators.Number,maxEventsInQueue:n.TypeValidators.Number,disableEvents:n.TypeValidators.Boolean,pollingInterval:n.TypeValidators.Number,offline:n.TypeValidators.Boolean,dataSyncMode:n.TypeValidators.String,bootstrap:n.TypeValidators.Bootstrap,user:n.TypeValidators.User};t.defaultValues={startWaitTime:5e3,sdkKey:"",pollingUri:"",streamingUri:"",eventsUri:"",dataSyncMode:d.DataSyncModeEnum.STREAMING,sendEvents:!0,webSocketPingInterval:18e3,flushInterval:2e3,maxEventsInQueue:1e4,disableEvents:!1,pollingInterval:3e4,offline:!1,store:e=>new o.default,bootstrap:void 0,user:void 0},t.default=class{constructor(e={}){var i,r;this.bootstrapProvider=new u.NullBootstrapProvider,e=e||{},this.logger=e.logger;const{errors:o,validatedOptions:v}=function(e){let i=[];const r=Object.assign({},t.defaultValues);return Object.keys(e).forEach((o=>{var a;const l=e[o],u=f[o];if(u)if(u.is(l))r[o]=l;else if("boolean"===u.getType())i.push(s.default.wrongOptionTypeBoolean(o,typeof l)),r[o]=!!l;else if(u instanceof n.NumberWithMinimum&&n.TypeValidators.Number.is(l)){const{min:e}=u;i.push(s.default.optionBelowMinimum(o,l,e)),r[o]=e}else u instanceof n.UserValidator?(i=[...i,...u.messages],r[o]=t.defaultValues[o]):(i.push(s.default.wrongOptionType(o,u.getType(),typeof l)),r[o]=t.defaultValues[o]);else null===(a=e.logger)||void 0===a||a.warn(s.default.unknownOption(o))})),{errors:i,validatedOptions:r}}(e);if(o.forEach((e=>{var t;null===(t=this.logger)||void 0===t||t.error(e)})),this.user=v.user,function(e,t){var i,r,n;const{streamingUri:o,pollingUri:l,eventsUri:u}=e,h=(0,a.isNullOrUndefined)(o)||o===c.EmptyString,f=(0,a.isNullOrUndefined)(l)||l===c.EmptyString,v=(0,a.isNullOrUndefined)(u)||u===c.EmptyString;!t.offline&&(v||h&&f)&&(v&&(null===(i=t.logger)||void 0===i||i.error(s.default.partialEndpoint("eventsUri"))),t.dataSyncMode===d.DataSyncModeEnum.STREAMING&&h&&(null===(r=t.logger)||void 0===r||r.error(s.default.partialEndpoint("streamingUri"))),t.dataSyncMode===d.DataSyncModeEnum.POLLING&&f&&(null===(n=t.logger)||void 0===n||n.error(s.default.partialEndpoint("pollingUri"))))}(e,v),this.streamingUri=`${(0,l.canonicalizeUri)(v.streamingUri)}/streaming`,this.pollingUri=`${(0,l.canonicalizeUri)(v.pollingUri)}/api/public/sdk/client/latest-all`,this.eventsUri=`${(0,l.canonicalizeUri)(v.eventsUri)}/api/public/insight/track`,this.startWaitTime=v.startWaitTime,this.sdkKey=v.sdkKey,this.webSocketPingInterval=v.webSocketPingInterval,this.flushInterval=v.flushInterval,this.maxEventsInQueue=v.maxEventsInQueue,this.disableEvents=v.disableEvents,this.pollingInterval=v.pollingInterval,this.offline=v.offline,v.bootstrap&&v.bootstrap.length>0)try{this.bootstrapProvider=new h.JsonBootstrapProvider(v.bootstrap)}catch(e){null===(i=this.logger)||void 0===i||i.error("Failed to parse bootstrap JSON, use NullBootstrapProvider.")}this.offline&&(null===(r=this.logger)||void 0===r||r.info("Offline mode enabled. No data synchronization with the FeatBit server will occur.")),this.dataSyncMode=v.dataSyncMode,n.TypeValidators.Function.is(v.dataSynchronizer)?this.dataSynchronizerFactory=v.dataSynchronizer:this.dataSynchronizerFactory=()=>v.dataSynchronizer,n.TypeValidators.Function.is(v.store)?this.storeFactory=v.store:this.storeFactory=()=>v.store}}},1731:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t){this.valid=e,this.message=t}static fromUser(e){if(!e)return i.contextForError("No user specified");const{keyId:t,name:r}=e;if(null==t||""===t.trim())return i.contextForError("key is mandatory");const n=new i(!0);return n._user=e,n}get user(){return this._user}get keyId(){return this._user.keyId}value(e){var t,i,r,n,s;return"keyId"===e?null===(t=this._user)||void 0===t?void 0:t.keyId:"name"===e?null===(i=this._user)||void 0===i?void 0:i.name:null===(s=null===(n=null===(r=this._user)||void 0===r?void 0:r.customizedProperties)||void 0===n?void 0:n.find((t=>t.name===e)))||void 0===s?void 0:s.value}static contextForError(e){return new i(!1,e)}}t.default=i},70:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FbClientBuilder=void 0;const n=r(i(8322));t.FbClientBuilder=class{constructor(e){this._options=null!=e?e:{}}build(){return new n.default(this._options,this._platform)}platform(e){return this._platform=e,this}startWaitTime(e){return this._options.startWaitTime=e,this}sdkKey(e){return this._options.sdkKey=e,this}user(e){return this._options.user=e,this}streamingUri(e){return this._options.streamingUri=e,this}pollingUri(e){return this._options.pollingUri=e,this}eventsUri(e){return this._options.eventsUri=e,this}dataSyncMode(e){return this._options.dataSyncMode=e,this}pollingInterval(e){return this._options.pollingInterval=e,this}flushInterval(e){return this._options.flushInterval=e,this}maxEventsInQueue(e){return this._options.maxEventsInQueue=e,this}disableEvents(e){return this._options.disableEvents=e,this}logger(e){return this._options.logger=e,this}logLevel(e){return this._options.logLevel=e,this}offline(e){return this._options.offline=e,this}bootstrap(e){return this._options.bootstrap=e,this}dataSynchronizer(e){return this._options.dataSynchronizer=e,this}}},4129:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FbClientCore=void 0;const s=n(i(1058)),o=n(i(8311)),a=n(i(4659)),l=i(7539),u=n(i(6100)),c=n(i(3148)),d=n(i(4943)),h=n(i(2093)),f=n(i(8874)),v=i(5192),p=i(7449),g=n(i(1731)),y=i(1142),m=i(8722),b=i(407),_=i(2305),O=i(7584),w=i(607),P=i(5862),S=i(9823),j=i(8598);var E;!function(e){e[e.Initializing=0]="Initializing",e[e.Initialized=1]="Initialized",e[e.Failed=2]="Failed"}(E||(E={})),t.FbClientCore=class{constructor(e,t,i){this.options=e,this.platform=t,this.state=E.Initializing,this.onError=i.onError,this.onFailed=i.onFailed,this.onReady=i.onReady;const{onUpdate:r,hasEventListeners:n}=i,o=new s.default(e);if(!o.sdkKey&&!o.offline)throw new Error("You must configure the client with an SDK key");if(!o.user)throw new Error("You must configure the client with a user");this.config=o,this.logger=o.logger,this.init(r,n)}init(e,t){var i,n,s;return r(this,void 0,void 0,(function*(){const r=new o.default(this.config.sdkKey,this.config,this.platform);if(this.store=this.config.storeFactory(r),yield this.store.identify(this.config.user),this.dataSourceUpdates=new a.default(this.store,t,e),this.evaluator=new f.default(this.store),yield this.config.bootstrapProvider.populate(this.config.user.keyId,this.dataSourceUpdates),this.config.offline)this.eventProcessor=new b.NullEventProcessor,this.dataSynchronizer=new m.NullDataSynchronizer,this.initSuccess();else{this.config.disableEvents?this.eventProcessor=new b.NullEventProcessor:this.eventProcessor=new _.DefaultEventProcessor(r);const e=(0,l.createStreamListeners)(this.dataSourceUpdates,this.logger,{put:()=>this.initSuccess(),patch:()=>this.initSuccess()}),t=this.config.dataSyncMode===w.DataSyncModeEnum.STREAMING?new u.default(this.config.sdkKey,this.config.user,r,this.platform.webSocket,(()=>this.store.version),e,this.config.webSocketPingInterval):new c.default(this.config,new d.default(this.config.sdkKey,this.config,this.platform.info,this.platform.requests),(()=>this.store.version),e,(e=>this.dataSourceErrorHandler(e)));this.dataSynchronizer=null!==(s=null===(n=(i=this.config).dataSynchronizerFactory)||void 0===n?void 0:n.call(i,r,this.store,this.dataSourceUpdates,(()=>this.initSuccess()),(e=>this.dataSourceErrorHandler(e))))&&void 0!==s?s:t}this.start()}))}identify(e){var t,i;return r(this,void 0,void 0,(function*(){const r=new P.UserValidator;if(!r.is(e))return void r.messages.forEach((e=>{var t;null===(t=this.logger)||void 0===t||t.warn(e)}));const[n,s]=this.store.all(h.default.Flags),o={flags:Object.assign({},n),version:s};this.config.user=e,yield this.store.identify(e);try{yield this.dataSynchronizer.identify(e)}catch(e){null===(t=this.logger)||void 0===t||t.error("dataSynchronizer unable to identify user.")}const[a,l]=this.store.all(h.default.Flags),u={flags:Object.assign({},a),version:l};0===Object.keys(a).length?yield this.config.bootstrapProvider.populate(e.keyId,this.dataSourceUpdates):null===(i=this.dataSourceUpdates)||void 0===i||i.checkUpdates(o,u)}))}start(){this.config.offline||(this.dataSynchronizer.start(),setTimeout((()=>{var e,t;if(!this.initialized()){const i=`FbClient failed to start successfully within ${this.config.startWaitTime} milliseconds. This error usually indicates a connection issue with FeatBit or an invalid sdkKey.Please double-check your sdkKey and streamingUri/pollingUri configuration. We will continue to initialize the FbClient, it still have a chance to get to work if it's a temporary network issue`,r=new p.TimeoutError(i);return this.state=E.Failed,this.rejectionReason=r,null===(e=this.initReject)||void 0===e||e.call(this,r),null===(t=this.logger)||void 0===t?void 0:t.warn(i)}}),this.config.startWaitTime))}initialized(){return this.state===E.Initialized}waitForInitialization(){return this.initializedPromise?this.initializedPromise:this.state===E.Initialized?(this.initializedPromise=Promise.resolve(this),this.initializedPromise):this.state===E.Failed?(this.initializedPromise=Promise.reject(this.rejectionReason),this.initializedPromise):(this.initializedPromise||(this.initializedPromise=new Promise(((e,t)=>{this.initResolve=e,this.initReject=t}))),this.initializedPromise)}boolVariation(e,t){return this.evaluateCore(e,t,y.ValueConverters.bool).value}boolVariationDetail(e,t){return this.evaluateCore(e,t,y.ValueConverters.bool)}jsonVariation(e,t){return this.evaluateCore(e,t,y.ValueConverters.json).value}jsonVariationDetail(e,t){return this.evaluateCore(e,t,y.ValueConverters.json)}numberVariation(e,t){return this.evaluateCore(e,t,y.ValueConverters.number).value}numberVariationDetail(e,t){return this.evaluateCore(e,t,y.ValueConverters.number)}stringVariation(e,t){return this.evaluateCore(e,t,y.ValueConverters.string).value}stringVariationDetail(e,t){return this.evaluateCore(e,t,y.ValueConverters.string)}variation(e,t){return this.evaluateCore(e,t).value}variationDetail(e,t){return this.evaluateCore(e,t)}getAllVariations(){var e;const t=g.default.fromUser(this.config.user);if(!t.valid){const i=new p.ClientError(`${null!==(e=t.message)&&void 0!==e?e:"User not valid;"} returning default value.`);return this.onError(i),Promise.resolve([])}const[i,r]=this.store.all(h.default.Flags),n=Object.keys(i).map((e=>{var t;const i=this.evaluator.evaluate(e);return{flagKey:e,kind:i.kind,reason:i.reason,value:null===(t=i.value)||void 0===t?void 0:t.variation}}));return Promise.resolve(n)}close(){var e;return r(this,void 0,void 0,(function*(){yield this.eventProcessor.close(),null===(e=this.dataSynchronizer)||void 0===e||e.close(),this.store.close()}))}track(e,t){const i=new O.MetricEvent(this.config.user,e,this.platform.info.appType,null!=t?t:1);this.eventProcessor.record(i)}flush(e){return r(this,void 0,void 0,(function*(){try{return yield this.eventProcessor.flush(),null==e||e(!0),!0}catch(t){return null==e||e(!1),!1}}))}evaluateCore(e,t,i){var r,n,s;const o=g.default.fromUser(this.config.user);if(!o.valid){const i=new p.ClientError(`${null!==(r=o.message)&&void 0!==r?r:"User not valid;"} returning default value.`);return this.onError(i),{flagKey:e,kind:v.ReasonKinds.Error,reason:i.message,value:t}}const a=this.evaluator.evaluate(e);if(a.kind===v.ReasonKinds.FlagNotFound){const i=new p.ClientError(a.reason);return this.onError(i),{flagKey:e,kind:a.kind,reason:a.reason,value:t}}if(this.initialized()){const t=null===(s=this.store)||void 0===s?void 0:s.get(h.default.Flags,e);(null==t?void 0:t.origin)===j.StoreItemOriginEnum.Remote&&this.eventProcessor.record(a.toEvalEvent(this.config.user))}else null===(n=this.logger)||void 0===n||n.warn("Variation called before FeatBit client initialization completed (did you wait for the'ready' event?)");let l;if(i)l=i;else switch(a.value.variationType){case S.VariationDataType.boolean:l=y.ValueConverters.bool;break;case S.VariationDataType.number:l=y.ValueConverters.number;break;case S.VariationDataType.json:l=y.ValueConverters.json;break;case S.VariationDataType.string:default:l=y.ValueConverters.string}const{isSucceeded:u,value:c}=l(a.value.variation);return u?{flagKey:e,kind:a.kind,reason:a.reason,value:c}:{flagKey:e,kind:v.ReasonKinds.WrongType,reason:"type mismatch",value:t}}dataSourceErrorHandler(e){var t;const i=401===e.code?new Error("Authentication failed. Double check your SDK key."):e;this.onError(i),this.onFailed(i),this.initialized()||(this.state=E.Failed,this.rejectionReason=i,null===(t=this.initReject)||void 0===t||t.call(this,i))}initSuccess(){var e,t;this.initialized()||(this.state=E.Initialized,null===(e=this.logger)||void 0===e||e.info("FbClient started successfully."),null===(t=this.initResolve)||void 0===t||t.call(this,this),this.onReady())}}},5717:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},4881:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},292:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},226:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6399:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},700:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.JsonBootstrapProvider=void 0;const r=i(4426),n=i(443),s=i(5562);t.JsonBootstrapProvider=class{constructor(e){const t=(e||[]).map((e=>Object.assign(Object.assign({},e),{origin:n.StoreItemOriginEnum.Local,variationOptions:e.variationOptions||[{id:null,variation:e.variation}]}))),i=(0,r.deserializeAll)(t);this.dataSet={flags:i.flags,version:0}}populate(e,t,i){return new Promise(((r,n)=>{if((0,s.isNullOrUndefined)(this.dataSet))return r();t.init(e,this.dataSet,(()=>{r(),null==i||i()}))}))}}},665:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NullBootstrapProvider=void 0,t.NullBootstrapProvider=class{constructor(){this.dataSet={flags:{},version:0}}populate(e,t,i){return new Promise(((e,t)=>{e(),null==i||i()}))}}},8317:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(6399),t),n(i(700),t),n(i(665),t)},7837:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MinInt=t.EmptyString=void 0,t.EmptyString="",t.MinInt=2147483648},4659:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=i(443),o=n(i(2093));t.default=class{constructor(e,t,i){this.store=e,this.hasEventListeners=t,this.onChange=i}init(e,t,i){return r(this,void 0,void 0,(function*(){if(e!==this.store.user.keyId)return void(null==i||i());const n=this.hasEventListeners(),[a,l]=this.store.all(o.default.Flags),u={flags:a,version:l};yield(e=>r(this,void 0,void 0,(function*(){if(!Object.keys(t.flags).some((e=>t.flags[e].origin===s.StoreItemOriginEnum.Local))&&e){const i=Object.keys(e.flags).filter((i=>e.flags[i]&&!t.flags[i]&&e.flags[i].origin===s.StoreItemOriginEnum.Local)).reduce(((t,i)=>(t[i]=e.flags[i],t)),{});t={version:t.version,flags:Object.assign(Object.assign({},t.flags),i)}}yield this.store.init(t),Promise.resolve().then((()=>{if(n){const i=Object.keys(t).filter((e=>"version"!==e)).flatMap((i=>{const r=(null==e?void 0:e[i])||{},n=t[i],s=Object.assign(Object.assign({},r),n);return Object.keys(s).filter((e=>this.isUpdated(r&&r[e],n&&n[e])))}));i.length>0&&this.onChange(i)}})),null==i||i()})))(u)}))}checkUpdates(e,t,i){if(!this.hasEventListeners())return;const r=Object.keys(t).filter((e=>"version"!==e)).flatMap((i=>{const r=(null==e?void 0:e[i])||{},n=t[i],s=Object.assign(Object.assign({},r),n);return Object.keys(s).filter((e=>this.isUpdated(r&&r[e],n&&n[e])))}));r.length>0&&this.onChange(r),null==i||i()}upsert(e,t,i,n){return r(this,void 0,void 0,(function*(){if(e!==this.store.user.keyId)return void(null==n||n());const{key:s}=i,o=this.hasEventListeners(),a=e=>r(this,void 0,void 0,(function*(){yield this.store.upsert(t,i),Promise.resolve().then((()=>{o&&this.isUpdated(e,i)&&this.onChange([s])})),null==n||n()}));if(o){const e=this.store.get(t,s);yield a(e||void 0)}else yield a()}))}isUpdated(e,t){return!(!e&&!t||e&&t&&!(t.version>=e.version&&t.variation!==e.variation))}}},7539:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.createStreamListeners=void 0;const n=i(4426);t.createStreamListeners=(e,t,i)=>{const s=new Map;return s.set("put",((e,t,i=(()=>{}))=>({deserializeData:n.deserializeAll,processJson:(n,{flags:s})=>r(void 0,void 0,void 0,(function*(){const r={flags:s,version:0};null==t||t.debug("Initializing all data"),yield e.init(n,r,i)}))}))(e,t,null==i?void 0:i.put)),s.set("patch",((e,t,i=(()=>{}))=>({deserializeData:n.deserializePatch,processJson:(n,s)=>r(void 0,void 0,void 0,(function*(){if(0!==(null==s?void 0:s.length)){if((null==s?void 0:s.length)>0)for(const r of s)null==t||t.debug(`Updating ${r.data.key} in ${r.kind.namespace}`),yield e.upsert(n,r.kind,r.data,i)}else null==i||i()}))}))(e,t,null==i?void 0:i.patch)),s}},3758:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(7539),t),n(i(4659),t)},607:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DataSyncModeEnum=void 0,function(e){e.POLLING="polling",e.STREAMING="streaming"}(i||(t.DataSyncModeEnum=i={}))},304:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},450:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},8722:function(e,t){var i=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.NullDataSynchronizer=void 0,t.NullDataSynchronizer=class{close(){}start(){}stop(){}identify(){return i(this,void 0,void 0,(function*(){}))}}},3148:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=i(7449),s=i(1962),o=i(8688),a=i(8598);t.default=class{constructor(e,t,i,r,n){this.requestor=t,this.getStoreTimestamp=i,this.listeners=r,this.errorHandler=n,this.stopped=!1,this.logger=e.logger,this.pollingInterval=e.pollingInterval,this.user=e.user}poll(e,t){var i;if(this.stopped)return;const l=Date.now();null===(i=this.logger)||void 0===i||i.debug("Polling for feature flag and segments updates"),this.requestor.requestData(this.getStoreTimestamp(),this.user,((i,u)=>r(this,void 0,void 0,(function*(){var r,c,d,h,f,v,p;const g=Date.now()-l,y=Math.max(this.pollingInterval-g,0);if(null===(r=this.logger)||void 0===r||r.debug("Elapsed: %d ms, sleeping for %d ms",g,y),i){const{status:r}=i;if(!(0,n.isHttpRecoverable)(r)){const e=(0,o.httpErrorMessage)(i,"polling request");return null===(c=this.logger)||void 0===c||c.error(e),null===(d=this.errorHandler)||void 0===d||d.call(this,new n.PollingError(e,r)),void(null==t||t())}null===(h=this.logger)||void 0===h||h.warn((0,o.httpErrorMessage)(i,"polling request","will retry")),this.timeoutHandle=setTimeout((()=>{this.poll(e,t)}),y)}else{let t=[],i=null===(f=this.user)||void 0===f?void 0:f.keyId,r=this.listeners.get("patch");if(u){const e=JSON.parse(u);if("data-sync"===e.messageType){switch(e.data.eventType){case s.StreamResponseEventType.patch:r=this.listeners.get("patch");break;case s.StreamResponseEventType.full:r=this.listeners.get("put")}({featureFlags:t,userKeyId:i}=e.data),t=t.map((e=>Object.assign(Object.assign({},e),{origin:a.StoreItemOriginEnum.Remote})))}}const n=null===(v=null==r?void 0:r.deserializeData)||void 0===v?void 0:v.call(r,t);yield null===(p=null==r?void 0:r.processJson)||void 0===p?void 0:p.call(r,i,n),null==e||e(),this.timeoutHandle=setTimeout((()=>{this.poll()}),y)}}))))}identify(e){return r(this,void 0,void 0,(function*(){return this.user=Object.assign({},e),this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),new Promise(((e,t)=>{this.poll(e,t)}))}))}close(){this.stop()}start(){this.poll()}stop(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.stopped=!0}}},4943:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=i(7449),s=i(8688);t.default=class{constructor(e,t,i,r){this.requests=r,this.headers=(0,s.defaultHeaders)(e,i),this.uri=t.pollingUri}request(e,t){return r(this,void 0,void 0,(function*(){const i=yield this.requests.fetch(e,t),r=yield i.text();return{res:i,body:r}}))}requestData(e,t,i){return r(this,void 0,void 0,(function*(){const r={method:"POST",headers:this.headers,body:JSON.stringify(t)};try{const{res:t,body:s}=yield this.request(`${this.uri}?timestamp=${null!=e?e:0}`,r);if(200!==t.status&&304!==t.status){const e=new n.StreamingError(`Unexpected status code: ${t.status}`,t.status);return i(e,void 0)}return i(void 0,304===t.status?null:s)}catch(e){return i(e,void 0)}}))}}},6100:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=i(8598);t.default=class{constructor(e,t,i,s,o,a,l){this.getStoreTimestamp=o,this.listeners=a;const{logger:u,streamingUri:c}=i;this.logger=u,this.socket=s,this.socket.config({sdkKey:e,streamingUri:c,pingInterval:l,user:t,logger:u,getStoreTimestamp:o}),this.listeners.forEach((({deserializeData:e,processJson:t},i)=>{var s;null===(s=this.socket)||void 0===s||s.addListener(i,(s=>r(this,void 0,void 0,(function*(){var r,o;if(null===(r=this.logger)||void 0===r||r.debug(`Received ${i} event`),null==s?void 0:s.data){const{userKeyId:i}=s.data,r=s.data.featureFlags.map((e=>Object.assign(Object.assign({},e),{origin:n.StoreItemOriginEnum.Remote}))),a=e(r);yield t(i,a),null===(o=this.identifyResolve)||void 0===o||o.call(this),this.identifyResolve=void 0}}))))}))}identify(e){var t;return r(this,void 0,void 0,(function*(){const i=null===(t=this.socket)||void 0===t?void 0:t.identify(e);return new Promise(((e,t)=>{this.identifyResolve=e,i||t(new Error("Websocket identify failed"))}))}))}start(){var e;this.logConnectionStarted(),null===(e=this.socket)||void 0===e||e.connect()}logConnectionStarted(){var e;this.connectionAttemptStartTime=Date.now(),null===(e=this.logger)||void 0===e||e.info(`Stream connection attempt StartTime ${this.connectionAttemptStartTime}`)}close(){this.stop()}stop(){var e;null===(e=this.socket)||void 0===e||e.close(),this.socket=void 0}}},9999:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(607),t),n(i(304),t),n(i(450),t),n(i(8722),t),n(i(3148),t),n(i(4943),t),n(i(1962),t),n(i(6870),t),n(i(6100),t)},1962:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.StreamResponseEventType=void 0,function(e){e.full="full",e.patch="patch"}(i||(t.StreamResponseEventType=i={}))},6870:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateConnectionToken=void 0;const i={0:"Q",1:"B",2:"W",3:"S",4:"P",5:"H",6:"D",7:"X",8:"Z",9:"U"};function r(e,t){var r="000000000000"+e;return r.slice(r.length-t).split("").map((e=>i[e])).join("")}t.generateConnectionToken=function(e){e=e.replace(/=*$/,"");const t=Date.now(),i=r(t,t.toString().length),n=Math.max(Math.floor(Math.random()*e.length),2);return`${r(n,3)}${r(i.length,2)}${e.slice(0,n)}${i}${e.slice(n)}`}},7449:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isHttpRecoverable=t.TimeoutError=t.ClientError=t.UnexpectedResponseError=t.StreamingError=t.PollingError=void 0;class i extends Error{constructor(e,t){super(e),this.status=t,this.name="FbPollingError"}}t.PollingError=i;class r extends Error{constructor(e,t){super(e),this.code=t,this.name="FbStreamingError"}}t.StreamingError=r;class n extends Error{constructor(e){super(e),this.name="FbUnexpectedResponseError"}}t.UnexpectedResponseError=n;class s extends Error{constructor(e){super(e),this.name="FbClientError"}}t.ClientError=s;class o extends Error{constructor(e){super(e),this.name="FeatBitTimeoutError"}}t.TimeoutError=o,t.isHttpRecoverable=function(e){return!(void 0===e||e>=400&&e<500&&400!==e&&408!==e&&429!==e)}},3100:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=i(5192),n=i(7584);class s{constructor(e,t,i){this.kind=e,this.value=t,this.reason=i}static flagNotFound(e){return new s(r.ReasonKinds.FlagNotFound,null,`flag not found: ${e}`)}static matched(e){return new s(r.ReasonKinds.Match,e,e.matchReason)}toEvalEvent(e){var t,i,s;if(this.kind!==r.ReasonKinds.Match)return null;const o=null===(t=this.value)||void 0===t?void 0:t.variations.find((e=>{var t;return e.value===(null===(t=this.value)||void 0===t?void 0:t.variation)}));return new n.EvalEvent(e,null===(i=this.value)||void 0===i?void 0:i.id,o,null===(s=this.value)||void 0===s?void 0:s.sendToExperiment)}}t.default=s},8874:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=r(i(3100)),s=r(i(2093));t.default=class{constructor(e){this.store=e}evaluate(e){const t=this.store.get(s.default.Flags,e);return t?n.default.matched(t):n.default.flagNotFound(e)}}},3675:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5192:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonKinds=void 0,function(e){e.ClientNotReady="ClientNotReady",e.Match="Match",e.WrongType="WrongType",e.FlagNotFound="FlagNotFound",e.Error="Error"}(i||(t.ReasonKinds=i={}))},9653:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.VariationDataType=void 0,function(e){e.string="string",e.boolean="boolean",e.number="number",e.json="json",e.empty=""}(i||(t.VariationDataType=i={}))},4228:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(9653),t)},9823:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(4228),t),n(i(3100),t),n(i(8874),t),n(i(3675),t),n(i(5192),t)},2305:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultEventProcessor=void 0;const n=i(5381),s=i(7584),o=i(5562),a=i(1218);t.DefaultEventProcessor=class{constructor(e){this.closed=!1;const{logger:t,flushInterval:i,maxEventsInQueue:r}=e;this.logger=t,this.flushInterval=i,this.eventQueue=new a.DefaultEventQueue(r,this.logger),this.eventDispatcher=new n.EventDispatcher(e,this.eventQueue),this.flushLoop()}flushLoop(){this.closed||setTimeout((()=>r(this,void 0,void 0,(function*(){try{yield this.flush()}catch(e){this.logger.error("Unexpected error while flushing events in event processor.",e)}this.flushLoop()}))),this.flushInterval)}flush(){const e=new s.FlushEvent;return this.record(e),e.waitForCompletion()}close(){return r(this,void 0,void 0,(function*(){if(this.closed)return;const e=new s.ShutdownEvent;this.record(e);try{yield e.waitForCompletion()}catch(e){this.logger.error("Event processor shutdown but not complete.")}this.eventQueue.close(),this.closed=!0}))}record(e){return!((0,o.isNullOrUndefined)(e)||!this.eventQueue.addEvent(e)&&(e instanceof s.FlushEvent&&e.complete(),1))}}},1218:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultEventQueue=void 0,t.DefaultEventQueue=class{constructor(e,t){this.capacity=e,this.logger=t,this.closed=!1,this.events=[]}addEvent(e){return!this.closed&&(this.events.length>=this.capacity?(this.logger.warn("Events are being produced faster than they can be processed. We shouldn't see this."),!1):(this.events.push(e),!0))}clear(){this.events=[]}shift(){return this.events.shift()}close(){this.closed=!0}get eventsSnapshot(){return[...this.events]}get length(){return this.events.length}get isEmpty(){return 0===this.length}}},2580:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultEventSender=void 0;const s=i(8174),o=i(8688),a=i(7449),l=n(i(1773));t.DefaultEventSender=class{constructor(e){const{sdkKey:t,eventsUri:i,platform:r}=e,{info:n,requests:s}=r;this.defaultHeaders=(0,o.defaultHeaders)(t,n),this.eventsUri=i,this.requests=s}send(e,t){return r(this,void 0,void 0,(function*(){const i={status:s.DeliveryStatus.Succeeded},r=Object.assign({},this.defaultHeaders);let n;try{const{status:t}=yield this.requests.fetch(this.eventsUri,{headers:r,body:e,method:"POST"});if(t>=200&&t<=299)return i;if(n=new a.UnexpectedResponseError((0,o.httpErrorMessage)({status:t,message:"some events were dropped"},"event posting")),!(0,a.isHttpRecoverable)(t))return i.status=s.DeliveryStatus.FailedAndMustShutDown,i.error=n,i}catch(e){n=e}return n&&!t?(i.status=s.DeliveryStatus.Failed,i.error=n,i):(yield(0,l.default)(),this.send(e,!1))}))}}},9657:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultEventSerializer=void 0;const r=i(7584);t.DefaultEventSerializer=class{serialize(e){const t=e.map((e=>e instanceof r.EvalEvent||e instanceof r.MetricEvent?e.toPayload():null)).filter((e=>null!==e));return JSON.stringify(t)}}},5381:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.EventDispatcher=void 0;const s=i(8174),o=i(1218),a=i(2580),l=i(7584),u=i(9657),c=n(i(1773));t.EventDispatcher=class{constructor(e,t){this.maxEventPerRequest=50,this.stopped=!1;const{logger:i,maxEventsInQueue:r}=e;this.logger=i,this.buffer=new o.DefaultEventQueue(r,this.logger),this.sender=new a.DefaultEventSender(e),this.serializer=new u.DefaultEventSerializer,this.dispatchLoop(t).then()}dispatchLoop(e){return r(this,void 0,void 0,(function*(){this.logger.debug("Start dispatch loop.");let t=!0;for(;t;)try{const i=e.shift();if(void 0===i){yield(0,c.default)(1e3);continue}i instanceof l.PayloadEvent?this.addEventToBuffer(i):i instanceof l.FlushEvent?yield this.triggerFlush(i):i instanceof l.ShutdownEvent&&(yield this.triggerFlush(i),this.stopped=!0,t=!1)}catch(e){this.logger.error("Unexpected error in event dispatcher.",e)}this.logger.debug("Finish dispatch loop.")}))}addEventToBuffer(e){this.stopped||(this.buffer.addEvent(e)?this.logger.debug("Added event to buffer."):this.logger.warn("Exceeded event queue capacity, event will be dropped. Increase capacity to avoid dropping events."))}triggerFlush(e){return r(this,void 0,void 0,(function*(){if(this.stopped)return void e.complete();if(this.buffer.isEmpty)return e.complete(),void this.logger.debug("Flush empty buffer.");const t=this.buffer.eventsSnapshot;this.buffer.clear();try{yield this.flushEvents(t),this.logger.debug(`${t.length} events has been flushed.`)}catch(e){this.logger.warn("Exception happened when flushing events",e)}e.complete()}))}flushEvents(e){return r(this,void 0,void 0,(function*(){const t=(e=this.getUniqueEvents(e)).length;for(let i=0;i<t;i+=this.maxEventPerRequest){const r=Math.min(this.maxEventPerRequest,t-i),n=e.slice(i,i+r),o=this.serializer.serialize(n),{status:a}=yield this.sender.send(o,!0);a===s.DeliveryStatus.FailedAndMustShutDown&&(this.stopped=!0)}}))}getUniqueEvents(e){const t=[],i=[];for(const r of e)i.includes(r.hash)||(t.push(r),i.push(r.hash));return t}}},8284:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6735:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},1564:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},8174:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.DeliveryStatus=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.FailedAndMustShutDown=2]="FailedAndMustShutDown"}(i||(t.DeliveryStatus=i={}))},407:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NullEventProcessor=void 0,t.NullEventProcessor=class{flush(){return Promise.resolve()}close(){return Promise.resolve()}record(e){return!1}}},7584:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EvalEvent=t.MetricEvent=t.PayloadEvent=t.ShutdownEvent=t.FlushEvent=t.AsyncEvent=void 0;class i{get hash(){return this.timestamp.toString()}constructor(){this.timestamp=(new Date).getTime(),this.isCompletedPromise=new Promise((e=>{this.resolveFn=e}))}waitForCompletion(){return this.isCompletedPromise}complete(){var e;null===(e=this.resolveFn)||void 0===e||e.call(this,this)}}t.AsyncEvent=i,t.FlushEvent=class extends i{},t.ShutdownEvent=class extends i{};class r{constructor(){this.timestamp=(new Date).getTime()}get hash(){return this.timestamp.toString()}toPayload(){}}t.PayloadEvent=r,t.MetricEvent=class extends r{constructor(e,t,i,r){super(),this.user=e,this.eventName=t,this.appType=i,this.metricValue=r}userPayload(){return{keyId:this.user.keyId,name:this.user.name,customizedProperties:this.user.customizedProperties}}toPayload(){return{user:this.userPayload(),metrics:[{route:"index/metric",timestamp:this.timestamp,numericValue:this.metricValue,appType:this.appType,eventName:this.eventName,type:"CustomEvent"}]}}get hash(){const e=this.toPayload(),t={user:e.user,metrics:e.metrics.map((e=>Object.assign(Object.assign({},e),{timestamp:void 0})))};return JSON.stringify(t)}},t.EvalEvent=class extends r{constructor(e,t,i,r){super(),this.user=e,this.flagKey=t,this.variation=i,this.sendToExperiment=r}userPayload(){return{keyId:this.user.keyId,name:this.user.name,customizedProperties:this.user.customizedProperties}}toPayload(){return{user:this.userPayload(),variations:[{featureFlagKey:this.flagKey,sendToExperiment:this.sendToExperiment,timestamp:this.timestamp,variation:this.variation}]}}get hash(){const e=this.toPayload(),t={user:e.user,variations:e.variations.map((e=>Object.assign(Object.assign({},e),{timestamp:void 0})))};return JSON.stringify(t)}}},4008:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(2305),t),n(i(1218),t),n(i(2580),t),n(i(9657),t),n(i(7584),t),n(i(5381),t),n(i(8284),t),n(i(6735),t),n(i(1564),t),n(i(8174),t),n(i(407),t)},9872:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(8317),t),n(i(3758),t),n(i(9823),t),n(i(4008),t),n(i(7302),t),n(i(1045),t),n(i(9718),t),n(i(8598),t),n(i(9999),t),n(i(2710),t),n(i(1058),t),n(i(7837),t),n(i(1731),t),n(i(7449),t),n(i(70),t),n(i(5717),t),n(i(4881),t),n(i(292),t),n(i(226),t),n(i(4129),t)},5768:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BasicLogger=void 0;const n=r(i(3919)),s={debug:0,info:1,warn:2,error:3,none:4},o=["debug","info","warn","error","none"];class a{static get(){return new a({})}constructor(e){var t,i,r,n;this.logLevel=null!==(i=s[null!==(t=e.level)&&void 0!==t?t:"info"])&&void 0!==i?i:s.info,this.name=null!==(r=e.name)&&void 0!==r?r:"FeatBit",this.destination=null!==(n=e.destination)&&void 0!==n?n:console.log,this.formatter=e.formatter}tryFormat(...e){var t;try{return this.formatter?null===(t=this.formatter)||void 0===t?void 0:t.call(this,...e):(0,n.default)(...e)}catch(t){return(0,n.default)(...e)}}tryWrite(e){try{this.destination(e)}catch(t){console.error(e)}}log(e,t){if(e>=this.logLevel){const i=`${o[e]}: [${this.name}]`;try{this.destination?this.tryWrite(`${i} ${this.tryFormat(...t)}`):console.error(...t)}catch(e){console.error(...t)}}}error(...e){this.log(s.error,e)}warn(...e){this.log(s.warn,e)}info(...e){this.log(s.info,e)}debug(...e){this.log(s.debug,e)}}t.BasicLogger=a},7973:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5781:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7076:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7689:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SafeLogger=void 0;const r=i(5862),n={error:r.TypeValidators.Function,warn:r.TypeValidators.Function,info:r.TypeValidators.Function,debug:r.TypeValidators.Function};t.SafeLogger=class{constructor(e,t){Object.entries(n).forEach((([t,i])=>{if(!i.is(e[t]))throw new Error(`Provided logger instance must support logger.${t}(...) method`)})),this.logger=e,this.fallback=t}log(e,t){try{this.logger[e](...t)}catch(i){this.fallback[e](...t)}}error(...e){this.log("error",e)}warn(...e){this.log("warn",e)}info(...e){this.log("info",e)}debug(...e){this.log("debug",e)}}},3919:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=i(5862);function n(e){if("string"==typeof e)return e;if(void 0===e)return"undefined";if(null===e)return"null";if(Object.prototype.hasOwnProperty.call(e,"toString"))try{return e.toString()}catch(e){}if("bigint"==typeof e)return`${e}n`;try{return JSON.stringify(e)}catch(e){return e instanceof TypeError&&e.message.indexOf("circular")>=0?"[Circular]":"[Not Stringifiable]"}}const s={s:e=>n(e),d:e=>function(e){return"symbol"==typeof e?"NaN":"bigint"==typeof e?`${e}n`:String(Number(e))}(e),i:e=>function(e){return"symbol"==typeof e?"NaN":"bigint"==typeof e?`${e}n`:String(parseInt(e,10))}(e),f:e=>function(e){return"symbol"==typeof e?"NaN":String(parseFloat(e))}(e),j:e=>n(e),o:e=>n(e),O:e=>n(e),c:()=>""};t.default=function(...e){var t;const i=e.shift();if(r.TypeValidators.String.is(i)){let r="",o=0;for(;o<i.length;){const n=i.charAt(o);if("%"===n){if(o+1<i.length){const n=i.charAt(o+1);if(n in s&&e.length){const i=e.shift();r+=null===(t=s[n])||void 0===t?void 0:t.call(s,i)}else r+="%"===n?"%":`%${n}`;o+=2}}else r+=n,o+=1}return e.length&&(r.length&&(r+=" "),r+=e.map(n).join(" ")),r}return e.map(n).join(" ")}},7302:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(5768),t),n(i(3919),t),n(i(7973),t),n(i(5781),t),n(i(7076),t),n(i(7689),t)},8311:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){this.sdkKey=e,this.platform=i,this.logger=t.logger,this.offline=t.offline,this.flushInterval=t.flushInterval,this.maxEventsInQueue=t.maxEventsInQueue,this.streamingUri=t.streamingUri,this.pollingUri=t.pollingUri,this.eventsUri=t.eventsUri}}},8222:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},4670:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6273:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},8758:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},9176:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{static optionBelowMinimum(e,t,i){return`Config option "${e}" had invalid value of ${t}, using minimum of ${i} instead`}static unknownOption(e){return`Ignoring unknown config option "${e}"`}static wrongOptionType(e,t,i){return`Config option "${e}" should be of type ${t}, got ${i}, using default value`}static wrongOptionTypeBoolean(e,t){return`Config option "${e}" should be a boolean, got ${t}, converting to boolean`}static partialEndpoint(e){return`You have set custom uris without specifying the ${e} URI; connections may not work properly`}static mandatory(e){return`${e} is mandatory`}static invalidOptionValue(e){return`Invalid option value: ${e}`}static missingKeyInBootstrapValue(e){return`Missing key "${e}" in bootstrap value`}}},595:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UserBuilder=void 0,t.UserBuilder=class{constructor(e){this._keyId="",this._name="",this._custom=[],this._keyId=e}name(e){return this._name=e,this}custom(e,t){var i;return null===(i=this._custom)||void 0===i||i.push({name:e,value:`${t}`}),this}build(){return{name:this._name,keyId:this._keyId,customizedProperties:this._custom}}}},5862:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TypeValidators=t.KindValidator=t.DateValidator=t.UserValidator=t.BootstrapValidator=t.NullableBoolean=t.Function=t.StringMatchingRegex=t.NumberWithMinimum=t.TypeArray=t.Type=t.FactoryOrInstance=void 0;const n=r(i(9176));class s{is(e){if(Array.isArray(e))return!1;const t=typeof e;return"function"===t||"object"===t}getType(){return"factory method or object"}}t.FactoryOrInstance=s;class o{constructor(e,t){this.typeName=e,this.typeOf=typeof t}is(e){return!Array.isArray(e)&&typeof e===this.typeOf}getType(){return this.typeName}}t.Type=o;class a{constructor(e,t){this.typeName=e,this.typeOf=typeof t}is(e){return!!Array.isArray(e)&&(!(e.length>0)||e.every((e=>typeof e===this.typeOf)))}getType(){return this.typeName}}t.TypeArray=a;class l extends o{constructor(e){super(`number with minimum value of ${e}`,0),this.min=e}is(e){return typeof e===this.typeOf&&e>=this.min}}t.NumberWithMinimum=l;class u extends o{constructor(e){super(`string matching ${e}`,""),this.expression=e}is(e){return!!e.match(this.expression)}}t.StringMatchingRegex=u;class c{is(e){return"function"==typeof e}getType(){return"function"}}t.Function=c;class d{is(e){return"boolean"==typeof e||null==e}getType(){return"boolean | undefined | null"}}t.NullableBoolean=d;class h{constructor(){this.messages=[]}is(e){if("object"!=typeof e||null===e)return this.messages.push(n.default.invalidOptionValue("bootstrap")),!1;try{const t=e;for(let e of t){const t=Object.keys(e);if(t.includes("id")||this.messages.push(n.default.missingKeyInBootstrapValue("id")),t.includes("variation")||this.messages.push(n.default.missingKeyInBootstrapValue("variation")),t.includes("variationType")||this.messages.push(n.default.missingKeyInBootstrapValue("variationType")),this.messages.length>0)return!1}}catch(t){return this.messages.push(n.default.wrongOptionType("bootstrap",this.getType(),typeof e)),!1}return!0}getType(){return"IFlagBase[]"}}t.BootstrapValidator=h;class f{constructor(){this.messages=[]}is(e){if("object"!=typeof e||null===e)return this.messages.push(n.default.mandatory("user")),!1;const t=e;return"string"!=typeof t.keyId||""===t.keyId.trim()?(this.messages.push(n.default.mandatory("user.keyId")),!1):"string"==typeof t.name&&""!==t.name.trim()||(this.messages.push(n.default.mandatory("user.name")),!1)}getType(){return"user"}}t.UserValidator=f;const v=/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d\d*)?(Z|[-+]\d\d(:\d\d)?)/;class p{is(e){return"number"==typeof e||"string"==typeof e&&v.test(e)}getType(){return"date"}}t.DateValidator=p;class g extends u{constructor(){super(/^(\w|\.|-)+$/)}is(e){return super.is(e)&&"kind"!==e}}t.KindValidator=g;class y{static createTypeArray(e,t){return new a(e,t)}static numberWithMin(e){return new l(e)}static stringMatchingRegex(e){return new u(e)}}t.TypeValidators=y,y.String=new o("string",""),y.Number=new o("number",0),y.ObjectOrFactory=new s,y.Object=new o("object",{}),y.StringArray=new a("string[]",""),y.Boolean=new o("boolean",!0),y.User=new f,y.Bootstrap=new h,y.Function=new c,y.Date=new p,y.Kind=new g,y.NullableBoolean=new d},1045:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(8311),t),n(i(8222),t),n(i(4670),t),n(i(6273),t),n(i(8758),t),n(i(9176),t),n(i(595),t),n(i(5862),t)},5309:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},9938:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5800:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6510:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2833:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=i(5972);t.default=class{get appType(){return"Browser-Client-SDK"}platformData(){return{os:{},name:"Browser",additional:{}}}sdkData(){return{name:r.name,version:r.version,userAgent:`${this.appType}/${r.version}`}}}},9174:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserPlatform=void 0;const n=r(i(2833)),s=i(891),o=r(i(9018));t.BrowserPlatform=class{constructor(e){this.info=new n.default,this.requests=new s.BrowserRequests,this.webSocket=new o.default}}},891:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserRequests=void 0,t.BrowserRequests=class{fetch(e,t={}){return fetch(e,t)}}},9018:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=i(3046),n=i(6842),s=i(6870),o=i(1962),a=[1e3,3e3,5e3,7e3,11e3,13e3,3e4,6e4];t.default=(0,r.Emits)(class{constructor(){this.retryCounter=0,this.closed=!1,this._config={},this.emitter=new n.EventEmitter}identify(e){return this._config.user=e,this.doDataSync()}connect(){var e,t,i,r;let n=this;const a=Date.now(),l=this._config.streamingUri.replace(/^http/,"ws")+`?type=client&token=${(0,s.generateConnectionToken)(this._config.sdkKey)}`;this.ws=new WebSocket(l),null===(e=n.ws)||void 0===e||e.addEventListener("open",(function(e){n._config.logger.info(`WebSocket connection succeeded, connection time: ${Date.now()-a} ms`),n.doDataSync(),n.sendPingMessage()})),null===(t=n.ws)||void 0===t||t.addEventListener("close",(function(e){n._config.logger.warn("WebSocket closed"),4003!==e.code&&n.reconnect()})),null===(i=n.ws)||void 0===i||i.addEventListener("error",(function(e){n._config.logger.debug("error")})),null===(r=n.ws)||void 0===r||r.addEventListener("message",(function(e){const t=JSON.parse(e.data);if("data-sync"===t.messageType){if(t.data.userKeyId!==n._config.user.keyId)return;switch(t.data.eventType){case o.StreamResponseEventType.patch:n.emitter.emit("patch",t);break;case o.StreamResponseEventType.full:n.emitter.emit("put",t)}}}))}close(){var e;this.closed=!0,null===(e=this.ws)||void 0===e||e.close(4003,"The client is closed by user"),this.ws=void 0}config(e){e.emitter&&(this.emitter=e.emitter),this._config=Object.assign({},e)}sendPingMessage(){const e={messageType:"ping",data:null};setTimeout((()=>{var t;try{(null===(t=this.ws)||void 0===t?void 0:t.readyState)===WebSocket.OPEN?(this._config.logger.debug("sending ping"),this.ws.send(JSON.stringify(e)),this.sendPingMessage()):this._config.logger.debug(`socket closed at ${new Date}`)}catch(e){this._config.logger.debug(e)}}),this._config.pingInterval)}doDataSync(){var e,t;const i={messageType:"data-sync",data:{timestamp:this._config.getStoreTimestamp(),user:this._config.user}};try{return(null===(e=this.ws)||void 0===e?void 0:e.readyState)===WebSocket.OPEN?(this._config.logger.debug("requesting data"),null===(t=this.ws)||void 0===t||t.send(JSON.stringify(i)),!0):(this._config.logger.error("not requesting data because socket not open"),!1)}catch(e){return this._config.logger.debug(e),!1}}reconnect(){if(!this.closed){this.ws=void 0;const e=a[Math.min(this.retryCounter++,a.length-1)];this._config.logger.info(`The client will try to reconnect in ${e} milliseconds.`),setTimeout((()=>{this._config.logger.info(`The client is trying to reconnect, flag evaluation results may be stale until reconnected, waited for: ${e} milliseconds`),this.connect()}),e)}}})},8322:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=i(4129),s=i(5768),o=i(6842),a=i(7689),l=i(3046),u=i(9174),c=r(i(6940));class d extends n.FbClientCore{constructor(e,t=void 0){var i;const r=new s.BasicLogger({level:"warn",destination:console.log});let n;n=e.logger?new a.SafeLogger(e.logger,r):new s.BasicLogger({level:null!==(i=e.logLevel)&&void 0!==i?i:"warn",destination:console.log});const l=new o.EventEmitter(n);let{store:d}=e;d||(d=new c.default(e)),super(Object.assign(Object.assign({},e),{logger:n,store:d}),null!=t?t:new u.BrowserPlatform(Object.assign(Object.assign({},e),{logger:n})),{onError:e=>{l.listenerCount("error")&&l.emit("error",e)},onFailed:e=>{l.emit("failed",e)},onReady:()=>{l.emit("ready")},onUpdate:e=>{l.emit("update",[e]),e.forEach((e=>l.emit(`update:${e}`,e)))},hasEventListeners:()=>l.eventNames().some((e=>"update"===e||"string"==typeof e&&e.startsWith("update:")))}),this.emitter=l}}t.default=(0,l.Emits)(d)},6940:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=i(443),s=i(6860),o=i(5067);class a extends s.BaseStore{constructor(e){super(),this.logger=e.logger}close(){}get description(){return"local-storage-store"}saveUser(){return r(this,void 0,void 0,(function*(){localStorage.setItem(n.CurrentUserStorageKey,(0,o.serializeUser)(this._user))}))}dumpStoreToStorage(){return r(this,void 0,void 0,(function*(){const e=yield(0,o.hashSerializeUser)(this._user),t=`${n.StoreStorageKey}-${e}`;localStorage.setItem(t,JSON.stringify(this.store))}))}loadStoreFromStorage(){return r(this,void 0,void 0,(function*(){const e=yield(0,o.hashSerializeUser)(this._user),t=`${n.StoreStorageKey}-${e}`,i=localStorage.getItem(t);let r=null;try{i&&i.trim().length>0&&(r=JSON.parse(i))}catch(e){this.logger.error(`error while loading local data store: ${t}`,e)}this.store=r||{flags:{},version:0}}))}}t.default=a},9718:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserWebSocket=void 0,n(i(5309),t),n(i(5800),t),n(i(9938),t),n(i(6510),t),n(i(2894),t),n(i(891),t);const o=s(i(9018));t.BrowserWebSocket=o.default},2894:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6860:function(e,t){var i=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseStore=void 0,t.BaseStore=class{constructor(){this.store={},this.initCalled=!1,this._user={}}identify(e){return i(this,void 0,void 0,(function*(){this._user=Object.assign({},e),yield this.saveUser()}))}get user(){return this._user}addItem(e,t,r){return i(this,void 0,void 0,(function*(){let i=this.store[e.namespace];if(i||(i={},this.store[e.namespace]=i),Object.hasOwnProperty.call(i,t)){const e=i[t];(!e||e.version<=r.version)&&(i[t]=r)}else i[t]=r;r.version>this.store.version&&(this.store.version=r.version),yield this.dumpStoreToStorage()}))}get(e,t){const i=this.store[e.namespace];if(i&&Object.prototype.hasOwnProperty.call(i,t)){const e=i[t];if(e)return e}return null}all(e){var t;const i={},r=null!==(t=this.store[e.namespace])&&void 0!==t?t:{};return Object.entries(r).forEach((([e,t])=>{t&&(i[e]=t)})),[i,this.store.version]}init(e){return i(this,void 0,void 0,(function*(){this.store=e,Object.keys(e).map((t=>{Object.entries(e[t]).forEach((([e,t])=>{const i=t;i.version>this.store.version&&(this.store.version=i.version)}))})),yield this.dumpStoreToStorage(),this.initCalled=!0}))}upsert(e,t){return i(this,void 0,void 0,(function*(){yield this.addItem(e,t.key,t)}))}initialized(){return this.initCalled}close(){}get version(){return this.store.version}get description(){return""}saveUser(){return i(this,void 0,void 0,(function*(){}))}loadStoreFromStorage(){return i(this,void 0,void 0,(function*(){}))}dumpStoreToStorage(){return i(this,void 0,void 0,(function*(){}))}}},2093:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class i{}i.Flags={namespace:"flags"},t.default=i},356:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7783:function(e,t,i){var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const n=i(443),s=i(6860),o=i(2710);class a extends s.BaseStore{constructor(){super(),this.allStores={}}close(){}get description(){return"in-memory-store"}saveUser(){return r(this,void 0,void 0,(function*(){}))}dumpStoreToStorage(){return r(this,void 0,void 0,(function*(){const e=yield(0,o.hashSerializeUser)(this._user),t=`${n.StoreStorageKey}-${e}`;this.allStores[t]=(0,o.deepCopy)(this.store)}))}loadStoreFromStorage(){var e;return r(this,void 0,void 0,(function*(){const t=yield(0,o.hashSerializeUser)(this._user),i=`${n.StoreStorageKey}-${t}`;this.store=null!==(e=(0,o.deepCopy)(this.allStores[i]))&&void 0!==e?e:{flags:{},version:0}}))}}t.default=a},8598:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(2093),t),n(i(356),t),n(i(7783),t),n(i(4426),t),n(i(443),t),n(i(6860),t)},4426:function(e,t,i){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.deserializePatch=t.deserializeAll=void 0;const n=r(i(2093));t.deserializeAll=function(e){const t={[n.default.Flags.namespace]:{}};return(null==e?void 0:e.length)&&(t[n.default.Flags.namespace]=e.reduce(((e,t)=>(e[t.id]=Object.assign(Object.assign({},t),{version:t.timestamp||0,key:t.id,variations:t.variationOptions}),e)),{})),t},t.deserializePatch=function(e){return[...(null==e?void 0:e.map((e=>({data:Object.assign(Object.assign({},e),{version:e.timestamp,key:e.id,variations:e.variationOptions}),kind:n.default.Flags}))))||[]]}},443:(e,t)=>{var i;Object.defineProperty(t,"__esModule",{value:!0}),t.StoreItemOriginEnum=t.CurrentUserStorageKey=t.StoreStorageKey=void 0,t.StoreStorageKey="fb-datastore",t.CurrentUserStorageKey="fb-user",function(e){e.Local="Local",e.Remote="Remote"}(i||(t.StoreItemOriginEnum=i={}))},3046:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Emits=void 0,t.Emits=function(e){return class extends e{on(e,t,i){return this.emitter.on(e,t,i),this}addListener(e,t,i){return this.emitter.addListener(e,t,i),this}once(e,t,i){return this.emitter.once(e,t,i),this}removeListener(e,t,i){return this.emitter.removeListener(e,t,i),this}off(e,t,i){return this.emitter.off(e,t,i),this}removeAllListeners(e){return this.emitter.removeAllListeners(e),this}listeners(e){return this.emitter.listeners(e)}emit(e,...t){return this.emitter.emit(e,t),this}listenerCount(e){return this.emitter.listenerCount(e)}prependListener(e,t,i){return this.emitter.prependListener(e,t,i),this}prependOnceListener(e,t,i){return this.emitter.prependOnceListener(e,t,i),this}eventNames(){return this.emitter.eventNames()}maybeReportError(e){return this.emitter.maybeReportError(e),this}}}},6842:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EventEmitter=void 0,t.EventEmitter=class{constructor(e){this.logger=e,this.events={}}listeningTo(e){return!!this.events[e]}on(e,t,i){return this.events[e]=this.events[e]||[],this.events[e]=this.events[e].concat({handler:t,context:i}),this}addListener(e,t,i){return this.on(e,t,i)}once(e,t,i){const r=(...n)=>{this.off(e,r,i),t.apply(i,n)};return this.on(e,r,i)}off(e,t,i){if(!this.events[e])return this;for(let r=0;r<this.events[e].length;r++)this.events[e][r].handler===t&&this.events[e][r].context===i&&(this.events[e]=this.events[e].slice(0,r).concat(this.events[e].slice(r+1)));return this}removeListener(e,t,i){return this.off(e,t,i)}removeAllListeners(e){return e?delete this.events[e]:this.events={},this}listeners(e){return this.events[e]?this.events[e].map((e=>e.handler)):[]}emit(e,...t){if(!this.events[e])return this;const i=[...this.events[e]];for(let e=0;e<i.length;e++)i[e].handler.apply(i[e].context,Array.prototype.slice.call(arguments,1));return this}listenerCount(e){return this.events[e]?this.events[e].length:0}prependListener(e,t,i){return this.events[e]=this.events[e]||[],this.events[e]=[{handler:t,context:i},...this.events[e]],this}prependOnceListener(e,t,i){const r=(...n)=>{this.off(e,r,i),t.apply(i,n)};return this.prependListener(e,r,i)}eventNames(){return Object.keys(this.events)}maybeReportError(e){var t;return e?(this.listeningTo("error")?this.emit("error",e):null===(t=this.logger)||void 0===t||t.error(e),this):this}}},1142:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueConverters=void 0;class i{static bool(e){return"TRUE"===(null==e?void 0:e.toUpperCase())?i.success(!0):"FALSE"===(null==e?void 0:e.toUpperCase())?i.success(!1):i.error()}static number(e){const t=Number(e);return Number.isNaN(t)?i.error():i.success(t)}static string(e){return i.success(e)}static json(e){try{const t=JSON.parse(e);return i.success(t)}catch(e){return i.error()}}static success(e){return{isSucceeded:!0,value:e}}static error(){return{isSucceeded:!1}}}t.ValueConverters=i},7266:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},1624:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.canonicalizeUri=void 0,t.canonicalizeUri=function(e){return e.replace(/\/+$/,"")}},9183:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.debounce=void 0,t.debounce=(e,t=5e3)=>{let i;return(...r)=>{clearTimeout(i),i=setTimeout((()=>{e(...r)}),t)}}},299:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deepCopy=void 0,t.deepCopy=function(e){return JSON.parse(JSON.stringify(e))}},8688:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.httpErrorMessage=t.defaultHeaders=void 0,t.defaultHeaders=function(e,t){const{userAgent:i,version:r}=t.sdkData();return{"Content-Type":"application/json","X-User-Agent":null!=i?i:`${t.appType}/${r}`,"User-Agent":null!=i?i:`${t.appType}/${r}`,Authorization:e}},t.httpErrorMessage=function(e,t,i){let r;return r=e.status?`error ${e.status}${401===e.status?" (invalid SDK key)":""}`:`I/O error (${e.message||e})`,`Received ${r} for ${t} - ${null!=i?i:"giving up permanently"}`}},2710:function(e,t,i){var r=this&&this.__createBinding||(Object.create?function(e,t,i,r){void 0===r&&(r=i);var n=Object.getOwnPropertyDescriptor(t,i);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,r,n)}:function(e,t,i,r){void 0===r&&(r=i),e[r]=t[i]}),n=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(t,i)||r(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),n(i(5562),t),n(i(1773),t),n(i(1142),t),n(i(7266),t),n(i(5067),t),n(i(9183),t),n(i(299),t)},5562:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNullOrUndefined=void 0,t.isNullOrUndefined=function(e){return null==e}},5067:function(e,t){var i=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};function r(e){var t,i;return e?`${e.keyId},${null!==(t=e.name)&&void 0!==t?t:""},${null===(i=e.customizedProperties)||void 0===i?void 0:i.sort(((e,t)=>{const i=e.name.toLowerCase(),r=t.name.toLowerCase();return i<r?-1:i>r?1:0})).map((e=>`${e.name}:${e.value}`)).join(",")}`:""}Object.defineProperty(t,"__esModule",{value:!0}),t.hashSerializeUser=t.serializeUser=void 0,t.serializeUser=r,t.hashSerializeUser=function(e){return i(this,void 0,void 0,(function*(){const t=r(e);if(!t)return"";const i=(new TextEncoder).encode(t),n=yield crypto.subtle.digest("SHA-256",i);return Array.from(new Uint8Array(n)).map((e=>e.toString(16).padStart(2,"0"))).join("")}))}},1773:function(e,t){var i=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(n,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e=1e3)=>i(void 0,void 0,void 0,(function*(){return new Promise((t=>{setTimeout(t,e)}))}))},5972:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.name=t.version=void 0,t.version="4.2.11",t.name="@featbit/js-client-sdk"}},t={};return function i(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,i),s.exports}(9872)})()));
2
+ //# sourceMappingURL=featbit-js-client-sdk-4.2.11.js.map