@featbit/js-client-sdk 3.0.14 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,7 @@ import { IEvalDetail } from "./evaluation/IEvalDetail";
5
5
  import { IConvertResult } from "./utils/ValueConverters";
6
6
  import { IOptions } from "./options/IOptions";
7
7
  import { IUser } from "./options/IUser";
8
+ import { FlagValue } from "./evaluation";
8
9
  export interface IClientCallbacks {
9
10
  onError: (err: Error) => void;
10
11
  onFailed: (err: Error) => void;
@@ -38,19 +39,19 @@ export declare class FbClientCore implements IFbClientCore {
38
39
  waitForInitialization(): Promise<IFbClientCore>;
39
40
  boolVariation(key: string, defaultValue: boolean): boolean;
40
41
  boolVariationDetail(key: string, defaultValue: boolean): IEvalDetail<boolean>;
41
- jsonVariation(key: string, defaultValue: any): any;
42
- jsonVariationDetail(key: string, defaultValue: any): IEvalDetail<any>;
42
+ jsonVariation(key: string, defaultValue: FlagValue): FlagValue;
43
+ jsonVariationDetail(key: string, defaultValue: FlagValue): IEvalDetail<FlagValue>;
43
44
  numberVariation(key: string, defaultValue: number): number;
44
45
  numberVariationDetail(key: string, defaultValue: number): IEvalDetail<number>;
45
46
  stringVariation(key: string, defaultValue: string): string;
46
47
  stringVariationDetail(key: string, defaultValue: string): IEvalDetail<string>;
47
- variation(key: string, defaultValue: string): string;
48
- variationDetail(key: string, defaultValue: string): IEvalDetail<string>;
48
+ variation(key: string, defaultValue: FlagValue): FlagValue;
49
+ variationDetail(key: string, defaultValue: FlagValue): IEvalDetail<FlagValue>;
49
50
  getAllVariations(): Promise<IEvalDetail<string>[]>;
50
51
  close(): Promise<void>;
51
52
  track(eventName: string, metricValue?: number | undefined): void;
52
53
  flush(callback?: (res: boolean) => void): Promise<boolean>;
53
- evaluateCore<TValue>(flagKey: string, defaultValue: TValue, typeConverter: (value: string) => IConvertResult<TValue>): IEvalDetail<TValue>;
54
+ evaluateCore<TValue>(flagKey: string, defaultValue: TValue, typeConverter?: (value: string) => IConvertResult<TValue>): IEvalDetail<TValue>;
54
55
  private dataSourceErrorHandler;
55
56
  private initSuccess;
56
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FbClientCore.d.ts","sourceRoot":"","sources":["../../src/FbClientCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FbClientCore.d.ts","sourceRoot":"","sources":["../../src/FbClientCore.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const DefaultEventProcessor_1 = require("./events/DefaultEventProcessor");
32
32
  const event_1 = require("./events/event");
33
33
  const DataSyncMode_1 = require("./data-sync/DataSyncMode");
34
34
  const Validators_1 = require("./options/Validators");
35
+ const evaluation_1 = require("./evaluation");
35
36
  var ClientState;
36
37
  (function (ClientState) {
37
38
  ClientState[ClientState["Initializing"] = 0] = "Initializing";
@@ -197,10 +198,10 @@ class FbClientCore {
197
198
  return this.evaluateCore(key, defaultValue, ValueConverters_1.ValueConverters.string);
198
199
  }
199
200
  variation(key, defaultValue) {
200
- return this.evaluateCore(key, defaultValue, ValueConverters_1.ValueConverters.string).value;
201
+ return this.evaluateCore(key, defaultValue).value;
201
202
  }
202
203
  variationDetail(key, defaultValue) {
203
- return this.evaluateCore(key, defaultValue, ValueConverters_1.ValueConverters.string);
204
+ return this.evaluateCore(key, defaultValue);
204
205
  }
205
206
  getAllVariations() {
206
207
  var _a;
@@ -245,7 +246,7 @@ class FbClientCore {
245
246
  });
246
247
  }
247
248
  evaluateCore(flagKey, defaultValue, typeConverter) {
248
- var _a, _b, _c;
249
+ var _a, _b;
249
250
  const context = Context_1.default.fromUser(this.config.user);
250
251
  if (!context.valid) {
251
252
  const error = new errors_1.ClientError(`${(_a = context.message) !== null && _a !== void 0 ? _a : 'User not valid;'} returning default value.`);
@@ -267,7 +268,29 @@ class FbClientCore {
267
268
  // send event
268
269
  this.eventProcessor.record(evalResult.toEvalEvent(this.config.user));
269
270
  }
270
- const { isSucceeded, value } = typeConverter((_c = evalResult.value) === null || _c === void 0 ? void 0 : _c.variation);
271
+ let converter;
272
+ if (!typeConverter) {
273
+ switch (evalResult.value.variationType) {
274
+ case evaluation_1.VariationDataType.boolean:
275
+ converter = ValueConverters_1.ValueConverters.bool;
276
+ break;
277
+ case evaluation_1.VariationDataType.number:
278
+ converter = ValueConverters_1.ValueConverters.number;
279
+ break;
280
+ case evaluation_1.VariationDataType.json:
281
+ converter = ValueConverters_1.ValueConverters.json;
282
+ break;
283
+ case evaluation_1.VariationDataType.string:
284
+ converter = ValueConverters_1.ValueConverters.string;
285
+ break;
286
+ default:
287
+ converter = ValueConverters_1.ValueConverters.string;
288
+ }
289
+ }
290
+ else {
291
+ converter = typeConverter;
292
+ }
293
+ const { isSucceeded, value } = converter(evalResult.value.variation);
271
294
  return isSucceeded
272
295
  ? { flagKey, kind: evalResult.kind, reason: evalResult.reason, value }
273
296
  : { flagKey, kind: ReasonKinds_1.ReasonKinds.WrongType, reason: 'type mismatch', value: defaultValue };
@@ -1 +1 @@
1
- {"version":3,"file":"FbClientCore.js","sourceRoot":"","sources":["../../src/FbClientCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FbClientCore.js","sourceRoot":"","sources":["../../src/FbClientCore.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { IEvalDetail } from "./evaluation/IEvalDetail";
2
2
  import { IConvertResult } from "./utils/ValueConverters";
3
3
  import { IUser } from "./options";
4
+ import { FlagValue } from "./evaluation";
4
5
  /**
5
6
  * The FeatBit SDK client object.
6
7
  *
@@ -138,7 +139,7 @@ export interface IFbClientCore {
138
139
  *
139
140
  * @returns the variation for the given user, or {@link defaultValue} if the flag cannot be evaluated
140
141
  */
141
- jsonVariation(key: string, defaultValue: any): any;
142
+ jsonVariation(key: string, defaultValue: FlagValue): FlagValue;
142
143
  /**
143
144
  * Calculates the JSON value of a feature flag for a given user, and returns an object that
144
145
  * describes the way the value was determined.
@@ -154,7 +155,7 @@ export interface IFbClientCore {
154
155
  *
155
156
  * @returns {@link IEvalDetail} object describing the way the value was determined.
156
157
  */
157
- jsonVariationDetail(key: string, defaultValue: any): IEvalDetail<any>;
158
+ jsonVariationDetail(key: string, defaultValue: FlagValue): IEvalDetail<FlagValue>;
158
159
  /**
159
160
  * Calculates the string value of a feature flag for a given user.
160
161
  *
@@ -169,7 +170,7 @@ export interface IFbClientCore {
169
170
  *
170
171
  * @returns the variation for the given user, or {@link defaultValue} if the flag cannot be evaluated
171
172
  */
172
- variation(key: string, defaultValue: string): string;
173
+ variation(key: string, defaultValue: FlagValue): FlagValue;
173
174
  /**
174
175
  * Calculates the string value of a feature flag for a given user, and returns an object that
175
176
  * describes the way the value was determined.
@@ -185,7 +186,7 @@ export interface IFbClientCore {
185
186
  *
186
187
  * @returns {@link IEvalDetail} object describing the way the value was determined.
187
188
  */
188
- variationDetail(key: string, defaultValue: string): IEvalDetail<string>;
189
+ variationDetail(key: string, defaultValue: FlagValue): IEvalDetail<FlagValue>;
189
190
  /**
190
191
  * This method is exposed only for testing purpose, please DO NOT USE IT
191
192
  *
@@ -200,11 +201,11 @@ export interface IFbClientCore {
200
201
  * @param defaultValue
201
202
  * The default value to return if the flag cannot be evaluated.
202
203
  * @param typeConverter
203
- * the function to convert result.
204
+ * the function to convert result, if null, the value returned will have the same type of the flag defined in FeatBit
204
205
  *
205
206
  * @returns {@link IEvalDetail} object describing the way the value was determined.
206
207
  */
207
- evaluateCore<TValue>(flagKey: string, defaultValue: TValue, typeConverter: (value: string) => IConvertResult<TValue>): IEvalDetail<TValue>;
208
+ evaluateCore<TValue>(flagKey: string, defaultValue: TValue, typeConverter?: (value: string) => IConvertResult<TValue>): IEvalDetail<TValue>;
208
209
  /**
209
210
  * Returns the variation with of all feature flags for a given user, and returns an object that
210
211
  * describes the way the value was determined for each flag.
@@ -1 +1 @@
1
- {"version":3,"file":"IFbClientCore.d.ts","sourceRoot":"","sources":["../../src/IFbClientCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhD;;;;;;;;;;;;;OAaG;IACH,aAAa,CACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC;IAEX;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GACpB,WAAW,CAAC,OAAO,CAAC,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC;IAEV;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC;IAEV;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,aAAa,CACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,GAAG,GAChB,GAAG,CAAC;IAEP;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,GAAG,GAChB,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpB;;;;;;;;;;;;;OAaG;IACH,SAAS,CACP,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC;IAEV;;;;;;;;;;;;;;OAcG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC,GACvD,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEnD;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;IAEhE;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"IFbClientCore.d.ts","sourceRoot":"","sources":["../../src/IFbClientCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhD;;;;;;;;;;;;;OAaG;IACH,aAAa,CACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC;IAEX;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GACpB,WAAW,CAAC,OAAO,CAAC,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC;IAEV;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC;IAEV;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB;;;;;;;;;;;;;OAaG;IACH,aAAa,CACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,SAAS,GACtB,SAAS,CAAC;IAEb;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,SAAS,GACtB,WAAW,CAAC,SAAS,CAAC,CAAC;IAE1B;;;;;;;;;;;;;OAaG;IACH,SAAS,CACP,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,SAAS,GACtB,SAAS,CAAC;IAEb;;;;;;;;;;;;;;OAcG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,SAAS,GACtB,WAAW,CAAC,SAAS,CAAC,CAAC;IAE1B;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC,GACxD,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEnD;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;IAEhE;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D"}
@@ -1,3 +1,3 @@
1
- export declare const version = "3.0.14";
1
+ export declare const version = "4.0.0";
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,WAAW,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,UAAU,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 = "3.0.14";
4
+ exports.version = "4.0.0";
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,QAAQ,CAAC;AAAc,QAAA,IAAI,GAAG,wBAAwB,CAAC"}
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"}
@@ -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,store:n.TypeValidators.ObjectOrFactory,dataSynchronizer:n.TypeValidators.ObjectOrFactory,flushInterval:n.TypeValidators.Number,maxEventsInQueue:n.TypeValidators.Number,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,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.warn(e)})),this.user=e.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.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}logger(e){return this._options.logger=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),_=i(407),b=i(2305),w=i(7584),O=i(607),P=i(5862),S=i(9823);var j;!function(e){e[e.Initializing=0]="Initializing",e[e.Initialized=1]="Initialized",e[e.Failed=2]="Failed"}(j||(j={})),t.FbClientCore=class{constructor(e,t,i){this.options=e,this.platform=t,this.state=j.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 _.NullEventProcessor,this.dataSynchronizer=new m.NullDataSynchronizer,this.initSuccess();else{this.eventProcessor=new b.DefaultEventProcessor(r);const e=(0,l.createStreamListeners)(this.dataSourceUpdates,this.logger,{put:()=>this.initSuccess(),patch:()=>this.initSuccess()}),t=this.config.dataSyncMode===O.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;return r(this,void 0,void 0,(function*(){const i=new P.UserValidator;if(!i.is(e))return void i.messages.forEach((e=>{var t;null===(t=this.logger)||void 0===t||t.warn(e)}));const[r,n]=this.store.all(h.default.Flags),s={flags:Object.assign({},r),version:n};this.config.user=e,yield this.store.identify(e),yield this.dataSynchronizer.identify(e);const[o,a]=this.store.all(h.default.Flags),l={flags:Object.assign({},o),version:a};0===Object.keys(o).length?yield this.config.bootstrapProvider.populate(e.keyId,this.dataSourceUpdates):null===(t=this.dataSourceUpdates)||void 0===t||t.checkUpdates(s,l)}))}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=j.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===j.Initialized}waitForInitialization(){return this.initializedPromise?this.initializedPromise:this.state===j.Initialized?(this.initializedPromise=Promise.resolve(this),this.initializedPromise):this.state===j.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 w.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;const s=g.default.fromUser(this.config.user);if(!s.valid){const i=new p.ClientError(`${null!==(r=s.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 o=this.evaluator.evaluate(e);if(o.kind===v.ReasonKinds.FlagNotFound){const i=new p.ClientError(o.reason);return this.onError(i),{flagKey:e,kind:o.kind,reason:o.reason,value:t}}let a;if(this.initialized()?this.eventProcessor.record(o.toEvalEvent(this.config.user)):null===(n=this.logger)||void 0===n||n.warn("Variation called before FeatBit client initialization completed (did you wait for the'ready' event?)"),i)a=i;else switch(o.value.variationType){case S.VariationDataType.boolean:a=y.ValueConverters.bool;break;case S.VariationDataType.number:a=y.ValueConverters.number;break;case S.VariationDataType.json:a=y.ValueConverters.json;break;case S.VariationDataType.string:default:a=y.ValueConverters.string}const{isSucceeded:l,value:u}=a(o.value.variation);return l?{flagKey:e,kind:o.kind,reason:o.reason,value:u}:{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=j.Failed,this.rejectionReason=i,null===(t=this.initReject)||void 0===t||t.call(this,i))}initSuccess(){var e,t;this.initialized()||(this.state=j.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(5562);t.JsonBootstrapProvider=class{constructor(e){const t=(e||[]).map((e=>Object.assign(Object.assign({},e),{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,s)=>{if((0,n.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=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(),o=e=>r(this,void 0,void 0,(function*(){yield this.store.init(t),Promise.resolve().then((()=>{if(n){const i=Object.keys(t).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()}));if(n){const[e,t]=this.store.all(s.default.Flags),i={flags:e,version:t};yield o(i)}else yield o()}))}checkUpdates(e,t,i){if(!this.hasEventListeners())return;const r=Object.keys(t).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[s])&&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);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 a=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,l)=>r(this,void 0,void 0,(function*(){var r,u,c,d,h,f,v;const p=Date.now()-a,g=Math.max(this.pollingInterval-p,0);if(null===(r=this.logger)||void 0===r||r.debug("Elapsed: %d ms, sleeping for %d ms",p,g),i){const{status:r}=i;if(r&&!(0,n.isHttpRecoverable)(r)){const e=(0,o.httpErrorMessage)(i,"polling request");return null===(u=this.logger)||void 0===u||u.error(e),null===(c=this.errorHandler)||void 0===c||c.call(this,new n.PollingError(e,r)),void(null==t||t())}null===(d=this.logger)||void 0===d||d.warn((0,o.httpErrorMessage)(i,"polling request","will retry")),this.timeoutHandle=setTimeout((()=>{this.poll(e,t)}),g)}else{let t=[],i=null===(h=this.user)||void 0===h?void 0:h.keyId,r=this.listeners.get("patch");if(l){const e=JSON.parse(l);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)}}const n=null===(f=null==r?void 0:r.deserializeData)||void 0===f?void 0:f.call(r,t);yield null===(v=null==r?void 0:r.processJson)||void 0===v?void 0:v.call(r,i,n),null==e||e(),this.timeoutHandle=setTimeout((()=>{this.poll()}),g)}}))))}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){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=class{constructor(e,t,r,n,s,o,a){this.getStoreTimestamp=s,this.listeners=o;const{logger:l,streamingUri:u}=r;this.logger=l,this.socket=n,this.socket.config({sdkKey:e,streamingUri:u,pingInterval:a,user:t,logger:l,getStoreTimestamp:s}),this.listeners.forEach((({deserializeData:e,processJson:t},r)=>{var n;null===(n=this.socket)||void 0===n||n.addListener(r,(n=>i(this,void 0,void 0,(function*(){var i,s;if(null===(i=this.logger)||void 0===i||i.debug(`Received ${r} event`),null==n?void 0:n.data){const{featureFlags:i,userKeyId:r}=n.data,o=e(i);yield t(r,o),null===(s=this.identifyResolve)||void 0===s||s.call(this),this.identifyResolve=void 0}}))))}))}identify(e){var t;return i(this,void 0,void 0,(function*(){return null===(t=this.socket)||void 0===t||t.identify(e),new Promise((e=>this.identifyResolve=e))}))}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!(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,"target match")}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;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=e.destination,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,t.BootstrapValidator=class{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){["id","variation"].every((t=>Object.keys(e).includes(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")),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.UserValidator=class{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"}};const h=/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d\d*)?(Z|[-+]\d\d(:\d\d)?)/;class f{is(e){return"number"==typeof e||"string"==typeof e&&h.test(e)}getType(){return"date"}}t.DateValidator=f;class v extends u{constructor(){super(/^(\w|\.|-)+$/)}is(e){return super.is(e)&&"kind"!==e}}t.KindValidator=v;class p{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=p,p.String=new o("string",""),p.Number=new o("number",0),p.ObjectOrFactory=new s,p.Object=new o("object",{}),p.StringArray=new a("string[]",""),p.Boolean=new o("boolean",!0),p.User=new o("object",{}),p.Bootstrap=new o("object",{}),p.Function=new c,p.Date=new f,p.Kind=new v,p.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){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{(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))):this._config.logger.error("not requesting data because socket not open")}catch(e){this._config.logger.debug(e)}}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){const i=new s.BasicLogger({level:"none",destination:console.log}),r=e.logger?new a.SafeLogger(e.logger,i):i,n=new o.EventEmitter(r);let{store:l}=e;l||(l=new c.default(e)),super(Object.assign(Object.assign({},e),{logger:r,store:l}),null!=t?t:new u.BrowserPlatform(Object.assign(Object.assign({},e),{logger:r})),{onError:e=>{n.listenerCount("error")&&n.emit("error",e)},onFailed:e=>{n.emit("failed",e)},onReady:()=>{n.emit("ready")},onUpdate:e=>{n.emit("update",[e]),e.forEach((e=>n.emit(`update:${e}`,e)))},hasEventListeners:()=>n.eventNames().some((e=>"update"===e||"string"==typeof e&&e.startsWith("update:")))}),this.emitter=n}}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=`${n.StoreStorageKey}-${this._user.keyId}`;localStorage.setItem(e,JSON.stringify(this.store))}))}loadStoreFromStorage(){return r(this,void 0,void 0,(function*(){const e=`${n.StoreStorageKey}-${this._user.keyId}`,t=localStorage.getItem(e);let i=null;try{t&&t.trim().length>0&&(i=JSON.parse(t))}catch(t){this.logger.error(`error while loading local data store: ${e}`,t)}this.store=i||{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(),yield this.loadStoreFromStorage()}))}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);class o 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=`${n.StoreStorageKey}-${this._user.keyId}`;this.allStores[e]=Object.assign({},this.store)}))}loadStoreFromStorage(){var e;return r(this,void 0,void 0,(function*(){const t=`${n.StoreStorageKey}-${this._user.keyId}`;this.store=null!==(e=this.allStores[t])&&void 0!==e?e:{flags:{},version:0}}))}}t.default=o},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)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CurrentUserStorageKey=t.StoreStorageKey=void 0,t.StoreStorageKey="fb-datastore",t.CurrentUserStorageKey="fb-user"},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)}}},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}`,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)},5562:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNullOrUndefined=void 0,t.isNullOrUndefined=function(e){return null==e}},5067:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.serializeUser=void 0,t.serializeUser=function(e){var t;return e?`${e.keyId},${e.name},${null===(t=e.customizedProperties)||void 0===t?void 0:t.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(",")}`:""}},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.0.0",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.0.0.js.map