@flagship.io/react-sdk 4.0.0-alpha.1 → 4.0.0-alpha.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.node.js","mappings":"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","sources":["webpack://@flagship.io/react-sdk/./src/Flag.ts","webpack://@flagship.io/react-sdk/./src/FlagshipContext.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipHooks.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.tsx","webpack://@flagship.io/react-sdk/external commonjs \"@flagship.io/js-sdk\"","webpack://@flagship.io/react-sdk/external commonjs \"react\"","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, FlagMetadata, IFlag, IFlagMetadata } from '@flagship.io/js-sdk'\nimport { GET_FLAG_CAST_ERROR, GET_METADATA_CAST_ERROR, noVisitorMessage } from './constants'\nimport { hasSameType, logInfo, logWarn, sprintf } from './utils'\n\nexport class Flag<T> implements IFlag<T> {\n private defaultValue:T\n private key: string\n private flag?: FlagDTO\n constructor (defaultValue:T, key: string, flagsData: Map<string, FlagDTO> | undefined) {\n if (!flagsData) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'GetFlag')\n }\n this.defaultValue = defaultValue\n this.key = key\n this.flag = flagsData?.get(key)\n }\n\n private NotSameType () {\n return this.defaultValue !== null && this.defaultValue !== undefined && !hasSameType(this.flag?.value, this.defaultValue)\n }\n\n getValue (): T {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'getValue')\n return this.defaultValue\n }\n\n if (this.NotSameType()) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_FLAG_CAST_ERROR, this.key),\n 'getValue'\n )\n return this.defaultValue\n }\n return this.flag.value\n }\n\n exists ():boolean {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'exists')\n return false\n }\n return !!(this.flag.campaignId && this.flag.variationId && this.flag.variationGroupId)\n }\n\n userExposed (): Promise<void> {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'userExposed')\n }\n\n return Promise.resolve()\n }\n\n visitorExposed () : Promise<void> {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'visitorExposed')\n }\n\n return Promise.resolve()\n }\n\n get metadata ():IFlagMetadata {\n const functionName = 'metadata'\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, functionName)\n return FlagMetadata.Empty()\n }\n if (this.NotSameType()) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_METADATA_CAST_ERROR, this.key),\n functionName\n )\n return FlagMetadata.Empty()\n }\n\n return new FlagMetadata({\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","'use client'\n// eslint-disable-next-line no-use-before-define\nimport React, {\n useState,\n useEffect,\n ReactNode,\n createContext,\n Dispatch,\n SetStateAction,\n useRef\n} from 'react'\nimport {\n BucketingDTO,\n CampaignDTO,\n DecisionMode,\n FlagDTO,\n Flagship,\n FlagshipStatus,\n IFlagshipConfig,\n primitive,\n Visitor\n} from '@flagship.io/js-sdk'\nimport {\n getModificationsFromCampaigns,\n logError,\n useNonInitialEffect\n} from './utils'\nimport { version as SDK_VERSION } from './sdkVersion'\nimport { INTERNAL_EVENTS } from './internalType'\n\nexport interface FsStatus {\n /**\n * Boolean. When true, the SDK is still not ready to render your App otherwise it'll use default modifications.\n */\n isLoading: boolean;\n /**\n * Boolean. true after it has fully finished initialization tasks, false otherwise.\n */\n isSdkReady: boolean;\n\n lastModified?: Date;\n /**\n * Boolean. When true the flagship visitor instance is truthy, false otherwise.\n */\n isVisitorDefined?: boolean;\n /**\n * String or null. The last update date occurred on the flagship visitor instance.\n */\n lastRefresh?: string;\n /**\n * String or null. When null no initialization succeed yet. When string contains stringified date of last successful initialization.\n */\n firstInitSuccess?: string;\n}\nexport interface FsState {\n visitor?: Visitor;\n config?: IFlagshipConfig;\n modifications?: Map<string, FlagDTO>;\n status: FsStatus;\n initialCampaigns?: CampaignDTO[];\n initialModifications?: Map<string, FlagDTO> | FlagDTO[];\n toggleForcedVariations?: boolean\n}\n\nexport type VisitorData = {\n id?: string;\n context?: Record<string, primitive>;\n isAuthenticated?: boolean;\n hasConsented?: boolean;\n};\ninterface FsContext {\n state: FsState;\n setState?: Dispatch<SetStateAction<FsState>>;\n}\n\nexport interface FlagshipProviderProps extends IFlagshipConfig {\n /**\n * This is the data to identify the current visitor using your app\n */\n visitorData: VisitorData | null;\n envId: string;\n apiKey: string;\n /**\n * This component will be rendered when Flagship is loading at first initialization only.\n * By default, the value is undefined. It means it will display your app and it might\n * display default modifications value for a very short moment.\n */\n loadingComponent?: ReactNode;\n children?: ReactNode;\n\n /**\n * Callback function called when the SDK starts initialization.\n */\n onInitStart?(): void;\n /**\n * Callback function called when the SDK ends initialization.\n */\n onInitDone?(): void;\n /**\n * Callback function called when the SDK is updated. For example, after a synchronize is triggered or visitor context has changed.\n */\n onUpdate?(params: {\n fsModifications: Map<string, FlagDTO>;\n config: IFlagshipConfig;\n status: FsStatus;\n }): void;\n /**\n * This is an object of the data received when fetching bucketing endpoint.\n * Providing this prop will make bucketing ready to use and the first polling will immediatly check for an update.\n * If the shape of an element is not correct, an error log will give the reason why.\n */\n initialBucketing?: BucketingDTO;\n initialCampaigns?: CampaignDTO[];\n /**\n * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.\n * @deprecated use initialFlagsData instead\n */\n initialModifications?: Map<string, FlagDTO> | FlagDTO[];\n\n /**\n * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.\n */\n initialFlagsData?: Map<string, FlagDTO> | FlagDTO[];\n /**\n * If true, it'll automatically call synchronizeModifications when the bucketing file has updated\n */\n fetchFlagsOnBucketingUpdated?: boolean;\n}\n\nconst initStat: FsState = {\n status: { isLoading: true, isSdkReady: false }\n}\n\nexport const FlagshipContext = createContext<FsContext>({\n state: { ...initStat }\n})\n\nexport const FlagshipProvider: React.FC<FlagshipProviderProps> = ({\n children,\n envId,\n apiKey,\n decisionMode = DecisionMode.DECISION_API,\n visitorData,\n onInitStart,\n onInitDone,\n loadingComponent,\n statusChangedCallback,\n onBucketingUpdated,\n onUpdate,\n initialCampaigns,\n initialModifications,\n initialFlagsData,\n fetchFlagsOnBucketingUpdated,\n hitDeduplicationTime = 2,\n fetchNow = true,\n language = 1,\n sdkVersion = SDK_VERSION,\n ...props\n}: FlagshipProviderProps) => {\n let modifications = new Map<string, FlagDTO>()\n if (initialFlagsData && initialFlagsData.forEach) {\n initialFlagsData.forEach((flag) => {\n modifications.set(flag.key, flag)\n })\n } else if (initialModifications && initialModifications.forEach) {\n initialModifications.forEach((modification) => {\n modifications.set(modification.key, modification)\n })\n } else if (initialCampaigns) {\n modifications = getModificationsFromCampaigns(initialCampaigns)\n }\n\n const [state, setState] = useState<FsState>({ ...initStat, modifications })\n const [lastModified, setLastModified] = useState<Date>()\n const stateRef = useRef<FsState>()\n stateRef.current = state\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 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 function initializeState (param: {\n fsVisitor: Visitor;\n isLoading: boolean;\n isSdkReady: boolean;\n }) {\n const newStatus: FsStatus = {\n isSdkReady: param.isSdkReady,\n isLoading: param.isLoading,\n isVisitorDefined: !!param.fsVisitor,\n lastRefresh: new Date().toISOString()\n }\n\n setState((currentState) => {\n if (!currentState.status.firstInitSuccess) {\n newStatus.firstInitSuccess = new Date().toISOString()\n }\n\n return {\n ...currentState,\n visitor: param.fsVisitor,\n modifications: param.fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: {\n ...currentState.status,\n ...newStatus\n }\n }\n })\n\n return newStatus\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 return\n }\n\n const newStatus = initializeState({\n fsVisitor,\n isSdkReady: true,\n isLoading: false\n })\n\n if (onUpdate) {\n onUpdate({\n fsModifications: fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: newStatus\n })\n }\n }\n\n function updateVisitor () {\n if (!visitorData) {\n return\n }\n\n if (!state.visitor || (state.visitor.visitorId !== visitorData.id && (!visitorData.isAuthenticated || (visitorData.isAuthenticated && state.visitor.anonymousId)))) {\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 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 initialModifications,\n initialFlagsData\n })\n\n fsVisitor?.on('ready', (error) => {\n onVisitorReady(fsVisitor, error)\n })\n\n if (!fetchNow) {\n initializeState({\n fsVisitor,\n isSdkReady: true,\n isLoading: false\n })\n }\n }\n const statusChanged = (status: FlagshipStatus) => {\n if (statusChangedCallback) {\n statusChangedCallback(status)\n }\n\n switch (status) {\n case FlagshipStatus.STARTING:\n if (status === FlagshipStatus.STARTING && onInitStart) {\n onInitStart()\n }\n break\n case FlagshipStatus.READY_PANIC_ON:\n case FlagshipStatus.READY:\n if (onInitDone) {\n onInitDone()\n }\n\n createVisitor()\n\n break\n case FlagshipStatus.NOT_INITIALIZED:\n setState((prev) => ({\n ...prev,\n status: {\n ...prev.status,\n isLoading: false\n },\n config: Flagship.getConfig()\n }))\n break\n }\n }\n\n const onBucketingLastModified = (lastUpdate: Date) => {\n if (onBucketingUpdated) {\n onBucketingUpdated(lastUpdate)\n }\n setLastModified(lastUpdate)\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 statusChangedCallback: statusChanged,\n onBucketingUpdated: onBucketingLastModified,\n hitDeduplicationTime,\n language,\n sdkVersion,\n ...props\n })\n }\n const handleDisplay = (): React.ReactNode => {\n const isFirstInit = !state.visitor\n if (state.status.isLoading && loadingComponent && isFirstInit && fetchNow) {\n return <>{loadingComponent}</>\n }\n return <>{children}</>\n }\n return (\n <FlagshipContext.Provider value={{ state, setState }}>\n {handleDisplay()}\n </FlagshipContext.Provider>\n )\n}\n","import { useContext } from 'react'\nimport Flagship, {\n FlagDTO,\n HitAbstract,\n HitShape,\n IFlag,\n IFlagshipConfig,\n IHit,\n Modification,\n modificationsRequested,\n primitive,\n Visitor\n} from '@flagship.io/js-sdk'\nimport { FlagshipContext, FsState, FsStatus } from './FlagshipContext'\nimport { logError, logWarn } from './utils'\nimport { Flag } from './Flag'\nimport { noVisitorDefault, noVisitorMessage } from './constants'\n\nconst checkType = (value: unknown, defaultValue: unknown) =>\n (typeof value === 'object' &&\n typeof defaultValue === 'object' &&\n Array.isArray(value) === Array.isArray(defaultValue)) ||\n typeof value === typeof defaultValue\n\nconst fsModificationsSync = <T extends unknown>(args: {\n functionName: string;\n params: modificationsRequested<T>[];\n activateAll?: boolean;\n state: FsState;\n visitor?: Visitor;\n config?: IFlagshipConfig;\n}): Record<string, T> => {\n const { visitor, params, activateAll, state, functionName, config } = args\n if (visitor) {\n return visitor.getModificationsSync(params, activateAll)\n }\n\n const check =\n !state.status.isSdkReady &&\n !!state.modifications &&\n state.modifications.size > 0\n const flags: Record<string, T> = {}\n\n if (check) {\n params.forEach((item) => {\n const modification = state.modifications?.get(item.key)\n\n if (modification && checkType(modification?.value, item.defaultValue)) {\n flags[item.key] = modification.value\n } else {\n flags[item.key] = item.defaultValue\n }\n })\n return flags\n }\n\n logWarn(config, noVisitorDefault, functionName)\n params.forEach((item) => {\n flags[item.key] = item.defaultValue\n })\n return flags\n}\n\n/**\n * Retrieve a modification value by its key. If no modification match the given key or if the stored value type and default value type do not match, default value will be returned.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModifications = <T extends unknown>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n): Record<string, T> => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n return fsModificationsSync({\n functionName,\n state,\n visitor,\n config,\n params,\n activateAll\n })\n}\n\n/**\n * Retrieve a modification value by its key. If no modification match the given key or if the stored value type and default value type do not match, default value will be returned.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModification: {\n <T>(params: modificationsRequested<T>): T;\n} = (params) => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n if (visitor) {\n return visitor.getModificationSync(params)\n }\n\n const modification = state.modifications?.get(params.key)\n\n if (\n !state.status.isSdkReady &&\n modification &&\n checkType(modification?.value, params.defaultValue)\n ) {\n return modification.value\n }\n\n logWarn(config, noVisitorDefault, functionName)\n return params.defaultValue\n}\n\nconst fsModificationInfoSync = (args: {\n key: string;\n state: FsState;\n visitor?: Visitor;\n}) => {\n const { key, visitor, state } = args\n if (visitor) {\n return visitor.getModificationInfoSync(key)\n }\n const modification = state.modifications?.get(key)\n if (!state.status.isSdkReady && modification) {\n return modification\n }\n return null\n}\n\n/**\n * Get the campaign modification information value matching the given key.\n * @param {string} key key which identify the modification.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModificationInfo: { (key: string): Modification | null } = (\n key: string\n) => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n return fsModificationInfoSync({ key, state, visitor })\n}\n\nconst fsActivate = async (\n params: { key: string }[] | string[],\n functionName: string,\n visitor?: Visitor,\n config?: IFlagshipConfig\n) => {\n try {\n if (!visitor) {\n logWarn(config, noVisitorMessage, functionName)\n return\n }\n await visitor.activateModifications(params)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n logWarn(config, error.message || error, functionName)\n }\n}\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 = <T extends unknown>(\n key: string,\n defaultValue: T\n): IFlag<T> => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n\n if (!visitor) {\n return new Flag(defaultValue, key, state.modifications)\n }\n\n return visitor.getFlag(key, defaultValue)\n}\n\n/**\n * Report this user has seen this modification. Report this user has seen these modifications.\n * @param params\n * @deprecated use useFsFlag instead\n * @returns\n */\nexport const useFsActivate: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n} = async (params) => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n await fsActivate(params, functionName, visitor, config)\n}\n\nexport type UseFlagshipParams<T> = {\n modifications: {\n requested: modificationsRequested<T>[];\n activateAll?: boolean;\n };\n};\n\nexport type UseFlagshipOutput = {\n visitorId?: string;\n anonymousId?: string | null;\n context?: Record<string, primitive>;\n hasConsented?: boolean;\n /**\n * Set if visitor has consented for protected data usage.\n * @param hasConsented True if the visitor has consented false otherwise.\n */\n setConsent: (hasConsented: boolean) => void;\n modifications: Modification[];\n flagsData: FlagDTO[];\n status: FsStatus;\n /**\n *\n * @param params\n * @param activateAll\n * @deprecated use getFlag instead\n */\n getModifications<T>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n ): Record<string, T>;\n\n /**\n *\n * @param key\n * @deprecated use getFlag instead\n */\n getModificationInfo(key: string): Modification | null;\n\n /**\n * @deprecated use fetchFlags instead\n */\n synchronizeModifications(): Promise<void>;\n /**\n * @deprecated use getFlag instead\n */\n activateModification: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n };\n /**\n * Update the visitor context values, matching the given keys, used for targeting.\n * A new context value associated with this key will be created if there is no previous matching value.\n * Context keys must be String, and values types must be one of the following : Number, Boolean, String.\n * @param context collection of keys, values.\n */\n updateContext(context: Record<string, primitive>): void;\n /**\n * clear the actual visitor context\n */\n clearContext(): void;\n /**\n * Authenticate anonymous visitor\n * @param visitorId\n */\n authenticate(visitorId: string): void;\n /**\n * This function change authenticated Visitor to anonymous visitor\n * @param visitorId\n */\n unauthenticate(): void;\n hit: {\n send: {\n (hit: HitAbstract): Promise<void>;\n (hit: IHit): Promise<void>;\n (hit: HitShape): Promise<void>;\n (hit: HitAbstract | IHit | HitShape): Promise<void>;\n };\n sendMultiple: {\n (hit: HitAbstract[]): Promise<void>;\n (hit: IHit[]): Promise<void>;\n (hit: HitShape[]): Promise<void>;\n (hit: HitAbstract[] | IHit[] | HitShape[]): Promise<void>;\n };\n };\n /**\n * Retrieve a Flag object by its key. If no flag match the given key an empty flag will be returned.\n * @param key flag key\n * @param defaultValue\n */\n getFlag<T>(key: string, defaultValue: T): IFlag<T>;\n /**\n * In DecisionApi Mode this function calls the Flagship Decision API to run campaign assignments according to the current user context and retrieve applicable flags.\n *\n * In bucketing Mode, it checks bucketing file, validates campaigns targeting the visitor, assigns a variation and retrieve applicable flags.\n */\n fetchFlags: () => Promise<void>;\n\n /**\n * When called, it will batch and send all hits that are in the pool before the application is closed\n */\n close():Promise<void>\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 const functionName = 'updateContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.clearContext()\n visitor.updateContext(context)\n }\n\n const fsClearContext = (): void => {\n const functionName = 'cleanContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.clearContext()\n }\n\n const fsAuthenticate = (visitorId: string): void => {\n const functionName = 'authenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.authenticate(visitorId)\n }\n\n const fsUnauthenticate = (): void => {\n const functionName = 'unauthenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.unauthenticate()\n }\n\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n const fsSendHit: {\n (hit: HitAbstract | IHit | HitShape): Promise<void>;\n } = (hit) => {\n const functionName = 'sendHit'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n return visitor.sendHit(hit)\n }\n\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n const fsSendHits: {\n (hit: HitAbstract[] | IHit[] | HitShape[]): Promise<void>;\n } = (hit) => {\n const functionName = 'sendHits'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n return visitor.sendHits(hit)\n }\n\n let modifications = visitor?.getModificationsArray()\n if (!state.status.isSdkReady && state.modifications) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n modifications = Array.from(state.modifications, ([_key, item]) => item)\n }\n\n const activateModification: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n } = async (params) => {\n const functionName = 'activateModification'\n await fsActivate(params, functionName, visitor, config)\n }\n const synchronizeModifications = async () => {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'synchronizeModifications')\n return\n }\n await visitor.synchronizeModifications()\n }\n\n const getModifications = <T extends unknown>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n ) => {\n const functionName = 'getModifications'\n return fsModificationsSync({\n functionName,\n state,\n visitor,\n config,\n params,\n activateAll\n })\n }\n\n const getModificationInfo: { (key: string): Modification | null } = (\n key: string\n ) => {\n return fsModificationInfoSync({ key, state, visitor })\n }\n\n function getFlag<T> (key: string, defaultValue: T): IFlag<T> {\n if (!visitor) {\n return new Flag(defaultValue, key, state.modifications)\n }\n return visitor.getFlag(key, defaultValue)\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 return {\n visitorId: visitor?.visitorId,\n anonymousId: visitor?.anonymousId,\n context: { ...visitor?.context },\n hasConsented: visitor?.hasConsented,\n setConsent,\n updateContext: fsUpdateContext,\n clearContext: fsClearContext,\n authenticate: fsAuthenticate,\n unauthenticate: fsUnauthenticate,\n status: state.status,\n activateModification,\n synchronizeModifications,\n getModifications,\n modifications: modifications || [],\n flagsData: visitor?.getFlagsDataArray() || [],\n getModificationInfo,\n hit: {\n send: fsSendHit,\n sendMultiple: fsSendHits\n },\n getFlag,\n fetchFlags,\n close\n }\n}\n","export const noVisitorMessage = 'flagship Visitor not initialized.'\nexport const noVisitorDefault = 'fsVisitor not initialized, returns default value'\n\n export const GET_FLAG_CAST_ERROR ='Flag for key {0} has a different type. Default value is returned.'\n export 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.0-alpha.1'\n","'use client'\nimport {\n CampaignDTO,\n IFlagshipConfig,\n LogLevel,\n Modification\n} from '@flagship.io/js-sdk'\nimport { EffectCallback, DependencyList, useEffect, useRef } from 'react'\n\nexport function logError (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.error !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.ERROR\n ) {\n return\n }\n\n config.logManager.error(message, tag)\n}\n\nexport function logInfo (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.info !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.INFO\n ) {\n return\n }\n config.logManager.info(message, tag)\n}\n\nexport function logWarn (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.warning !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.WARNING\n ) {\n return\n }\n config.logManager.warning(message, tag)\n}\n\nexport const getModificationsFromCampaigns = (\n campaigns: Array<CampaignDTO>\n): Map<string, Modification> => {\n const modifications = new Map<string, Modification>()\n if (!campaigns || !Array.isArray(campaigns)) {\n return modifications\n }\n campaigns.forEach((campaign) => {\n const object = campaign.variation.modifications.value\n for (const key in object) {\n const value = object[key]\n modifications.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 value\n })\n }\n })\n return modifications\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","module.exports = require(\"@flagship.io/js-sdk\");","module.exports = require(\"react\");","// 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](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 './FlagshipContext'\n\nexport * from './FlagshipContext'\nexport * from '@flagship.io/js-sdk'\nexport * from './FlagshipHooks'\n\nexport default FlagshipProvider\n"],"names":["Flagship","FlagMetadata","GET_FLAG_CAST_ERROR","GET_METADATA_CAST_ERROR","noVisitorMessage","hasSameType","logInfo","logWarn","sprintf","Flag","constructor","defaultValue","key","flagsData","getConfig","flag","get","NotSameType","undefined","value","getValue","exists","campaignId","variationId","variationGroupId","userExposed","Promise","resolve","visitorExposed","metadata","functionName","Empty","campaignName","variationGroupName","variationName","isReference","campaignType","slug","React","useState","useEffect","createContext","useRef","DecisionMode","FlagshipStatus","getModificationsFromCampaigns","logError","useNonInitialEffect","version","SDK_VERSION","INTERNAL_EVENTS","initStat","status","isLoading","isSdkReady","FlagshipContext","state","FlagshipProvider","children","envId","apiKey","decisionMode","DECISION_API","visitorData","onInitStart","onInitDone","loadingComponent","statusChangedCallback","onBucketingUpdated","onUpdate","initialCampaigns","initialModifications","initialFlagsData","fetchFlagsOnBucketingUpdated","hitDeduplicationTime","fetchNow","language","sdkVersion","props","modifications","Map","forEach","set","modification","setState","lastModified","setLastModified","stateRef","current","visitor","fetchFlags","updateVisitor","JSON","stringify","initSdk","window","addEventListener","FsTriggerRendering","onVariationsForced","removeEventListener","config","isQAModeEnabled","e","detail","forcedReFetchFlags","toggleForcedVariations","initializeState","param","newStatus","isVisitorDefined","fsVisitor","lastRefresh","Date","toISOString","currentState","firstInitSuccess","onVisitorReady","error","message","fsModifications","visitorId","id","isAuthenticated","anonymousId","createVisitor","hasConsented","setConsent","updateContext","context","authenticate","unauthenticate","newVisitor","on","statusChanged","STARTING","READY_PANIC_ON","READY","NOT_INITIALIZED","prev","onBucketingLastModified","lastUpdate","start","handleDisplay","isFirstInit","useContext","noVisitorDefault","checkType","Array","isArray","fsModificationsSync","args","params","activateAll","getModificationsSync","check","size","flags","item","useFsModifications","useFsModification","getModificationSync","fsModificationInfoSync","getModificationInfoSync","useFsModificationInfo","fsActivate","activateModifications","useFsFlag","getFlag","useFsActivate","useFlagship","fsUpdateContext","clearContext","fsClearContext","fsAuthenticate","fsUnauthenticate","fsSendHit","hit","sendHit","fsSendHits","sendHits","getModificationsArray","from","_key","activateModification","synchronizeModifications","getModifications","getModificationInfo","close","getFlagsDataArray","send","sendMultiple","LogLevel","tag","logManager","logLevel","ERROR","info","INFO","warning","WARNING","campaigns","campaign","object","variation","name","reference","uuidV4","replace","char","rand","Math","random","toString","effect","deps","initialRender","flagValue","format","formatted","i","length","element","RegExp"],"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 { useContext } from 'react'\n\nimport {\n Flagship,\n IFSFlag,\n IHit,\n primitive,\n FSFlagCollection\n} from '@flagship.io/js-sdk'\n\nimport { noVisitorMessage } from './constants'\nimport { FlagshipContext } from './FlagshipContext'\nimport { FSFlag } from './FSFlag'\nimport { UseFlagshipOutput } from './type'\nimport { 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\nexport const useFlagship = (): UseFlagshipOutput => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n\n const fsUpdateContext = (context: Record<string, primitive>): void => {\n const functionName = 'updateContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.updateContext(context)\n visitor.fetchFlags()\n }\n\n const fsClearContext = (): void => {\n const functionName = 'cleanContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.clearContext()\n visitor.fetchFlags()\n }\n\n const fsAuthenticate = (visitorId: string): void => {\n const functionName = 'authenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.authenticate(visitorId)\n visitor.fetchFlags()\n }\n\n const fsUnauthenticate = (): void => {\n const functionName = 'unauthenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.unauthenticate()\n visitor.fetchFlags()\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.0-alpha.2'\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","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","logError","useFsFlag","visitor","getFlag","useFlagship","config","fsUpdateContext","context","functionName","updateContext","fetchFlags","fsClearContext","clearContext","fsAuthenticate","visitorId","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","param","currentState","fsVisitor","onVisitorReady","error","message","newVisitor","id","isAuthenticated","on","updateVisitor","_visitorData$hasConse","_state$visitor","JSON","stringify","handleDisplay","isFirstInit","createElement","Fragment","window","addEventListener","FsTriggerRendering","onVariationsForced","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"],"sourceRoot":""}
@@ -1 +1 @@
1
- import '@testing-library/jest-dom';
1
+ import '@testing-library/jest-dom/jest-globals';
@@ -1 +1 @@
1
- import '@testing-library/jest-dom';
1
+ import '@testing-library/jest-dom/jest-globals';
@@ -0,0 +1,12 @@
1
+ import { IFSFlag, IFSFlagMetadata, FSFlagStatus } from '@flagship.io/js-sdk';
2
+ import { FsContextState } from './type';
3
+ export declare class FSFlag implements IFSFlag {
4
+ private key;
5
+ private flag?;
6
+ constructor(key: string, state: FsContextState);
7
+ getValue<T>(defaultValue: T): (T extends null ? unknown : T);
8
+ exists(): boolean;
9
+ visitorExposed(): Promise<void>;
10
+ get metadata(): IFSFlagMetadata;
11
+ get status(): FSFlagStatus;
12
+ }
@@ -0,0 +1,59 @@
1
+ import { Flagship, FSFlagMetadata, FSFlagStatus } from '@flagship.io/js-sdk';
2
+ import { GET_FLAG_CAST_ERROR, noVisitorMessage } from './constants';
3
+ import { hasSameType, logInfo, logWarn, sprintf } from './utils';
4
+ export class FSFlag {
5
+ key;
6
+ flag;
7
+ constructor(key, state) {
8
+ const flagsData = state.flags;
9
+ if (!state.hasVisitorData) {
10
+ logWarn(Flagship.getConfig(), noVisitorMessage, 'GetFlag');
11
+ }
12
+ this.key = key;
13
+ this.flag = flagsData?.get(key);
14
+ }
15
+ getValue(defaultValue) {
16
+ if (!this.flag) {
17
+ return defaultValue;
18
+ }
19
+ if (this.flag.value === null || this.flag.value === undefined) {
20
+ return defaultValue;
21
+ }
22
+ if (defaultValue !== null && defaultValue !== undefined && !hasSameType(this.flag.value, defaultValue)) {
23
+ logInfo(Flagship.getConfig(), sprintf(GET_FLAG_CAST_ERROR, this.key), 'getValue');
24
+ return defaultValue;
25
+ }
26
+ return this.flag.value;
27
+ }
28
+ exists() {
29
+ if (!this.flag) {
30
+ return false;
31
+ }
32
+ return !!(this.flag.campaignId && this.flag.variationId && this.flag.variationGroupId);
33
+ }
34
+ async visitorExposed() {
35
+ // do nothing
36
+ }
37
+ get metadata() {
38
+ if (!this.flag) {
39
+ return FSFlagMetadata.Empty();
40
+ }
41
+ return new FSFlagMetadata({
42
+ campaignId: this.flag.campaignId,
43
+ campaignName: this.flag.campaignName,
44
+ variationGroupId: this.flag.variationGroupId,
45
+ variationGroupName: this.flag.variationGroupName,
46
+ variationId: this.flag.variationId,
47
+ variationName: this.flag.variationName,
48
+ isReference: !!this.flag.isReference,
49
+ campaignType: this.flag.campaignType,
50
+ slug: this.flag.slug
51
+ });
52
+ }
53
+ get status() {
54
+ if (!this.exists()) {
55
+ return FSFlagStatus.NOT_FOUND;
56
+ }
57
+ return FSFlagStatus.FETCHED;
58
+ }
59
+ }
@@ -1,98 +1,3 @@
1
- import React, { ReactNode, Dispatch, SetStateAction } from 'react';
2
- import { BucketingDTO, CampaignDTO, FlagDTO, IFlagshipConfig, primitive, Visitor } from '@flagship.io/js-sdk';
3
- export interface FsStatus {
4
- /**
5
- * Boolean. When true, the SDK is still not ready to render your App otherwise it'll use default modifications.
6
- */
7
- isLoading: boolean;
8
- /**
9
- * Boolean. true after it has fully finished initialization tasks, false otherwise.
10
- */
11
- isSdkReady: boolean;
12
- lastModified?: Date;
13
- /**
14
- * Boolean. When true the flagship visitor instance is truthy, false otherwise.
15
- */
16
- isVisitorDefined?: boolean;
17
- /**
18
- * String or null. The last update date occurred on the flagship visitor instance.
19
- */
20
- lastRefresh?: string;
21
- /**
22
- * String or null. When null no initialization succeed yet. When string contains stringified date of last successful initialization.
23
- */
24
- firstInitSuccess?: string;
25
- }
26
- export interface FsState {
27
- visitor?: Visitor;
28
- config?: IFlagshipConfig;
29
- modifications?: Map<string, FlagDTO>;
30
- status: FsStatus;
31
- initialCampaigns?: CampaignDTO[];
32
- initialModifications?: Map<string, FlagDTO> | FlagDTO[];
33
- toggleForcedVariations?: boolean;
34
- }
35
- export type VisitorData = {
36
- id?: string;
37
- context?: Record<string, primitive>;
38
- isAuthenticated?: boolean;
39
- hasConsented?: boolean;
40
- };
41
- interface FsContext {
42
- state: FsState;
43
- setState?: Dispatch<SetStateAction<FsState>>;
44
- }
45
- export interface FlagshipProviderProps extends IFlagshipConfig {
46
- /**
47
- * This is the data to identify the current visitor using your app
48
- */
49
- visitorData: VisitorData | null;
50
- envId: string;
51
- apiKey: string;
52
- /**
53
- * This component will be rendered when Flagship is loading at first initialization only.
54
- * By default, the value is undefined. It means it will display your app and it might
55
- * display default modifications value for a very short moment.
56
- */
57
- loadingComponent?: ReactNode;
58
- children?: ReactNode;
59
- /**
60
- * Callback function called when the SDK starts initialization.
61
- */
62
- onInitStart?(): void;
63
- /**
64
- * Callback function called when the SDK ends initialization.
65
- */
66
- onInitDone?(): void;
67
- /**
68
- * Callback function called when the SDK is updated. For example, after a synchronize is triggered or visitor context has changed.
69
- */
70
- onUpdate?(params: {
71
- fsModifications: Map<string, FlagDTO>;
72
- config: IFlagshipConfig;
73
- status: FsStatus;
74
- }): void;
75
- /**
76
- * This is an object of the data received when fetching bucketing endpoint.
77
- * Providing this prop will make bucketing ready to use and the first polling will immediatly check for an update.
78
- * If the shape of an element is not correct, an error log will give the reason why.
79
- */
80
- initialBucketing?: BucketingDTO;
81
- initialCampaigns?: CampaignDTO[];
82
- /**
83
- * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.
84
- * @deprecated use initialFlagsData instead
85
- */
86
- initialModifications?: Map<string, FlagDTO> | FlagDTO[];
87
- /**
88
- * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.
89
- */
90
- initialFlagsData?: Map<string, FlagDTO> | FlagDTO[];
91
- /**
92
- * If true, it'll automatically call synchronizeModifications when the bucketing file has updated
93
- */
94
- fetchFlagsOnBucketingUpdated?: boolean;
95
- }
96
- export declare const FlagshipContext: React.Context<FsContext>;
97
- export declare const FlagshipProvider: React.FC<FlagshipProviderProps>;
98
- export {};
1
+ import { FsContext, FsContextState } from './type';
2
+ export declare const initStat: FsContextState;
3
+ export declare const FlagshipContext: import("react").Context<FsContext>;