UNPKG

@flagship.io/react-sdk

Version:
1,252 lines (1,045 loc) 84.5 kB
/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./src/FSFlag.ts": /*!***********************!*\ !*** ./src/FSFlag.ts ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FSFlag: () => (/* binding */ FSFlag) /* harmony export */ }); /* harmony import */ var core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.flags.js */ "./node_modules/core-js/modules/es.regexp.flags.js"); /* harmony import */ var core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk"); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./src/constants.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/utils.ts"); function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } class FSFlag { constructor(key, state) { _defineProperty(this, "key", void 0); _defineProperty(this, "flag", void 0); const flagsData = state.flags; if (!state.hasVisitorData) { (0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.getConfig(), _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, 'GetFlag'); } this.key = key; this.flag = flagsData === null || flagsData === void 0 ? void 0 : flagsData.get(key); } getValue(defaultValue) { if (!this.flag) { return defaultValue; } if (this.flag.value === null || this.flag.value === undefined) { return defaultValue; } if (defaultValue !== null && defaultValue !== undefined && !(0,_utils__WEBPACK_IMPORTED_MODULE_2__.hasSameType)(this.flag.value, defaultValue)) { (0,_utils__WEBPACK_IMPORTED_MODULE_2__.logInfo)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.getConfig(), (0,_utils__WEBPACK_IMPORTED_MODULE_2__.sprintf)(_constants__WEBPACK_IMPORTED_MODULE_3__.GET_FLAG_CAST_ERROR, this.key), 'getValue'); return defaultValue; } return this.flag.value; } exists() { if (!this.flag) { return false; } return !!(this.flag.campaignId && this.flag.variationId && this.flag.variationGroupId); } async visitorExposed() { // do nothing } get metadata() { if (!this.flag) { return _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSFlagMetadata.Empty(); } return new _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSFlagMetadata({ campaignId: this.flag.campaignId, campaignName: this.flag.campaignName, variationGroupId: this.flag.variationGroupId, variationGroupName: this.flag.variationGroupName, variationId: this.flag.variationId, variationName: this.flag.variationName, isReference: !!this.flag.isReference, campaignType: this.flag.campaignType, slug: this.flag.slug }); } get status() { if (!this.exists()) { return _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSFlagStatus.NOT_FOUND; } return _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSFlagStatus.FETCHED; } } /***/ }), /***/ "./src/FlagshipContext.tsx": /*!*********************************!*\ !*** ./src/FlagshipContext.tsx ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FlagshipContext: () => (/* binding */ FlagshipContext), /* harmony export */ initStat: () => (/* binding */ initStat) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 'use client'; const initStat = { isInitializing: true }; const FlagshipContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({ state: { ...initStat } }); /***/ }), /***/ "./src/FlagshipHooks.ts": /*!******************************!*\ !*** ./src/FlagshipHooks.ts ***! \******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ useFlagship: () => (/* binding */ useFlagship), /* harmony export */ useFsFlag: () => (/* binding */ useFsFlag) /* harmony export */ }); /* harmony import */ var core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.flags.js */ "./node_modules/core-js/modules/es.regexp.flags.js"); /* harmony import */ var core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_flags_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk"); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ "./src/constants.ts"); /* harmony import */ var _FlagshipContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FlagshipContext */ "./src/FlagshipContext.tsx"); /* harmony import */ var _FSFlag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FSFlag */ "./src/FSFlag.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils */ "./src/utils.ts"); 'use client'; /** * This hook returns a flag object by its key. If no flag match the given key an empty flag will be returned. * @param key * @param defaultValue * @returns */ const useFsFlag = key => { const { state } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_3__.FlagshipContext); const { visitor } = state; if (!visitor) { return new _FSFlag__WEBPACK_IMPORTED_MODULE_4__.FSFlag(key, state); } return visitor.getFlag(key); }; const handleContextChange = param => { const { updateFunction, functionName, visitor, config } = param; if (!visitor) { (0,_utils__WEBPACK_IMPORTED_MODULE_5__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, functionName); return; } const originalContextClone = (0,_utils__WEBPACK_IMPORTED_MODULE_5__.deepClone)(visitor.context); updateFunction(); const updatedContext = visitor.context; if ((0,_utils__WEBPACK_IMPORTED_MODULE_5__.hasContextChanged)(originalContextClone, updatedContext)) { visitor.fetchFlags(); } }; const useFlagship = () => { const { state } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_3__.FlagshipContext); const { visitor, config } = state; const fsUpdateContext = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(context => { handleContextChange({ config, visitor, updateFunction: () => visitor === null || visitor === void 0 ? void 0 : visitor.updateContext(context), functionName: 'updateContext' }); }, [visitor]); const fsClearContext = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => { handleContextChange({ config, visitor, updateFunction: () => visitor === null || visitor === void 0 ? void 0 : visitor.clearContext(), functionName: 'cleanContext' }); }, [visitor]); const fsAuthenticate = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(visitorId => { const functionName = 'authenticate'; if (!visitor) { (0,_utils__WEBPACK_IMPORTED_MODULE_5__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, functionName); return; } const originalVisitorId = visitor.visitorId; visitor.authenticate(visitorId); if (originalVisitorId !== visitorId) { visitor.fetchFlags(); } }, [visitor]); const fsUnauthenticate = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => { const functionName = 'unauthenticate'; if (!visitor) { (0,_utils__WEBPACK_IMPORTED_MODULE_5__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, functionName); return; } const originalVisitorId = visitor.visitorId; visitor.unauthenticate(); if (originalVisitorId !== visitor.visitorId) { visitor.fetchFlags(); } }, [visitor]); const fsSendHit = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(hit => { const functionName = 'sendHit'; if (!visitor) { (0,_utils__WEBPACK_IMPORTED_MODULE_5__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, functionName); return Promise.resolve(); } if (Array.isArray(hit)) { return visitor.sendHits(hit); } return visitor.sendHit(hit); }, [visitor]); const getFlag = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(key => { if (!visitor) { return new _FSFlag__WEBPACK_IMPORTED_MODULE_4__.FSFlag(key, state); } return visitor.getFlag(key); }, [visitor]); const fetchFlags = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async () => { if (!visitor) { (0,_utils__WEBPACK_IMPORTED_MODULE_5__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, 'fetchFlags'); return Promise.resolve(); } return visitor.fetchFlags(); }, [visitor]); const setConsent = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(hasConsented => { if (!visitor) { (0,_utils__WEBPACK_IMPORTED_MODULE_5__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_6__.noVisitorMessage, 'setConsent'); return; } visitor.setConsent(hasConsented); }, [visitor]); const close = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => { return _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_2__.Flagship.close(); }, []); const getFlags = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => { if (!visitor) { var _state$flags; const flags = new Map(); (_state$flags = state.flags) === null || _state$flags === void 0 || _state$flags.forEach((flag, key) => { flags.set(key, new _FSFlag__WEBPACK_IMPORTED_MODULE_4__.FSFlag(key, state)); }); return new _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_2__.FSFlagCollection({ flags }); } return visitor.getFlags(); }, [visitor]); const collectEAIEventsAsync = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (...args) => { if (!visitor) { return; } return visitor.collectEAIEventsAsync(...args); }, [visitor]); return (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(() => ({ visitorId: visitor === null || visitor === void 0 ? void 0 : visitor.visitorId, anonymousId: visitor === null || visitor === void 0 ? void 0 : visitor.anonymousId, context: { ...(visitor === null || visitor === void 0 ? void 0 : visitor.context) }, hasConsented: visitor === null || visitor === void 0 ? void 0 : visitor.hasConsented, sdkStatus: _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_2__.Flagship.getStatus(), flagsStatus: visitor === null || visitor === void 0 ? void 0 : visitor.flagsStatus, setConsent, updateContext: fsUpdateContext, clearContext: fsClearContext, authenticate: fsAuthenticate, unauthenticate: fsUnauthenticate, sendHits: fsSendHit, getFlag, fetchFlags, close, getFlags, collectEAIEventsAsync }), [visitor, setConsent, fsUpdateContext, fsClearContext, fsAuthenticate, fsUnauthenticate, fsSendHit, getFlag, fetchFlags, close, getFlags, collectEAIEventsAsync]); }; /***/ }), /***/ "./src/FlagshipProvider.tsx": /*!**********************************!*\ !*** ./src/FlagshipProvider.tsx ***! \**********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FlagshipProvider: () => (/* binding */ FlagshipProvider) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk"); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _FlagshipContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FlagshipContext */ "./src/FlagshipContext.tsx"); /* harmony import */ var _internalType__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internalType */ "./src/internalType.ts"); /* harmony import */ var _sdkVersion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sdkVersion */ "./src/sdkVersion.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./src/utils.ts"); 'use client'; function FlagshipProvider({ children, envId, apiKey, decisionMode = _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.DecisionMode.DECISION_API, visitorData, loadingComponent, onSdkStatusChanged, onBucketingUpdated, initialCampaigns, initialFlagsData, fetchFlagsOnBucketingUpdated, hitDeduplicationTime = 2, fetchNow = true, language = 1, sdkVersion = _sdkVersion__WEBPACK_IMPORTED_MODULE_2__.version, onFlagsStatusChanged, shouldSaveInstance, ...props }) { var _state$config; const flags = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.extractFlagsMap)(initialFlagsData, initialCampaigns); const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({ ..._FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.initStat, flags, hasVisitorData: !!visitorData }); const [lastModified, setLastModified] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(); const stateRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(); stateRef.current = state; const visitorDataRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(visitorData); // #region functions const onBucketingLastModified = lastUpdate => { if (onBucketingUpdated) { onBucketingUpdated(lastUpdate); } setLastModified(lastUpdate); }; const statusChanged = status => { if (onSdkStatusChanged) { onSdkStatusChanged(status); } switch (status) { case _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSSdkStatus.SDK_PANIC: case _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSSdkStatus.SDK_INITIALIZED: createVisitor(); break; case _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSSdkStatus.SDK_NOT_INITIALIZED: setState(prev => ({ ...prev, config: _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().getConfig(), isInitializing: false })); break; } }; const initSdk = () => { _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().start(envId, apiKey, { // eslint-disable-next-line @typescript-eslint/no-explicit-any decisionMode: decisionMode, fetchNow, onSdkStatusChanged: statusChanged, onBucketingUpdated: onBucketingLastModified, hitDeduplicationTime, language, sdkVersion, ...props }); }; function initializeState(param) { setState(currentState => ({ ...currentState, visitor: param.fsVisitor, config: _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().getConfig(), isInitializing: false, hasVisitorData: !!visitorData })); } // eslint-disable-next-line @typescript-eslint/no-explicit-any const onVisitorReady = (fsVisitor, error) => { if (error) { (0,_utils__WEBPACK_IMPORTED_MODULE_3__.logError)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().getConfig(), error.message || error, 'onReady'); } initializeState({ fsVisitor }); }; const createVisitor = () => { if (!visitorDataRef.current) { return; } const fsVisitor = _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().newVisitor({ visitorId: visitorDataRef.current.id, context: visitorDataRef.current.context, isAuthenticated: visitorDataRef.current.isAuthenticated, hasConsented: visitorDataRef.current.hasConsented, initialCampaigns, initialFlagsData, onFlagsStatusChanged, shouldSaveInstance }); fsVisitor === null || fsVisitor === void 0 || fsVisitor.on('ready', error => { onVisitorReady(fsVisitor, error); }); if (!fetchNow) { initializeState({ fsVisitor }); } }; function updateVisitor() { if (!visitorDataRef.current || _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().getStatus() !== _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FSSdkStatus.SDK_INITIALIZED) { return; } if (!state.visitor || state.visitor.visitorId !== visitorDataRef.current.id && (!visitorDataRef.current.isAuthenticated || visitorDataRef.current.isAuthenticated && state.visitor.anonymousId)) { var _state$visitor; (_state$visitor = state.visitor) === null || _state$visitor === void 0 || _state$visitor.cleanup(); createVisitor(); return; } if (visitorDataRef.current.hasConsented !== state.visitor.hasConsented) { var _visitorDataRef$curre; state.visitor.setConsent((_visitorDataRef$curre = visitorDataRef.current.hasConsented) !== null && _visitorDataRef$curre !== void 0 ? _visitorDataRef$curre : true); } // eslint-disable-next-line @typescript-eslint/no-explicit-any state.visitor.updateContext(visitorDataRef.current.context); if (!state.visitor.anonymousId && visitorDataRef.current.isAuthenticated) { state.visitor.authenticate(visitorDataRef.current.id); } if (state.visitor.anonymousId && !visitorDataRef.current.isAuthenticated) { state.visitor.unauthenticate(); } state.visitor.fetchFlags(); } // #endregion (0,_utils__WEBPACK_IMPORTED_MODULE_3__.useNonInitialEffect)(() => { if (fetchFlagsOnBucketingUpdated) { var _state$visitor2; (_state$visitor2 = state.visitor) === null || _state$visitor2 === void 0 || _state$visitor2.fetchFlags(); } }, [lastModified]); (0,_utils__WEBPACK_IMPORTED_MODULE_3__.useNonInitialEffect)(() => { visitorDataRef.current = visitorData; updateVisitor(); }, [JSON.stringify(visitorData)]); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { initSdk(); }, [envId, apiKey, decisionMode]); const handleDisplay = () => { const isFirstInit = !state.visitor; if (state.isInitializing && loadingComponent && isFirstInit && fetchNow) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, loadingComponent); } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children); }; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { var _window, _window$addEventListe; (_window = window) === null || _window === void 0 || (_window$addEventListe = _window.addEventListener) === null || _window$addEventListe === void 0 || _window$addEventListe.call(_window, _internalType__WEBPACK_IMPORTED_MODULE_5__.INTERNAL_EVENTS.FsTriggerRendering, onVariationsForced); return () => { var _window2, _window2$removeEventL; return (_window2 = window) === null || _window2 === void 0 || (_window2$removeEventL = _window2.removeEventListener) === null || _window2$removeEventL === void 0 ? void 0 : _window2$removeEventL.call(_window2, _internalType__WEBPACK_IMPORTED_MODULE_5__.INTERNAL_EVENTS.FsTriggerRendering, onVariationsForced); }; }, [(_state$config = state.config) === null || _state$config === void 0 ? void 0 : _state$config.isQAModeEnabled]); const onVariationsForced = e => { const { detail } = e; if (detail.forcedReFetchFlags) { var _stateRef$current; (_stateRef$current = stateRef.current) === null || _stateRef$current === void 0 || (_stateRef$current = _stateRef$current.visitor) === null || _stateRef$current === void 0 || _stateRef$current.fetchFlags(); } else { setState(state => ({ ...state, toggleForcedVariations: !state.toggleForcedVariations })); } }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.FlagshipContext.Provider, { value: { state, setState } }, handleDisplay()); } /***/ }), /***/ "./src/constants.ts": /*!**************************!*\ !*** ./src/constants.ts ***! \**************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ GET_FLAG_CAST_ERROR: () => (/* binding */ GET_FLAG_CAST_ERROR), /* harmony export */ GET_METADATA_CAST_ERROR: () => (/* binding */ GET_METADATA_CAST_ERROR), /* harmony export */ noVisitorDefault: () => (/* binding */ noVisitorDefault), /* harmony export */ noVisitorMessage: () => (/* binding */ noVisitorMessage) /* harmony export */ }); const noVisitorMessage = 'flagship Visitor not initialized.'; const noVisitorDefault = 'fsVisitor not initialized, returns default value'; const GET_FLAG_CAST_ERROR = 'Flag for key {0} has a different type. Default value is returned.'; const GET_METADATA_CAST_ERROR = 'Flag for key {0} has a different type with defaultValue, an empty metadata object is returned'; /***/ }), /***/ "./src/internalType.ts": /*!*****************************!*\ !*** ./src/internalType.ts ***! \*****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ INTERNAL_EVENTS: () => (/* binding */ INTERNAL_EVENTS) /* harmony export */ }); let INTERNAL_EVENTS = /*#__PURE__*/function (INTERNAL_EVENTS) { INTERNAL_EVENTS["FsTriggerRendering"] = "FS_TRIGGER_RENDERING"; return INTERNAL_EVENTS; }({}); /***/ }), /***/ "./src/sdkVersion.ts": /*!***************************!*\ !*** ./src/sdkVersion.ts ***! \***************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ version: () => (/* binding */ version) /* harmony export */ }); // Generated by genversion. const version = '5.1.1'; /***/ }), /***/ "./src/utils.ts": /*!**********************!*\ !*** ./src/utils.ts ***! \**********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ deepClone: () => (/* binding */ deepClone), /* harmony export */ extractFlagsMap: () => (/* binding */ extractFlagsMap), /* harmony export */ getFlagsFromCampaigns: () => (/* binding */ getFlagsFromCampaigns), /* harmony export */ hasContextChanged: () => (/* binding */ hasContextChanged), /* harmony export */ hasSameType: () => (/* binding */ hasSameType), /* harmony export */ hexToValue: () => (/* binding */ hexToValue), /* harmony export */ logError: () => (/* binding */ logError), /* harmony export */ logInfo: () => (/* binding */ logInfo), /* harmony export */ logWarn: () => (/* binding */ logWarn), /* harmony export */ sprintf: () => (/* binding */ sprintf), /* harmony export */ useNonInitialEffect: () => (/* binding */ useNonInitialEffect), /* harmony export */ uuidV4: () => (/* binding */ uuidV4) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk"); /* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__); 'use client'; function logError(config, message, tag) { if (!config || !config.logLevel || config.logLevel < _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.LogLevel.ERROR) { return; } if (typeof config.onLog === 'function') { config.onLog(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.LogLevel.ERROR, tag, message); } if (config.logManager && typeof config.logManager.error === 'function') { config.logManager.error(message, tag); } } function logInfo(config, message, tag) { if (!config || !config.logLevel || config.logLevel < _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.LogLevel.INFO) { return; } if (typeof config.onLog === 'function') { config.onLog(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.LogLevel.INFO, tag, message); } if (config.logManager && typeof config.logManager.info === 'function') { config.logManager.info(message, tag); } } function logWarn(config, message, tag) { if (!config || !config.logLevel || config.logLevel < _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.LogLevel.WARNING) { return; } if (typeof config.onLog === 'function') { config.onLog(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.LogLevel.WARNING, tag, message); } if (config.logManager && typeof config.logManager.warning === 'function') { config.logManager.warning(message, tag); } } const getFlagsFromCampaigns = campaigns => { const flags = new Map(); if (!campaigns || !Array.isArray(campaigns)) { return flags; } campaigns.forEach(campaign => { const object = campaign.variation.modifications.value; for (const key in object) { const value = object[key]; flags.set(key, { key, campaignId: campaign.id, campaignName: campaign.name || '', variationGroupId: campaign.variationGroupId, variationGroupName: campaign.variationGroupName || '', variationId: campaign.variation.id, variationName: campaign.variation.name || '', isReference: campaign.variation.reference, slug: campaign.slug || '', value }); } }); return flags; }; function uuidV4() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (char) { const rand = Math.random() * 16 | 0; const value = char === 'x' ? rand : rand & 0x3 | 0x8; return value.toString(16); }); } function useNonInitialEffect(effect, deps) { const initialRender = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true); (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => { if (initialRender.current) { initialRender.current = false; return; } if (typeof effect === 'function') { return effect(); } }, deps); } function hasSameType(flagValue, defaultValue) { if (typeof flagValue !== typeof defaultValue) { return false; } if (typeof flagValue === 'object' && typeof defaultValue === 'object' && Array.isArray(flagValue) !== Array.isArray(defaultValue)) { return false; } return true; } // eslint-disable-next-line @typescript-eslint/no-explicit-any function sprintf(format, ...value) { let formatted = format; for (let i = 0; i < value.length; i++) { const element = value[i]; formatted = formatted.replace(new RegExp(`\\{${i}\\}`, 'g'), element); } return formatted; } function hexToValue(hex, config) { if (typeof hex !== 'string') { logError(config, `Invalid hex string: ${hex}`, 'hexToValue'); return null; } let jsonString = ''; for (let i = 0; i < hex.length; i += 2) { const hexChar = hex.slice(i, i + 2); const charCode = parseInt(hexChar, 16); if (isNaN(charCode)) { logError(config, `Invalid hex character: ${hexChar}`, 'hexToValue'); return null; } jsonString += String.fromCharCode(charCode); } try { const value = JSON.parse(jsonString); return value; // eslint-disable-next-line @typescript-eslint/no-explicit-any } catch (error) { logError(config, `Error while parsing JSON: ${error === null || error === void 0 ? void 0 : error.message}`, 'hexToValue'); return null; } } function extractFlagsMap(initialFlagsData, initialCampaigns) { let flags = new Map(); if (Array.isArray(initialFlagsData)) { initialFlagsData.forEach(flag => { var _hexToValue; flags.set(flag.key, { key: flag.key, campaignId: flag.campaignId, campaignName: flag.campaignName, variationGroupId: flag.variationGroupId, variationGroupName: flag.variationGroupName, variationId: flag.variationId, variationName: flag.variationName, isReference: flag.isReference, campaignType: flag.campaignType, slug: flag.slug, value: (_hexToValue = hexToValue(flag.hex, _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().getConfig())) === null || _hexToValue === void 0 ? void 0 : _hexToValue.v }); }); } else if (initialCampaigns) { flags = getFlagsFromCampaigns(initialCampaigns); } return flags; } function deepClone(obj) { return JSON.parse(JSON.stringify(obj)); } function hasContextChanged(original, updated) { return JSON.stringify(original) !== JSON.stringify(updated); } /***/ }), /***/ "@flagship.io/js-sdk": /*!**************************************!*\ !*** external "@flagship.io/js-sdk" ***! \**************************************/ /***/ ((module) => { module.exports = require("@flagship.io/js-sdk"); /***/ }), /***/ "react": /*!************************!*\ !*** external "react" ***! \************************/ /***/ ((module) => { module.exports = require("react"); /***/ }), /***/ "./node_modules/core-js/internals/a-callable.js": /*!******************************************************!*\ !*** ./node_modules/core-js/internals/a-callable.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); var tryToString = __webpack_require__(/*! ../internals/try-to-string */ "./node_modules/core-js/internals/try-to-string.js"); var $TypeError = TypeError; // `Assert: IsCallable(argument) is true` module.exports = function (argument) { if (isCallable(argument)) return argument; throw new $TypeError(tryToString(argument) + ' is not a function'); }; /***/ }), /***/ "./node_modules/core-js/internals/an-object.js": /*!*****************************************************!*\ !*** ./node_modules/core-js/internals/an-object.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); var $String = String; var $TypeError = TypeError; // `Assert: Type(argument) is Object` module.exports = function (argument) { if (isObject(argument)) return argument; throw new $TypeError($String(argument) + ' is not an object'); }; /***/ }), /***/ "./node_modules/core-js/internals/create-non-enumerable-property.js": /*!**************************************************************************!*\ !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***! \**************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js"); module.exports = DESCRIPTORS ? function (object, key, value) { return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /***/ "./node_modules/core-js/internals/create-property-descriptor.js": /*!**********************************************************************!*\ !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! \**********************************************************************/ /***/ ((module) => { module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /***/ "./node_modules/core-js/internals/define-built-in-accessor.js": /*!********************************************************************!*\ !*** ./node_modules/core-js/internals/define-built-in-accessor.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ "./node_modules/core-js/internals/make-built-in.js"); var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js"); module.exports = function (target, name, descriptor) { if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); return defineProperty.f(target, name, descriptor); }; /***/ }), /***/ "./node_modules/core-js/internals/define-global-property.js": /*!******************************************************************!*\ !*** ./node_modules/core-js/internals/define-global-property.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); // eslint-disable-next-line es/no-object-defineproperty -- safe var defineProperty = Object.defineProperty; module.exports = function (key, value) { try { defineProperty(global, key, { value: value, configurable: true, writable: true }); } catch (error) { global[key] = value; } return value; }; /***/ }), /***/ "./node_modules/core-js/internals/descriptors.js": /*!*******************************************************!*\ !*** ./node_modules/core-js/internals/descriptors.js ***! \*******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); // Detect IE8's incomplete defineProperty implementation module.exports = !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; }); /***/ }), /***/ "./node_modules/core-js/internals/document-create-element.js": /*!*******************************************************************!*\ !*** ./node_modules/core-js/internals/document-create-element.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js"); var document = global.document; // typeof document.createElement is 'object' in old IE var EXISTS = isObject(document) && isObject(document.createElement); module.exports = function (it) { return EXISTS ? document.createElement(it) : {}; }; /***/ }), /***/ "./node_modules/core-js/internals/engine-user-agent.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/internals/engine-user-agent.js ***! \*************************************************************/ /***/ ((module) => { module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; /***/ }), /***/ "./node_modules/core-js/internals/engine-v8-version.js": /*!*************************************************************!*\ !*** ./node_modules/core-js/internals/engine-v8-version.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js"); var process = global.process; var Deno = global.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; if (v8) { match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10 // but their correct versions are not interesting for us version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); } // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` // so check `userAgent` even if `.v8` exists, but 0 if (!version && userAgent) { match = userAgent.match(/Edge\/(\d+)/); if (!match || match[1] >= 74) { match = userAgent.match(/Chrome\/(\d+)/); if (match) version = +match[1]; } } module.exports = version; /***/ }), /***/ "./node_modules/core-js/internals/fails.js": /*!*************************************************!*\ !*** ./node_modules/core-js/internals/fails.js ***! \*************************************************/ /***/ ((module) => { module.exports = function (exec) { try { return !!exec(); } catch (error) { return true; } }; /***/ }), /***/ "./node_modules/core-js/internals/function-bind-native.js": /*!****************************************************************!*\ !*** ./node_modules/core-js/internals/function-bind-native.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); module.exports = !fails(function () { // eslint-disable-next-line es/no-function-prototype-bind -- safe var test = (function () { /* empty */ }).bind(); // eslint-disable-next-line no-prototype-builtins -- safe return typeof test != 'function' || test.hasOwnProperty('prototype'); }); /***/ }), /***/ "./node_modules/core-js/internals/function-call.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/internals/function-call.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); var call = Function.prototype.call; module.exports = NATIVE_BIND ? call.bind(call) : function () { return call.apply(call, arguments); }; /***/ }), /***/ "./node_modules/core-js/internals/function-name.js": /*!*********************************************************!*\ !*** ./node_modules/core-js/internals/function-name.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "./node_modules/core-js/internals/has-own-property.js"); var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; var EXISTS = hasOwn(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); module.exports = { EXISTS: EXISTS, PROPER: PROPER, CONFIGURABLE: CONFIGURABLE }; /***/ }), /***/ "./node_modules/core-js/internals/function-uncurry-this.js": /*!*****************************************************************!*\ !*** ./node_modules/core-js/internals/function-uncurry-this.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js"); var FunctionPrototype = Function.prototype; var call = FunctionPrototype.call; var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { return function () { return call.apply(fn, arguments); }; }; /***/ }), /***/ "./node_modules/core-js/internals/get-built-in.js": /*!********************************************************!*\ !*** ./node_modules/core-js/internals/get-built-in.js ***! \********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js"); var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); var aFunction = function (argument) { return isCallable(argument) ? argument : undefined; }; module.exports = function (namespace, method) { return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; }; /***/ }), /***/ "./node_modules/core-js/internals/get-method.js": /*!******************************************************!*\ !*** ./node_modules/core-js/internals/get-method.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var aCallable = __webpack_require__(/*! ../internals/a-callable */ "./node_modules/core-js/internals/a-callable.js"); var isNullOrUndefined = __webpack_require__(/*! ../internals/is-null-or-undefined */ "./node_modules/core-js/internals/is-null-or-undefined.js"); // `GetMethod` abstract operation // https://tc39.es/ecma262/#sec-getmethod module.exports = function (V, P) { var func = V[P]; return isNullOrUndefined(func) ? undefined : aCallable(func); }; /***/ }), /***/ "./node_modules/core-js/internals/global.js": /*!**************************************************!*\ !*** ./node_modules/core-js/internals/global.js ***! \**************************************************/ /***/ (function(module) { var check = function (it) { return it && it.Math === Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 module.exports = // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || check(typeof this == 'object' && this) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); /***/ }), /***/ "./node_modules/core-js/internals/has-own-property.js": /*!************************************************************!*\ !*** ./node_modules/core-js/internals/has-own-property.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js"); var hasOwnProperty = uncurryThis({}.hasOwnProperty); // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty // eslint-disable-next-line es/no-object-hasown -- safe module.exports = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty(toObject(it), key); }; /***/ }), /***/ "./node_modules/core-js/internals/hidden-keys.js": /*!*******************************************************!*\ !*** ./node_modules/core-js/internals/hidden-keys.js ***! \*******************************************************/ /***/ ((module) => { module.exports = {}; /***/ }), /***/ "./node_modules/core-js/internals/ie8-dom-define.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js"); var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js"); var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js"); // Thanks to IE8 for its funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a !== 7; }); /***/ }), /***/ "./node_modules/core-js/internals/inspect-source.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/internals/inspect-source.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js"); var isCallable = __webpack_require__(/*! ../internals/is-callable */ "./node_modules/core-js/internals/is-callable.js"); var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js"); var functionToString = uncurryThis(Function.toString); // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper if (!isCallable(store.inspectSource)) { store.inspectSource = function (it) { return functionToString(it); }; } module.exports = store.inspectSource; /***/ }), /***/ "./node_modules/core-js/internals/internal-state.js": /*!**********************************************************!*\ !*** ./node_modules/core-js/internals/internal-state.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var NATIVE_WEAK_MAP =