@flagship.io/react-sdk 4.0.1-beta.0 → 4.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.node.js +52 -45
- package/dist/index.node.js.map +1 -1
- package/dist/src/FlagshipHooks.js +37 -28
- package/dist/src/FlagshipProvider.js +17 -14
- package/dist/src/sdkVersion.d.ts +1 -1
- package/dist/src/sdkVersion.js +1 -1
- package/dist/src/type.d.ts +4 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[](https://github.com/flagship-io/flagship-react-sdk/actions/workflows/ci-push.yml) [](https://codecov.io/gh/flagship-io/flagship-react-sdk) [](https://badge.fury.io/js/@flagship.io%2Freact-sdk)
|
|
2
2
|
|
|
3
3
|
## About Flagship
|
|
4
4
|
|
package/dist/index.node.js
CHANGED
|
@@ -186,23 +186,23 @@ const useFlagship = () => {
|
|
|
186
186
|
visitor,
|
|
187
187
|
config
|
|
188
188
|
} = state;
|
|
189
|
-
const fsUpdateContext = context => {
|
|
189
|
+
const fsUpdateContext = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(context => {
|
|
190
190
|
handleContextChange({
|
|
191
191
|
config,
|
|
192
192
|
visitor,
|
|
193
193
|
updateFunction: () => visitor === null || visitor === void 0 ? void 0 : visitor.updateContext(context),
|
|
194
194
|
functionName: 'updateContext'
|
|
195
195
|
});
|
|
196
|
-
};
|
|
197
|
-
const fsClearContext = () => {
|
|
196
|
+
}, [visitor]);
|
|
197
|
+
const fsClearContext = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {
|
|
198
198
|
handleContextChange({
|
|
199
199
|
config,
|
|
200
200
|
visitor,
|
|
201
201
|
updateFunction: () => visitor === null || visitor === void 0 ? void 0 : visitor.clearContext(),
|
|
202
202
|
functionName: 'cleanContext'
|
|
203
203
|
});
|
|
204
|
-
};
|
|
205
|
-
const fsAuthenticate = visitorId => {
|
|
204
|
+
}, [visitor]);
|
|
205
|
+
const fsAuthenticate = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(visitorId => {
|
|
206
206
|
const functionName = 'authenticate';
|
|
207
207
|
if (!visitor) {
|
|
208
208
|
(0,_utils__WEBPACK_IMPORTED_MODULE_5__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, functionName);
|
|
@@ -213,8 +213,8 @@ const useFlagship = () => {
|
|
|
213
213
|
if (originalVisitorId !== visitorId) {
|
|
214
214
|
visitor.fetchFlags();
|
|
215
215
|
}
|
|
216
|
-
};
|
|
217
|
-
const fsUnauthenticate = () => {
|
|
216
|
+
}, [visitor]);
|
|
217
|
+
const fsUnauthenticate = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {
|
|
218
218
|
const functionName = 'unauthenticate';
|
|
219
219
|
if (!visitor) {
|
|
220
220
|
(0,_utils__WEBPACK_IMPORTED_MODULE_5__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, functionName);
|
|
@@ -225,12 +225,8 @@ const useFlagship = () => {
|
|
|
225
225
|
if (originalVisitorId !== visitor.visitorId) {
|
|
226
226
|
visitor.fetchFlags();
|
|
227
227
|
}
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Send a Hit to Flagship servers for reporting.
|
|
232
|
-
*/
|
|
233
|
-
const fsSendHit = hit => {
|
|
228
|
+
}, [visitor]);
|
|
229
|
+
const fsSendHit = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(hit => {
|
|
234
230
|
const functionName = 'sendHit';
|
|
235
231
|
if (!visitor) {
|
|
236
232
|
(0,_utils__WEBPACK_IMPORTED_MODULE_5__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, functionName);
|
|
@@ -240,31 +236,31 @@ const useFlagship = () => {
|
|
|
240
236
|
return visitor.sendHits(hit);
|
|
241
237
|
}
|
|
242
238
|
return visitor.sendHit(hit);
|
|
243
|
-
};
|
|
244
|
-
|
|
239
|
+
}, [visitor]);
|
|
240
|
+
const getFlag = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(key => {
|
|
245
241
|
if (!visitor) {
|
|
246
242
|
return new _FSFlag__WEBPACK_IMPORTED_MODULE_4__.FSFlag(key, state);
|
|
247
243
|
}
|
|
248
244
|
return visitor.getFlag(key);
|
|
249
|
-
}
|
|
250
|
-
|
|
245
|
+
}, [visitor]);
|
|
246
|
+
const fetchFlags = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async () => {
|
|
251
247
|
if (!visitor) {
|
|
252
248
|
(0,_utils__WEBPACK_IMPORTED_MODULE_5__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, 'fetchFlags');
|
|
253
249
|
return Promise.resolve();
|
|
254
250
|
}
|
|
255
251
|
return visitor.fetchFlags();
|
|
256
|
-
}
|
|
257
|
-
|
|
252
|
+
}, [visitor]);
|
|
253
|
+
const setConsent = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(hasConsented => {
|
|
258
254
|
if (!visitor) {
|
|
259
255
|
(0,_utils__WEBPACK_IMPORTED_MODULE_5__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, 'setConsent');
|
|
260
256
|
return;
|
|
261
257
|
}
|
|
262
258
|
visitor.setConsent(hasConsented);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
267
|
-
|
|
259
|
+
}, [visitor]);
|
|
260
|
+
const close = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {
|
|
261
|
+
return _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_2__.Flagship.close();
|
|
262
|
+
}, []);
|
|
263
|
+
const getFlags = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {
|
|
268
264
|
if (!visitor) {
|
|
269
265
|
var _state$flags;
|
|
270
266
|
const flags = new Map();
|
|
@@ -276,8 +272,14 @@ const useFlagship = () => {
|
|
|
276
272
|
});
|
|
277
273
|
}
|
|
278
274
|
return visitor.getFlags();
|
|
279
|
-
}
|
|
280
|
-
|
|
275
|
+
}, [visitor]);
|
|
276
|
+
const collectEAIEventsAsync = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (...args) => {
|
|
277
|
+
if (!visitor) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
return visitor.collectEAIEventsAsync(...args);
|
|
281
|
+
}, [visitor]);
|
|
282
|
+
return (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => ({
|
|
281
283
|
visitorId: visitor === null || visitor === void 0 ? void 0 : visitor.visitorId,
|
|
282
284
|
anonymousId: visitor === null || visitor === void 0 ? void 0 : visitor.anonymousId,
|
|
283
285
|
context: {
|
|
@@ -295,8 +297,9 @@ const useFlagship = () => {
|
|
|
295
297
|
getFlag,
|
|
296
298
|
fetchFlags,
|
|
297
299
|
close,
|
|
298
|
-
getFlags
|
|
299
|
-
|
|
300
|
+
getFlags,
|
|
301
|
+
collectEAIEventsAsync
|
|
302
|
+
}), [visitor, setConsent, fsUpdateContext, fsClearContext, fsAuthenticate, fsUnauthenticate, fsSendHit, getFlag, fetchFlags, close, getFlags, collectEAIEventsAsync]);
|
|
300
303
|
};
|
|
301
304
|
|
|
302
305
|
/***/ }),
|
|
@@ -358,6 +361,7 @@ function FlagshipProvider({
|
|
|
358
361
|
const [lastModified, setLastModified] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)();
|
|
359
362
|
const stateRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
|
|
360
363
|
stateRef.current = state;
|
|
364
|
+
const visitorDataRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(visitorData);
|
|
361
365
|
|
|
362
366
|
// #region functions
|
|
363
367
|
|
|
@@ -418,14 +422,14 @@ function FlagshipProvider({
|
|
|
418
422
|
});
|
|
419
423
|
};
|
|
420
424
|
const createVisitor = () => {
|
|
421
|
-
if (!
|
|
425
|
+
if (!visitorDataRef.current) {
|
|
422
426
|
return;
|
|
423
427
|
}
|
|
424
428
|
const fsVisitor = _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().newVisitor({
|
|
425
|
-
visitorId:
|
|
426
|
-
context:
|
|
427
|
-
isAuthenticated:
|
|
428
|
-
hasConsented:
|
|
429
|
+
visitorId: visitorDataRef.current.id,
|
|
430
|
+
context: visitorDataRef.current.context,
|
|
431
|
+
isAuthenticated: visitorDataRef.current.isAuthenticated,
|
|
432
|
+
hasConsented: visitorDataRef.current.hasConsented,
|
|
429
433
|
initialCampaigns,
|
|
430
434
|
initialFlagsData,
|
|
431
435
|
onFetchFlagsStatusChanged,
|
|
@@ -441,23 +445,25 @@ function FlagshipProvider({
|
|
|
441
445
|
}
|
|
442
446
|
};
|
|
443
447
|
function updateVisitor() {
|
|
444
|
-
if (!
|
|
448
|
+
if (!visitorDataRef.current || _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().getStatus() !== _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSSdkStatus.SDK_INITIALIZED) {
|
|
445
449
|
return;
|
|
446
450
|
}
|
|
447
|
-
if (!state.visitor || state.visitor.visitorId !==
|
|
451
|
+
if (!state.visitor || state.visitor.visitorId !== visitorDataRef.current.id && (!visitorDataRef.current.isAuthenticated || visitorDataRef.current.isAuthenticated && state.visitor.anonymousId)) {
|
|
452
|
+
var _state$visitor;
|
|
453
|
+
(_state$visitor = state.visitor) === null || _state$visitor === void 0 || _state$visitor.cleanup();
|
|
448
454
|
createVisitor();
|
|
449
455
|
return;
|
|
450
456
|
}
|
|
451
|
-
if (
|
|
452
|
-
var
|
|
453
|
-
state.visitor.setConsent((
|
|
457
|
+
if (visitorDataRef.current.hasConsented !== state.visitor.hasConsented) {
|
|
458
|
+
var _visitorDataRef$curre;
|
|
459
|
+
state.visitor.setConsent((_visitorDataRef$curre = visitorDataRef.current.hasConsented) !== null && _visitorDataRef$curre !== void 0 ? _visitorDataRef$curre : true);
|
|
454
460
|
}
|
|
455
461
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
456
|
-
state.visitor.updateContext(
|
|
457
|
-
if (!state.visitor.anonymousId &&
|
|
458
|
-
state.visitor.authenticate(
|
|
462
|
+
state.visitor.updateContext(visitorDataRef.current.context);
|
|
463
|
+
if (!state.visitor.anonymousId && visitorDataRef.current.isAuthenticated) {
|
|
464
|
+
state.visitor.authenticate(visitorDataRef.current.id);
|
|
459
465
|
}
|
|
460
|
-
if (state.visitor.anonymousId && !
|
|
466
|
+
if (state.visitor.anonymousId && !visitorDataRef.current.isAuthenticated) {
|
|
461
467
|
state.visitor.unauthenticate();
|
|
462
468
|
}
|
|
463
469
|
state.visitor.fetchFlags();
|
|
@@ -467,11 +473,12 @@ function FlagshipProvider({
|
|
|
467
473
|
|
|
468
474
|
(0,_utils__WEBPACK_IMPORTED_MODULE_3__.useNonInitialEffect)(() => {
|
|
469
475
|
if (fetchFlagsOnBucketingUpdated) {
|
|
470
|
-
var _state$
|
|
471
|
-
(_state$
|
|
476
|
+
var _state$visitor2;
|
|
477
|
+
(_state$visitor2 = state.visitor) === null || _state$visitor2 === void 0 || _state$visitor2.fetchFlags();
|
|
472
478
|
}
|
|
473
479
|
}, [lastModified]);
|
|
474
480
|
(0,_utils__WEBPACK_IMPORTED_MODULE_3__.useNonInitialEffect)(() => {
|
|
481
|
+
visitorDataRef.current = visitorData;
|
|
475
482
|
updateVisitor();
|
|
476
483
|
}, [JSON.stringify(visitorData)]);
|
|
477
484
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
@@ -564,7 +571,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
564
571
|
/* harmony export */ version: () => (/* binding */ version)
|
|
565
572
|
/* harmony export */ });
|
|
566
573
|
// Generated by genversion.
|
|
567
|
-
const version = '4.0
|
|
574
|
+
const version = '4.1.0-beta.0';
|
|
568
575
|
|
|
569
576
|
/***/ }),
|
|
570
577
|
|
package/dist/index.node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.node.js","mappings":"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","sources":["webpack://@flagship.io/react-sdk/./src/FSFlag.ts","webpack://@flagship.io/react-sdk/./src/FlagshipContext.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipHooks.ts","webpack://@flagship.io/react-sdk/./src/FlagshipProvider.tsx","webpack://@flagship.io/react-sdk/./src/constants.ts","webpack://@flagship.io/react-sdk/./src/internalType.ts","webpack://@flagship.io/react-sdk/./src/sdkVersion.ts","webpack://@flagship.io/react-sdk/./src/utils.ts","webpack://@flagship.io/react-sdk/external commonjs \"@flagship.io/js-sdk\"","webpack://@flagship.io/react-sdk/external commonjs \"react\"","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/a-callable.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/an-object.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/create-property-descriptor.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/define-global-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/descriptors.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/document-create-element.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/engine-user-agent.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/engine-v8-version.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/fails.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-bind-native.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-call.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-name.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-uncurry-this.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/get-built-in.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/get-method.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/global.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/has-own-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/hidden-keys.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/ie8-dom-define.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/inspect-source.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/internal-state.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-callable.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-object.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-pure.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-symbol.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/make-built-in.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/object-define-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/regexp-flags.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/require-object-coercible.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/shared-key.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/shared-store.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/shared.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/to-object.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/to-primitive.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/to-property-key.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/try-to-string.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/uid.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/well-known-symbol.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/modules/es.regexp.flags.js","webpack://@flagship.io/react-sdk/webpack/bootstrap","webpack://@flagship.io/react-sdk/webpack/runtime/compat get default export","webpack://@flagship.io/react-sdk/webpack/runtime/define property getters","webpack://@flagship.io/react-sdk/webpack/runtime/hasOwnProperty shorthand","webpack://@flagship.io/react-sdk/webpack/runtime/make namespace object","webpack://@flagship.io/react-sdk/./src/index.tsx"],"sourcesContent":["import { Flagship, FlagDTO, FSFlagMetadata, IFSFlag, IFSFlagMetadata, FSFlagStatus } from '@flagship.io/js-sdk'\n\nimport { GET_FLAG_CAST_ERROR, noVisitorMessage } from './constants'\nimport { FsContextState } from './type'\nimport { hasSameType, logInfo, logWarn, sprintf } from './utils'\n\nexport class FSFlag implements IFSFlag {\n private key: string\n private flag?: FlagDTO\n constructor (key: string, state:FsContextState) {\n const flagsData = state.flags\n if (!state.hasVisitorData) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'GetFlag')\n }\n this.key = key\n this.flag = flagsData?.get(key)\n }\n\n getValue<T> (defaultValue: T): (T extends null ? unknown : T) {\n if (!this.flag) {\n return defaultValue as (T extends null ? unknown : T)\n }\n\n if (this.flag.value === null || this.flag.value === undefined) {\n return defaultValue as (T extends null ? unknown : T)\n }\n\n if (defaultValue !== null && defaultValue !== undefined && !hasSameType(this.flag.value, defaultValue)) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_FLAG_CAST_ERROR, this.key),\n 'getValue'\n )\n return defaultValue as (T extends null ? unknown : T)\n }\n return this.flag.value\n }\n\n exists ():boolean {\n if (!this.flag) {\n return false\n }\n return !!(this.flag.campaignId && this.flag.variationId && this.flag.variationGroupId)\n }\n\n async visitorExposed () : Promise<void> {\n // do nothing\n }\n\n get metadata ():IFSFlagMetadata {\n if (!this.flag) {\n return FSFlagMetadata.Empty()\n }\n return new FSFlagMetadata({\n campaignId: this.flag.campaignId,\n campaignName: this.flag.campaignName,\n variationGroupId: this.flag.variationGroupId,\n variationGroupName: this.flag.variationGroupName,\n variationId: this.flag.variationId,\n variationName: this.flag.variationName,\n isReference: !!this.flag.isReference,\n campaignType: this.flag.campaignType as string,\n slug: this.flag.slug\n })\n }\n\n get status ():FSFlagStatus {\n if (!this.exists()) {\n return FSFlagStatus.NOT_FOUND\n }\n return FSFlagStatus.FETCHED\n }\n}\n","'use client'\nimport { createContext } from 'react'\n\nimport { FsContext, FsContextState } from './type'\n\nexport const initStat: FsContextState = {\n isInitializing: true\n}\n\nexport const FlagshipContext = createContext<FsContext>({\n state: { ...initStat }\n})\n","'use client'\nimport { useContext } from 'react'\n\nimport {\n Flagship,\n IFSFlag,\n IHit,\n primitive,\n FSFlagCollection,\n Visitor,\n IFlagshipConfig\n} from '@flagship.io/js-sdk'\n\nimport { noVisitorMessage } from './constants'\nimport { FlagshipContext } from './FlagshipContext'\nimport { FSFlag } from './FSFlag'\nimport { UseFlagshipOutput } from './type'\nimport { deepClone, hasContextChanged, logError, logWarn } from './utils'\n\n/**\n * This hook returns a flag object by its key. If no flag match the given key an empty flag will be returned.\n * @param key\n * @param defaultValue\n * @returns\n */\nexport const useFsFlag = (\n key: string\n): IFSFlag => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n\n if (!visitor) {\n return new FSFlag(key, state)\n }\n\n return visitor.getFlag(key)\n}\n\nconst handleContextChange = (param:{\n updateFunction: () => void, functionName: string,\n visitor?:Visitor, config?:IFlagshipConfig}): void => {\n const { updateFunction, functionName, visitor, config } = param\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n const originalContextClone = deepClone(visitor.context)\n\n updateFunction()\n\n const updatedContext = visitor.context\n if (hasContextChanged(originalContextClone, updatedContext)) {\n visitor.fetchFlags()\n }\n}\n\nexport const useFlagship = (): UseFlagshipOutput => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n\n const fsUpdateContext = (context: Record<string, primitive>): void => {\n handleContextChange({\n config,\n visitor,\n updateFunction: () => visitor?.updateContext(context),\n functionName: 'updateContext'\n })\n }\n\n const fsClearContext = (): void => {\n handleContextChange({\n config,\n visitor,\n updateFunction: () => visitor?.clearContext(),\n functionName: 'cleanContext'\n })\n }\n\n const fsAuthenticate = (visitorId: string): void => {\n const functionName = 'authenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n const originalVisitorId = visitor.visitorId\n visitor.authenticate(visitorId)\n if (originalVisitorId !== visitorId) {\n visitor.fetchFlags()\n }\n }\n\n const fsUnauthenticate = (): void => {\n const functionName = 'unauthenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n const originalVisitorId = visitor.visitorId\n visitor.unauthenticate()\n if (originalVisitorId !== visitor.visitorId) {\n visitor.fetchFlags()\n }\n }\n\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n const fsSendHit: {\n (hit: IHit[] | IHit): Promise<void>;\n } = (hit) => {\n const functionName = 'sendHit'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n if (Array.isArray(hit)) {\n return visitor.sendHits(hit)\n }\n return visitor.sendHit(hit)\n }\n\n function getFlag (key: string): IFSFlag {\n if (!visitor) {\n return new FSFlag(key, state)\n }\n return visitor.getFlag(key)\n }\n\n function fetchFlags (): Promise<void> {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'fetchFlags')\n return Promise.resolve()\n }\n return visitor.fetchFlags()\n }\n\n function setConsent (hasConsented: boolean): void {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'setConsent')\n return\n }\n visitor.setConsent(hasConsented)\n }\n\n async function close ():Promise<void> {\n await Flagship.close()\n }\n\n function getFlags () {\n if (!visitor) {\n const flags = new Map<string, IFSFlag>()\n state.flags?.forEach((flag, key) => {\n flags.set(key, new FSFlag(key, state))\n })\n return new FSFlagCollection({ flags })\n }\n return visitor.getFlags()\n }\n\n return {\n visitorId: visitor?.visitorId,\n anonymousId: visitor?.anonymousId,\n context: { ...visitor?.context },\n hasConsented: visitor?.hasConsented,\n sdkStatus: Flagship.getStatus(),\n fetchStatus: visitor?.fetchStatus,\n setConsent,\n updateContext: fsUpdateContext,\n clearContext: fsClearContext,\n authenticate: fsAuthenticate,\n unauthenticate: fsUnauthenticate,\n sendHits: fsSendHit,\n getFlag,\n fetchFlags,\n close,\n getFlags\n }\n}\n","'use client'\n\n// eslint-disable-next-line no-use-before-define\nimport React, { useState, useRef, ReactNode, useEffect } from 'react'\n\nimport Flagship, {\n DecisionMode,\n Visitor,\n FSSdkStatus\n} from '@flagship.io/js-sdk'\n\nimport {\n FlagshipContext,\n initStat\n} from './FlagshipContext'\nimport { INTERNAL_EVENTS } from './internalType'\nimport { version as SDK_VERSION } from './sdkVersion'\nimport { FsContextState, FlagshipProviderProps } from './type'\nimport { useNonInitialEffect, logError, extractFlagsMap } from './utils'\n\nexport function FlagshipProvider ({\n children,\n envId,\n apiKey,\n decisionMode = DecisionMode.DECISION_API,\n visitorData,\n loadingComponent,\n onSdkStatusChanged,\n onBucketingUpdated,\n initialCampaigns,\n initialFlagsData,\n fetchFlagsOnBucketingUpdated,\n hitDeduplicationTime = 2,\n fetchNow = true,\n language = 1,\n sdkVersion = SDK_VERSION,\n onFetchFlagsStatusChanged,\n shouldSaveInstance,\n ...props\n}: FlagshipProviderProps): React.JSX.Element {\n const flags = extractFlagsMap(initialFlagsData, initialCampaigns)\n\n const [state, setState] = useState<FsContextState>({\n ...initStat,\n flags,\n hasVisitorData: !!visitorData\n })\n const [lastModified, setLastModified] = useState<Date>()\n const stateRef = useRef<FsContextState>()\n stateRef.current = state\n\n // #region functions\n\n const onBucketingLastModified = (lastUpdate: Date) => {\n if (onBucketingUpdated) {\n onBucketingUpdated(lastUpdate)\n }\n setLastModified(lastUpdate)\n }\n\n const statusChanged = (status: FSSdkStatus) => {\n if (onSdkStatusChanged) {\n onSdkStatusChanged(status)\n }\n\n switch (status) {\n case FSSdkStatus.SDK_PANIC:\n case FSSdkStatus.SDK_INITIALIZED:\n createVisitor()\n break\n case FSSdkStatus.SDK_NOT_INITIALIZED:\n setState((prev) => ({\n ...prev,\n config: Flagship.getConfig(),\n isInitializing: false\n }))\n break\n }\n }\n\n const initSdk = () => {\n Flagship.start(envId, apiKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n decisionMode: decisionMode as any,\n fetchNow,\n onSdkStatusChanged: statusChanged,\n onBucketingUpdated: onBucketingLastModified,\n hitDeduplicationTime,\n language,\n sdkVersion,\n ...props\n })\n }\n\n function initializeState (param: {\n fsVisitor: Visitor;\n }) {\n setState((currentState) => ({\n ...currentState,\n visitor: param.fsVisitor,\n config: Flagship.getConfig(),\n isInitializing: false,\n hasVisitorData: !!visitorData\n })\n )\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const onVisitorReady = (fsVisitor: Visitor, error: any) => {\n if (error) {\n logError(Flagship.getConfig(), error.message || error, 'onReady')\n }\n initializeState({ fsVisitor })\n }\n\n const createVisitor = () => {\n if (!visitorData) {\n return\n }\n const fsVisitor = Flagship.newVisitor({\n visitorId: visitorData.id,\n context: visitorData.context,\n isAuthenticated: visitorData.isAuthenticated,\n hasConsented: visitorData.hasConsented,\n initialCampaigns,\n initialFlagsData,\n onFetchFlagsStatusChanged,\n shouldSaveInstance\n })\n\n fsVisitor?.on('ready', (error) => {\n onVisitorReady(fsVisitor, error)\n })\n\n if (!fetchNow) {\n initializeState({ fsVisitor })\n }\n }\n\n function updateVisitor () {\n if (!visitorData) {\n return\n }\n if (!state.visitor ||\n (state.visitor.visitorId !== visitorData.id &&\n (!visitorData.isAuthenticated || (visitorData.isAuthenticated && state.visitor.anonymousId)))\n ) {\n createVisitor()\n return\n }\n\n if (visitorData.hasConsented !== state.visitor.hasConsented) {\n state.visitor.setConsent(visitorData.hasConsented ?? true)\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n state.visitor.updateContext(visitorData.context as any)\n\n if (!state.visitor.anonymousId && visitorData.isAuthenticated) {\n state.visitor.authenticate(visitorData.id as string)\n }\n if (state.visitor.anonymousId && !visitorData.isAuthenticated) {\n state.visitor.unauthenticate()\n }\n state.visitor.fetchFlags()\n }\n\n // #endregion\n\n useNonInitialEffect(() => {\n if (fetchFlagsOnBucketingUpdated) {\n state.visitor?.fetchFlags()\n }\n }, [lastModified])\n\n useNonInitialEffect(() => {\n updateVisitor()\n }, [JSON.stringify(visitorData)])\n\n useEffect(() => {\n initSdk()\n }, [envId, apiKey, decisionMode])\n\n const handleDisplay = (): ReactNode => {\n const isFirstInit = !state.visitor\n if (\n state.isInitializing &&\n loadingComponent &&\n isFirstInit &&\n fetchNow\n ) {\n return <>{loadingComponent}</>\n }\n return <>{children}</>\n }\n\n useEffect(() => {\n window?.addEventListener?.(INTERNAL_EVENTS.FsTriggerRendering, onVariationsForced)\n return () => window?.removeEventListener?.(INTERNAL_EVENTS.FsTriggerRendering, onVariationsForced)\n }, [state.config?.isQAModeEnabled])\n\n const onVariationsForced = (e:Event) => {\n const { detail } = e as CustomEvent<{ forcedReFetchFlags: boolean }>\n if (detail.forcedReFetchFlags) {\n stateRef.current?.visitor?.fetchFlags()\n } else {\n setState(state => ({ ...state, toggleForcedVariations: !state.toggleForcedVariations }))\n }\n }\n\n return (\n <FlagshipContext.Provider value={{ state, setState }}>\n {handleDisplay()}\n </FlagshipContext.Provider>\n )\n}\n","export const noVisitorMessage = 'flagship Visitor not initialized.'\nexport const noVisitorDefault = 'fsVisitor not initialized, returns default value'\n\nexport const GET_FLAG_CAST_ERROR = 'Flag for key {0} has a different type. Default value is returned.'\nexport const GET_METADATA_CAST_ERROR = 'Flag for key {0} has a different type with defaultValue, an empty metadata object is returned'\n","export enum INTERNAL_EVENTS {\n FsTriggerRendering = 'FS_TRIGGER_RENDERING'\n}\n","// Generated by genversion.\nexport const version = '4.0.1-beta.0'\n","'use client'\nimport { EffectCallback, DependencyList, useEffect, useRef } from 'react'\n\nimport Flagship, {\n CampaignDTO,\n FlagDTO,\n IFlagshipConfig,\n LogLevel,\n SerializedFlagMetadata\n} from '@flagship.io/js-sdk'\n\nexport function logError (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (!config || !config.logLevel || config.logLevel < LogLevel.ERROR) {\n return\n }\n\n if (typeof config.onLog === 'function') {\n config.onLog(LogLevel.ERROR, tag, message)\n }\n\n if (config.logManager && typeof config.logManager.error === 'function') {\n config.logManager.error(message, tag)\n }\n}\n\nexport function logInfo (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (!config || !config.logLevel || config.logLevel < LogLevel.INFO) {\n return\n }\n\n if (typeof config.onLog === 'function') {\n config.onLog(LogLevel.INFO, tag, message)\n }\n\n if (config.logManager && typeof config.logManager.info === 'function') {\n config.logManager.info(message, tag)\n }\n}\n\nexport function logWarn (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (!config || !config.logLevel || config.logLevel < LogLevel.WARNING) {\n return\n }\n\n if (typeof config.onLog === 'function') {\n config.onLog(LogLevel.WARNING, tag, message)\n }\n\n if (config.logManager && typeof config.logManager.warning === 'function') {\n config.logManager.warning(message, tag)\n }\n}\n\nexport const getFlagsFromCampaigns = (\n campaigns: Array<CampaignDTO>\n): Map<string, FlagDTO> => {\n const flags = new Map<string, FlagDTO>()\n if (!campaigns || !Array.isArray(campaigns)) {\n return flags\n }\n campaigns.forEach((campaign) => {\n const object = campaign.variation.modifications.value\n for (const key in object) {\n const value = object[key]\n flags.set(key, {\n key,\n campaignId: campaign.id,\n campaignName: campaign.name || '',\n variationGroupId: campaign.variationGroupId,\n variationGroupName: campaign.variationGroupName || '',\n variationId: campaign.variation.id,\n variationName: campaign.variation.name || '',\n isReference: campaign.variation.reference,\n slug: campaign.slug || '',\n value\n })\n }\n })\n return flags\n}\n\nexport function uuidV4 (): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\n /[xy]/g,\n function (char) {\n const rand = (Math.random() * 16) | 0\n const value = char === 'x' ? rand : (rand & 0x3) | 0x8\n return value.toString(16)\n }\n )\n}\n\nexport function useNonInitialEffect (\n effect: EffectCallback,\n deps?: DependencyList\n): void {\n const initialRender = useRef(true)\n\n useEffect(() => {\n if (initialRender.current) {\n initialRender.current = false\n return\n }\n\n if (typeof effect === 'function') {\n return effect()\n }\n }, deps)\n}\n\nexport function hasSameType (flagValue:unknown, defaultValue:unknown):boolean {\n if (typeof flagValue !== typeof defaultValue) {\n return false\n }\n if (typeof flagValue === 'object' && typeof defaultValue === 'object' &&\n Array.isArray(flagValue) !== Array.isArray(defaultValue)\n ) {\n return false\n }\n return true\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function sprintf (format: string, ...value: any[]): string {\n let formatted = format\n for (let i = 0; i < value.length; i++) {\n const element = value[i]\n formatted = formatted.replace(new RegExp(`\\\\{${i}\\\\}`, 'g'), element)\n }\n return formatted\n}\n\nexport function hexToValue (hex: string, config: IFlagshipConfig): {v: unknown} | null {\n if (typeof hex !== 'string') {\n logError(config, `Invalid hex string: ${hex}`, 'hexToValue')\n return null\n }\n\n let jsonString = ''\n\n for (let i = 0; i < hex.length; i += 2) {\n const hexChar = hex.slice(i, i + 2)\n const charCode = parseInt(hexChar, 16)\n\n if (isNaN(charCode)) {\n logError(config, `Invalid hex character: ${hexChar}`, 'hexToValue')\n return null\n }\n\n jsonString += String.fromCharCode(charCode)\n }\n\n try {\n const value: {v: unknown} = JSON.parse(jsonString)\n return value\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error:any) {\n logError(config, `Error while parsing JSON: ${error?.message}`, 'hexToValue')\n return null\n }\n}\n\nexport function extractFlagsMap (initialFlagsData?: SerializedFlagMetadata[], initialCampaigns?:CampaignDTO[]): Map<string, FlagDTO> {\n let flags = new Map<string, FlagDTO>()\n\n if (Array.isArray(initialFlagsData)) {\n initialFlagsData.forEach((flag) => {\n flags.set(flag.key, {\n key: flag.key,\n campaignId: flag.campaignId,\n campaignName: flag.campaignName,\n variationGroupId: flag.variationGroupId,\n variationGroupName: flag.variationGroupName,\n variationId: flag.variationId,\n variationName: flag.variationName,\n isReference: flag.isReference,\n campaignType: flag.campaignType,\n slug: flag.slug,\n value: hexToValue(flag.hex, Flagship.getConfig())?.v\n })\n })\n } else if (initialCampaigns) {\n flags = getFlagsFromCampaigns(initialCampaigns)\n }\n\n return flags\n}\n\nexport function deepClone<T> (obj: T): T {\n return JSON.parse(JSON.stringify(obj))\n}\n\nexport function hasContextChanged <T> (original: T, updated: T): boolean {\n return JSON.stringify(original) !== JSON.stringify(updated)\n}\n","module.exports = require(\"@flagship.io/js-sdk\");","module.exports = require(\"react\");","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.36.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { FlagshipProvider } from './FlagshipProvider'\n\nexport * from '@flagship.io/js-sdk'\nexport * from './FlagshipHooks'\nexport * from './type'\n\nexport { FlagshipProvider } from './FlagshipProvider'\n\nexport default FlagshipProvider\n"],"names":["Flagship","FSFlagMetadata","FSFlagStatus","GET_FLAG_CAST_ERROR","noVisitorMessage","hasSameType","logInfo","logWarn","sprintf","FSFlag","constructor","key","state","_defineProperty","flagsData","flags","hasVisitorData","getConfig","flag","get","getValue","defaultValue","value","undefined","exists","campaignId","variationId","variationGroupId","visitorExposed","metadata","Empty","campaignName","variationGroupName","variationName","isReference","campaignType","slug","status","NOT_FOUND","FETCHED","createContext","initStat","isInitializing","FlagshipContext","useContext","FSFlagCollection","deepClone","hasContextChanged","logError","useFsFlag","visitor","getFlag","handleContextChange","param","updateFunction","functionName","config","originalContextClone","context","updatedContext","fetchFlags","useFlagship","fsUpdateContext","updateContext","fsClearContext","clearContext","fsAuthenticate","visitorId","originalVisitorId","authenticate","fsUnauthenticate","unauthenticate","fsSendHit","hit","Promise","resolve","Array","isArray","sendHits","sendHit","setConsent","hasConsented","close","getFlags","_state$flags","Map","forEach","set","anonymousId","sdkStatus","getStatus","fetchStatus","React","useState","useRef","useEffect","DecisionMode","FSSdkStatus","INTERNAL_EVENTS","version","SDK_VERSION","useNonInitialEffect","extractFlagsMap","FlagshipProvider","children","envId","apiKey","decisionMode","DECISION_API","visitorData","loadingComponent","onSdkStatusChanged","onBucketingUpdated","initialCampaigns","initialFlagsData","fetchFlagsOnBucketingUpdated","hitDeduplicationTime","fetchNow","language","sdkVersion","onFetchFlagsStatusChanged","shouldSaveInstance","props","_state$config","setState","lastModified","setLastModified","stateRef","current","onBucketingLastModified","lastUpdate","statusChanged","SDK_PANIC","SDK_INITIALIZED","createVisitor","SDK_NOT_INITIALIZED","prev","initSdk","start","initializeState","currentState","fsVisitor","onVisitorReady","error","message","newVisitor","id","isAuthenticated","on","updateVisitor","_visitorData$hasConse","_state$visitor","JSON","stringify","handleDisplay","isFirstInit","createElement","Fragment","_window","_window$addEventListe","window","addEventListener","call","FsTriggerRendering","onVariationsForced","_window2","_window2$removeEventL","removeEventListener","isQAModeEnabled","e","detail","forcedReFetchFlags","_stateRef$current","toggleForcedVariations","Provider","noVisitorDefault","GET_METADATA_CAST_ERROR","LogLevel","tag","logLevel","ERROR","onLog","logManager","INFO","info","WARNING","warning","getFlagsFromCampaigns","campaigns","campaign","object","variation","modifications","name","reference","uuidV4","replace","char","rand","Math","random","toString","effect","deps","initialRender","flagValue","format","formatted","i","length","element","RegExp","hexToValue","hex","jsonString","hexChar","slice","charCode","parseInt","isNaN","String","fromCharCode","parse","_hexToValue","v","obj","original","updated"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.node.js","mappings":"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","sources":["webpack://@flagship.io/react-sdk/./src/FSFlag.ts","webpack://@flagship.io/react-sdk/./src/FlagshipContext.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipHooks.ts","webpack://@flagship.io/react-sdk/./src/FlagshipProvider.tsx","webpack://@flagship.io/react-sdk/./src/constants.ts","webpack://@flagship.io/react-sdk/./src/internalType.ts","webpack://@flagship.io/react-sdk/./src/sdkVersion.ts","webpack://@flagship.io/react-sdk/./src/utils.ts","webpack://@flagship.io/react-sdk/external commonjs \"@flagship.io/js-sdk\"","webpack://@flagship.io/react-sdk/external commonjs \"react\"","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/a-callable.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/an-object.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/create-property-descriptor.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/define-global-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/descriptors.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/document-create-element.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/engine-user-agent.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/engine-v8-version.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/fails.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-bind-native.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-call.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-name.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/function-uncurry-this.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/get-built-in.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/get-method.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/global.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/has-own-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/hidden-keys.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/ie8-dom-define.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/inspect-source.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/internal-state.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-callable.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-object.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-pure.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/is-symbol.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/make-built-in.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/object-define-property.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/regexp-flags.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/require-object-coercible.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/shared-key.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/shared-store.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/shared.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/to-object.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/to-primitive.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/to-property-key.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/try-to-string.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/uid.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/internals/well-known-symbol.js","webpack://@flagship.io/react-sdk/./node_modules/core-js/modules/es.regexp.flags.js","webpack://@flagship.io/react-sdk/webpack/bootstrap","webpack://@flagship.io/react-sdk/webpack/runtime/compat get default export","webpack://@flagship.io/react-sdk/webpack/runtime/define property getters","webpack://@flagship.io/react-sdk/webpack/runtime/hasOwnProperty shorthand","webpack://@flagship.io/react-sdk/webpack/runtime/make namespace object","webpack://@flagship.io/react-sdk/./src/index.tsx"],"sourcesContent":["import { Flagship, FlagDTO, FSFlagMetadata, IFSFlag, IFSFlagMetadata, FSFlagStatus } from '@flagship.io/js-sdk'\n\nimport { GET_FLAG_CAST_ERROR, noVisitorMessage } from './constants'\nimport { FsContextState } from './type'\nimport { hasSameType, logInfo, logWarn, sprintf } from './utils'\n\nexport class FSFlag implements IFSFlag {\n private key: string\n private flag?: FlagDTO\n constructor (key: string, state:FsContextState) {\n const flagsData = state.flags\n if (!state.hasVisitorData) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'GetFlag')\n }\n this.key = key\n this.flag = flagsData?.get(key)\n }\n\n getValue<T> (defaultValue: T): (T extends null ? unknown : T) {\n if (!this.flag) {\n return defaultValue as (T extends null ? unknown : T)\n }\n\n if (this.flag.value === null || this.flag.value === undefined) {\n return defaultValue as (T extends null ? unknown : T)\n }\n\n if (defaultValue !== null && defaultValue !== undefined && !hasSameType(this.flag.value, defaultValue)) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_FLAG_CAST_ERROR, this.key),\n 'getValue'\n )\n return defaultValue as (T extends null ? unknown : T)\n }\n return this.flag.value\n }\n\n exists ():boolean {\n if (!this.flag) {\n return false\n }\n return !!(this.flag.campaignId && this.flag.variationId && this.flag.variationGroupId)\n }\n\n async visitorExposed () : Promise<void> {\n // do nothing\n }\n\n get metadata ():IFSFlagMetadata {\n if (!this.flag) {\n return FSFlagMetadata.Empty()\n }\n return new FSFlagMetadata({\n campaignId: this.flag.campaignId,\n campaignName: this.flag.campaignName,\n variationGroupId: this.flag.variationGroupId,\n variationGroupName: this.flag.variationGroupName,\n variationId: this.flag.variationId,\n variationName: this.flag.variationName,\n isReference: !!this.flag.isReference,\n campaignType: this.flag.campaignType as string,\n slug: this.flag.slug\n })\n }\n\n get status ():FSFlagStatus {\n if (!this.exists()) {\n return FSFlagStatus.NOT_FOUND\n }\n return FSFlagStatus.FETCHED\n }\n}\n","'use client'\nimport { createContext } from 'react'\n\nimport { FsContext, FsContextState } from './type'\n\nexport const initStat: FsContextState = {\n isInitializing: true\n}\n\nexport const FlagshipContext = createContext<FsContext>({\n state: { ...initStat }\n})\n","'use client'\nimport { useCallback, useContext, useMemo } from 'react'\n\nimport {\n Flagship,\n IFSFlag,\n IHit,\n primitive,\n FSFlagCollection,\n Visitor,\n IFlagshipConfig\n} from '@flagship.io/js-sdk'\n\nimport { noVisitorMessage } from './constants'\nimport { FlagshipContext } from './FlagshipContext'\nimport { FSFlag } from './FSFlag'\nimport { UseFlagshipOutput } from './type'\nimport { deepClone, hasContextChanged, logError, logWarn } from './utils'\n\n/**\n * This hook returns a flag object by its key. If no flag match the given key an empty flag will be returned.\n * @param key\n * @param defaultValue\n * @returns\n */\nexport const useFsFlag = (\n key: string\n): IFSFlag => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n\n if (!visitor) {\n return new FSFlag(key, state)\n }\n\n return visitor.getFlag(key)\n}\n\nconst handleContextChange = (param:{\n updateFunction: () => void, functionName: string,\n visitor?:Visitor, config?:IFlagshipConfig}): void => {\n const { updateFunction, functionName, visitor, config } = param\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n const originalContextClone = deepClone(visitor.context)\n\n updateFunction()\n\n const updatedContext = visitor.context\n if (hasContextChanged(originalContextClone, updatedContext)) {\n visitor.fetchFlags()\n }\n}\n\nexport const useFlagship = (): UseFlagshipOutput => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n\n const fsUpdateContext = useCallback((context: Record<string, primitive>): void => {\n handleContextChange({\n config,\n visitor,\n updateFunction: () => visitor?.updateContext(context),\n functionName: 'updateContext'\n })\n }, [visitor])\n\n const fsClearContext = useCallback((): void => {\n handleContextChange({\n config,\n visitor,\n updateFunction: () => visitor?.clearContext(),\n functionName: 'cleanContext'\n })\n }, [visitor])\n\n const fsAuthenticate = useCallback((visitorId: string): void => {\n const functionName = 'authenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n const originalVisitorId = visitor.visitorId\n visitor.authenticate(visitorId)\n if (originalVisitorId !== visitorId) {\n visitor.fetchFlags()\n }\n }, [visitor])\n\n const fsUnauthenticate = useCallback((): void => {\n const functionName = 'unauthenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n const originalVisitorId = visitor.visitorId\n visitor.unauthenticate()\n if (originalVisitorId !== visitor.visitorId) {\n visitor.fetchFlags()\n }\n }, [visitor])\n\n const fsSendHit = useCallback((hit: IHit[] | IHit): Promise<void> => {\n const functionName = 'sendHit'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n if (Array.isArray(hit)) {\n return visitor.sendHits(hit)\n }\n return visitor.sendHit(hit)\n }, [visitor])\n\n const getFlag = useCallback((key: string): IFSFlag => {\n if (!visitor) {\n return new FSFlag(key, state)\n }\n return visitor.getFlag(key)\n }, [visitor])\n\n const fetchFlags = useCallback(async (): Promise<void> => {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'fetchFlags')\n return Promise.resolve()\n }\n return visitor.fetchFlags()\n }, [visitor])\n\n const setConsent = useCallback((hasConsented: boolean): void => {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'setConsent')\n return\n }\n visitor.setConsent(hasConsented)\n }, [visitor])\n\n const close = useCallback((): Promise<void> => {\n return Flagship.close()\n }, [])\n\n const getFlags = useCallback(() => {\n if (!visitor) {\n const flags = new Map<string, IFSFlag>()\n state.flags?.forEach((flag, key) => {\n flags.set(key, new FSFlag(key, state))\n })\n return new FSFlagCollection({ flags })\n }\n return visitor.getFlags()\n }, [visitor])\n\n const collectEAIEventsAsync = useCallback(async (...args: unknown[]): Promise<void> => {\n if (!visitor) {\n return\n }\n return visitor.collectEAIEventsAsync(...args)\n }, [visitor])\n\n return useMemo(() => ({\n visitorId: visitor?.visitorId,\n anonymousId: visitor?.anonymousId,\n context: { ...visitor?.context },\n hasConsented: visitor?.hasConsented,\n sdkStatus: Flagship.getStatus(),\n fetchStatus: visitor?.fetchStatus,\n setConsent,\n updateContext: fsUpdateContext,\n clearContext: fsClearContext,\n authenticate: fsAuthenticate,\n unauthenticate: fsUnauthenticate,\n sendHits: fsSendHit,\n getFlag,\n fetchFlags,\n close,\n getFlags,\n collectEAIEventsAsync\n\n }), [visitor, setConsent,\n fsUpdateContext,\n fsClearContext, fsAuthenticate, fsUnauthenticate,\n fsSendHit, getFlag, fetchFlags, close,\n getFlags,\n collectEAIEventsAsync])\n}\n","'use client'\n\n// eslint-disable-next-line no-use-before-define\nimport React, { useState, useRef, ReactNode, useEffect } from 'react'\n\nimport Flagship, {\n DecisionMode,\n Visitor,\n FSSdkStatus\n} from '@flagship.io/js-sdk'\n\nimport {\n FlagshipContext,\n initStat\n} from './FlagshipContext'\nimport { INTERNAL_EVENTS } from './internalType'\nimport { version as SDK_VERSION } from './sdkVersion'\nimport { FsContextState, FlagshipProviderProps } from './type'\nimport { useNonInitialEffect, logError, extractFlagsMap } from './utils'\n\nexport function FlagshipProvider ({\n children,\n envId,\n apiKey,\n decisionMode = DecisionMode.DECISION_API,\n visitorData,\n loadingComponent,\n onSdkStatusChanged,\n onBucketingUpdated,\n initialCampaigns,\n initialFlagsData,\n fetchFlagsOnBucketingUpdated,\n hitDeduplicationTime = 2,\n fetchNow = true,\n language = 1,\n sdkVersion = SDK_VERSION,\n onFetchFlagsStatusChanged,\n shouldSaveInstance,\n ...props\n}: FlagshipProviderProps): React.JSX.Element {\n const flags = extractFlagsMap(initialFlagsData, initialCampaigns)\n\n const [state, setState] = useState<FsContextState>({\n ...initStat,\n flags,\n hasVisitorData: !!visitorData\n })\n const [lastModified, setLastModified] = useState<Date>()\n const stateRef = useRef<FsContextState>()\n stateRef.current = state\n\n const visitorDataRef = useRef(visitorData)\n\n // #region functions\n\n const onBucketingLastModified = (lastUpdate: Date) => {\n if (onBucketingUpdated) {\n onBucketingUpdated(lastUpdate)\n }\n setLastModified(lastUpdate)\n }\n\n const statusChanged = (status: FSSdkStatus) => {\n if (onSdkStatusChanged) {\n onSdkStatusChanged(status)\n }\n\n switch (status) {\n case FSSdkStatus.SDK_PANIC:\n case FSSdkStatus.SDK_INITIALIZED:\n createVisitor()\n break\n case FSSdkStatus.SDK_NOT_INITIALIZED:\n setState((prev) => ({\n ...prev,\n config: Flagship.getConfig(),\n isInitializing: false\n }))\n break\n }\n }\n\n const initSdk = () => {\n Flagship.start(envId, apiKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n decisionMode: decisionMode as any,\n fetchNow,\n onSdkStatusChanged: statusChanged,\n onBucketingUpdated: onBucketingLastModified,\n hitDeduplicationTime,\n language,\n sdkVersion,\n ...props\n })\n }\n\n function initializeState (param: {\n fsVisitor: Visitor;\n }) {\n setState((currentState) => ({\n ...currentState,\n visitor: param.fsVisitor,\n config: Flagship.getConfig(),\n isInitializing: false,\n hasVisitorData: !!visitorData\n })\n )\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const onVisitorReady = (fsVisitor: Visitor, error: any) => {\n if (error) {\n logError(Flagship.getConfig(), error.message || error, 'onReady')\n }\n initializeState({ fsVisitor })\n }\n\n const createVisitor = () => {\n if (!visitorDataRef.current) {\n return\n }\n const fsVisitor = Flagship.newVisitor({\n visitorId: visitorDataRef.current.id,\n context: visitorDataRef.current.context,\n isAuthenticated: visitorDataRef.current.isAuthenticated,\n hasConsented: visitorDataRef.current.hasConsented,\n initialCampaigns,\n initialFlagsData,\n onFetchFlagsStatusChanged,\n shouldSaveInstance\n })\n\n fsVisitor?.on('ready', (error) => {\n onVisitorReady(fsVisitor, error)\n })\n\n if (!fetchNow) {\n initializeState({ fsVisitor })\n }\n }\n\n function updateVisitor () {\n if (!visitorDataRef.current || Flagship.getStatus() !== FSSdkStatus.SDK_INITIALIZED) {\n return\n }\n if (!state.visitor ||\n (state.visitor.visitorId !== visitorDataRef.current.id &&\n (!visitorDataRef.current.isAuthenticated || (visitorDataRef.current.isAuthenticated && state.visitor.anonymousId)))\n ) {\n state.visitor?.cleanup()\n createVisitor()\n return\n }\n\n if (visitorDataRef.current.hasConsented !== state.visitor.hasConsented) {\n state.visitor.setConsent(visitorDataRef.current.hasConsented ?? true)\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n state.visitor.updateContext(visitorDataRef.current.context as any)\n\n if (!state.visitor.anonymousId && visitorDataRef.current.isAuthenticated) {\n state.visitor.authenticate(visitorDataRef.current.id as string)\n }\n if (state.visitor.anonymousId && !visitorDataRef.current.isAuthenticated) {\n state.visitor.unauthenticate()\n }\n state.visitor.fetchFlags()\n }\n\n // #endregion\n\n useNonInitialEffect(() => {\n if (fetchFlagsOnBucketingUpdated) {\n state.visitor?.fetchFlags()\n }\n }, [lastModified])\n\n useNonInitialEffect(() => {\n visitorDataRef.current = visitorData\n updateVisitor()\n }, [JSON.stringify(visitorData)])\n\n useEffect(() => {\n initSdk()\n }, [envId, apiKey, decisionMode])\n\n const handleDisplay = (): ReactNode => {\n const isFirstInit = !state.visitor\n if (\n state.isInitializing &&\n loadingComponent &&\n isFirstInit &&\n fetchNow\n ) {\n return <>{loadingComponent}</>\n }\n return <>{children}</>\n }\n\n useEffect(() => {\n window?.addEventListener?.(INTERNAL_EVENTS.FsTriggerRendering, onVariationsForced)\n return () => window?.removeEventListener?.(INTERNAL_EVENTS.FsTriggerRendering, onVariationsForced)\n }, [state.config?.isQAModeEnabled])\n\n const onVariationsForced = (e:Event) => {\n const { detail } = e as CustomEvent<{ forcedReFetchFlags: boolean }>\n if (detail.forcedReFetchFlags) {\n stateRef.current?.visitor?.fetchFlags()\n } else {\n setState(state => ({ ...state, toggleForcedVariations: !state.toggleForcedVariations }))\n }\n }\n\n return (\n <FlagshipContext.Provider value={{ state, setState }}>\n {handleDisplay()}\n </FlagshipContext.Provider>\n )\n}\n","export const noVisitorMessage = 'flagship Visitor not initialized.'\nexport const noVisitorDefault = 'fsVisitor not initialized, returns default value'\n\nexport const GET_FLAG_CAST_ERROR = 'Flag for key {0} has a different type. Default value is returned.'\nexport const GET_METADATA_CAST_ERROR = 'Flag for key {0} has a different type with defaultValue, an empty metadata object is returned'\n","export enum INTERNAL_EVENTS {\n FsTriggerRendering = 'FS_TRIGGER_RENDERING'\n}\n","// Generated by genversion.\nexport const version = '4.1.0-beta.0'\n","'use client'\nimport { EffectCallback, DependencyList, useEffect, useRef } from 'react'\n\nimport Flagship, {\n CampaignDTO,\n FlagDTO,\n IFlagshipConfig,\n LogLevel,\n SerializedFlagMetadata\n} from '@flagship.io/js-sdk'\n\nexport function logError (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (!config || !config.logLevel || config.logLevel < LogLevel.ERROR) {\n return\n }\n\n if (typeof config.onLog === 'function') {\n config.onLog(LogLevel.ERROR, tag, message)\n }\n\n if (config.logManager && typeof config.logManager.error === 'function') {\n config.logManager.error(message, tag)\n }\n}\n\nexport function logInfo (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (!config || !config.logLevel || config.logLevel < LogLevel.INFO) {\n return\n }\n\n if (typeof config.onLog === 'function') {\n config.onLog(LogLevel.INFO, tag, message)\n }\n\n if (config.logManager && typeof config.logManager.info === 'function') {\n config.logManager.info(message, tag)\n }\n}\n\nexport function logWarn (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (!config || !config.logLevel || config.logLevel < LogLevel.WARNING) {\n return\n }\n\n if (typeof config.onLog === 'function') {\n config.onLog(LogLevel.WARNING, tag, message)\n }\n\n if (config.logManager && typeof config.logManager.warning === 'function') {\n config.logManager.warning(message, tag)\n }\n}\n\nexport const getFlagsFromCampaigns = (\n campaigns: Array<CampaignDTO>\n): Map<string, FlagDTO> => {\n const flags = new Map<string, FlagDTO>()\n if (!campaigns || !Array.isArray(campaigns)) {\n return flags\n }\n campaigns.forEach((campaign) => {\n const object = campaign.variation.modifications.value\n for (const key in object) {\n const value = object[key]\n flags.set(key, {\n key,\n campaignId: campaign.id,\n campaignName: campaign.name || '',\n variationGroupId: campaign.variationGroupId,\n variationGroupName: campaign.variationGroupName || '',\n variationId: campaign.variation.id,\n variationName: campaign.variation.name || '',\n isReference: campaign.variation.reference,\n slug: campaign.slug || '',\n value\n })\n }\n })\n return flags\n}\n\nexport function uuidV4 (): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\n /[xy]/g,\n function (char) {\n const rand = (Math.random() * 16) | 0\n const value = char === 'x' ? rand : (rand & 0x3) | 0x8\n return value.toString(16)\n }\n )\n}\n\nexport function useNonInitialEffect (\n effect: EffectCallback,\n deps?: DependencyList\n): void {\n const initialRender = useRef(true)\n\n useEffect(() => {\n if (initialRender.current) {\n initialRender.current = false\n return\n }\n\n if (typeof effect === 'function') {\n return effect()\n }\n }, deps)\n}\n\nexport function hasSameType (flagValue:unknown, defaultValue:unknown):boolean {\n if (typeof flagValue !== typeof defaultValue) {\n return false\n }\n if (typeof flagValue === 'object' && typeof defaultValue === 'object' &&\n Array.isArray(flagValue) !== Array.isArray(defaultValue)\n ) {\n return false\n }\n return true\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function sprintf (format: string, ...value: any[]): string {\n let formatted = format\n for (let i = 0; i < value.length; i++) {\n const element = value[i]\n formatted = formatted.replace(new RegExp(`\\\\{${i}\\\\}`, 'g'), element)\n }\n return formatted\n}\n\nexport function hexToValue (hex: string, config: IFlagshipConfig): {v: unknown} | null {\n if (typeof hex !== 'string') {\n logError(config, `Invalid hex string: ${hex}`, 'hexToValue')\n return null\n }\n\n let jsonString = ''\n\n for (let i = 0; i < hex.length; i += 2) {\n const hexChar = hex.slice(i, i + 2)\n const charCode = parseInt(hexChar, 16)\n\n if (isNaN(charCode)) {\n logError(config, `Invalid hex character: ${hexChar}`, 'hexToValue')\n return null\n }\n\n jsonString += String.fromCharCode(charCode)\n }\n\n try {\n const value: {v: unknown} = JSON.parse(jsonString)\n return value\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error:any) {\n logError(config, `Error while parsing JSON: ${error?.message}`, 'hexToValue')\n return null\n }\n}\n\nexport function extractFlagsMap (initialFlagsData?: SerializedFlagMetadata[], initialCampaigns?:CampaignDTO[]): Map<string, FlagDTO> {\n let flags = new Map<string, FlagDTO>()\n\n if (Array.isArray(initialFlagsData)) {\n initialFlagsData.forEach((flag) => {\n flags.set(flag.key, {\n key: flag.key,\n campaignId: flag.campaignId,\n campaignName: flag.campaignName,\n variationGroupId: flag.variationGroupId,\n variationGroupName: flag.variationGroupName,\n variationId: flag.variationId,\n variationName: flag.variationName,\n isReference: flag.isReference,\n campaignType: flag.campaignType,\n slug: flag.slug,\n value: hexToValue(flag.hex, Flagship.getConfig())?.v\n })\n })\n } else if (initialCampaigns) {\n flags = getFlagsFromCampaigns(initialCampaigns)\n }\n\n return flags\n}\n\nexport function deepClone<T> (obj: T): T {\n return JSON.parse(JSON.stringify(obj))\n}\n\nexport function hasContextChanged <T> (original: T, updated: T): boolean {\n return JSON.stringify(original) !== JSON.stringify(updated)\n}\n","module.exports = require(\"@flagship.io/js-sdk\");","module.exports = require(\"react\");","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.36.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { FlagshipProvider } from './FlagshipProvider'\n\nexport * from '@flagship.io/js-sdk'\nexport * from './FlagshipHooks'\nexport * from './type'\n\nexport { FlagshipProvider } from './FlagshipProvider'\n\nexport default FlagshipProvider\n"],"names":["Flagship","FSFlagMetadata","FSFlagStatus","GET_FLAG_CAST_ERROR","noVisitorMessage","hasSameType","logInfo","logWarn","sprintf","FSFlag","constructor","key","state","_defineProperty","flagsData","flags","hasVisitorData","getConfig","flag","get","getValue","defaultValue","value","undefined","exists","campaignId","variationId","variationGroupId","visitorExposed","metadata","Empty","campaignName","variationGroupName","variationName","isReference","campaignType","slug","status","NOT_FOUND","FETCHED","createContext","initStat","isInitializing","FlagshipContext","useCallback","useContext","useMemo","FSFlagCollection","deepClone","hasContextChanged","logError","useFsFlag","visitor","getFlag","handleContextChange","param","updateFunction","functionName","config","originalContextClone","context","updatedContext","fetchFlags","useFlagship","fsUpdateContext","updateContext","fsClearContext","clearContext","fsAuthenticate","visitorId","originalVisitorId","authenticate","fsUnauthenticate","unauthenticate","fsSendHit","hit","Promise","resolve","Array","isArray","sendHits","sendHit","setConsent","hasConsented","close","getFlags","_state$flags","Map","forEach","set","collectEAIEventsAsync","args","anonymousId","sdkStatus","getStatus","fetchStatus","React","useState","useRef","useEffect","DecisionMode","FSSdkStatus","INTERNAL_EVENTS","version","SDK_VERSION","useNonInitialEffect","extractFlagsMap","FlagshipProvider","children","envId","apiKey","decisionMode","DECISION_API","visitorData","loadingComponent","onSdkStatusChanged","onBucketingUpdated","initialCampaigns","initialFlagsData","fetchFlagsOnBucketingUpdated","hitDeduplicationTime","fetchNow","language","sdkVersion","onFetchFlagsStatusChanged","shouldSaveInstance","props","_state$config","setState","lastModified","setLastModified","stateRef","current","visitorDataRef","onBucketingLastModified","lastUpdate","statusChanged","SDK_PANIC","SDK_INITIALIZED","createVisitor","SDK_NOT_INITIALIZED","prev","initSdk","start","initializeState","currentState","fsVisitor","onVisitorReady","error","message","newVisitor","id","isAuthenticated","on","updateVisitor","_state$visitor","cleanup","_visitorDataRef$curre","_state$visitor2","JSON","stringify","handleDisplay","isFirstInit","createElement","Fragment","_window","_window$addEventListe","window","addEventListener","call","FsTriggerRendering","onVariationsForced","_window2","_window2$removeEventL","removeEventListener","isQAModeEnabled","e","detail","forcedReFetchFlags","_stateRef$current","toggleForcedVariations","Provider","noVisitorDefault","GET_METADATA_CAST_ERROR","LogLevel","tag","logLevel","ERROR","onLog","logManager","INFO","info","WARNING","warning","getFlagsFromCampaigns","campaigns","campaign","object","variation","modifications","name","reference","uuidV4","replace","char","rand","Math","random","toString","effect","deps","initialRender","flagValue","format","formatted","i","length","element","RegExp","hexToValue","hex","jsonString","hexChar","slice","charCode","parseInt","isNaN","String","fromCharCode","parse","_hexToValue","v","obj","original","updated"],"sourceRoot":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useContext } from 'react';
|
|
2
|
+
import { useCallback, useContext, useMemo } from 'react';
|
|
3
3
|
import { Flagship, FSFlagCollection } from '@flagship.io/js-sdk';
|
|
4
4
|
import { noVisitorMessage } from './constants';
|
|
5
5
|
import { FlagshipContext } from './FlagshipContext';
|
|
@@ -35,23 +35,23 @@ const handleContextChange = (param) => {
|
|
|
35
35
|
export const useFlagship = () => {
|
|
36
36
|
const { state } = useContext(FlagshipContext);
|
|
37
37
|
const { visitor, config } = state;
|
|
38
|
-
const fsUpdateContext = (context) => {
|
|
38
|
+
const fsUpdateContext = useCallback((context) => {
|
|
39
39
|
handleContextChange({
|
|
40
40
|
config,
|
|
41
41
|
visitor,
|
|
42
42
|
updateFunction: () => visitor?.updateContext(context),
|
|
43
43
|
functionName: 'updateContext'
|
|
44
44
|
});
|
|
45
|
-
};
|
|
46
|
-
const fsClearContext = () => {
|
|
45
|
+
}, [visitor]);
|
|
46
|
+
const fsClearContext = useCallback(() => {
|
|
47
47
|
handleContextChange({
|
|
48
48
|
config,
|
|
49
49
|
visitor,
|
|
50
50
|
updateFunction: () => visitor?.clearContext(),
|
|
51
51
|
functionName: 'cleanContext'
|
|
52
52
|
});
|
|
53
|
-
};
|
|
54
|
-
const fsAuthenticate = (visitorId) => {
|
|
53
|
+
}, [visitor]);
|
|
54
|
+
const fsAuthenticate = useCallback((visitorId) => {
|
|
55
55
|
const functionName = 'authenticate';
|
|
56
56
|
if (!visitor) {
|
|
57
57
|
logError(config, noVisitorMessage, functionName);
|
|
@@ -62,8 +62,8 @@ export const useFlagship = () => {
|
|
|
62
62
|
if (originalVisitorId !== visitorId) {
|
|
63
63
|
visitor.fetchFlags();
|
|
64
64
|
}
|
|
65
|
-
};
|
|
66
|
-
const fsUnauthenticate = () => {
|
|
65
|
+
}, [visitor]);
|
|
66
|
+
const fsUnauthenticate = useCallback(() => {
|
|
67
67
|
const functionName = 'unauthenticate';
|
|
68
68
|
if (!visitor) {
|
|
69
69
|
logError(config, noVisitorMessage, functionName);
|
|
@@ -74,11 +74,8 @@ export const useFlagship = () => {
|
|
|
74
74
|
if (originalVisitorId !== visitor.visitorId) {
|
|
75
75
|
visitor.fetchFlags();
|
|
76
76
|
}
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
* Send a Hit to Flagship servers for reporting.
|
|
80
|
-
*/
|
|
81
|
-
const fsSendHit = (hit) => {
|
|
77
|
+
}, [visitor]);
|
|
78
|
+
const fsSendHit = useCallback((hit) => {
|
|
82
79
|
const functionName = 'sendHit';
|
|
83
80
|
if (!visitor) {
|
|
84
81
|
logError(config, noVisitorMessage, functionName);
|
|
@@ -88,31 +85,31 @@ export const useFlagship = () => {
|
|
|
88
85
|
return visitor.sendHits(hit);
|
|
89
86
|
}
|
|
90
87
|
return visitor.sendHit(hit);
|
|
91
|
-
};
|
|
92
|
-
|
|
88
|
+
}, [visitor]);
|
|
89
|
+
const getFlag = useCallback((key) => {
|
|
93
90
|
if (!visitor) {
|
|
94
91
|
return new FSFlag(key, state);
|
|
95
92
|
}
|
|
96
93
|
return visitor.getFlag(key);
|
|
97
|
-
}
|
|
98
|
-
|
|
94
|
+
}, [visitor]);
|
|
95
|
+
const fetchFlags = useCallback(async () => {
|
|
99
96
|
if (!visitor) {
|
|
100
97
|
logWarn(config, noVisitorMessage, 'fetchFlags');
|
|
101
98
|
return Promise.resolve();
|
|
102
99
|
}
|
|
103
100
|
return visitor.fetchFlags();
|
|
104
|
-
}
|
|
105
|
-
|
|
101
|
+
}, [visitor]);
|
|
102
|
+
const setConsent = useCallback((hasConsented) => {
|
|
106
103
|
if (!visitor) {
|
|
107
104
|
logWarn(config, noVisitorMessage, 'setConsent');
|
|
108
105
|
return;
|
|
109
106
|
}
|
|
110
107
|
visitor.setConsent(hasConsented);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
108
|
+
}, [visitor]);
|
|
109
|
+
const close = useCallback(() => {
|
|
110
|
+
return Flagship.close();
|
|
111
|
+
}, []);
|
|
112
|
+
const getFlags = useCallback(() => {
|
|
116
113
|
if (!visitor) {
|
|
117
114
|
const flags = new Map();
|
|
118
115
|
state.flags?.forEach((flag, key) => {
|
|
@@ -121,8 +118,14 @@ export const useFlagship = () => {
|
|
|
121
118
|
return new FSFlagCollection({ flags });
|
|
122
119
|
}
|
|
123
120
|
return visitor.getFlags();
|
|
124
|
-
}
|
|
125
|
-
|
|
121
|
+
}, [visitor]);
|
|
122
|
+
const collectEAIEventsAsync = useCallback(async (...args) => {
|
|
123
|
+
if (!visitor) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
return visitor.collectEAIEventsAsync(...args);
|
|
127
|
+
}, [visitor]);
|
|
128
|
+
return useMemo(() => ({
|
|
126
129
|
visitorId: visitor?.visitorId,
|
|
127
130
|
anonymousId: visitor?.anonymousId,
|
|
128
131
|
context: { ...visitor?.context },
|
|
@@ -138,6 +141,12 @@ export const useFlagship = () => {
|
|
|
138
141
|
getFlag,
|
|
139
142
|
fetchFlags,
|
|
140
143
|
close,
|
|
141
|
-
getFlags
|
|
142
|
-
|
|
144
|
+
getFlags,
|
|
145
|
+
collectEAIEventsAsync
|
|
146
|
+
}), [visitor, setConsent,
|
|
147
|
+
fsUpdateContext,
|
|
148
|
+
fsClearContext, fsAuthenticate, fsUnauthenticate,
|
|
149
|
+
fsSendHit, getFlag, fetchFlags, close,
|
|
150
|
+
getFlags,
|
|
151
|
+
collectEAIEventsAsync]);
|
|
143
152
|
};
|
|
@@ -17,6 +17,7 @@ export function FlagshipProvider({ children, envId, apiKey, decisionMode = Decis
|
|
|
17
17
|
const [lastModified, setLastModified] = useState();
|
|
18
18
|
const stateRef = useRef();
|
|
19
19
|
stateRef.current = state;
|
|
20
|
+
const visitorDataRef = useRef(visitorData);
|
|
20
21
|
// #region functions
|
|
21
22
|
const onBucketingLastModified = (lastUpdate) => {
|
|
22
23
|
if (onBucketingUpdated) {
|
|
@@ -72,14 +73,14 @@ export function FlagshipProvider({ children, envId, apiKey, decisionMode = Decis
|
|
|
72
73
|
initializeState({ fsVisitor });
|
|
73
74
|
};
|
|
74
75
|
const createVisitor = () => {
|
|
75
|
-
if (!
|
|
76
|
+
if (!visitorDataRef.current) {
|
|
76
77
|
return;
|
|
77
78
|
}
|
|
78
79
|
const fsVisitor = Flagship.newVisitor({
|
|
79
|
-
visitorId:
|
|
80
|
-
context:
|
|
81
|
-
isAuthenticated:
|
|
82
|
-
hasConsented:
|
|
80
|
+
visitorId: visitorDataRef.current.id,
|
|
81
|
+
context: visitorDataRef.current.context,
|
|
82
|
+
isAuthenticated: visitorDataRef.current.isAuthenticated,
|
|
83
|
+
hasConsented: visitorDataRef.current.hasConsented,
|
|
83
84
|
initialCampaigns,
|
|
84
85
|
initialFlagsData,
|
|
85
86
|
onFetchFlagsStatusChanged,
|
|
@@ -93,24 +94,25 @@ export function FlagshipProvider({ children, envId, apiKey, decisionMode = Decis
|
|
|
93
94
|
}
|
|
94
95
|
};
|
|
95
96
|
function updateVisitor() {
|
|
96
|
-
if (!
|
|
97
|
+
if (!visitorDataRef.current || Flagship.getStatus() !== FSSdkStatus.SDK_INITIALIZED) {
|
|
97
98
|
return;
|
|
98
99
|
}
|
|
99
100
|
if (!state.visitor ||
|
|
100
|
-
(state.visitor.visitorId !==
|
|
101
|
-
(!
|
|
101
|
+
(state.visitor.visitorId !== visitorDataRef.current.id &&
|
|
102
|
+
(!visitorDataRef.current.isAuthenticated || (visitorDataRef.current.isAuthenticated && state.visitor.anonymousId)))) {
|
|
103
|
+
state.visitor?.cleanup();
|
|
102
104
|
createVisitor();
|
|
103
105
|
return;
|
|
104
106
|
}
|
|
105
|
-
if (
|
|
106
|
-
state.visitor.setConsent(
|
|
107
|
+
if (visitorDataRef.current.hasConsented !== state.visitor.hasConsented) {
|
|
108
|
+
state.visitor.setConsent(visitorDataRef.current.hasConsented ?? true);
|
|
107
109
|
}
|
|
108
110
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
109
|
-
state.visitor.updateContext(
|
|
110
|
-
if (!state.visitor.anonymousId &&
|
|
111
|
-
state.visitor.authenticate(
|
|
111
|
+
state.visitor.updateContext(visitorDataRef.current.context);
|
|
112
|
+
if (!state.visitor.anonymousId && visitorDataRef.current.isAuthenticated) {
|
|
113
|
+
state.visitor.authenticate(visitorDataRef.current.id);
|
|
112
114
|
}
|
|
113
|
-
if (state.visitor.anonymousId && !
|
|
115
|
+
if (state.visitor.anonymousId && !visitorDataRef.current.isAuthenticated) {
|
|
114
116
|
state.visitor.unauthenticate();
|
|
115
117
|
}
|
|
116
118
|
state.visitor.fetchFlags();
|
|
@@ -122,6 +124,7 @@ export function FlagshipProvider({ children, envId, apiKey, decisionMode = Decis
|
|
|
122
124
|
}
|
|
123
125
|
}, [lastModified]);
|
|
124
126
|
useNonInitialEffect(() => {
|
|
127
|
+
visitorDataRef.current = visitorData;
|
|
125
128
|
updateVisitor();
|
|
126
129
|
}, [JSON.stringify(visitorData)]);
|
|
127
130
|
useEffect(() => {
|
package/dist/src/sdkVersion.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "4.0
|
|
1
|
+
export declare const version = "4.1.0-beta.0";
|
package/dist/src/sdkVersion.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '4.0
|
|
2
|
+
export const version = '4.1.0-beta.0';
|
package/dist/src/type.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flagship.io/react-sdk",
|
|
3
3
|
"sideEffects": false,
|
|
4
|
-
"version": "4.0
|
|
4
|
+
"version": "4.1.0-beta.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"description": "Flagship REACT SDK",
|
|
7
7
|
"main": "dist/index.node.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"react-native": "./dist/src/index.js"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@flagship.io/js-sdk": "^4.0
|
|
23
|
+
"@flagship.io/js-sdk": "^4.1.0-beta.0",
|
|
24
24
|
"encoding": "^0.1.13"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|