@kameleoon/javascript-sdk-core 2.4.5 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cacheManager/cacheManager.js +3 -65
- package/dist/cacheManager/cacheManager.js.map +1 -1
- package/dist/cacheManager/index.js +1 -19
- package/dist/cacheManager/index.js.map +1 -1
- package/dist/cacheManager/types.js +1 -5
- package/dist/campaignConfiguration/campaignConfiguration.d.ts +7 -5
- package/dist/campaignConfiguration/campaignConfiguration.js +9 -283
- package/dist/campaignConfiguration/campaignConfiguration.js.map +1 -1
- package/dist/campaignConfiguration/constants.d.ts +2 -10
- package/dist/campaignConfiguration/constants.js +2 -21
- package/dist/campaignConfiguration/constants.js.map +1 -1
- package/dist/campaignConfiguration/index.js +1 -86
- package/dist/campaignConfiguration/index.js.map +1 -1
- package/dist/campaignConfiguration/types.d.ts +7 -6
- package/dist/campaignConfiguration/types.js +1 -54
- package/dist/campaignConfiguration/types.js.map +1 -1
- package/dist/clientSettings/clientSettings.d.ts +1 -1
- package/dist/clientSettings/clientSettings.js +1 -35
- package/dist/clientSettings/clientSettings.js.map +1 -1
- package/dist/clientSettings/index.js +1 -19
- package/dist/clientSettings/index.js.map +1 -1
- package/dist/clientSettings/types.d.ts +1 -1
- package/dist/clientSettings/types.js +1 -5
- package/dist/clientSettings/types.js.map +1 -1
- package/dist/constants.d.ts +13 -4
- package/dist/constants.js +2 -36
- package/dist/constants.js.map +1 -1
- package/dist/eventSource/constants.js +1 -8
- package/dist/eventSource/constants.js.map +1 -1
- package/dist/eventSource/externalEventSource.js +1 -33
- package/dist/eventSource/externalEventSource.js.map +1 -1
- package/dist/eventSource/index.js +1 -50
- package/dist/eventSource/index.js.map +1 -1
- package/dist/eventSource/types.js +1 -5
- package/dist/hasher/hasher.js +6 -44
- package/dist/hasher/hasher.js.map +1 -1
- package/dist/hasher/index.js +1 -12
- package/dist/hasher/index.js.map +1 -1
- package/dist/hasher/types.d.ts +1 -1
- package/dist/hasher/types.js +1 -5
- package/dist/hasher/types.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -310
- package/dist/index.js.map +1 -1
- package/dist/kameleoonClient.d.ts +16 -4
- package/dist/kameleoonClient.js +10 -384
- package/dist/kameleoonClient.js.map +1 -1
- package/dist/kameleoonData/browser.d.ts +8 -3
- package/dist/kameleoonData/browser.js +9 -40
- package/dist/kameleoonData/browser.js.map +1 -1
- package/dist/kameleoonData/conversion.d.ts +2 -2
- package/dist/kameleoonData/conversion.js +5 -50
- package/dist/kameleoonData/conversion.js.map +1 -1
- package/dist/kameleoonData/customData.d.ts +2 -2
- package/dist/kameleoonData/customData.js +5 -55
- package/dist/kameleoonData/customData.js.map +1 -1
- package/dist/kameleoonData/device.d.ts +2 -2
- package/dist/kameleoonData/device.js +5 -40
- package/dist/kameleoonData/device.js.map +1 -1
- package/dist/kameleoonData/index.d.ts +1 -1
- package/dist/kameleoonData/index.js +1 -102
- package/dist/kameleoonData/index.js.map +1 -1
- package/dist/kameleoonData/pageView.d.ts +2 -2
- package/dist/kameleoonData/pageView.js +5 -56
- package/dist/kameleoonData/pageView.js.map +1 -1
- package/dist/kameleoonData/types.d.ts +44 -27
- package/dist/kameleoonData/types.js +6 -42
- package/dist/kameleoonData/types.js.map +1 -1
- package/dist/kameleoonData/userAgent.d.ts +2 -2
- package/dist/kameleoonData/userAgent.js +4 -37
- package/dist/kameleoonData/userAgent.js.map +1 -1
- package/dist/kameleoonError/constants.d.ts +4 -2
- package/dist/kameleoonError/constants.js +1 -31
- package/dist/kameleoonError/constants.js.map +1 -1
- package/dist/kameleoonError/helpers.js +1 -9
- package/dist/kameleoonError/helpers.js.map +1 -1
- package/dist/kameleoonError/index.js +1 -26
- package/dist/kameleoonError/index.js.map +1 -1
- package/dist/kameleoonError/kameleoonError.d.ts +3 -3
- package/dist/kameleoonError/kameleoonError.js +2 -75
- package/dist/kameleoonError/kameleoonError.js.map +1 -1
- package/dist/kameleoonError/types.d.ts +2 -0
- package/dist/kameleoonError/types.js +1 -31
- package/dist/kameleoonError/types.js.map +1 -1
- package/dist/kameleoonUtils.js +2 -44
- package/dist/kameleoonUtils.js.map +1 -1
- package/dist/requester/constants.js +4 -73
- package/dist/requester/constants.js.map +1 -1
- package/dist/requester/index.js +1 -80
- package/dist/requester/index.js.map +1 -1
- package/dist/requester/requester.d.ts +4 -5
- package/dist/requester/requester.js +1 -106
- package/dist/requester/requester.js.map +1 -1
- package/dist/requester/types.d.ts +8 -7
- package/dist/requester/types.js +1 -16
- package/dist/requester/types.js.map +1 -1
- package/dist/storage/constants.js +2 -15
- package/dist/storage/constants.js.map +1 -1
- package/dist/storage/externalStorage.d.ts +1 -1
- package/dist/storage/externalStorage.js +1 -40
- package/dist/storage/externalStorage.js.map +1 -1
- package/dist/storage/index.js +1 -56
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/types.d.ts +4 -4
- package/dist/storage/types.js +1 -5
- package/dist/storage/types.js.map +1 -1
- package/dist/targeting/conditions/browserCondition.d.ts +13 -0
- package/dist/targeting/conditions/browserCondition.js +2 -0
- package/dist/targeting/conditions/browserCondition.js.map +1 -0
- package/dist/targeting/conditions/conditionFactory.d.ts +1 -1
- package/dist/targeting/conditions/conditionFactory.js +1 -30
- package/dist/targeting/conditions/conditionFactory.js.map +1 -1
- package/dist/targeting/conditions/conversionCondition.d.ts +10 -0
- package/dist/targeting/conditions/conversionCondition.js +4 -0
- package/dist/targeting/conditions/conversionCondition.js.map +1 -0
- package/dist/targeting/conditions/customDataCondition.d.ts +5 -7
- package/dist/targeting/conditions/customDataCondition.js +7 -109
- package/dist/targeting/conditions/customDataCondition.js.map +1 -1
- package/dist/targeting/conditions/deviceCondition.d.ts +9 -0
- package/dist/targeting/conditions/deviceCondition.js +2 -0
- package/dist/targeting/conditions/deviceCondition.js.map +1 -0
- package/dist/targeting/conditions/exclusiveExperimentCondition.d.ts +3 -5
- package/dist/targeting/conditions/exclusiveExperimentCondition.js +1 -32
- package/dist/targeting/conditions/exclusiveExperimentCondition.js.map +1 -1
- package/dist/targeting/conditions/index.d.ts +7 -0
- package/dist/targeting/conditions/index.js +1 -46
- package/dist/targeting/conditions/index.js.map +1 -1
- package/dist/targeting/conditions/pageTitleCondition.d.ts +11 -0
- package/dist/targeting/conditions/pageTitleCondition.js +2 -0
- package/dist/targeting/conditions/pageTitleCondition.js.map +1 -0
- package/dist/targeting/conditions/pageUrlCondition.d.ts +11 -0
- package/dist/targeting/conditions/pageUrlCondition.js +2 -0
- package/dist/targeting/conditions/pageUrlCondition.js.map +1 -0
- package/dist/targeting/conditions/sdkLanguageCondition.d.ts +15 -0
- package/dist/targeting/conditions/sdkLanguageCondition.js +2 -0
- package/dist/targeting/conditions/sdkLanguageCondition.js.map +1 -0
- package/dist/targeting/conditions/targetExperimentCondition.d.ts +3 -4
- package/dist/targeting/conditions/targetExperimentCondition.js +1 -63
- package/dist/targeting/conditions/targetExperimentCondition.js.map +1 -1
- package/dist/targeting/conditions/types.d.ts +25 -6
- package/dist/targeting/conditions/types.js +1 -5
- package/dist/targeting/conditions/types.js.map +1 -1
- package/dist/targeting/conditions/visitorCodeCondition.d.ts +11 -0
- package/dist/targeting/conditions/visitorCodeCondition.js +2 -0
- package/dist/targeting/conditions/visitorCodeCondition.js.map +1 -0
- package/dist/targeting/index.d.ts +2 -2
- package/dist/targeting/index.js +1 -80
- package/dist/targeting/index.js.map +1 -1
- package/dist/targeting/targetingNode.d.ts +3 -1
- package/dist/targeting/targetingNode.js +1 -47
- package/dist/targeting/targetingNode.js.map +1 -1
- package/dist/targeting/targetingTree.d.ts +3 -1
- package/dist/targeting/targetingTree.js +34 -135
- package/dist/targeting/targetingTree.js.map +1 -1
- package/dist/targeting/types.d.ts +24 -9
- package/dist/targeting/types.js +1 -100
- package/dist/targeting/types.js.map +1 -1
- package/dist/types.d.ts +9 -4
- package/dist/types.js +12 -41
- package/dist/types.js.map +1 -1
- package/dist/utilities/constants.d.ts +1 -0
- package/dist/utilities/constants.js +1 -8
- package/dist/utilities/constants.js.map +1 -1
- package/dist/utilities/index.d.ts +1 -0
- package/dist/utilities/index.js +1 -12
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/types.d.ts +14 -7
- package/dist/utilities/types.js +1 -5
- package/dist/utilities/types.js.map +1 -1
- package/dist/utilities/utilities.d.ts +12 -8
- package/dist/utilities/utilities.js +1 -216
- package/dist/utilities/utilities.js.map +1 -1
- package/dist/variationConfiguration/index.js +1 -25
- package/dist/variationConfiguration/index.js.map +1 -1
- package/dist/variationConfiguration/types.d.ts +5 -3
- package/dist/variationConfiguration/types.js +1 -5
- package/dist/variationConfiguration/types.js.map +1 -1
- package/dist/variationConfiguration/variation.d.ts +1 -1
- package/dist/variationConfiguration/variation.js +6 -44
- package/dist/variationConfiguration/variation.js.map +1 -1
- package/dist/variationConfiguration/variationConfiguration.d.ts +4 -4
- package/dist/variationConfiguration/variationConfiguration.js +65 -290
- package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
- package/package.json +1 -1
- package/dist/kameleoonData/constants.d.ts +0 -1
- package/dist/kameleoonData/constants.js +0 -9
- package/dist/kameleoonData/constants.js.map +0 -1
- package/dist/kameleoonData/nonce.d.ts +0 -5
- package/dist/kameleoonData/nonce.js +0 -32
- package/dist/kameleoonData/nonce.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campaignConfiguration.js","names":["_tsRes","require","_constants","_eventSource","_types","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","CampaignConfiguration","constructor","settings","storage","requester","externalClientConfiguration","targetingCleanupInterval","DEFAULT_CAMPAIGN_CONFIGURATION","targetingData","configurationData","CLEANUP_TARGETING_DATA_INTERVAL","Milliseconds","Minute","lastUpdate","Date","readStorageData","targetingDataLifetime","cleanupIntervalMinutes","targetingDataIntervalId","setInterval","cleanupOutdatedTargetingData","err","clearInterval","initialize","externalEventSource","useCache","shouldUpdate","checkShouldUpdate","updateResult","updateClientConfiguration","ok","configuration","realTimeUpdate","updateConfigurationIntervalId","eventSource","ExternalEventSource","siteCode","updateEventCallback","_timeStamp","configurationUpdateCallback","open","close","bind","updateInterval","Ok","addTargetingData","visitorCode","data","dataItem","lastActivityTime","now","result","updateStorageData","unsentTargetingData","getUnsentData","unsentDataItem","clearUnsentData","onConfigurationUpdate","callback","storedTargetingData","experiments","featureFlags","lastUpdateTime","getTime","updateWindowEdge","currentTime","resultTargetingData","entries","resultValue","item","isDataExpired","throw","read","kameleoonTargetingData","kameleoonConfiguration","parse","timeStamp","featureFlagConfigurations","clientConfigurationResult","getClientConfiguration","toString","write","exports"],"sources":["../../src/campaignConfiguration/campaignConfiguration.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonError } from '../kameleoonError/kameleoonError';\nimport { ClientSettingsType } from '../clientSettings/types';\nimport {\n CLEANUP_TARGETING_DATA_INTERVAL,\n DEFAULT_CAMPAIGN_CONFIGURATION,\n} from './constants';\nimport {\n CampaignConfigurationParametersType,\n ConfigurationDataType,\n ConfigurationType,\n ExperimentItemType,\n FeatureFlagType,\n UnsentTargetingDataType,\n UpdateClientConfigurationParameters,\n} from './types';\nimport { KameleoonDataType } from '../kameleoonData';\nimport { Requester, GetClientConfigurationResultType } from '../requester';\nimport { TargetingDataItemType, TargetingDataType } from '../targeting';\nimport { IStorage, ClientDataType } from '../storage';\nimport {\n ExternalEventSource,\n IEventSource,\n IExternalEventSourceConstructor,\n} from '../eventSource';\nimport { Milliseconds } from '../types';\n\ninterface ICampaignConfiguration {\n initialize: (\n eventSource: IExternalEventSourceConstructor,\n useCache?: boolean,\n ) => Promise<Result<void, KameleoonError>>;\n addTargetingData: (\n visitorCode: string,\n ...data: KameleoonDataType[]\n ) => Result<void, KameleoonError>;\n getUnsentData: (visitorCode: string) => KameleoonDataType[];\n clearUnsentData: (visitorCode: string) => void;\n onConfigurationUpdate: (callback: () => void) => void;\n readonly experiments: ExperimentItemType[];\n readonly storedTargetingData: TargetingDataType;\n readonly featureFlags: FeatureFlagType[];\n readonly configuration: ConfigurationType;\n}\n\nexport class CampaignConfiguration implements ICampaignConfiguration {\n private configurationUpdateCallback?: () => void;\n private updateConfigurationIntervalId: NodeJS.Timer | null = null;\n private targetingDataIntervalId: NodeJS.Timer | null = null;\n private unsentTargetingData: UnsentTargetingDataType = {};\n private targetingData: TargetingDataType =\n DEFAULT_CAMPAIGN_CONFIGURATION.targetingData;\n private configurationData: ConfigurationDataType =\n DEFAULT_CAMPAIGN_CONFIGURATION.configurationData;\n private settings: ClientSettingsType;\n private lastUpdate: Date;\n private storage: IStorage<ClientDataType>;\n private requester: Requester;\n private eventSource?: IEventSource;\n private externalClientConfiguration?: GetClientConfigurationResultType;\n private targetingDataLifetime: number =\n CLEANUP_TARGETING_DATA_INTERVAL * Milliseconds.Minute;\n\n constructor({\n settings,\n storage,\n requester,\n externalClientConfiguration,\n targetingCleanupInterval,\n }: CampaignConfigurationParametersType) {\n this.requester = requester;\n this.settings = settings;\n this.lastUpdate = new Date();\n this.storage = storage;\n this.readStorageData();\n this.externalClientConfiguration = externalClientConfiguration;\n\n if (targetingCleanupInterval) {\n this.targetingDataLifetime =\n targetingCleanupInterval * Milliseconds.Minute;\n\n const cleanupIntervalMinutes =\n targetingCleanupInterval < 0 ? 1 : targetingCleanupInterval;\n\n // --- Note ---\n // We can not make delayed code execution recoverable, as it might lead\n // to targeting data storage size overflow\n try {\n this.targetingDataIntervalId = setInterval(\n () =>\n this.cleanupOutdatedTargetingData.call(this, this.targetingData),\n cleanupIntervalMinutes * Milliseconds.Minute,\n );\n } catch (err) {\n if (this.targetingDataIntervalId) {\n clearInterval(this.targetingDataIntervalId);\n }\n\n throw err;\n }\n }\n }\n\n public async initialize(\n externalEventSource: IExternalEventSourceConstructor,\n useCache?: boolean,\n ): Promise<Result<void, KameleoonError>> {\n const shouldUpdate = this.checkShouldUpdate();\n\n // --- Initial data fetch ---\n if (shouldUpdate) {\n const updateResult = await this.updateClientConfiguration({ useCache });\n\n if (!updateResult.ok) {\n return updateResult;\n }\n }\n\n // --- Note ---\n // Interval is cleaned up in case real time update\n // was activated while initialized client already exists\n if (\n this.configurationData.configuration.realTimeUpdate &&\n !this.externalClientConfiguration\n ) {\n if (this.updateConfigurationIntervalId) {\n clearInterval(this.updateConfigurationIntervalId);\n }\n\n this.eventSource = new ExternalEventSource(\n this.settings.siteCode,\n externalEventSource,\n );\n\n const updateEventCallback = (_timeStamp: number) => {\n this.updateClientConfiguration({ useCache });\n\n if (this.configurationUpdateCallback) {\n this.configurationUpdateCallback();\n }\n };\n\n this.eventSource.open(updateEventCallback);\n } else {\n // --- Note ---\n // Event Source is cleaned up in case real time update\n // was disabled while initialized client already exists\n if (this.eventSource) {\n this.eventSource.close();\n }\n\n if (this.updateConfigurationIntervalId) {\n clearInterval(this.updateConfigurationIntervalId);\n }\n\n // --- Note ---\n // Same as targeting data interval we don't want to make failed configuration\n // retrieval recoverable\n try {\n this.updateConfigurationIntervalId = setInterval(\n () => this.updateClientConfiguration.bind(this)({ useCache }),\n this.settings.updateInterval,\n );\n } catch (err) {\n if (this.updateConfigurationIntervalId) {\n clearInterval(this.updateConfigurationIntervalId);\n }\n\n throw err;\n }\n }\n\n return Ok();\n }\n\n public addTargetingData(\n visitorCode: string,\n ...data: KameleoonDataType[]\n ): Result<void, KameleoonError> {\n if (!(visitorCode in this.targetingData)) {\n this.targetingData[visitorCode] = [];\n }\n\n data.forEach((dataItem) => {\n // --- Note ---\n // Previous check excludes the failure possibility\n (this.targetingData[visitorCode] as TargetingDataItemType[]).push({\n data: dataItem.data,\n lastActivityTime: Date.now(),\n });\n });\n\n // --- Note ---\n // `targetingData` should not refresh `lastUpdate` time\n const result = this.updateStorageData(this.lastUpdate);\n\n if (result.ok) {\n data.forEach((dataItem) => {\n if (!this.unsentTargetingData[visitorCode]) {\n this.unsentTargetingData[visitorCode] = [];\n }\n\n this.unsentTargetingData[visitorCode].push(dataItem);\n });\n }\n\n return result;\n }\n\n public getUnsentData(visitorCode: string): KameleoonDataType[] {\n const unsentDataItem = this.unsentTargetingData[visitorCode];\n\n if (!unsentDataItem) {\n return [];\n }\n\n return unsentDataItem;\n }\n\n public clearUnsentData(visitorCode: string): void {\n this.unsentTargetingData[visitorCode] = [];\n }\n\n public onConfigurationUpdate(callback: () => void): void {\n this.configurationUpdateCallback = callback;\n }\n\n get storedTargetingData(): TargetingDataType {\n return this.targetingData;\n }\n\n get experiments(): ExperimentItemType[] {\n return this.configurationData.experiments;\n }\n\n get featureFlags(): FeatureFlagType[] {\n return this.configurationData.featureFlags;\n }\n\n get configuration(): ConfigurationType {\n return this.configurationData.configuration;\n }\n\n private checkShouldUpdate(): boolean {\n const { featureFlags, experiments, configuration } = this.configurationData;\n const { updateInterval } = this.settings;\n\n if (!featureFlags.length && !experiments.length) {\n return true;\n }\n\n if (configuration.realTimeUpdate) {\n return true;\n }\n\n const lastUpdateTime = this.lastUpdate.getTime();\n const updateWindowEdge = Date.now() - updateInterval;\n\n return lastUpdateTime < updateWindowEdge;\n }\n\n private cleanupOutdatedTargetingData(data: TargetingDataType): void {\n const currentTime = Date.now();\n const resultTargetingData: TargetingDataType = { ...data };\n\n for (const [key, value] of Object.entries(resultTargetingData)) {\n if (value) {\n const resultValue = value.filter((item) => {\n const isDataExpired =\n item.lastActivityTime + this.targetingDataLifetime < currentTime;\n\n return !isDataExpired;\n });\n\n if (resultValue.length) {\n resultTargetingData[key] = resultValue;\n continue;\n }\n }\n\n delete resultTargetingData[key];\n }\n\n this.targetingData = resultTargetingData;\n // --- Note ---\n // `targetingData` should not refresh `lastUpdate` time\n this.updateStorageData(this.lastUpdate).throw();\n }\n\n private readStorageData(): void {\n const result = this.storage.read();\n\n if (result.ok) {\n const { kameleoonTargetingData, kameleoonConfiguration, lastUpdate } =\n result.data;\n\n this.configurationData = kameleoonConfiguration;\n this.targetingData = kameleoonTargetingData;\n this.lastUpdate = new Date(Date.parse(lastUpdate));\n }\n }\n\n private async updateClientConfiguration({\n useCache = false,\n timeStamp,\n }: UpdateClientConfigurationParameters = {}): Promise<\n Result<boolean, KameleoonError>\n > {\n // --- Note ---\n // if `externalClientConfiguration` is passed, fetching is disabled and passed config is used instead\n if (this.externalClientConfiguration) {\n // --- Note ---\n // `featureFlags` field is omitted (v1)\n // instead `featureFlagConfigurations` is used (v2)\n const { configuration, experiments, featureFlagConfigurations } =\n this.externalClientConfiguration;\n\n this.configurationData = {\n configuration,\n experiments,\n featureFlags: featureFlagConfigurations,\n };\n } else {\n const clientConfigurationResult =\n await this.requester.getClientConfiguration(timeStamp);\n\n if (!clientConfigurationResult.ok) {\n const { featureFlags, experiments } = this.configurationData;\n\n if (useCache && featureFlags.length && experiments.length) {\n return Ok(true);\n }\n\n return clientConfigurationResult;\n }\n\n // --- Note ---\n // `featureFlags` field is omitted (v1)\n // instead `featureFlagConfigurations` is used (v2)\n const { configuration, experiments, featureFlagConfigurations } =\n clientConfigurationResult.data;\n\n this.configurationData = {\n configuration,\n experiments,\n featureFlags: featureFlagConfigurations,\n };\n }\n\n const result = this.updateStorageData(new Date());\n\n if (!result.ok) {\n return result;\n }\n\n return Ok(true);\n }\n\n private updateStorageData(lastUpdate: Date): Result<void, KameleoonError> {\n const data: ClientDataType = {\n kameleoonTargetingData: this.targetingData,\n kameleoonConfiguration: this.configurationData,\n lastUpdate: lastUpdate.toString(),\n };\n\n return this.storage.write(data);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"campaignConfiguration.js","names":["a","b","c","Object","defineProperty","value","enumerable","configurable","writable","e","f","prototype","d","g","create","h","m","s","i","type","arg","call","forEach","_invoke","j","k","_typeof","r","resolve","__await","then","Error","o","method","delegate","x","sent","_sent","dispatchException","abrupt","done","iterator","return","TypeError","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","l","completion","reset","n","u","isNaN","length","_regeneratorRuntime","p","q","hasOwnProperty","t","Symbol","v","asyncIterator","w","toStringTag","wrap","y","z","getPrototypeOf","A","B","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","keys","reverse","pop","values","prev","charAt","slice","stop","rval","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","CampaignConfiguration","settings","storage","requester","externalClientConfiguration","targetingCleanupInterval","DEFAULT_CONFIGURATION_DATA","CLEANUP_TARGETING_DATA_INTERVAL","Milliseconds","Minute","lastUpdate","Date","readStorageData","targetingDataLifetime","cleanupIntervalMinutes","targetingDataIntervalId","setInterval","cleanupOutdatedTargetingData","bind","err","clearInterval","externalEventSource","useCache","shouldUpdate","checkShouldUpdate","updateClientConfiguration","updateResult","ok","configurationData","configuration","realTimeUpdate","updateConfigurationIntervalId","eventSource","ExternalEventSource","siteCode","updateEventCallback","configurationUpdateCallback","open","close","updateInterval","t0","Ok","addTargetingData","visitorCode","targetingData","data","Array","dataItem","Utilities","isCustomData","customData","_objectSpread","lastActivityTime","now","hasCustomDataKey","KameleoonData","CustomData","index","hasDataKey","result","updateStorageData","unsentTargetingData","customDataLocalOnlyIndexes","includes","getUnsentData","unsentDataItem","clearUnsentData","onConfigurationUpdate","callback","get","experiments","featureFlags","lastUpdateTime","getTime","updateWindowEdge","currentTime","entries","_slicedToArray","kameleoonVisitorData","rest","_objectWithoutProperties","_excluded","isDataExpired","existingData","throw","read","kameleoonTargetingData","kameleoonConfiguration","parse","timeStamp","featureFlagConfigurations","getClientConfiguration","clientConfigurationResult","toString","write","exports"],"sources":["../../src/campaignConfiguration/campaignConfiguration.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonError } from 'src/kameleoonError/kameleoonError';\nimport { ClientSettingsType } from 'src/clientSettings/types';\nimport { KameleoonData, KameleoonDataType } from 'src/kameleoonData';\nimport { Requester, GetClientConfigurationResultType } from 'src/requester';\nimport { TargetingDataType } from 'src/targeting';\nimport { IStorage, ClientDataType } from 'src/storage';\nimport {\n ExternalEventSource,\n IEventSource,\n IExternalEventSourceConstructor,\n} from 'src/eventSource';\nimport { Milliseconds } from 'src/types';\nimport {\n CLEANUP_TARGETING_DATA_INTERVAL,\n DEFAULT_CONFIGURATION_DATA,\n} from './constants';\nimport {\n CampaignConfigurationParametersType,\n ConfigurationDataType,\n ConfigurationType,\n ExperimentItemType,\n FeatureFlagType,\n UnsentTargetingDataType,\n UpdateClientConfigurationParameters,\n} from './types';\nimport { Utilities } from 'src/utilities';\nimport {\n ExistingCustomDataType,\n ExistingDataType,\n} from 'src/kameleoonData/types';\n\ninterface ICampaignConfiguration {\n initialize: (\n eventSource: IExternalEventSourceConstructor,\n useCache?: boolean,\n ) => Promise<Result<void, KameleoonError>>;\n addTargetingData: (\n visitorCode: string,\n ...data: KameleoonDataType[]\n ) => Result<void, KameleoonError>;\n getUnsentData: (visitorCode: string) => KameleoonDataType[];\n clearUnsentData: (visitorCode: string) => void;\n onConfigurationUpdate: (callback: () => void) => void;\n readonly experiments: ExperimentItemType[];\n readonly storedTargetingData: TargetingDataType;\n readonly featureFlags: FeatureFlagType[];\n readonly configuration: ConfigurationType;\n readonly unsentData: UnsentTargetingDataType;\n}\n\nexport class CampaignConfiguration implements ICampaignConfiguration {\n private configurationUpdateCallback?: () => void;\n private updateConfigurationIntervalId: NodeJS.Timer | null = null;\n private targetingDataIntervalId: NodeJS.Timer | null = null;\n private unsentTargetingData: UnsentTargetingDataType = {};\n private targetingData: TargetingDataType = {};\n private configurationData: ConfigurationDataType = DEFAULT_CONFIGURATION_DATA;\n private settings: ClientSettingsType;\n private lastUpdate: Date;\n private storage: IStorage<ClientDataType>;\n private requester: Requester;\n private eventSource?: IEventSource;\n private externalClientConfiguration?: GetClientConfigurationResultType;\n private targetingDataLifetime: number =\n CLEANUP_TARGETING_DATA_INTERVAL * Milliseconds.Minute;\n\n constructor({\n settings,\n storage,\n requester,\n externalClientConfiguration,\n targetingCleanupInterval,\n }: CampaignConfigurationParametersType) {\n this.requester = requester;\n this.settings = settings;\n this.lastUpdate = new Date();\n this.storage = storage;\n this.readStorageData();\n this.externalClientConfiguration = externalClientConfiguration;\n\n if (targetingCleanupInterval) {\n this.targetingDataLifetime =\n targetingCleanupInterval * Milliseconds.Minute;\n\n const cleanupIntervalMinutes =\n targetingCleanupInterval < 0 ? 1 : targetingCleanupInterval;\n\n // --- Note ---\n // We can not make delayed code execution recoverable, as it might lead\n // to targeting data storage size overflow\n try {\n this.targetingDataIntervalId = setInterval(\n this.cleanupOutdatedTargetingData.bind(this),\n cleanupIntervalMinutes * Milliseconds.Minute,\n );\n } catch (err) {\n if (this.targetingDataIntervalId) {\n clearInterval(this.targetingDataIntervalId);\n }\n\n throw err;\n }\n }\n }\n\n public async initialize(\n externalEventSource: IExternalEventSourceConstructor,\n useCache?: boolean,\n ): Promise<Result<void, KameleoonError>> {\n const shouldUpdate = this.checkShouldUpdate();\n\n // --- Initial data fetch ---\n if (shouldUpdate) {\n const updateResult = await this.updateClientConfiguration({ useCache });\n\n if (!updateResult.ok) {\n return updateResult;\n }\n }\n\n // --- Note ---\n // Interval is cleaned up in case real time update\n // was activated while initialized client already exists\n if (\n this.configurationData.configuration.realTimeUpdate &&\n !this.externalClientConfiguration\n ) {\n if (this.updateConfigurationIntervalId) {\n clearInterval(this.updateConfigurationIntervalId);\n }\n\n this.eventSource = new ExternalEventSource(\n this.settings.siteCode,\n externalEventSource,\n );\n\n const updateEventCallback = (_timeStamp: number) => {\n this.updateClientConfiguration({ useCache });\n\n if (this.configurationUpdateCallback) {\n this.configurationUpdateCallback();\n }\n };\n\n this.eventSource.open(updateEventCallback);\n } else {\n // --- Note ---\n // Event Source is cleaned up in case real time update\n // was disabled while initialized client already exists\n if (this.eventSource) {\n this.eventSource.close();\n }\n\n if (this.updateConfigurationIntervalId) {\n clearInterval(this.updateConfigurationIntervalId);\n }\n\n // --- Note ---\n // Same as targeting data interval we don't want to make failed configuration\n // retrieval recoverable\n try {\n this.updateConfigurationIntervalId = setInterval(\n () => this.updateClientConfiguration.bind(this)({ useCache }),\n this.settings.updateInterval,\n );\n } catch (err) {\n if (this.updateConfigurationIntervalId) {\n clearInterval(this.updateConfigurationIntervalId);\n }\n\n throw err;\n }\n }\n\n return Ok();\n }\n\n public addTargetingData(\n visitorCode: string,\n ...data: KameleoonDataType[]\n ): Result<void, KameleoonError> {\n if (!(visitorCode in this.targetingData)) {\n this.targetingData[visitorCode] = {};\n }\n\n // --- Note ---\n // Following code is optimized for performance:\n // - We don't want to copy the whole object every time we add new data\n // - So we are manually checking the keys existence and mutating targeting data directly\n // - Numerous type casts are required because we can't narrow down nested `this.targetingData` types by using assertion functions\n data.forEach((dataItem) => {\n // --- Custom data case ---\n if (Utilities.isCustomData(dataItem)) {\n const customData = {\n ...dataItem.data,\n lastActivityTime: Date.now(),\n };\n const hasCustomDataKey =\n KameleoonData.CustomData in this.targetingData[visitorCode];\n\n // -- Change directly if `[key]` exists\n if (hasCustomDataKey) {\n (\n this.targetingData[visitorCode][\n customData.type\n ] as ExistingCustomDataType\n )[customData.index] = customData;\n } else {\n // -- Change data by creating new `[key]` and `[index]`\n this.targetingData[visitorCode] = {\n ...this.targetingData[visitorCode],\n [customData.type]: {\n ...this.targetingData[visitorCode][customData.type],\n [customData.index]: customData,\n },\n };\n }\n // --- Other data types case ---\n } else {\n const data = { ...dataItem.data, lastActivityTime: Date.now() };\n const hasDataKey =\n dataItem.data.type in this.targetingData[visitorCode];\n\n // -- Changing data by `[key]` if it exists\n if (hasDataKey) {\n (this.targetingData[visitorCode][\n dataItem.data.type\n ] as ExistingDataType<typeof dataItem.data.type>) = data;\n } else {\n // -- Change data by creating new `[key]`\n this.targetingData[visitorCode] = {\n ...this.targetingData[visitorCode],\n [dataItem.data.type]: data,\n };\n }\n }\n });\n\n // --- Note ---\n // `targetingData` should not refresh `lastUpdate` time\n const result = this.updateStorageData(this.lastUpdate);\n\n if (result.ok) {\n data.forEach((dataItem) => {\n if (!this.unsentTargetingData[visitorCode]) {\n this.unsentTargetingData[visitorCode] = [];\n }\n\n if (\n this.configuration.customDataLocalOnlyIndexes.length &&\n Utilities.isCustomData(dataItem) &&\n this.configuration.customDataLocalOnlyIndexes.includes(\n dataItem.data.index,\n )\n ) {\n return;\n }\n\n this.unsentTargetingData[visitorCode].push(dataItem);\n });\n }\n\n return result;\n }\n\n public getUnsentData(visitorCode: string): KameleoonDataType[] {\n const unsentDataItem = this.unsentTargetingData[visitorCode];\n\n if (!unsentDataItem) {\n return [];\n }\n\n return unsentDataItem;\n }\n\n public clearUnsentData(visitorCode: string): void {\n delete this.unsentTargetingData[visitorCode];\n }\n\n public onConfigurationUpdate(callback: () => void): void {\n this.configurationUpdateCallback = callback;\n }\n\n get unsentData(): UnsentTargetingDataType {\n return this.unsentTargetingData;\n }\n\n get storedTargetingData(): TargetingDataType {\n return this.targetingData;\n }\n\n get experiments(): ExperimentItemType[] {\n return this.configurationData.experiments;\n }\n\n get featureFlags(): FeatureFlagType[] {\n return this.configurationData.featureFlags;\n }\n\n get configuration(): ConfigurationType {\n return this.configurationData.configuration;\n }\n\n private checkShouldUpdate(): boolean {\n const { featureFlags, experiments, configuration } = this.configurationData;\n const { updateInterval } = this.settings;\n\n if (!featureFlags.length && !experiments.length) {\n return true;\n }\n\n if (configuration.realTimeUpdate) {\n return true;\n }\n\n const lastUpdateTime = this.lastUpdate.getTime();\n const updateWindowEdge = Date.now() - updateInterval;\n\n return lastUpdateTime < updateWindowEdge;\n }\n\n private cleanupOutdatedTargetingData(): void {\n const currentTime = Date.now();\n\n for (const [visitorCode, kameleoonVisitorData] of Object.entries(\n this.targetingData,\n )) {\n const { customData, ...rest } = kameleoonVisitorData;\n\n if (customData) {\n for (const [index, dataItem] of Object.entries(customData)) {\n if (dataItem) {\n const isDataExpired =\n dataItem.lastActivityTime + this.targetingDataLifetime <\n currentTime;\n const existingData = kameleoonVisitorData[KameleoonData.CustomData];\n\n if (isDataExpired && existingData) {\n delete existingData[Number(index)];\n }\n\n if (existingData && !Object.keys(existingData).length) {\n delete kameleoonVisitorData[KameleoonData.CustomData];\n }\n }\n }\n }\n\n for (const [key, dataItem] of Object.entries(rest)) {\n const isDataExpired =\n dataItem.lastActivityTime + this.targetingDataLifetime < currentTime;\n\n if (isDataExpired) {\n delete kameleoonVisitorData[key as KameleoonData];\n }\n }\n\n if (!Object.keys(this.targetingData[visitorCode]).length) {\n delete this.targetingData[visitorCode];\n }\n }\n\n // --- Note ---\n // `targetingData` should not refresh `lastUpdate` time\n this.updateStorageData(this.lastUpdate).throw();\n }\n\n private readStorageData(): void {\n const result = this.storage.read();\n\n if (result.ok) {\n const { kameleoonTargetingData, kameleoonConfiguration, lastUpdate } =\n result.data;\n\n this.configurationData = kameleoonConfiguration;\n this.targetingData = kameleoonTargetingData;\n this.lastUpdate = new Date(Date.parse(lastUpdate));\n }\n }\n\n private async updateClientConfiguration({\n useCache = false,\n timeStamp,\n }: UpdateClientConfigurationParameters = {}): Promise<\n Result<boolean, KameleoonError>\n > {\n // --- Note ---\n // if `externalClientConfiguration` is passed, fetching is disabled and passed config is used instead\n if (this.externalClientConfiguration) {\n // --- Note ---\n // `featureFlags` field is omitted (v1)\n // instead `featureFlagConfigurations` is used (v2)\n const { configuration, experiments, featureFlagConfigurations } =\n this.externalClientConfiguration;\n\n this.configurationData = {\n configuration,\n experiments,\n featureFlags: featureFlagConfigurations,\n };\n } else {\n const clientConfigurationResult =\n await this.requester.getClientConfiguration(timeStamp);\n\n if (!clientConfigurationResult.ok) {\n const { featureFlags, experiments } = this.configurationData;\n\n if (useCache && featureFlags.length && experiments.length) {\n return Ok(true);\n }\n\n return clientConfigurationResult;\n }\n\n // --- Note ---\n // `featureFlags` field is omitted (v1)\n // instead `featureFlagConfigurations` is used (v2)\n const { configuration, experiments, featureFlagConfigurations } =\n clientConfigurationResult.data;\n\n this.configurationData = {\n configuration,\n experiments,\n featureFlags: featureFlagConfigurations,\n };\n }\n\n const result = this.updateStorageData(new Date());\n\n if (!result.ok) {\n return result;\n }\n\n return Ok(true);\n }\n\n private updateStorageData(lastUpdate: Date): Result<void, KameleoonError> {\n const data: ClientDataType = {\n kameleoonTargetingData: this.targetingData,\n kameleoonConfiguration: this.configurationData,\n lastUpdate: lastUpdate.toString(),\n };\n\n return this.storage.write(data);\n }\n}\n"],"mappings":"o6FACA,6JAAAA,GAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAC,MAAA,CAAAC,cAAA,CAAAJ,CAAA,CAAAC,CAAA,EAAAI,KAAA,CAAAH,CAAA,CAAAI,UAAA,IAAAC,YAAA,IAAAC,QAAA,MAAAR,CAAA,CAAAC,CAAA,WAAAA,EAAAD,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAO,CAAA,MAAAC,CAAA,CAAAT,CAAA,EAAAA,CAAA,CAAAU,SAAA,YAAAC,CAAA,CAAAX,CAAA,CAAAW,CAAA,CAAAC,CAAA,CAAAV,MAAA,CAAAW,MAAA,CAAAJ,CAAA,CAAAC,SAAA,EAAAI,CAAA,KAAAC,CAAA,CAAAP,CAAA,aAAAQ,CAAA,CAAAJ,CAAA,YAAAR,KAAA,CAAAa,CAAA,CAAAlB,CAAA,CAAAE,CAAA,CAAAa,CAAA,IAAAF,CAAA,UAAAX,EAAAF,CAAA,CAAAC,CAAA,CAAAC,CAAA,aAAAiB,IAAA,UAAAC,GAAA,CAAApB,CAAA,CAAAqB,IAAA,CAAApB,CAAA,CAAAC,CAAA,SAAAF,CAAA,SAAAmB,IAAA,SAAAC,GAAA,CAAApB,CAAA,YAAAY,EAAA,YAAAH,EAAA,YAAAC,EAAA,YAAAG,EAAAZ,CAAA,4BAAAqB,OAAA,UAAApB,CAAA,EAAAF,CAAA,CAAAC,CAAA,CAAAC,CAAA,UAAAF,CAAA,cAAAuB,OAAA,CAAArB,CAAA,CAAAF,CAAA,eAAAe,EAAAf,CAAA,CAAAC,CAAA,WAAAW,EAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,CAAAE,CAAA,MAAAG,CAAA,CAAAhB,CAAA,CAAAF,CAAA,CAAAS,CAAA,EAAAT,CAAA,CAAAU,CAAA,eAAAQ,CAAA,CAAAC,IAAA,MAAAK,CAAA,CAAAN,CAAA,CAAAE,GAAA,CAAAK,CAAA,CAAAD,CAAA,CAAAnB,KAAA,QAAAoB,CAAA,YAAAC,OAAA,CAAAD,CAAA,GAAAE,CAAA,CAAAN,IAAA,CAAAI,CAAA,YAAAxB,CAAA,CAAA2B,OAAA,CAAAH,CAAA,CAAAI,OAAA,EAAAC,IAAA,UAAA9B,CAAA,EAAAY,CAAA,QAAAZ,CAAA,CAAAa,CAAA,CAAAE,CAAA,YAAAf,CAAA,EAAAY,CAAA,SAAAZ,CAAA,CAAAa,CAAA,CAAAE,CAAA,IAAAd,CAAA,CAAA2B,OAAA,CAAAH,CAAA,EAAAK,IAAA,UAAA9B,CAAA,EAAAwB,CAAA,CAAAnB,KAAA,CAAAL,CAAA,CAAAa,CAAA,CAAAW,CAAA,YAAAxB,CAAA,SAAAY,CAAA,SAAAZ,CAAA,CAAAa,CAAA,CAAAE,CAAA,IAAAA,CAAA,CAAAG,CAAA,CAAAE,GAAA,MAAAX,CAAA,CAAAQ,CAAA,iBAAAZ,KAAA,UAAAA,MAAAL,CAAA,CAAAE,CAAA,WAAAQ,EAAA,aAAAT,CAAA,UAAAA,CAAA,CAAAQ,CAAA,EAAAG,CAAA,CAAAZ,CAAA,CAAAE,CAAA,CAAAD,CAAA,CAAAQ,CAAA,WAAAA,CAAA,CAAAA,CAAA,CAAAA,CAAA,CAAAqB,IAAA,CAAApB,CAAA,CAAAA,CAAA,EAAAA,CAAA,eAAAQ,EAAAlB,CAAA,CAAAC,CAAA,CAAAW,CAAA,MAAAH,CAAA,kCAAAC,CAAA,CAAAG,CAAA,kBAAAJ,CAAA,WAAAsB,KAAA,iDAAAtB,CAAA,eAAAC,CAAA,OAAAG,CAAA,QAAAmB,CAAA,OAAApB,CAAA,CAAAqB,MAAA,CAAAvB,CAAA,CAAAE,CAAA,CAAAQ,GAAA,CAAAP,CAAA,QAAAE,CAAA,CAAAH,CAAA,CAAAsB,QAAA,IAAAnB,CAAA,MAAAG,CAAA,CAAAM,CAAA,CAAAT,CAAA,CAAAH,CAAA,KAAAM,CAAA,KAAAA,CAAA,GAAAiB,CAAA,iBAAAjB,CAAA,cAAAN,CAAA,CAAAqB,MAAA,CAAArB,CAAA,CAAAwB,IAAA,CAAAxB,CAAA,CAAAyB,KAAA,CAAAzB,CAAA,CAAAQ,GAAA,mBAAAR,CAAA,CAAAqB,MAAA,uBAAAxB,CAAA,OAAAA,CAAA,aAAAG,CAAA,CAAAQ,GAAA,CAAAR,CAAA,CAAA0B,iBAAA,CAAA1B,CAAA,CAAAQ,GAAA,iBAAAR,CAAA,CAAAqB,MAAA,EAAArB,CAAA,CAAA2B,MAAA,UAAA3B,CAAA,CAAAQ,GAAA,EAAAX,CAAA,iBAAAgB,CAAA,CAAAvB,CAAA,CAAAF,CAAA,CAAAC,CAAA,CAAAW,CAAA,gBAAAa,CAAA,CAAAN,IAAA,KAAAV,CAAA,CAAAG,CAAA,CAAA4B,IAAA,8BAAAf,CAAA,CAAAL,GAAA,GAAAe,CAAA,iBAAA9B,KAAA,CAAAoB,CAAA,CAAAL,GAAA,CAAAoB,IAAA,CAAA5B,CAAA,CAAA4B,IAAA,YAAAf,CAAA,CAAAN,IAAA,GAAAV,CAAA,aAAAG,CAAA,CAAAqB,MAAA,SAAArB,CAAA,CAAAQ,GAAA,CAAAK,CAAA,CAAAL,GAAA,aAAAI,EAAAxB,CAAA,CAAAC,CAAA,MAAAW,CAAA,CAAAX,CAAA,CAAAgC,MAAA,CAAAxB,CAAA,CAAAT,CAAA,CAAAyC,QAAA,CAAA7B,CAAA,cAAAH,CAAA,QAAAR,CAAA,CAAAiC,QAAA,gBAAAtB,CAAA,EAAAZ,CAAA,CAAAyC,QAAA,CAAAC,MAAA,GAAAzC,CAAA,CAAAgC,MAAA,UAAAhC,CAAA,CAAAmB,GAAA,QAAAI,CAAA,CAAAxB,CAAA,CAAAC,CAAA,YAAAA,CAAA,CAAAgC,MAAA,cAAArB,CAAA,GAAAX,CAAA,CAAAgC,MAAA,SAAAhC,CAAA,CAAAmB,GAAA,KAAAuB,SAAA,qCAAA/B,CAAA,cAAAuB,CAAA,KAAAzB,CAAA,CAAAR,CAAA,CAAAO,CAAA,CAAAT,CAAA,CAAAyC,QAAA,CAAAxC,CAAA,CAAAmB,GAAA,eAAAV,CAAA,CAAAS,IAAA,QAAAlB,CAAA,CAAAgC,MAAA,SAAAhC,CAAA,CAAAmB,GAAA,CAAAV,CAAA,CAAAU,GAAA,CAAAnB,CAAA,CAAAiC,QAAA,MAAAC,CAAA,KAAAtB,CAAA,CAAAH,CAAA,CAAAU,GAAA,QAAAP,CAAA,CAAAA,CAAA,CAAA2B,IAAA,EAAAvC,CAAA,CAAAD,CAAA,CAAA4C,UAAA,EAAA/B,CAAA,CAAAR,KAAA,CAAAJ,CAAA,CAAA4C,IAAA,CAAA7C,CAAA,CAAA8C,OAAA,YAAA7C,CAAA,CAAAgC,MAAA,GAAAhC,CAAA,CAAAgC,MAAA,QAAAhC,CAAA,CAAAmB,GAAA,SAAAnB,CAAA,CAAAiC,QAAA,MAAAC,CAAA,EAAAtB,CAAA,EAAAZ,CAAA,CAAAgC,MAAA,SAAAhC,CAAA,CAAAmB,GAAA,KAAAuB,SAAA,qCAAA1C,CAAA,CAAAiC,QAAA,MAAAC,CAAA,WAAAV,EAAAzB,CAAA,MAAAC,CAAA,EAAA8C,MAAA,CAAA/C,CAAA,UAAAA,CAAA,GAAAC,CAAA,CAAA+C,QAAA,CAAAhD,CAAA,UAAAA,CAAA,GAAAC,CAAA,CAAAgD,UAAA,CAAAjD,CAAA,IAAAC,CAAA,CAAAiD,QAAA,CAAAlD,CAAA,UAAAmD,UAAA,CAAAC,IAAA,CAAAnD,CAAA,WAAAoD,EAAArD,CAAA,MAAAC,CAAA,CAAAD,CAAA,CAAAsD,UAAA,KAAArD,CAAA,CAAAkB,IAAA,iBAAAlB,CAAA,CAAAmB,GAAA,CAAApB,CAAA,CAAAsD,UAAA,CAAArD,CAAA,UAAAe,EAAAhB,CAAA,OAAAmD,UAAA,GAAAJ,MAAA,UAAA/C,CAAA,CAAAsB,OAAA,CAAAG,CAAA,YAAA8B,KAAA,cAAAC,EAAAxD,CAAA,KAAAA,CAAA,MAAAC,CAAA,CAAAD,CAAA,CAAAyD,CAAA,KAAAxD,CAAA,QAAAA,CAAA,CAAAoB,IAAA,CAAArB,CAAA,wBAAAA,CAAA,CAAA6C,IAAA,QAAA7C,CAAA,KAAA0D,KAAA,CAAA1D,CAAA,CAAA2D,MAAA,OAAAzD,CAAA,IAAAU,CAAA,UAAAX,EAAA,SAAAC,CAAA,CAAAF,CAAA,CAAA2D,MAAA,KAAAhC,CAAA,CAAAN,IAAA,CAAArB,CAAA,CAAAE,CAAA,SAAAD,CAAA,CAAAI,KAAA,CAAAL,CAAA,CAAAE,CAAA,EAAAD,CAAA,CAAAuC,IAAA,IAAAvC,CAAA,QAAAA,CAAA,CAAAI,KAAA,QAAAJ,CAAA,CAAAuC,IAAA,IAAAvC,CAAA,SAAAW,CAAA,CAAAiC,IAAA,CAAAjC,CAAA,SAAAiC,IAAA,CAAAb,CAAA,WAAAA,EAAA,SAAA3B,KAAA,QAAAmC,IAAA,KAAAoB,mBAAA,SAAAA,CAAA,SAAAC,CAAA,MAAAA,CAAA,IAAAC,CAAA,CAAA3D,MAAA,CAAAQ,SAAA,CAAAgB,CAAA,CAAAmC,CAAA,CAAAC,cAAA,CAAA9C,CAAA,CAAAd,MAAA,CAAAC,cAAA,WAAAJ,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAAAF,CAAA,CAAAC,CAAA,EAAAC,CAAA,CAAAG,KAAA,EAAA2D,CAAA,oBAAAC,MAAA,CAAAA,MAAA,IAAAR,CAAA,CAAAO,CAAA,CAAAvB,QAAA,eAAAyB,CAAA,CAAAF,CAAA,CAAAG,aAAA,oBAAAC,CAAA,CAAAJ,CAAA,CAAAK,WAAA,sBAAArE,CAAA,cAAAC,CAAA,EAAAD,CAAA,SAAAA,EAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAF,CAAA,CAAAC,CAAA,EAAAC,CAAA,EAAA2D,CAAA,CAAAS,IAAA,CAAArE,CAAA,KAAAkC,CAAA,IAAAoC,CAAA,IAAAvE,CAAA,CAAAuE,CAAA,CAAAd,CAAA,8BAAAe,CAAA,CAAArE,MAAA,CAAAsE,cAAA,CAAAC,CAAA,CAAAF,CAAA,EAAAA,CAAA,CAAAA,CAAA,CAAAhB,CAAA,OAAAkB,CAAA,EAAAA,CAAA,GAAAZ,CAAA,EAAAnC,CAAA,CAAAN,IAAA,CAAAqD,CAAA,CAAAjB,CAAA,IAAAc,CAAA,CAAAG,CAAA,MAAAC,CAAA,CAAAjE,CAAA,CAAAC,SAAA,CAAAC,CAAA,CAAAD,SAAA,CAAAR,MAAA,CAAAW,MAAA,CAAAyD,CAAA,SAAA9D,CAAA,CAAAE,SAAA,CAAAD,CAAA,CAAAO,CAAA,CAAA0D,CAAA,gBAAAtE,KAAA,CAAAK,CAAA,CAAAH,YAAA,MAAAU,CAAA,CAAAP,CAAA,gBAAAL,KAAA,CAAAI,CAAA,CAAAF,YAAA,MAAAE,CAAA,CAAAmE,WAAA,CAAA5E,CAAA,CAAAU,CAAA,CAAA0D,CAAA,sBAAAP,CAAA,CAAAgB,mBAAA,UAAA7E,CAAA,MAAAC,CAAA,oBAAAD,CAAA,EAAAA,CAAA,CAAA8E,WAAA,SAAA7E,CAAA,GAAAA,CAAA,GAAAQ,CAAA,yBAAAR,CAAA,CAAA2E,WAAA,EAAA3E,CAAA,CAAA8E,IAAA,IAAAlB,CAAA,CAAAmB,IAAA,UAAA/E,CAAA,SAAAE,MAAA,CAAA8E,cAAA,CAAA9E,MAAA,CAAA8E,cAAA,CAAAhF,CAAA,CAAAS,CAAA,GAAAT,CAAA,CAAAiF,SAAA,CAAAxE,CAAA,CAAAV,CAAA,CAAAC,CAAA,CAAAmE,CAAA,uBAAAnE,CAAA,CAAAU,SAAA,CAAAR,MAAA,CAAAW,MAAA,CAAA6D,CAAA,EAAA1E,CAAA,EAAA4D,CAAA,CAAAsB,KAAA,UAAAnF,CAAA,SAAA6B,OAAA,CAAA7B,CAAA,GAAAa,CAAA,CAAAE,CAAA,CAAAJ,SAAA,EAAAX,CAAA,CAAAe,CAAA,CAAAJ,SAAA,CAAAuD,CAAA,0BAAAL,CAAA,CAAAuB,aAAA,CAAArE,CAAA,CAAA8C,CAAA,CAAAwB,KAAA,UAAArF,CAAA,CAAAE,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAA,CAAA,CAAA4E,OAAA,MAAAzE,CAAA,KAAAE,CAAA,CAAAd,CAAA,CAAAD,CAAA,CAAAE,CAAA,CAAAU,CAAA,CAAAH,CAAA,EAAAC,CAAA,SAAAmD,CAAA,CAAAgB,mBAAA,CAAA3E,CAAA,EAAAW,CAAA,CAAAA,CAAA,CAAAgC,IAAA,GAAAf,IAAA,UAAA9B,CAAA,SAAAA,CAAA,CAAAwC,IAAA,CAAAxC,CAAA,CAAAK,KAAA,CAAAQ,CAAA,CAAAgC,IAAA,MAAAhC,CAAA,CAAA8D,CAAA,EAAA3E,CAAA,CAAA2E,CAAA,CAAAP,CAAA,cAAApE,CAAA,CAAA2E,CAAA,CAAAlB,CAAA,0BAAAzD,CAAA,CAAA2E,CAAA,oDAAAd,CAAA,CAAA0B,IAAA,UAAAvF,CAAA,MAAAC,CAAA,CAAAE,MAAA,CAAAH,CAAA,EAAAE,CAAA,YAAAU,CAAA,IAAAX,CAAA,CAAAC,CAAA,CAAAkD,IAAA,CAAAxC,CAAA,SAAAV,CAAA,CAAAsF,OAAA,YAAAxF,EAAA,OAAAE,CAAA,CAAAyD,MAAA,OAAA/C,CAAA,CAAAV,CAAA,CAAAuF,GAAA,MAAA7E,CAAA,IAAAX,CAAA,QAAAD,CAAA,CAAAK,KAAA,CAAAO,CAAA,CAAAZ,CAAA,CAAAwC,IAAA,IAAAxC,CAAA,QAAAA,CAAA,CAAAwC,IAAA,IAAAxC,CAAA,GAAA6D,CAAA,CAAA6B,MAAA,CAAAlC,CAAA,CAAAxC,CAAA,CAAAL,SAAA,EAAAmE,WAAA,CAAA9D,CAAA,CAAAuC,KAAA,UAAAA,MAAAvD,CAAA,UAAA2F,IAAA,QAAA9C,IAAA,QAAAT,IAAA,MAAAC,KAAA,aAAAG,IAAA,SAAAN,QAAA,WAAAD,MAAA,aAAAb,GAAA,aAAA+B,UAAA,CAAA7B,OAAA,CAAA+B,CAAA,GAAArD,CAAA,SAAAC,CAAA,eAAAA,CAAA,CAAA2F,MAAA,KAAAjE,CAAA,CAAAN,IAAA,MAAApB,CAAA,IAAAyD,KAAA,EAAAzD,CAAA,CAAA4F,KAAA,YAAA5F,CAAA,WAAA6F,IAAA,UAAAA,KAAA,OAAAtD,IAAA,QAAAxC,CAAA,MAAAmD,UAAA,IAAAG,UAAA,cAAAtD,CAAA,CAAAmB,IAAA,OAAAnB,CAAA,CAAAoB,GAAA,aAAA2E,IAAA,EAAAzD,iBAAA,UAAAA,kBAAAtC,CAAA,WAAAC,GAAA,CAAAW,CAAA,SAAAF,CAAA,CAAAS,IAAA,SAAAT,CAAA,CAAAU,GAAA,CAAApB,CAAA,CAAAE,CAAA,CAAA2C,IAAA,CAAA5C,CAAA,CAAAW,CAAA,GAAAV,CAAA,CAAA+B,MAAA,QAAA/B,CAAA,CAAAkB,GAAA,WAAAR,CAAA,SAAA4B,IAAA,OAAAxC,CAAA,SAAAE,CAAA,MAAAU,CAAA,MAAAuC,UAAA,CAAAQ,MAAA,MAAA/C,CAAA,GAAAA,CAAA,MAAAH,CAAA,MAAA0C,UAAA,CAAAvC,CAAA,EAAAF,CAAA,CAAAD,CAAA,CAAA6C,UAAA,aAAA7C,CAAA,CAAAsC,MAAA,QAAA9C,CAAA,WAAAQ,CAAA,CAAAsC,MAAA,OAAA4C,IAAA,MAAA9E,CAAA,CAAAc,CAAA,CAAAN,IAAA,CAAAZ,CAAA,aAAAM,CAAA,CAAAY,CAAA,CAAAN,IAAA,CAAAZ,CAAA,kBAAAI,CAAA,EAAAE,CAAA,UAAA4E,IAAA,CAAAlF,CAAA,CAAAuC,QAAA,QAAA/C,CAAA,CAAAQ,CAAA,CAAAuC,QAAA,aAAA2C,IAAA,CAAAlF,CAAA,CAAAwC,UAAA,QAAAhD,CAAA,CAAAQ,CAAA,CAAAwC,UAAA,WAAApC,CAAA,MAAAE,CAAA,WAAAgB,KAAA,mDAAA4D,IAAA,CAAAlF,CAAA,CAAAwC,UAAA,QAAAhD,CAAA,CAAAQ,CAAA,CAAAwC,UAAA,eAAA0C,IAAA,CAAAlF,CAAA,CAAAuC,QAAA,QAAA/C,CAAA,CAAAQ,CAAA,CAAAuC,QAAA,QAAAT,MAAA,UAAAA,OAAAvC,CAAA,CAAAC,CAAA,UAAAC,CAAA,CAAAU,CAAA,MAAAuC,UAAA,CAAAQ,MAAA,MAAA/C,CAAA,GAAAA,CAAA,IAAAV,CAAA,MAAAiD,UAAA,CAAAvC,CAAA,EAAAV,CAAA,CAAA6C,MAAA,OAAA4C,IAAA,EAAAhE,CAAA,CAAAN,IAAA,CAAAnB,CAAA,qBAAAyF,IAAA,CAAAzF,CAAA,CAAA+C,UAAA,MAAAxC,CAAA,CAAAP,CAAA,OAAAO,CAAA,aAAAT,CAAA,eAAAA,CAAA,GAAAS,CAAA,CAAAsC,MAAA,EAAA9C,CAAA,EAAAA,CAAA,EAAAQ,CAAA,CAAAwC,UAAA,GAAAxC,CAAA,WAAAC,CAAA,CAAAD,CAAA,CAAAA,CAAA,CAAA6C,UAAA,WAAA5C,CAAA,CAAAS,IAAA,CAAAnB,CAAA,CAAAU,CAAA,CAAAU,GAAA,CAAAnB,CAAA,CAAAQ,CAAA,OAAAwB,MAAA,aAAAY,IAAA,CAAApC,CAAA,CAAAwC,UAAA,CAAAd,CAAA,OAAA6D,QAAA,CAAAtF,CAAA,GAAAsF,QAAA,UAAAA,SAAAhG,CAAA,CAAAC,CAAA,eAAAD,CAAA,CAAAmB,IAAA,OAAAnB,CAAA,CAAAoB,GAAA,iBAAApB,CAAA,CAAAmB,IAAA,eAAAnB,CAAA,CAAAmB,IAAA,MAAA0B,IAAA,CAAA7C,CAAA,CAAAoB,GAAA,YAAApB,CAAA,CAAAmB,IAAA,OAAA4E,IAAA,MAAA3E,GAAA,CAAApB,CAAA,CAAAoB,GAAA,MAAAa,MAAA,eAAAY,IAAA,mBAAA7C,CAAA,CAAAmB,IAAA,EAAAlB,CAAA,QAAA4C,IAAA,CAAA5C,CAAA,EAAAkC,CAAA,EAAA8D,MAAA,UAAAA,OAAAjG,CAAA,UAAAC,CAAA,CAAAC,CAAA,MAAAiD,UAAA,CAAAQ,MAAA,MAAAzD,CAAA,GAAAA,CAAA,IAAAD,CAAA,MAAAkD,UAAA,CAAAjD,CAAA,EAAAD,CAAA,CAAAgD,UAAA,GAAAjD,CAAA,aAAAgG,QAAA,CAAA/F,CAAA,CAAAqD,UAAA,CAAArD,CAAA,CAAAiD,QAAA,EAAAG,CAAA,CAAApD,CAAA,EAAAkC,CAAA,EAAA+D,KAAA,UAAAC,OAAAnG,CAAA,UAAAC,CAAA,CAAAC,CAAA,MAAAiD,UAAA,CAAAQ,MAAA,MAAAzD,CAAA,GAAAA,CAAA,IAAAD,CAAA,MAAAkD,UAAA,CAAAjD,CAAA,EAAAD,CAAA,CAAA8C,MAAA,GAAA/C,CAAA,MAAAY,CAAA,CAAAX,CAAA,CAAAqD,UAAA,cAAA1C,CAAA,CAAAO,IAAA,MAAAV,CAAA,CAAAG,CAAA,CAAAQ,GAAA,CAAAiC,CAAA,CAAApD,CAAA,SAAAQ,CAAA,WAAAsB,KAAA,2BAAAqE,aAAA,UAAAA,cAAApG,CAAA,CAAAC,CAAA,CAAAC,CAAA,cAAAgC,QAAA,EAAAO,QAAA,CAAAe,CAAA,CAAAxD,CAAA,EAAA4C,UAAA,CAAA3C,CAAA,CAAA6C,OAAA,CAAA5C,CAAA,gBAAA+B,MAAA,QAAAb,GAAA,SAAAe,CAAA,GAAA0B,CAAA,UAAAwC,mBAAArG,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,UAAAE,CAAA,CAAAf,CAAA,CAAAU,CAAA,EAAAG,CAAA,EAAAK,CAAA,CAAAH,CAAA,CAAAV,KAAA,OAAAL,CAAA,cAAAE,CAAA,CAAAF,CAAA,EAAAe,CAAA,CAAAyB,IAAA,CAAAvC,CAAA,CAAAiB,CAAA,EAAAoE,OAAA,CAAA1D,OAAA,CAAAV,CAAA,EAAAY,IAAA,CAAAlB,CAAA,CAAAH,CAAA,WAAA6F,kBAAAtG,CAAA,wBAAAC,CAAA,MAAAC,CAAA,CAAAqG,SAAA,YAAAjB,OAAA,UAAA1E,CAAA,CAAAH,CAAA,WAAAC,EAAAV,CAAA,EAAAqG,kBAAA,CAAAtF,CAAA,CAAAH,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,QAAAb,CAAA,WAAAa,EAAAb,CAAA,EAAAqG,kBAAA,CAAAtF,CAAA,CAAAH,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,SAAAb,CAAA,MAAAe,CAAA,CAAAf,CAAA,CAAAwG,KAAA,CAAAvG,CAAA,CAAAC,CAAA,EAAAQ,CAAA,qBAAA+F,gBAAAzG,CAAA,CAAAC,CAAA,OAAAD,CAAA,YAAAC,CAAA,YAAA0C,SAAA,+CAAA+D,kBAAA1G,CAAA,CAAAC,CAAA,UAAAC,CAAA,CAAAU,CAAA,GAAAA,CAAA,CAAAX,CAAA,CAAA0D,MAAA,CAAA/C,CAAA,GAAAV,CAAA,CAAAD,CAAA,CAAAW,CAAA,EAAAV,CAAA,CAAAI,UAAA,CAAAJ,CAAA,CAAAI,UAAA,KAAAJ,CAAA,CAAAK,YAAA,cAAAL,CAAA,GAAAA,CAAA,CAAAM,QAAA,KAAAL,MAAA,CAAAC,cAAA,CAAAJ,CAAA,CAAA2G,cAAA,CAAAzG,CAAA,CAAA0G,GAAA,EAAA1G,CAAA,WAAA2G,aAAA7G,CAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAD,CAAA,EAAAyG,iBAAA,CAAA1G,CAAA,CAAAW,SAAA,CAAAV,CAAA,EAAAC,CAAA,EAAAwG,iBAAA,CAAA1G,CAAA,CAAAE,CAAA,EAAAC,MAAA,CAAAC,cAAA,CAAAJ,CAAA,cAAAQ,QAAA,MAAAR,CAAA,UAAA8G,gBAAA9G,CAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAD,CAAA,CAAA0G,cAAA,CAAA1G,CAAA,EAAAA,CAAA,IAAAD,CAAA,CAAAG,MAAA,CAAAC,cAAA,CAAAJ,CAAA,CAAAC,CAAA,EAAAI,KAAA,CAAAH,CAAA,CAAAI,UAAA,IAAAC,YAAA,IAAAC,QAAA,MAAAR,CAAA,CAAAC,CAAA,EAAAC,CAAA,CAAAF,CAAA,UAAA2G,eAAA3G,CAAA,MAAAC,CAAA,CAAA8G,YAAA,CAAA/G,CAAA,4BAAA0B,OAAA,CAAAzB,CAAA,EAAAA,CAAA,CAAAA,CAAA,aAAA8G,aAAA/G,CAAA,CAAAC,CAAA,gBAAAyB,OAAA,CAAA1B,CAAA,UAAAA,CAAA,QAAAA,CAAA,KAAAE,CAAA,CAAAF,CAAA,CAAAiE,MAAA,CAAA+C,WAAA,KAAA9G,CAAA,eAAAU,CAAA,CAAAV,CAAA,CAAAmB,IAAA,CAAArB,CAAA,CAAAC,CAAA,2BAAAyB,OAAA,CAAAd,CAAA,SAAAA,CAAA,WAAA+B,SAAA,mEAAA1C,CAAA,CAAAgH,MAAA,CAAAC,MAAA,EAAAlH,CAAA,KAkDa,CAAAmH,qBAAqB,yBAgBhC,SAAAnH,EAAAC,CAAA,CAMwC,IALtC,CAAAmH,CAAQ,CAAAnH,CAAA,CAARmH,QAAQ,CACRC,CAAO,CAAApH,CAAA,CAAPoH,OAAO,CACPC,CAAS,CAAArH,CAAA,CAATqH,SAAS,CACTC,CAA2B,CAAAtH,CAAA,CAA3BsH,2BAA2B,CAC3BC,CAAwB,CAAAvH,CAAA,CAAxBuH,wBAAwB,CASxB,GAAAf,eAAA,MAAAzG,CAAA,EAAA8G,eAAA,4CAAAA,eAAA,sCA5B2D,IAAI,EAAAA,eAAA,gCACV,IAAI,EAAAA,eAAA,4BACJ,CAAC,CAAC,EAAAA,eAAA,sBACd,CAAC,CAAC,EAAAA,eAAA,0BACMW,qCAA0B,EAAAX,eAAA,yBAAAA,eAAA,2BAAAA,eAAA,wBAAAA,eAAA,0BAAAA,eAAA,4BAAAA,eAAA,4CAAAA,eAAA,8BAQ3EY,0CAA+B,CAAGC,mBAAY,CAACC,MAAM,EASrD,IAAI,CAACN,SAAS,CAAGA,CAAS,CAC1B,IAAI,CAACF,QAAQ,CAAGA,CAAQ,CACxB,IAAI,CAACS,UAAU,CAAG,GAAI,CAAAC,IAAM,CAC5B,IAAI,CAACT,OAAO,CAAGA,CAAO,CACtB,IAAI,CAACU,eAAe,EAAE,CACtB,IAAI,CAACR,2BAA2B,CAAGA,CAA2B,CAE1DC,CAAwB,CAAE,CAC5B,IAAI,CAACQ,qBAAqB,CACxBR,CAAwB,CAAGG,mBAAY,CAACC,MAAM,CAEhD,GAAM,CAAAK,CAAsB,CACC,CAAC,CAA5BT,CAA4B,CAAG,CAAC,CAAGA,CAAwB,CAE7D;AACA;AACA;AACA,GAAI,CACF,IAAI,CAACU,uBAAuB,CAAGC,WAAW,CACxC,IAAI,CAACC,4BAA4B,CAACC,IAAI,CAAC,IAAI,CAAC,CAC5CJ,CAAsB,CAAGN,mBAAY,CAACC,MAAM,CAEhD,CAAE,MAAOU,CAAG,CAAE,CAKZ,KAJI,KAAI,CAACJ,uBAAuB,EAC9BK,aAAa,CAAC,IAAI,CAACL,uBAAuB,CAAC,CAGvCI,CACR,CACF,CACF,CAAC,OAAAzB,YAAA,CAAA7G,CAAA,GAAA4G,GAAA,cAAAvG,KAAA,qBAAAL,EAAA,SAAAC,CAAA,CAAAuG,KAAA,MAAAD,SAAA,MAAAtG,CAAA,CAAAqG,iBAAA,cAAA1C,mBAAA,GAAAoB,IAAA,CAED,SAAA9E,EACEsI,CAAoD,CACpDC,CAAkB,MAAA7H,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,aAAA+C,mBAAA,GAAAU,IAAA,UAAApE,CAAA,gBAAAA,CAAA,CAAAyF,IAAA,CAAAzF,CAAA,CAAA2C,IAAA,YAEZ6F,CAAY,CAAG,IAAI,CAACC,iBAAiB,EAAE,EAGzCD,CAAY,EAAAxI,CAAA,CAAA2C,IAAA,gBAAA3C,CAAA,CAAA2C,IAAA,GACa,IAAI,CAAC+F,yBAAyB,CAAC,CAAEH,QAAQ,CAARA,CAAS,CAAC,CAAC,WAAjEI,CAAY,CAAA3I,CAAA,CAAAkC,IAAA,CAEbyG,CAAY,CAACC,EAAE,EAAA5I,CAAA,CAAA2C,IAAA,gBAAA3C,CAAA,CAAAqC,MAAA,UACXsG,CAAY,YAQrB,KAAI,CAACE,iBAAiB,CAACC,aAAa,CAACC,cAAc,EAClD,IAAI,CAAC1B,2BAA2B,EAAArH,CAAA,CAAA2C,IAAA,UAE7B,IAAI,CAACqG,6BAA6B,EACpCX,aAAa,CAAC,IAAI,CAACW,6BAA6B,CAAC,CAGnD,IAAI,CAACC,WAAW,CAAG,GAAI,CAAAC,gCAAmB,CACxC,IAAI,CAAChC,QAAQ,CAACiC,QAAQ,CACtBb,CAAmB,CACpB,CAEKc,CAAmB,CAAG,QAAAA,CAAA,CAAwB,CAClDzI,CAAI,CAAC+H,yBAAyB,CAAC,CAAEH,QAAQ,CAARA,CAAS,CAAC,CAAC,CAExC5H,CAAI,CAAC0I,2BAA2B,EAClC1I,CAAI,CAAC0I,2BAA2B,EAEpC,CAAC,CAED,IAAI,CAACJ,WAAW,CAACK,IAAI,CAACF,CAAmB,CAAC,CAAApJ,CAAA,CAAA2C,IAAA,kBAKtC,IAAI,CAACsG,WAAW,EAClB,IAAI,CAACA,WAAW,CAACM,KAAK,EAAE,CAGtB,IAAI,CAACP,6BAA6B,EACpCX,aAAa,CAAC,IAAI,CAACW,6BAA6B,CAAC,CAAAhJ,CAAA,CAAAyF,IAAA,IAOjD,IAAI,CAACuD,6BAA6B,CAAGf,WAAW,CAC9C,iBAAM,CAAAtH,CAAI,CAAC+H,yBAAyB,CAACP,IAAI,CAACxH,CAAI,CAAC,CAAC,CAAE4H,QAAQ,CAARA,CAAS,CAAC,CAAC,EAC7D,IAAI,CAACrB,QAAQ,CAACsC,cAAc,CAC7B,CAAAxJ,CAAA,CAAA2C,IAAA,wBAAA3C,CAAA,CAAAyF,IAAA,IAAAzF,CAAA,CAAAyJ,EAAA,CAAAzJ,CAAA,cAEG,IAAI,CAACgJ,6BAA6B,EACpCX,aAAa,CAAC,IAAI,CAACW,6BAA6B,CAAC,CAAAhJ,CAAA,CAAAyJ,EAAA,gBAAAzJ,CAAA,CAAAqC,MAAA,UAOhD,GAAAqH,SAAE,GAAE,2BAAA1J,CAAA,CAAA4F,IAAA,MAAA5F,CAAA,iBACZ,UAAAF,CAAA,MAAA4G,GAAA,oBAAAvG,KAAA,CAED,SAAAwJ,iBACEC,CAAmB,CAEW,KAAA7J,CAAA,MACxB6J,CAAW,GAAI,KAAI,CAACC,aAAa,GACrC,IAAI,CAACA,aAAa,CAACD,CAAW,CAAC,CAAG,CAAC,CAAC,UAAA5J,CAAA,CAAAqG,SAAA,CAAA5C,MAAA,CAHnCqG,CAAI,CAAAC,KAAA,GAAA/J,CAAA,CAAAA,CAAA,MAAAO,CAAA,GAAAA,CAAA,CAAAP,CAAA,CAAAO,CAAA,GAAJuJ,CAAI,CAAAvJ,CAAA,IAAA8F,SAAA,CAAA9F,CAAA,EAWPuJ,CAAI,CAAC1I,OAAO,CAAC,SAAC4I,CAAQ,CAAK,CACzB;AACA,GAAIC,oBAAS,CAACC,YAAY,CAACF,CAAQ,CAAC,CAAE,IAC9B,CAAAG,CAAU,CAAAC,aAAA,CAAAA,aAAA,IACXJ,CAAQ,CAACF,IAAI,MAChBO,gBAAgB,CAAEzC,IAAI,CAAC0C,GAAG,EAAE,EAC7B,CACKC,CAAgB,EACpBC,4BAAa,CAACC,UAAU,GAAI,CAAA1K,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,EAGzDW,CAAgB,CAEhBxK,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,CAC7BO,CAAU,CAAClJ,IAAI,CAChB,CACDkJ,CAAU,CAACO,KAAK,CAAC,CAAGP,CAAU,CAGhCpK,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,CAAAQ,aAAA,CAAAA,aAAA,IAC1BrK,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,KAAAhD,eAAA,IACjCuD,CAAU,CAAClJ,IAAI,CAAAmJ,aAAA,CAAAA,aAAA,IACXrK,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,CAACO,CAAU,CAAClJ,IAAI,CAAC,KAAA2F,eAAA,IAClDuD,CAAU,CAACO,KAAK,CAAGP,CAAU,IAKtC,CAAC,IAAM,IACC,CAAAL,CAAI,CAAAM,aAAA,CAAAA,aAAA,IAAQJ,CAAQ,CAACF,IAAI,MAAEO,gBAAgB,CAAEzC,IAAI,CAAC0C,GAAG,EAAE,EAAE,CACzDK,CAAU,EACdX,CAAQ,CAACF,IAAI,CAAC7I,IAAI,GAAI,CAAAlB,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,EAGnDe,CAAU,CACX5K,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,CAC9BI,CAAQ,CAACF,IAAI,CAAC7I,IAAI,CACnB,CAAmD6I,CAAI,CAGxD/J,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,CAAAQ,aAAA,CAAAA,aAAA,IAC1BrK,CAAI,CAAC8J,aAAa,CAACD,CAAW,CAAC,KAAAhD,eAAA,IACjCoD,CAAQ,CAACF,IAAI,CAAC7I,IAAI,CAAG6I,CAAI,EAGhC,CACF,CAAC,CAAC,CAEF;AACA;AACA,GAAM,CAAAc,CAAM,CAAG,IAAI,CAACC,iBAAiB,CAAC,IAAI,CAAClD,UAAU,CAAC,CAsBtD,MApBI,CAAAiD,CAAM,CAAChC,EAAE,EACXkB,CAAI,CAAC1I,OAAO,CAAC,SAAC4I,CAAQ,CAAK,CACpBjK,CAAI,CAAC+K,mBAAmB,CAAClB,CAAW,CAAC,GACxC7J,CAAI,CAAC+K,mBAAmB,CAAClB,CAAW,CAAC,CAAG,EAAE,EAI1C7J,CAAI,CAAC+I,aAAa,CAACiC,0BAA0B,CAACtH,MAAM,EACpDwG,oBAAS,CAACC,YAAY,CAACF,CAAQ,CAAC,EAChCjK,CAAI,CAAC+I,aAAa,CAACiC,0BAA0B,CAACC,QAAQ,CACpDhB,CAAQ,CAACF,IAAI,CAACY,KAAK,CACpB,EAKH3K,CAAI,CAAC+K,mBAAmB,CAAClB,CAAW,CAAC,CAAC1G,IAAI,CAAC8G,CAAQ,CACrD,CAAC,CAAC,CAGGY,CACT,CAAC,GAAAlE,GAAA,iBAAAvG,KAAA,CAED,SAAA8K,cAAqBrB,CAAmB,CAAuB,CAC7D,GAAM,CAAAsB,CAAc,CAAG,IAAI,CAACJ,mBAAmB,CAAClB,CAAW,CAAC,CAAC,MAExD,CAAAsB,CAAc,CAIZA,CAAc,CAHZ,EAIX,CAAC,GAAAxE,GAAA,mBAAAvG,KAAA,CAED,SAAAgL,gBAAuBvB,CAAmB,CAAQ,CAChD,MAAO,KAAI,CAACkB,mBAAmB,CAAClB,CAAW,CAC7C,CAAC,GAAAlD,GAAA,yBAAAvG,KAAA,CAED,SAAAiL,sBAA6BC,CAAoB,CAAQ,CACvD,IAAI,CAAChC,2BAA2B,CAAGgC,CACrC,CAAC,GAAA3E,GAAA,cAAA4E,GAAA,CAED,SAAAA,IAAA,CAA0C,CACxC,MAAO,KAAI,CAACR,mBACd,CAAC,GAAApE,GAAA,uBAAA4E,GAAA,CAED,SAAAA,IAAA,CAA6C,CAC3C,MAAO,KAAI,CAACzB,aACd,CAAC,GAAAnD,GAAA,eAAA4E,GAAA,CAED,SAAAA,IAAA,CAAwC,CACtC,MAAO,KAAI,CAACzC,iBAAiB,CAAC0C,WAChC,CAAC,GAAA7E,GAAA,gBAAA4E,GAAA,CAED,SAAAA,IAAA,CAAsC,CACpC,MAAO,KAAI,CAACzC,iBAAiB,CAAC2C,YAChC,CAAC,GAAA9E,GAAA,iBAAA4E,GAAA,CAED,SAAAA,IAAA,CAAuC,CACrC,MAAO,KAAI,CAACzC,iBAAiB,CAACC,aAChC,CAAC,GAAApC,GAAA,qBAAAvG,KAAA,CAED,SAAAsI,kBAAA,CAAqC,KAAA3I,CAAA,CACkB,IAAI,CAAC+I,iBAAiB,CAAnE2C,CAAY,CAAA1L,CAAA,CAAZ0L,YAAY,CAAED,CAAW,CAAAzL,CAAA,CAAXyL,WAAW,CAAEzC,CAAa,CAAAhJ,CAAA,CAAbgJ,aAAa,CACxCU,CAAc,CAAK,IAAI,CAACtC,QAAQ,CAAhCsC,cAAc,CAEtB,GAAI,CAACgC,CAAY,CAAC/H,MAAM,EAAI,CAAC8H,CAAW,CAAC9H,MAAM,CAC7C,SAGF,GAAIqF,CAAa,CAACC,cAAc,CAC9B,SACD,GAEK,CAAA0C,CAAc,CAAG,IAAI,CAAC9D,UAAU,CAAC+D,OAAO,EAAE,CAC1CC,CAAgB,CAAG/D,IAAI,CAAC0C,GAAG,EAAE,CAAGd,CAAc,CAEpD,MAAO,CAAAiC,CAAc,CAAGE,CAC1B,CAAC,GAAAjF,GAAA,gCAAAvG,KAAA,CAED,SAAA+H,6BAAA,CAA6C,CAG3C,OAFM,CAAA0D,CAAW,CAAGhE,IAAI,CAAC0C,GAAG,EAAE,CAAAvK,CAAA,GAAAC,CAAA,CAEoBC,MAAM,CAAC4L,OAAO,CAC9D,IAAI,CAAChC,aAAa,CACnB,CAAA9J,CAAA,CAAAC,CAAA,CAAAyD,MAAA,CAAA1D,CAAA,GAAE,KAAAW,CAAA,CAAAoL,cAAA,CAAA9L,CAAA,CAAAD,CAAA,KAFS6J,CAAW,CAAAlJ,CAAA,IAAEqL,CAAoB,CAAArL,CAAA,IAGnCyJ,CAAU,CAAc4B,CAAoB,CAA5C5B,UAAU,CAAK6B,CAAI,CAAAC,wBAAA,CAAKF,CAAoB,CAAAG,SAAA,EAEpD,GAAI/B,CAAU,CACZ,QAAAnJ,CAAA,GAAAM,CAAA,CAAgCrB,MAAM,CAAC4L,OAAO,CAAC1B,CAAU,CAAC,CAAAnJ,CAAA,CAAAM,CAAA,CAAAmC,MAAA,CAAAzC,CAAA,GAAE,CAAvD,IAAAO,CAAA,CAAAuK,cAAA,CAAAxK,CAAA,CAAAN,CAAA,KAAO0J,CAAK,CAAAnJ,CAAA,IAAEyI,CAAQ,CAAAzI,CAAA,IACzB,GAAIyI,CAAQ,CAAE,IACN,CAAAmC,CAAa,CACjBnC,CAAQ,CAACK,gBAAgB,CAAG,IAAI,CAACvC,qBAAqB,CACtD8D,CAAW,CACPQ,CAAY,CAAGL,CAAoB,CAACvB,4BAAa,CAACC,UAAU,CAAC,CAE/D0B,CAAa,EAAIC,CAAY,EAC/B,MAAO,CAAAA,CAAY,EAAQ1B,CAAK,CAAE,CAGhC0B,CAAY,EAAI,CAACnM,MAAM,CAACoF,IAAI,CAAC+G,CAAY,CAAC,CAAC3I,MAAM,EACnD,MAAO,CAAAsI,CAAoB,CAACvB,4BAAa,CAACC,UAAU,CAExD,CACF,CAGF,QAAA9G,CAAA,GAAAC,CAAA,CAA8B3D,MAAM,CAAC4L,OAAO,CAACG,CAAI,CAAC,CAAArI,CAAA,CAAAC,CAAA,CAAAH,MAAA,CAAAE,CAAA,GAAE,KAAAlC,CAAA,CAAAqK,cAAA,CAAAlI,CAAA,CAAAD,CAAA,KAAxC+C,CAAG,CAAAjF,CAAA,IAAEuI,CAAQ,CAAAvI,CAAA,IACjB0K,CAAa,CACjBnC,CAAQ,CAACK,gBAAgB,CAAG,IAAI,CAACvC,qBAAqB,CAAG8D,CAAW,CAElEO,CAAa,EACf,MAAO,CAAAJ,CAAoB,CAACrF,CAAG,CAEnC,CAEKzG,MAAM,CAACoF,IAAI,CAAC,IAAI,CAACwE,aAAa,CAACD,CAAW,CAAC,CAAC,CAACnG,MAAM,EACtD,MAAO,KAAI,CAACoG,aAAa,CAACD,CAAW,CAEzC,CAEA;AACA;AACA,IAAI,CAACiB,iBAAiB,CAAC,IAAI,CAAClD,UAAU,CAAC,CAAC0E,KAAK,EAC/C,CAAC,GAAA3F,GAAA,mBAAAvG,KAAA,CAED,SAAA0H,gBAAA,CAAgC,CAC9B,GAAM,CAAA+C,CAAM,CAAG,IAAI,CAACzD,OAAO,CAACmF,IAAI,EAAE,CAElC,GAAI1B,CAAM,CAAChC,EAAE,CAAE,CACb,IAAA7I,CAAA,CACE6K,CAAM,CAACd,IAAI,CADLyC,CAAsB,CAAAxM,CAAA,CAAtBwM,sBAAsB,CAAEC,CAAsB,CAAAzM,CAAA,CAAtByM,sBAAsB,CAAE7E,CAAU,CAAA5H,CAAA,CAAV4H,UAAU,CAGlE,IAAI,CAACkB,iBAAiB,CAAG2D,CAAsB,CAC/C,IAAI,CAAC3C,aAAa,CAAG0C,CAAsB,CAC3C,IAAI,CAAC5E,UAAU,CAAG,GAAI,CAAAC,IAAI,CAACA,IAAI,CAAC6E,KAAK,CAAC9E,CAAU,CAAC,CACnD,CACF,CAAC,GAAAjB,GAAA,6BAAAvG,KAAA,qBAAAL,EAAA,SAAAC,CAAA,CAAAuG,KAAA,MAAAD,SAAA,MAAAtG,CAAA,CAAAqG,iBAAA,cAAA1C,mBAAA,GAAAoB,IAAA,CAED,SAAAhF,EAAA,MAAAC,CAAA,CAAAC,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,CAAAE,CAAA,CAAAG,CAAA,CAAAM,CAAA,CAAAC,CAAA,CAAA4B,CAAA,CAAArC,CAAA,CAAAwC,CAAA,CAAAxB,CAAA,CAAA6B,CAAA,CAAAC,CAAA,CAAAnC,CAAA,CAAAV,CAAA,CAAAsF,SAAA,QAAA3C,mBAAA,GAAAU,IAAA,UAAAN,EAAAhE,CAAA,iBAAAA,CAAA,CAAA2F,IAAA,CAAA3F,CAAA,CAAA6C,IAAA,YAAA5C,CAAA,GAAAgB,CAAA,CAAA0C,MAAA,WAAA1C,CAAA,IAAAA,CAAA,IAGyC,CAAC,CAAC,CAAAf,CAAA,CAAAD,CAAA,CAFzCwI,QAAQ,CAARA,CAAQ,UAAAvI,CAAA,EAAAA,CAAA,CACR0M,CAAS,CAAA3M,CAAA,CAAT2M,SAAS,EAML,IAAI,CAACrF,2BAA2B,EAAAvH,CAAA,CAAA6C,IAAA,SAAAnC,CAAA,CAKhC,IAAI,CAAC6G,2BAA2B,CAD1ByB,CAAa,CAAAtI,CAAA,CAAbsI,aAAa,CAAEyC,CAAW,CAAA/K,CAAA,CAAX+K,WAAW,CAAEoB,CAAyB,CAAAnM,CAAA,CAAzBmM,yBAAyB,CAG7D,IAAI,CAAC9D,iBAAiB,CAAG,CACvBC,aAAa,CAAbA,CAAa,CACbyC,WAAW,CAAXA,CAAW,CACXC,YAAY,CAAEmB,CAChB,CAAC,CAAA7M,CAAA,CAAA6C,IAAA,wBAAA7C,CAAA,CAAA6C,IAAA,GAGO,IAAI,CAACyE,SAAS,CAACwF,sBAAsB,CAACF,CAAS,CAAC,WADlDG,CAAyB,CAAA/M,CAAA,CAAAoC,IAAA,CAG1B2K,CAAyB,CAACjE,EAAE,EAAA9I,CAAA,CAAA6C,IAAA,aAAApB,CAAA,CACO,IAAI,CAACsH,iBAAiB,CAApD2C,CAAY,CAAAjK,CAAA,CAAZiK,YAAY,CAAED,CAAW,CAAAhK,CAAA,CAAXgK,WAAW,GAE7BhD,CAAQ,EAAIiD,CAAY,CAAC/H,MAAM,EAAI8H,CAAW,CAAC9H,MAAM,GAAA3D,CAAA,CAAA6C,IAAA,iBAAA7C,CAAA,CAAAuC,MAAA,UAChD,GAAAqH,SAAE,KAAM,iBAAA5J,CAAA,CAAAuC,MAAA,UAGVwK,CAAyB,UAAAvJ,CAAA,CAOhCuJ,CAAyB,CAAC/C,IAAI,CADxBhB,CAAa,CAAAxF,CAAA,CAAbwF,aAAa,CAAEyC,CAAW,CAAAjI,CAAA,CAAXiI,WAAW,CAAEoB,CAAyB,CAAArJ,CAAA,CAAzBqJ,yBAAyB,CAG7D,IAAI,CAAC9D,iBAAiB,CAAG,CACvBC,aAAa,CAAbA,CAAa,CACbyC,WAAW,CAAXA,CAAW,CACXC,YAAY,CAAEmB,CAChB,CAAC,YAGG/B,CAAM,CAAG,IAAI,CAACC,iBAAiB,CAAC,GAAI,CAAAjD,IAAM,CAAC,CAE5CgD,CAAM,CAAChC,EAAE,EAAA9I,CAAA,CAAA6C,IAAA,iBAAA7C,CAAA,CAAAuC,MAAA,UACLuI,CAAM,iBAAA9K,CAAA,CAAAuC,MAAA,UAGR,GAAAqH,SAAE,KAAM,2BAAA5J,CAAA,CAAA8F,IAAA,MAAA9F,CAAA,OAChB,UAAAA,CAAA,MAAA4G,GAAA,qBAAAvG,KAAA,CAED,SAAA0K,kBAA0BlD,CAAgB,CAAgC,CACxE,GAAM,CAAAmC,CAAoB,CAAG,CAC3ByC,sBAAsB,CAAE,IAAI,CAAC1C,aAAa,CAC1C2C,sBAAsB,CAAE,IAAI,CAAC3D,iBAAiB,CAC9ClB,UAAU,CAAEA,CAAU,CAACmF,QAAQ,EACjC,CAAC,CAED,MAAO,KAAI,CAAC3F,OAAO,CAAC4F,KAAK,CAACjD,CAAI,CAChC,CAAC,IAAAhK,CAAA,IAAAkN,OAAA,CAAA/F,qBAAA,CAAAA,qBAAA"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
+
import { ConfigurationDataType } from 'src/campaignConfiguration';
|
|
1
2
|
/**
|
|
2
3
|
* @constant default cleanup interval in minutes
|
|
3
4
|
* */
|
|
4
5
|
export declare const CLEANUP_TARGETING_DATA_INTERVAL = 30;
|
|
5
|
-
export declare const
|
|
6
|
-
targetingData: {};
|
|
7
|
-
configurationData: {
|
|
8
|
-
experiments: never[];
|
|
9
|
-
featureFlags: never[];
|
|
10
|
-
configuration: {
|
|
11
|
-
realTimeUpdate: boolean;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
};
|
|
6
|
+
export declare const DEFAULT_CONFIGURATION_DATA: ConfigurationDataType;
|
|
@@ -1,23 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.DEFAULT_CAMPAIGN_CONFIGURATION = exports.CLEANUP_TARGETING_DATA_INTERVAL = void 0;
|
|
7
|
-
/**
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_CONFIGURATION_DATA=exports.CLEANUP_TARGETING_DATA_INTERVAL=void 0;/**
|
|
8
2
|
* @constant default cleanup interval in minutes
|
|
9
|
-
* */
|
|
10
|
-
const CLEANUP_TARGETING_DATA_INTERVAL = 30;
|
|
11
|
-
exports.CLEANUP_TARGETING_DATA_INTERVAL = CLEANUP_TARGETING_DATA_INTERVAL;
|
|
12
|
-
const DEFAULT_CAMPAIGN_CONFIGURATION = {
|
|
13
|
-
targetingData: {},
|
|
14
|
-
configurationData: {
|
|
15
|
-
experiments: [],
|
|
16
|
-
featureFlags: [],
|
|
17
|
-
configuration: {
|
|
18
|
-
realTimeUpdate: false
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
exports.DEFAULT_CAMPAIGN_CONFIGURATION = DEFAULT_CAMPAIGN_CONFIGURATION;
|
|
3
|
+
* */var CLEANUP_TARGETING_DATA_INTERVAL=30;exports.CLEANUP_TARGETING_DATA_INTERVAL=30;var DEFAULT_CONFIGURATION_DATA={experiments:[],featureFlags:[],configuration:{realTimeUpdate:!1,customDataLocalOnlyIndexes:[]}};exports.DEFAULT_CONFIGURATION_DATA=DEFAULT_CONFIGURATION_DATA;
|
|
23
4
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["CLEANUP_TARGETING_DATA_INTERVAL","exports","
|
|
1
|
+
{"version":3,"file":"constants.js","names":["CLEANUP_TARGETING_DATA_INTERVAL","exports","DEFAULT_CONFIGURATION_DATA","experiments","featureFlags","configuration","realTimeUpdate","customDataLocalOnlyIndexes"],"sources":["../../src/campaignConfiguration/constants.ts"],"sourcesContent":["import { ConfigurationDataType } from 'src/campaignConfiguration';\n\n/**\n * @constant default cleanup interval in minutes\n * */\nexport const CLEANUP_TARGETING_DATA_INTERVAL = 30;\n\nexport const DEFAULT_CONFIGURATION_DATA: ConfigurationDataType = {\n experiments: [],\n featureFlags: [],\n configuration: {\n realTimeUpdate: false,\n customDataLocalOnlyIndexes: [],\n },\n};\n"],"mappings":"sJAEA;AACA;AACA,KACO,GAAM,CAAAA,+BAA+B,CAAG,EAAE,CAACC,OAAA,CAAAD,+BAAA,IAE3C,GAAM,CAAAE,0BAAiD,CAAG,CAC/DC,WAAW,CAAE,EAAE,CACfC,YAAY,CAAE,EAAE,CAChBC,aAAa,CAAE,CACbC,cAAc,GAAO,CACrBC,0BAA0B,CAAE,EAC9B,CACF,CAAC,CAACN,OAAA,CAAAC,0BAAA,CAAAA,0BAAA"}
|
|
@@ -1,87 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "CLEANUP_TARGETING_DATA_INTERVAL", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _constants.CLEANUP_TARGETING_DATA_INTERVAL;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "CampaignConfiguration", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _campaignConfiguration.CampaignConfiguration;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "CampaignConfigurationType", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _types.CampaignConfigurationType;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "ConfigurationDataType", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _types.ConfigurationDataType;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "ExperimentItemType", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _types.ExperimentItemType;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "FeatureFlagType", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _types.FeatureFlagType;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "FeatureVariableType", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _types.FeatureVariableType;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(exports, "JSONType", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () {
|
|
51
|
-
return _types.JSONType;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(exports, "JSONValue", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
-
return _types.JSONValue;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
Object.defineProperty(exports, "RespoolTimeType", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
get: function () {
|
|
63
|
-
return _types.RespoolTimeType;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(exports, "RuleItemType", {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
get: function () {
|
|
69
|
-
return _types.RuleItemType;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(exports, "RuleType", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function () {
|
|
75
|
-
return _types.RuleType;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(exports, "VariationByExpositionType", {
|
|
79
|
-
enumerable: true,
|
|
80
|
-
get: function () {
|
|
81
|
-
return _types.VariationByExpositionType;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
var _types = require("./types");
|
|
85
|
-
var _campaignConfiguration = require("./campaignConfiguration");
|
|
86
|
-
var _constants = require("./constants");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"CLEANUP_TARGETING_DATA_INTERVAL",{enumerable:!0,get:function get(){return _constants.CLEANUP_TARGETING_DATA_INTERVAL}}),Object.defineProperty(exports,"CampaignConfiguration",{enumerable:!0,get:function get(){return _campaignConfiguration.CampaignConfiguration}}),Object.defineProperty(exports,"CampaignConfigurationType",{enumerable:!0,get:function get(){return _types.CampaignConfigurationType}}),Object.defineProperty(exports,"ConfigurationDataType",{enumerable:!0,get:function get(){return _types.ConfigurationDataType}}),Object.defineProperty(exports,"ExperimentItemType",{enumerable:!0,get:function get(){return _types.ExperimentItemType}}),Object.defineProperty(exports,"FeatureFlagType",{enumerable:!0,get:function get(){return _types.FeatureFlagType}}),Object.defineProperty(exports,"FeatureVariableType",{enumerable:!0,get:function get(){return _types.FeatureVariableType}}),Object.defineProperty(exports,"JSONType",{enumerable:!0,get:function get(){return _types.JSONType}}),Object.defineProperty(exports,"JSONValue",{enumerable:!0,get:function get(){return _types.JSONValue}}),Object.defineProperty(exports,"RespoolTimeType",{enumerable:!0,get:function get(){return _types.RespoolTimeType}}),Object.defineProperty(exports,"RuleItemType",{enumerable:!0,get:function get(){return _types.RuleItemType}}),Object.defineProperty(exports,"RuleType",{enumerable:!0,get:function get(){return _types.RuleType}}),Object.defineProperty(exports,"VariationByExpositionType",{enumerable:!0,get:function get(){return _types.VariationByExpositionType}});var _types=require("./types"),_campaignConfiguration=require("./campaignConfiguration"),_constants=require("./constants");
|
|
87
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/campaignConfiguration/index.ts"],"sourcesContent":["export {\n ConfigurationDataType,\n CampaignConfigurationType,\n VariationByExpositionType,\n FeatureVariableType,\n ExperimentItemType,\n RespoolTimeType,\n FeatureFlagType,\n RuleItemType,\n JSONValue,\n RuleType,\n JSONType,\n} from './types';\nexport { CampaignConfiguration } from './campaignConfiguration';\nexport { CLEANUP_TARGETING_DATA_INTERVAL } from './constants';\n"],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ClientSettingsType } from '
|
|
2
|
-
import { KameleoonDataType } from '
|
|
3
|
-
import { Requester, GetClientConfigurationResultType } from '
|
|
4
|
-
import { ClientDataType, IStorage } from '
|
|
5
|
-
import { SegmentType, TargetingDataType } from '
|
|
6
|
-
import { VariableType } from '
|
|
1
|
+
import { ClientSettingsType } from 'src/clientSettings';
|
|
2
|
+
import { KameleoonDataType } from 'src/kameleoonData';
|
|
3
|
+
import { Requester, GetClientConfigurationResultType } from 'src/requester';
|
|
4
|
+
import { ClientDataType, IStorage } from 'src/storage';
|
|
5
|
+
import { SegmentType, TargetingDataType } from 'src/targeting';
|
|
6
|
+
import { VariableType } from 'src/types';
|
|
7
7
|
export type UpdateClientConfigurationParameters = {
|
|
8
8
|
timeStamp?: number;
|
|
9
9
|
useCache?: boolean;
|
|
@@ -117,6 +117,7 @@ export type ConfigurationDataType = {
|
|
|
117
117
|
};
|
|
118
118
|
export type ConfigurationType = {
|
|
119
119
|
realTimeUpdate: boolean;
|
|
120
|
+
customDataLocalOnlyIndexes: number[];
|
|
120
121
|
};
|
|
121
122
|
export type CampaignConfigurationType = {
|
|
122
123
|
targetingData: TargetingDataType;
|
|
@@ -1,55 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.RuleType = exports.FeatureStatus = exports.FeatureFlagSdkLanguageType = exports.ExperimentType = exports.ExperimentStatus = void 0;
|
|
7
|
-
let ExperimentType = /*#__PURE__*/function (ExperimentType) {
|
|
8
|
-
ExperimentType["CLASSIC"] = "CLASSIC";
|
|
9
|
-
ExperimentType["SERVER_SIDE"] = "SERVER_SIDE";
|
|
10
|
-
ExperimentType["DEVELOPER"] = "DEVELOPER";
|
|
11
|
-
ExperimentType["MVT"] = "MVT";
|
|
12
|
-
ExperimentType["HYBRID"] = "HYBRID";
|
|
13
|
-
return ExperimentType;
|
|
14
|
-
}({});
|
|
15
|
-
exports.ExperimentType = ExperimentType;
|
|
16
|
-
let RuleType = /*#__PURE__*/function (RuleType) {
|
|
17
|
-
RuleType["PROGRESSIVE_DELIVERY"] = "PROGRESSIVE_DELIVERY";
|
|
18
|
-
RuleType["TARGETED_DELIVERY"] = "TARGETED_DELIVERY";
|
|
19
|
-
RuleType["EXPERIMENTATION"] = "EXPERIMENTATION";
|
|
20
|
-
return RuleType;
|
|
21
|
-
}({});
|
|
22
|
-
exports.RuleType = RuleType;
|
|
23
|
-
let FeatureFlagSdkLanguageType = /*#__PURE__*/function (FeatureFlagSdkLanguageType) {
|
|
24
|
-
FeatureFlagSdkLanguageType["ANDROID"] = "ANDROID";
|
|
25
|
-
FeatureFlagSdkLanguageType["SWIFT"] = "SWIFT";
|
|
26
|
-
FeatureFlagSdkLanguageType["JAVA"] = "JAVA";
|
|
27
|
-
FeatureFlagSdkLanguageType["CSHARP"] = "CSHARP";
|
|
28
|
-
FeatureFlagSdkLanguageType["NODEJS"] = "NODEJS";
|
|
29
|
-
FeatureFlagSdkLanguageType["PHP"] = "PHP";
|
|
30
|
-
FeatureFlagSdkLanguageType["RUBY"] = "RUBY";
|
|
31
|
-
FeatureFlagSdkLanguageType["GO"] = "GO";
|
|
32
|
-
FeatureFlagSdkLanguageType["FLUTTER"] = "FLUTTER";
|
|
33
|
-
FeatureFlagSdkLanguageType["REACTJS"] = "REACTJS";
|
|
34
|
-
return FeatureFlagSdkLanguageType;
|
|
35
|
-
}({});
|
|
36
|
-
exports.FeatureFlagSdkLanguageType = FeatureFlagSdkLanguageType;
|
|
37
|
-
let FeatureStatus = /*#__PURE__*/function (FeatureStatus) {
|
|
38
|
-
FeatureStatus["ACTIVATED"] = "ACTIVATED";
|
|
39
|
-
FeatureStatus["DEACTIVATED"] = "DEACTIVATED";
|
|
40
|
-
FeatureStatus["SCHEDULED"] = "SCHEDULED";
|
|
41
|
-
return FeatureStatus;
|
|
42
|
-
}({});
|
|
43
|
-
exports.FeatureStatus = FeatureStatus;
|
|
44
|
-
let ExperimentStatus = /*#__PURE__*/function (ExperimentStatus) {
|
|
45
|
-
ExperimentStatus["DRAFT"] = "DRAFT";
|
|
46
|
-
ExperimentStatus["ACTIVE"] = "ACTIVE";
|
|
47
|
-
ExperimentStatus["PAUSED"] = "PAUSED";
|
|
48
|
-
ExperimentStatus["SCHEDULED"] = "SCHEDULED";
|
|
49
|
-
ExperimentStatus["STOPPED"] = "STOPPED";
|
|
50
|
-
ExperimentStatus["USED_AS_PERSONALIZATION"] = "USED_AS_PERSONALIZATION";
|
|
51
|
-
ExperimentStatus["DEVIATED"] = "DEVIATED";
|
|
52
|
-
return ExperimentStatus;
|
|
53
|
-
}({});
|
|
54
|
-
exports.ExperimentStatus = ExperimentStatus;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RuleType=exports.FeatureStatus=exports.FeatureFlagSdkLanguageType=exports.ExperimentType=exports.ExperimentStatus=void 0;var ExperimentType=/*#__PURE__*/function(a){return a.CLASSIC="CLASSIC",a.SERVER_SIDE="SERVER_SIDE",a.DEVELOPER="DEVELOPER",a.MVT="MVT",a.HYBRID="HYBRID",a}({});exports.ExperimentType=ExperimentType;var RuleType=/*#__PURE__*/function(a){return a.PROGRESSIVE_DELIVERY="PROGRESSIVE_DELIVERY",a.TARGETED_DELIVERY="TARGETED_DELIVERY",a.EXPERIMENTATION="EXPERIMENTATION",a}({});exports.RuleType=RuleType;var FeatureFlagSdkLanguageType=/*#__PURE__*/function(a){return a.ANDROID="ANDROID",a.SWIFT="SWIFT",a.JAVA="JAVA",a.CSHARP="CSHARP",a.NODEJS="NODEJS",a.PHP="PHP",a.RUBY="RUBY",a.GO="GO",a.FLUTTER="FLUTTER",a.REACTJS="REACTJS",a}({});exports.FeatureFlagSdkLanguageType=FeatureFlagSdkLanguageType;var FeatureStatus=/*#__PURE__*/function(a){return a.ACTIVATED="ACTIVATED",a.DEACTIVATED="DEACTIVATED",a.SCHEDULED="SCHEDULED",a}({});exports.FeatureStatus=FeatureStatus;var ExperimentStatus=/*#__PURE__*/function(a){return a.DRAFT="DRAFT",a.ACTIVE="ACTIVE",a.PAUSED="PAUSED",a.SCHEDULED="SCHEDULED",a.STOPPED="STOPPED",a.USED_AS_PERSONALIZATION="USED_AS_PERSONALIZATION",a.DEVIATED="DEVIATED",a}({});exports.ExperimentStatus=ExperimentStatus;
|
|
55
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["ExperimentType","exports","RuleType","FeatureFlagSdkLanguageType","FeatureStatus","ExperimentStatus"],"sources":["../../src/campaignConfiguration/types.ts"],"sourcesContent":["import { ClientSettingsType } from '
|
|
1
|
+
{"version":3,"file":"types.js","names":["ExperimentType","CLASSIC","SERVER_SIDE","DEVELOPER","MVT","HYBRID","exports","RuleType","PROGRESSIVE_DELIVERY","TARGETED_DELIVERY","EXPERIMENTATION","FeatureFlagSdkLanguageType","ANDROID","SWIFT","JAVA","CSHARP","NODEJS","PHP","RUBY","GO","FLUTTER","REACTJS","FeatureStatus","ACTIVATED","DEACTIVATED","SCHEDULED","ExperimentStatus","DRAFT","ACTIVE","PAUSED","STOPPED","USED_AS_PERSONALIZATION","DEVIATED"],"sources":["../../src/campaignConfiguration/types.ts"],"sourcesContent":["import { ClientSettingsType } from 'src/clientSettings';\nimport { KameleoonDataType } from 'src/kameleoonData';\nimport { Requester, GetClientConfigurationResultType } from 'src/requester';\nimport { ClientDataType, IStorage } from 'src/storage';\nimport { SegmentType, TargetingDataType } from 'src/targeting';\nimport { VariableType } from 'src/types';\n\nexport type UpdateClientConfigurationParameters = {\n timeStamp?: number;\n useCache?: boolean;\n};\n\nexport type ScheduleType = {\n dateStart: string;\n dateEnd: string;\n};\n\nexport type JSONValue =\n | string\n | number\n | boolean\n | { [x: string]: JSONValue }\n | JSONValue[];\n\nexport type JSONType = Record<string | number | symbol, JSONValue> | null;\n\nexport enum ExperimentType {\n CLASSIC = 'CLASSIC',\n SERVER_SIDE = 'SERVER_SIDE',\n DEVELOPER = 'DEVELOPER',\n MVT = 'MVT',\n HYBRID = 'HYBRID',\n}\n\nexport enum RuleType {\n PROGRESSIVE_DELIVERY = 'PROGRESSIVE_DELIVERY',\n TARGETED_DELIVERY = 'TARGETED_DELIVERY',\n EXPERIMENTATION = 'EXPERIMENTATION',\n}\n\nexport enum FeatureFlagSdkLanguageType {\n ANDROID = 'ANDROID',\n SWIFT = 'SWIFT',\n JAVA = 'JAVA',\n CSHARP = 'CSHARP',\n NODEJS = 'NODEJS',\n PHP = 'PHP',\n RUBY = 'RUBY',\n GO = 'GO',\n FLUTTER = 'FLUTTER',\n REACTJS = 'REACTJS',\n}\n\nexport enum FeatureStatus {\n ACTIVATED = 'ACTIVATED',\n DEACTIVATED = 'DEACTIVATED',\n SCHEDULED = 'SCHEDULED',\n}\n\nexport type ExperimentItemType = {\n id: string;\n name: string;\n type: ExperimentType;\n siteId: string;\n siteCode: string;\n status: ExperimentStatus;\n siteEnabled: boolean;\n variations: ExperimentVariationType[];\n deviations: DeviationType[];\n respoolTime: RespoolTimeType[];\n segment: SegmentType | null;\n};\n\nexport type ExperimentVariationType = {\n id: string;\n customJson: string;\n};\n\nexport type DeviationType = {\n variationId: string;\n value: number;\n};\n\nexport type RespoolTimeType = {\n variationId: string;\n value: number;\n};\n\nexport enum ExperimentStatus {\n DRAFT = 'DRAFT',\n ACTIVE = 'ACTIVE',\n PAUSED = 'PAUSED',\n SCHEDULED = 'SCHEDULED',\n STOPPED = 'STOPPED',\n USED_AS_PERSONALIZATION = 'USED_AS_PERSONALIZATION',\n DEVIATED = 'DEVIATED',\n}\n\nexport type FeatureFlagType = {\n id: number;\n featureKey: string;\n variations: FeatureVariationType[];\n defaultVariationKey: string;\n rules: RuleItemType[];\n};\n\nexport type FeatureVariationType = {\n key: string;\n variables: FeatureVariableType[];\n};\n\nexport type FeatureVariableType = {\n key: string;\n type: VariableType;\n value: string | number | boolean;\n};\n\nexport type RuleItemType = {\n type: RuleType;\n id: number;\n respoolTime: number | null;\n order: number;\n exposition: number;\n experimentId: number;\n variationByExposition: VariationByExpositionType[];\n segment: SegmentType | null;\n};\n\nexport type VariationByExpositionType = {\n variationKey: string;\n variationId: number | null;\n exposition: number;\n};\n\nexport type ConfigurationDataType = {\n experiments: ExperimentItemType[];\n featureFlags: FeatureFlagType[];\n configuration: ConfigurationType;\n};\n\nexport type ConfigurationType = {\n realTimeUpdate: boolean;\n customDataLocalOnlyIndexes: number[];\n};\n\nexport type CampaignConfigurationType = {\n targetingData: TargetingDataType;\n configurationData: ConfigurationDataType;\n};\n\nexport type UnsentTargetingDataType = {\n [visitorCode: string]: KameleoonDataType[];\n};\n\nexport type CampaignConfigurationParametersType = {\n settings: ClientSettingsType;\n storage: IStorage<ClientDataType>;\n requester: Requester;\n externalClientConfiguration?: GetClientConfigurationResultType;\n targetingCleanupInterval?: number;\n};\n"],"mappings":"wMA0BY,CAAAA,cAAc,uBAAdA,CAAc,QAAd,CAAAA,CAAc,CAAAC,OAAA,WAAdD,CAAc,CAAAE,WAAA,eAAdF,CAAc,CAAAG,SAAA,aAAdH,CAAc,CAAAI,GAAA,OAAdJ,CAAc,CAAAK,MAAA,UAAdL,CAAc,MAAAM,OAAA,CAAAN,cAAA,CAAAA,cAAA,IAQd,CAAAO,QAAQ,uBAARA,CAAQ,QAAR,CAAAA,CAAQ,CAAAC,oBAAA,wBAARD,CAAQ,CAAAE,iBAAA,qBAARF,CAAQ,CAAAG,eAAA,mBAARH,CAAQ,MAAAD,OAAA,CAAAC,QAAA,CAAAA,QAAA,IAMR,CAAAI,0BAA0B,uBAA1BA,CAA0B,QAA1B,CAAAA,CAA0B,CAAAC,OAAA,WAA1BD,CAA0B,CAAAE,KAAA,SAA1BF,CAA0B,CAAAG,IAAA,QAA1BH,CAA0B,CAAAI,MAAA,UAA1BJ,CAA0B,CAAAK,MAAA,UAA1BL,CAA0B,CAAAM,GAAA,OAA1BN,CAA0B,CAAAO,IAAA,QAA1BP,CAA0B,CAAAQ,EAAA,MAA1BR,CAA0B,CAAAS,OAAA,WAA1BT,CAA0B,CAAAU,OAAA,WAA1BV,CAA0B,MAAAL,OAAA,CAAAK,0BAAA,CAAAA,0BAAA,IAa1B,CAAAW,aAAa,uBAAbA,CAAa,QAAb,CAAAA,CAAa,CAAAC,SAAA,aAAbD,CAAa,CAAAE,WAAA,eAAbF,CAAa,CAAAG,SAAA,aAAbH,CAAa,MAAAhB,OAAA,CAAAgB,aAAA,CAAAA,aAAA,IAmCb,CAAAI,gBAAgB,uBAAhBA,CAAgB,QAAhB,CAAAA,CAAgB,CAAAC,KAAA,SAAhBD,CAAgB,CAAAE,MAAA,UAAhBF,CAAgB,CAAAG,MAAA,UAAhBH,CAAgB,CAAAD,SAAA,aAAhBC,CAAgB,CAAAI,OAAA,WAAhBJ,CAAgB,CAAAK,uBAAA,2BAAhBL,CAAgB,CAAAM,QAAA,YAAhBN,CAAgB,MAAApB,OAAA,CAAAoB,gBAAA,CAAAA,gBAAA"}
|
|
@@ -1,36 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ClientSettings = void 0;
|
|
7
|
-
var _types = require("../types");
|
|
8
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
10
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
11
|
-
class ClientSettings {
|
|
12
|
-
constructor(siteCode, configuration) {
|
|
13
|
-
_defineProperty(this, "updateInterval", 60 * _types.Milliseconds.Minute);
|
|
14
|
-
_defineProperty(this, "environment", void 0);
|
|
15
|
-
_defineProperty(this, "siteCode", void 0);
|
|
16
|
-
this.siteCode = siteCode;
|
|
17
|
-
if (configuration?.environment) {
|
|
18
|
-
this.environment = configuration.environment;
|
|
19
|
-
}
|
|
20
|
-
if (configuration?.updateInterval) {
|
|
21
|
-
if (configuration.updateInterval < 1) {
|
|
22
|
-
this.updateInterval = 1 * _types.Milliseconds.Minute;
|
|
23
|
-
}
|
|
24
|
-
this.updateInterval = configuration.updateInterval * _types.Milliseconds.Minute;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
get settings() {
|
|
28
|
-
return {
|
|
29
|
-
updateInterval: this.updateInterval,
|
|
30
|
-
environment: this.environment,
|
|
31
|
-
siteCode: this.siteCode
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.ClientSettings = ClientSettings;
|
|
1
|
+
"use strict";var _types=require("../types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.ClientSettings=void 0;function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}var ClientSettings=/*#__PURE__*/function(){function a(b,c){_classCallCheck(this,a),_defineProperty(this,"updateInterval",60*_types.Milliseconds.Minute),_defineProperty(this,"environment",void 0),_defineProperty(this,"siteCode",void 0),this.siteCode=b,null!==c&&void 0!==c&&c.environment&&(this.environment=c.environment),null!==c&&void 0!==c&&c.updateInterval&&(1>c.updateInterval&&(this.updateInterval=1*_types.Milliseconds.Minute),this.updateInterval=c.updateInterval*_types.Milliseconds.Minute)}return _createClass(a,[{key:"settings",get:function get(){return{updateInterval:this.updateInterval,environment:this.environment,siteCode:this.siteCode}}}]),a}();exports.ClientSettings=ClientSettings;
|
|
36
2
|
//# sourceMappingURL=clientSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientSettings.js","names":["_types","require","
|
|
1
|
+
{"version":3,"file":"clientSettings.js","names":["_types","require","Object","defineProperty","exports","value","ClientSettings","_typeof","a","Symbol","iterator","constructor","prototype","_classCallCheck","b","TypeError","_defineProperties","c","d","length","enumerable","configurable","writable","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","call","String","Number","siteCode","configuration","Milliseconds","Minute","environment","updateInterval","get"],"sources":["../../src/clientSettings/clientSettings.ts"],"sourcesContent":["import { Environment, Milliseconds, SDKConfigurationType } from 'src/types';\nimport { ClientSettingsType } from './types';\n\nexport interface IClientSettings {\n readonly settings: ClientSettingsType;\n}\n\nexport class ClientSettings implements IClientSettings {\n private updateInterval: number = 60 * Milliseconds.Minute;\n private environment?: Environment;\n private siteCode: string;\n\n constructor(siteCode: string, configuration?: Partial<SDKConfigurationType>) {\n this.siteCode = siteCode;\n\n if (configuration?.environment) {\n this.environment = configuration.environment;\n }\n\n if (configuration?.updateInterval) {\n if (configuration.updateInterval < 1) {\n this.updateInterval = 1 * Milliseconds.Minute;\n }\n\n this.updateInterval = configuration.updateInterval * Milliseconds.Minute;\n }\n }\n\n get settings(): ClientSettingsType {\n return {\n updateInterval: this.updateInterval,\n environment: this.environment,\n siteCode: this.siteCode,\n };\n }\n}\n"],"mappings":"aAAA,IAAAA,MAAA,CAAAC,OAAA,aAA4EC,MAAA,CAAAC,cAAA,CAAAC,OAAA,eAAAC,KAAA,MAAAD,OAAA,CAAAE,cAAA,iBAAAC,QAAAC,CAAA,mCAAAD,OAAA,oBAAAE,MAAA,mBAAAA,MAAA,CAAAC,QAAA,UAAAF,CAAA,gBAAAA,CAAA,WAAAA,CAAA,SAAAA,CAAA,qBAAAC,MAAA,EAAAD,CAAA,CAAAG,WAAA,GAAAF,MAAA,EAAAD,CAAA,GAAAC,MAAA,CAAAG,SAAA,iBAAAJ,CAAA,EAAAD,OAAA,CAAAC,CAAA,WAAAK,gBAAAL,CAAA,CAAAM,CAAA,OAAAN,CAAA,YAAAM,CAAA,YAAAC,SAAA,+CAAAC,kBAAAR,CAAA,CAAAM,CAAA,UAAAG,CAAA,CAAAC,CAAA,GAAAA,CAAA,CAAAJ,CAAA,CAAAK,MAAA,CAAAD,CAAA,GAAAD,CAAA,CAAAH,CAAA,CAAAI,CAAA,EAAAD,CAAA,CAAAG,UAAA,CAAAH,CAAA,CAAAG,UAAA,KAAAH,CAAA,CAAAI,YAAA,cAAAJ,CAAA,GAAAA,CAAA,CAAAK,QAAA,KAAApB,MAAA,CAAAC,cAAA,CAAAK,CAAA,CAAAe,cAAA,CAAAN,CAAA,CAAAO,GAAA,EAAAP,CAAA,WAAAQ,aAAAjB,CAAA,CAAAM,CAAA,CAAAG,CAAA,SAAAH,CAAA,EAAAE,iBAAA,CAAAR,CAAA,CAAAI,SAAA,CAAAE,CAAA,EAAAG,CAAA,EAAAD,iBAAA,CAAAR,CAAA,CAAAS,CAAA,EAAAf,MAAA,CAAAC,cAAA,CAAAK,CAAA,cAAAc,QAAA,MAAAd,CAAA,UAAAkB,gBAAAlB,CAAA,CAAAM,CAAA,CAAAG,CAAA,SAAAH,CAAA,CAAAS,cAAA,CAAAT,CAAA,EAAAA,CAAA,IAAAN,CAAA,CAAAN,MAAA,CAAAC,cAAA,CAAAK,CAAA,CAAAM,CAAA,EAAAT,KAAA,CAAAY,CAAA,CAAAG,UAAA,IAAAC,YAAA,IAAAC,QAAA,MAAAd,CAAA,CAAAM,CAAA,EAAAG,CAAA,CAAAT,CAAA,UAAAe,eAAAf,CAAA,MAAAM,CAAA,CAAAa,YAAA,CAAAnB,CAAA,4BAAAD,OAAA,CAAAO,CAAA,EAAAA,CAAA,CAAAA,CAAA,aAAAa,aAAAnB,CAAA,CAAAM,CAAA,gBAAAP,OAAA,CAAAC,CAAA,UAAAA,CAAA,QAAAA,CAAA,KAAAS,CAAA,CAAAT,CAAA,CAAAC,MAAA,CAAAmB,WAAA,KAAAX,CAAA,eAAAC,CAAA,CAAAD,CAAA,CAAAY,IAAA,CAAArB,CAAA,CAAAM,CAAA,2BAAAP,OAAA,CAAAW,CAAA,SAAAA,CAAA,WAAAH,SAAA,mEAAAD,CAAA,CAAAgB,MAAA,CAAAC,MAAA,EAAAvB,CAAA,KAO/D,CAAAF,cAAc,yBAKzB,SAAAE,EAAYwB,CAAgB,CAAEC,CAA6C,CAAE,CAAApB,eAAA,MAAAL,CAAA,EAAAkB,eAAA,uBAJ5C,EAAE,CAAGQ,mBAAY,CAACC,MAAM,EAAAT,eAAA,4BAAAA,eAAA,yBAKvD,IAAI,CAACM,QAAQ,CAAGA,CAAQ,QAEpBC,CAAa,WAAbA,CAAa,EAAbA,CAAa,CAAEG,WAAW,GAC5B,IAAI,CAACA,WAAW,CAAGH,CAAa,CAACG,WAAW,SAG1CH,CAAa,WAAbA,CAAa,EAAbA,CAAa,CAAEI,cAAc,GACI,CAAC,CAAhCJ,CAAa,CAACI,cAAkB,GAClC,IAAI,CAACA,cAAc,CAAG,CAAC,CAAGH,mBAAY,CAACC,MAAM,EAG/C,IAAI,CAACE,cAAc,CAAGJ,CAAa,CAACI,cAAc,CAAGH,mBAAY,CAACC,MAAM,CAE5E,CAAC,OAAAV,YAAA,CAAAjB,CAAA,GAAAgB,GAAA,YAAAc,GAAA,CAED,SAAAA,IAAA,CAAmC,CACjC,MAAO,CACLD,cAAc,CAAE,IAAI,CAACA,cAAc,CACnCD,WAAW,CAAE,IAAI,CAACA,WAAW,CAC7BJ,QAAQ,CAAE,IAAI,CAACA,QACjB,CACF,CAAC,IAAAxB,CAAA,IAAAJ,OAAA,CAAAE,cAAA,CAAAA,cAAA"}
|
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "ClientSettings", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _clientSettings.ClientSettings;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "ClientSettingsType", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _types.ClientSettingsType;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
var _clientSettings = require("./clientSettings");
|
|
19
|
-
var _types = require("./types");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientSettings",{enumerable:!0,get:function get(){return _clientSettings.ClientSettings}}),Object.defineProperty(exports,"ClientSettingsType",{enumerable:!0,get:function get(){return _types.ClientSettingsType}});var _clientSettings=require("./clientSettings"),_types=require("./types");
|
|
20
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/clientSettings/index.ts"],"sourcesContent":["export { ClientSettings } from './clientSettings';\nexport { ClientSettingsType } from './types';\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../src/clientSettings/types.ts"],"sourcesContent":["import { Environment } from '
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/clientSettings/types.ts"],"sourcesContent":["import { Environment } from 'src/types';\n\nexport type ClientSettingsType = {\n updateInterval: number;\n environment?: Environment;\n siteCode: string;\n};\n"],"mappings":""}
|
package/dist/constants.d.ts
CHANGED
|
@@ -15,8 +15,17 @@ export declare enum Cookie {
|
|
|
15
15
|
* @readonly
|
|
16
16
|
* @enum {string} an Enum of all the possible Kameleoon SDK types
|
|
17
17
|
* */
|
|
18
|
-
export declare enum
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
export declare enum SdkLanguageType {
|
|
19
|
+
ANDROID = "ANDROID",
|
|
20
|
+
SWIFT = "SWIFT",
|
|
21
|
+
JAVA = "JAVA",
|
|
22
|
+
CSHARP = "CSHARP",
|
|
23
|
+
NODEJS = "NODEJS",
|
|
24
|
+
PHP = "PHP",
|
|
25
|
+
RUBY = "RUBY",
|
|
26
|
+
GO = "GO",
|
|
27
|
+
FLUTTER = "FLUTTER",
|
|
28
|
+
REACT = "REACT",
|
|
29
|
+
PYTHON = "PYTHON",
|
|
30
|
+
JAVASCRIPT = "JAVASCRIPT"
|
|
22
31
|
}
|
package/dist/constants.js
CHANGED
|
@@ -1,39 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.VISITOR_CODE_LENGTH = exports.UNALLOCATED_VARIATION_ID = exports.SDKType = exports.OFF_VARIATION_KEY = exports.KAMELEOON_COOKIE_KEY = exports.Cookie = exports.CACHE_ITEM_LIFETIME = exports.CACHE_CLEANUP_TIMEOUT = void 0;
|
|
7
|
-
const UNALLOCATED_VARIATION_ID = 0;
|
|
8
|
-
exports.UNALLOCATED_VARIATION_ID = UNALLOCATED_VARIATION_ID;
|
|
9
|
-
const OFF_VARIATION_KEY = 'off';
|
|
10
|
-
exports.OFF_VARIATION_KEY = OFF_VARIATION_KEY;
|
|
11
|
-
const KAMELEOON_COOKIE_KEY = 'kameleoonVisitorCode';
|
|
12
|
-
exports.KAMELEOON_COOKIE_KEY = KAMELEOON_COOKIE_KEY;
|
|
13
|
-
const VISITOR_CODE_LENGTH = 16;
|
|
14
|
-
exports.VISITOR_CODE_LENGTH = VISITOR_CODE_LENGTH;
|
|
15
|
-
const CACHE_CLEANUP_TIMEOUT = 10;
|
|
16
|
-
exports.CACHE_CLEANUP_TIMEOUT = CACHE_CLEANUP_TIMEOUT;
|
|
17
|
-
const CACHE_ITEM_LIFETIME = 5;
|
|
18
|
-
exports.CACHE_ITEM_LIFETIME = CACHE_ITEM_LIFETIME;
|
|
19
|
-
let Cookie = /*#__PURE__*/function (Cookie) {
|
|
20
|
-
Cookie["PairsDelimiter"] = "; ";
|
|
21
|
-
Cookie["KeyValueDelimiter"] = "=";
|
|
22
|
-
Cookie["MaxAge"] = "Max-Age";
|
|
23
|
-
Cookie["Path"] = "Path";
|
|
24
|
-
Cookie["Domain"] = "Domain";
|
|
25
|
-
return Cookie;
|
|
26
|
-
}({});
|
|
27
|
-
/**
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VISITOR_CODE_LENGTH=exports.UNALLOCATED_VARIATION_ID=exports.SdkLanguageType=exports.OFF_VARIATION_KEY=exports.KAMELEOON_COOKIE_KEY=exports.Cookie=exports.CACHE_ITEM_LIFETIME=exports.CACHE_CLEANUP_TIMEOUT=void 0;var UNALLOCATED_VARIATION_ID=0;exports.UNALLOCATED_VARIATION_ID=0;var OFF_VARIATION_KEY="off";exports.OFF_VARIATION_KEY="off";var KAMELEOON_COOKIE_KEY="kameleoonVisitorCode";exports.KAMELEOON_COOKIE_KEY="kameleoonVisitorCode";var VISITOR_CODE_LENGTH=16;exports.VISITOR_CODE_LENGTH=16;var CACHE_CLEANUP_TIMEOUT=10;exports.CACHE_CLEANUP_TIMEOUT=10;var CACHE_ITEM_LIFETIME=5;exports.CACHE_ITEM_LIFETIME=5;var Cookie=/*#__PURE__*/function(a){return a.PairsDelimiter="; ",a.KeyValueDelimiter="=",a.MaxAge="Max-Age",a.Path="Path",a.Domain="Domain",a}({});/**
|
|
28
2
|
* @readonly
|
|
29
3
|
* @enum {string} an Enum of all the possible Kameleoon SDK types
|
|
30
|
-
* */
|
|
31
|
-
exports.Cookie = Cookie;
|
|
32
|
-
let SDKType = /*#__PURE__*/function (SDKType) {
|
|
33
|
-
SDKType["NodeJS"] = "nodejs";
|
|
34
|
-
SDKType["JavaScript"] = "javascript";
|
|
35
|
-
SDKType["React"] = "react";
|
|
36
|
-
return SDKType;
|
|
37
|
-
}({});
|
|
38
|
-
exports.SDKType = SDKType;
|
|
4
|
+
* */exports.Cookie=Cookie;var SdkLanguageType=/*#__PURE__*/function(a){return a.ANDROID="ANDROID",a.SWIFT="SWIFT",a.JAVA="JAVA",a.CSHARP="CSHARP",a.NODEJS="NODEJS",a.PHP="PHP",a.RUBY="RUBY",a.GO="GO",a.FLUTTER="FLUTTER",a.REACT="REACT",a.PYTHON="PYTHON",a.JAVASCRIPT="JAVASCRIPT",a}({});exports.SdkLanguageType=SdkLanguageType;
|
|
39
5
|
//# sourceMappingURL=constants.js.map
|