@kameleoon/react-sdk 8.5.2 → 9.0.1
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/CHANGELOG.md +479 -0
- package/CHANGELOG_INTERNAL.md +3 -0
- package/README.md +26 -133
- package/dist/KameleoonContext.d.ts +3 -3
- package/dist/KameleoonContext.js +1 -1
- package/dist/KameleoonContext.js.map +1 -1
- package/dist/KameleoonProvider.d.ts +6 -6
- package/dist/KameleoonProvider.js +1 -1
- package/dist/KameleoonProvider.js.map +1 -1
- package/dist/createClient.d.ts +6 -0
- package/dist/createClient.js +2 -0
- package/dist/createClient.js.map +1 -0
- package/dist/index.d.ts +11 -24
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/useData.d.ts +80 -0
- package/dist/interfaces/useData.js +2 -0
- package/dist/interfaces/useData.js.map +1 -0
- package/dist/interfaces/useFeatureFlag.d.ts +101 -0
- package/dist/interfaces/useFeatureFlag.js +2 -0
- package/dist/interfaces/useFeatureFlag.js.map +1 -0
- package/dist/interfaces/useInitialize.d.ts +23 -0
- package/dist/interfaces/useInitialize.js +2 -0
- package/dist/interfaces/useInitialize.js.map +1 -0
- package/dist/{useSetLegalConsent.d.ts → interfaces/useVisitorCode.d.ts} +12 -7
- package/dist/interfaces/useVisitorCode.js +2 -0
- package/dist/interfaces/useVisitorCode.js.map +1 -0
- package/dist/useData.d.ts +13 -0
- package/dist/useData.js +2 -0
- package/dist/useData.js.map +1 -0
- package/dist/useFeatureFlag.d.ts +15 -0
- package/dist/useFeatureFlag.js +2 -0
- package/dist/useFeatureFlag.js.map +1 -0
- package/dist/useInitialize.d.ts +6 -17
- package/dist/useInitialize.js +1 -1
- package/dist/useInitialize.js.map +1 -1
- package/dist/useKameleoon.d.ts +4 -4
- package/dist/useKameleoon.js +1 -1
- package/dist/useKameleoon.js.map +1 -1
- package/dist/useVisitorCode.d.ts +9 -0
- package/dist/useVisitorCode.js +2 -0
- package/dist/useVisitorCode.js.map +1 -0
- package/package.json +11 -15
- package/dist/eventSource/browserEventSource.d.ts +0 -4
- package/dist/eventSource/browserEventSource.js +0 -2
- package/dist/eventSource/browserEventSource.js.map +0 -1
- package/dist/eventSource/index.d.ts +0 -2
- package/dist/eventSource/index.js +0 -2
- package/dist/eventSource/index.js.map +0 -1
- package/dist/eventSource/nativeEventSource.d.ts +0 -4
- package/dist/eventSource/nativeEventSource.js +0 -2
- package/dist/eventSource/nativeEventSource.js.map +0 -1
- package/dist/kameleoonClient.d.ts +0 -7
- package/dist/kameleoonClient.js +0 -2
- package/dist/kameleoonClient.js.map +0 -1
- package/dist/kameleoonUtils/browserUtils.d.ts +0 -13
- package/dist/kameleoonUtils/browserUtils.js +0 -2
- package/dist/kameleoonUtils/browserUtils.js.map +0 -1
- package/dist/kameleoonUtils/nativeUtils.d.ts +0 -12
- package/dist/kameleoonUtils/nativeUtils.js +0 -2
- package/dist/kameleoonUtils/nativeUtils.js.map +0 -1
- package/dist/requester.d.ts +0 -9
- package/dist/requester.js +0 -2
- package/dist/requester.js.map +0 -1
- package/dist/storage/index.d.ts +0 -2
- package/dist/storage/index.js +0 -2
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/localStorage.d.ts +0 -4
- package/dist/storage/localStorage.js +0 -2
- package/dist/storage/localStorage.js.map +0 -1
- package/dist/storage/nativeStorage.d.ts +0 -14
- package/dist/storage/nativeStorage.js +0 -2
- package/dist/storage/nativeStorage.js.map +0 -1
- package/dist/types.d.ts +0 -21
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/useAddData.d.ts +0 -22
- package/dist/useAddData.js +0 -2
- package/dist/useAddData.js.map +0 -1
- package/dist/useBrowserVisitorCode.d.ts +0 -17
- package/dist/useBrowserVisitorCode.js +0 -2
- package/dist/useBrowserVisitorCode.js.map +0 -1
- package/dist/useConfigurationUpdate.d.ts +0 -17
- package/dist/useConfigurationUpdate.js +0 -2
- package/dist/useConfigurationUpdate.js.map +0 -1
- package/dist/useEngineTrackingCode.d.ts +0 -5
- package/dist/useEngineTrackingCode.js +0 -2
- package/dist/useEngineTrackingCode.js.map +0 -1
- package/dist/useFeatureFlagActive.d.ts +0 -24
- package/dist/useFeatureFlagActive.js +0 -2
- package/dist/useFeatureFlagActive.js.map +0 -1
- package/dist/useFeatureFlagVariationKey.d.ts +0 -23
- package/dist/useFeatureFlagVariationKey.js +0 -2
- package/dist/useFeatureFlagVariationKey.js.map +0 -1
- package/dist/useFeatureFlags.d.ts +0 -18
- package/dist/useFeatureFlags.js +0 -2
- package/dist/useFeatureFlags.js.map +0 -1
- package/dist/useFeatureVariable.d.ts +0 -26
- package/dist/useFeatureVariable.js +0 -2
- package/dist/useFeatureVariable.js.map +0 -1
- package/dist/useFeatureVariables.d.ts +0 -25
- package/dist/useFeatureVariables.js +0 -2
- package/dist/useFeatureVariables.js.map +0 -1
- package/dist/useFlush.d.ts +0 -22
- package/dist/useFlush.js +0 -2
- package/dist/useFlush.js.map +0 -1
- package/dist/useNativeVisitorCode.d.ts +0 -16
- package/dist/useNativeVisitorCode.js +0 -2
- package/dist/useNativeVisitorCode.js.map +0 -1
- package/dist/useReactNativeVisitorCode.d.ts +0 -19
- package/dist/useReactNativeVisitorCode.js +0 -2
- package/dist/useReactNativeVisitorCode.js.map +0 -1
- package/dist/useReactVisitorCode.d.ts +0 -19
- package/dist/useReactVisitorCode.js +0 -2
- package/dist/useReactVisitorCode.js.map +0 -1
- package/dist/useRemoteData.d.ts +0 -19
- package/dist/useRemoteData.js +0 -2
- package/dist/useRemoteData.js.map +0 -1
- package/dist/useRemoteVisitorData.d.ts +0 -23
- package/dist/useRemoteVisitorData.js +0 -2
- package/dist/useRemoteVisitorData.js.map +0 -1
- package/dist/useSetLegalConsent.js +0 -2
- package/dist/useSetLegalConsent.js.map +0 -1
- package/dist/useTrackConversion.d.ts +0 -20
- package/dist/useTrackConversion.js +0 -2
- package/dist/useTrackConversion.js.map +0 -1
- package/dist/useVisitorFeatureFlags.d.ts +0 -22
- package/dist/useVisitorFeatureFlags.js +0 -2
- package/dist/useVisitorFeatureFlags.js.map +0 -1
- package/dist/useVisitorWarehouseAudience.d.ts +0 -24
- package/dist/useVisitorWarehouseAudience.js +0 -2
- package/dist/useVisitorWarehouseAudience.js.map +0 -1
- package/dist/visitorCodeManager/index.d.ts +0 -2
- package/dist/visitorCodeManager/index.js +0 -2
- package/dist/visitorCodeManager/index.js.map +0 -1
- package/dist/visitorCodeManager/reactNativeVisitorCodeManager.d.ts +0 -8
- package/dist/visitorCodeManager/reactNativeVisitorCodeManager.js +0 -2
- package/dist/visitorCodeManager/reactNativeVisitorCodeManager.js.map +0 -1
- package/dist/visitorCodeManager/reactVisitorCodeManager.d.ts +0 -8
- package/dist/visitorCodeManager/reactVisitorCodeManager.js +0 -2
- package/dist/visitorCodeManager/reactVisitorCodeManager.js.map +0 -1
package/dist/useInitialize.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useInitialize=useInitialize;var _react=require("react"),_useKameleoon=require("./useKameleoon");function useInitialize(){const a=(0,_useKameleoon.useKameleoon)(),b=(0,_react.useCallback)(async b=>await a.initialize(b),[a]),c=(0,_react.useCallback)(b=>{a.onConfigurationUpdate(b)},[a]);return{initialize:b,onConfigurationUpdate:c}}
|
|
2
2
|
//# sourceMappingURL=useInitialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInitialize.js","names":["useInitialize","
|
|
1
|
+
{"version":3,"file":"useInitialize.js","names":["useInitialize","client","useKameleoon","initialize","useCallback","useCache","onConfigurationUpdate","callback"],"sources":["../src/useInitialize.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useKameleoon } from './useKameleoon';\nimport IUseInitialize from './interfaces/useInitialize';\n\n/**\n * A React Hook that returns methods related to SDK setup and configuration\n *\n * @returns {IUseInitialize} an object containing the following methods:\n * - `initialize`\n * - `onConfigurationUpdate`\n */\nexport function useInitialize(): IUseInitialize {\n const client = useKameleoon();\n\n const initialize = useCallback(\n async (useCache?: boolean): Promise<boolean> => {\n return await client.initialize(useCache);\n },\n [client],\n );\n\n const onConfigurationUpdate = useCallback(\n (callback: () => void): void => {\n client.onConfigurationUpdate(callback);\n },\n [client],\n );\n\n return {\n initialize,\n onConfigurationUpdate,\n };\n}\n"],"mappings":"4KAWO,QAAS,CAAAA,aAAaA,CAAA,CAAmB,MACxC,CAAAC,CAAM,CAAG,GAAAC,0BAAY,EAAC,CAAC,CAEvBC,CAAU,CAAG,GAAAC,kBAAW,EAC5B,KAAO,CAAAC,CAAkB,EAChB,KAAM,CAAAJ,CAAM,CAACE,UAAU,CAACE,CAAQ,CACxC,CACD,CAACJ,CAAM,CACT,CAAC,CAEKK,CAAqB,CAAG,GAAAF,kBAAW,EACtCG,CAAoB,EAAW,CAC9BN,CAAM,CAACK,qBAAqB,CAACC,CAAQ,CACvC,CAAC,CACD,CAACN,CAAM,CACT,CAAC,CAED,MAAO,CACLE,UAAU,CAAVA,CAAU,CACVG,qBAAqB,CAArBA,CACF,CACF"}
|
package/dist/useKameleoon.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { KameleoonClient } from '@kameleoon/javascript-sdk';
|
|
2
2
|
/**
|
|
3
3
|
* A React Hook that validates if context is used within a KameleoonProvider and returns it.
|
|
4
4
|
*
|
|
5
|
-
* @returns {
|
|
6
|
-
* @throws
|
|
5
|
+
* @returns {KameleoonClient} an instance of KameleoonClient
|
|
6
|
+
* @throws Kameleoon SDK hooks must be used within a KameleoonProvider.
|
|
7
7
|
*/
|
|
8
|
-
export declare function useKameleoon():
|
|
8
|
+
export declare function useKameleoon(): KameleoonClient;
|
package/dist/useKameleoon.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useKameleoon=useKameleoon;var _react=require("react"),_KameleoonContext=require("./KameleoonContext");function useKameleoon(){
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useKameleoon=useKameleoon;var _react=require("react"),_KameleoonContext=require("./KameleoonContext");function useKameleoon(){const a=(0,_react.useContext)(_KameleoonContext.KameleoonContext);if(!a)throw new Error("Kameleoon SDK hooks must be used within a KameleoonProvider");return a}
|
|
2
2
|
//# sourceMappingURL=useKameleoon.js.map
|
package/dist/useKameleoon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKameleoon.js","names":["useKameleoon","context","useContext","KameleoonContext","Error"],"sources":["../src/useKameleoon.ts"],"sourcesContent":["import { useContext } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"useKameleoon.js","names":["useKameleoon","context","useContext","KameleoonContext","Error"],"sources":["../src/useKameleoon.ts"],"sourcesContent":["import { useContext } from 'react';\nimport { KameleoonClient } from '@kameleoon/javascript-sdk';\nimport { KameleoonContext } from './KameleoonContext';\n\n/**\n * A React Hook that validates if context is used within a KameleoonProvider and returns it.\n *\n * @returns {KameleoonClient} an instance of KameleoonClient\n * @throws Kameleoon SDK hooks must be used within a KameleoonProvider.\n */\nexport function useKameleoon(): KameleoonClient {\n const context = useContext(KameleoonContext);\n\n if (!context) {\n throw new Error(\n 'Kameleoon SDK hooks must be used within a KameleoonProvider',\n );\n }\n\n return context;\n}\n"],"mappings":"kLAUO,QAAS,CAAAA,YAAYA,CAAA,CAAoB,CAC9C,KAAM,CAAAC,CAAO,CAAG,GAAAC,iBAAU,EAACC,kCAAgB,CAAC,CAE5C,GAAI,CAACF,CAAO,CACV,KAAM,IAAI,CAAAG,KAAK,CACb,6DACF,CAAC,CAGH,MAAO,CAAAH,CACT"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import IUseVisitorCode from './interfaces/useVisitorCode';
|
|
2
|
+
/**
|
|
3
|
+
* A React Hook that returns methods related to visitor code and consent
|
|
4
|
+
*
|
|
5
|
+
* @returns {IUseVisitorCode} an object containing the following methods:
|
|
6
|
+
* - `setLegalConsent`
|
|
7
|
+
* - `getVisitorCode`
|
|
8
|
+
*/
|
|
9
|
+
export declare function useVisitorCode(): IUseVisitorCode;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useVisitorCode=useVisitorCode;var _react=require("react"),_useKameleoon=require("./useKameleoon");function useVisitorCode(){const a=(0,_useKameleoon.useKameleoon)(),b=(0,_react.useCallback)((b,c)=>{a.setLegalConsent(b,c)},[a]),c=(0,_react.useCallback)(b=>a.getVisitorCode(b),[]);return{setLegalConsent:b,getVisitorCode:c}}
|
|
2
|
+
//# sourceMappingURL=useVisitorCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVisitorCode.js","names":["useVisitorCode","client","useKameleoon","setLegalConsent","useCallback","visitorCode","consent","getVisitorCode","defaultVisitorCode"],"sources":["../src/useVisitorCode.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useKameleoon } from './useKameleoon';\nimport IUseVisitorCode from './interfaces/useVisitorCode';\n\n/**\n * A React Hook that returns methods related to visitor code and consent\n *\n * @returns {IUseVisitorCode} an object containing the following methods:\n * - `setLegalConsent`\n * - `getVisitorCode`\n */\nexport function useVisitorCode(): IUseVisitorCode {\n const client = useKameleoon();\n\n const setLegalConsent = useCallback(\n (visitorCode: string, consent: boolean): void => {\n client.setLegalConsent(visitorCode, consent);\n },\n [client],\n );\n\n const getVisitorCode = useCallback((defaultVisitorCode?: string): string => {\n return client.getVisitorCode(defaultVisitorCode);\n }, []);\n\n return {\n setLegalConsent,\n getVisitorCode,\n };\n}\n"],"mappings":"8KAWO,QAAS,CAAAA,cAAcA,CAAA,CAAoB,MAC1C,CAAAC,CAAM,CAAG,GAAAC,0BAAY,EAAC,CAAC,CAEvBC,CAAe,CAAG,GAAAC,kBAAW,EACjC,CAACC,CAAmB,CAAEC,CAAgB,GAAW,CAC/CL,CAAM,CAACE,eAAe,CAACE,CAAW,CAAEC,CAAO,CAC7C,CAAC,CACD,CAACL,CAAM,CACT,CAAC,CAEKM,CAAc,CAAG,GAAAH,kBAAW,EAAEI,CAA2B,EACtDP,CAAM,CAACM,cAAc,CAACC,CAAkB,CAChD,CAAE,EAAE,CAAC,CAEN,MAAO,CACLL,eAAe,CAAfA,CAAe,CACfI,cAAc,CAAdA,CACF,CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kameleoon/react-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.1",
|
|
4
4
|
"description": "Kameleoon React SDK",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -13,11 +13,12 @@
|
|
|
13
13
|
"build": "npm run clean && npm run build:types && npm run build:js",
|
|
14
14
|
"build:types": "tsc --emitDeclarationOnly",
|
|
15
15
|
"build:js": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps true",
|
|
16
|
-
"deploy": "
|
|
16
|
+
"deploy": "/bin/bash ../../scripts/deploy.sh react-sdk",
|
|
17
17
|
"deploy-nexus": "/bin/bash ../../scripts/deploy_nexus.sh react-sdk",
|
|
18
|
-
"
|
|
19
|
-
"update-
|
|
20
|
-
"
|
|
18
|
+
"update-documentation": "/bin/bash ../../scripts/update_documentation.sh react-sdk",
|
|
19
|
+
"update-changelog": "/bin/bash ../../scripts/update_changelog.sh react-sdk",
|
|
20
|
+
"symlink": "yarn link",
|
|
21
|
+
"test": "jest",
|
|
21
22
|
"test:dev": "jest",
|
|
22
23
|
"test:watch": "jest --watch",
|
|
23
24
|
"test:coverage": "jest --coverage"
|
|
@@ -34,15 +35,11 @@
|
|
|
34
35
|
"react sdk"
|
|
35
36
|
],
|
|
36
37
|
"license": "ISC",
|
|
37
|
-
"peerDependencies": {
|
|
38
|
-
"react": ">=16.8.0"
|
|
39
|
-
},
|
|
40
38
|
"dependencies": {
|
|
41
|
-
"@kameleoon/javascript-sdk
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"react
|
|
45
|
-
"validator": "^13.6.0"
|
|
39
|
+
"@kameleoon/javascript-sdk": "3.0.1"
|
|
40
|
+
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
46
43
|
},
|
|
47
44
|
"devDependencies": {
|
|
48
45
|
"@testing-library/jest-dom": "^5.16.5",
|
|
@@ -50,11 +47,10 @@
|
|
|
50
47
|
"@types/jest": "^29.0.0",
|
|
51
48
|
"@types/react": "^17.0.24",
|
|
52
49
|
"@types/react-native-event-source": "^1.1.0",
|
|
53
|
-
"@types/validator": "^13.7.14",
|
|
54
50
|
"jest": "^27.3.1",
|
|
55
51
|
"jest-environment-jsdom": "^27.0.0",
|
|
56
|
-
"node-fetch": "2.7.0",
|
|
57
52
|
"react": "^17.0.2",
|
|
53
|
+
"react-dom": "^17.0.2",
|
|
58
54
|
"rimraf": "^3.0.2",
|
|
59
55
|
"typescript": "^4.4.4"
|
|
60
56
|
},
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BrowserEventSourceConstructor=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 _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 _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 _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 BrowserEventSourceConstructor=function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"initialize",value:function initialize(a){return new ExternalEventSource(a)}}]),a}();exports.BrowserEventSourceConstructor=BrowserEventSourceConstructor;var ExternalEventSource=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"eventSource",void 0);var c=new EventSource(b);this.eventSource=c}return _createClass(a,[{key:"open",value:function open(a){var b=a.siteCode,c=a.eventType,d=a.onEvent;this.eventSource.addEventListener(c,function(a){var c=JSON.parse(a.data),e=c.siteCode,f=c.ts;b===e&&d(f)})}},{key:"close",value:function close(){this.eventSource.close()}}]),a}();
|
|
2
|
-
//# sourceMappingURL=browserEventSource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browserEventSource.js","names":["BrowserEventSourceConstructor","a","_classCallCheck","_createClass","key","value","initialize","url","ExternalEventSource","exports","_defineProperty","eventSource","EventSource","open","siteCode","eventType","onEvent","addEventListener","message","event","JSON","parse","data","eventSiteCode","ts","close"],"sources":["../../src/eventSource/browserEventSource.ts"],"sourcesContent":["import {\n RealTimeEventType,\n IExternalEventSource,\n EventSourceOpenParametersType,\n IExternalEventSourceConstructor,\n} from '@kameleoon/javascript-sdk-core';\n\nexport class BrowserEventSourceConstructor\n implements IExternalEventSourceConstructor\n{\n public initialize(url: string): IExternalEventSource {\n return new ExternalEventSource(url);\n }\n}\n\n// --- Note ---\n// - `EventSource` has no dedicated tests because same browser instance\n// is tested thoroughly inside core and would just duplicate tests\n// - Moreover we would have to import some unexposed details like constructed url\n// or the `eventType` from the core\nclass ExternalEventSource implements IExternalEventSource {\n private eventSource: EventSource;\n\n constructor(url: string) {\n const eventSource = new EventSource(url);\n\n this.eventSource = eventSource;\n }\n\n public open({\n siteCode,\n eventType,\n onEvent,\n }: EventSourceOpenParametersType): void {\n this.eventSource.addEventListener(eventType, (message) => {\n const event: RealTimeEventType = JSON.parse(message.data);\n const { siteCode: eventSiteCode, ts } = event;\n\n if (siteCode === eventSiteCode) {\n onEvent(ts);\n }\n });\n }\n\n public close() {\n this.eventSource.close();\n }\n}\n"],"mappings":"61CAOa,CAAAA,6BAA6B,qBAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,YAAA,CAAAF,CAAA,GAAAG,GAAA,cAAAC,KAAA,CAGxC,SAAAC,WAAkBC,CAAW,CAAwB,CACnD,MAAO,IAAI,CAAAC,mBAAmB,CAACD,CAAG,CACpC,CAAC,IAAAN,CAAA,IAAAQ,OAAA,CAAAT,6BAAA,CAAAA,6BAAA,IAQG,CAAAQ,mBAAmB,YAGvB,SAAAP,EAAYM,CAAW,CAAE,CAAAL,eAAA,MAAAD,CAAA,EAAAS,eAAA,4BACvB,GAAM,CAAAC,CAAW,CAAG,GAAI,CAAAC,WAAW,CAACL,CAAG,CAAC,CAExC,IAAI,CAACI,WAAW,CAAGA,CACrB,CAAC,OAAAR,YAAA,CAAAF,CAAA,GAAAG,GAAA,QAAAC,KAAA,CAED,SAAAQ,KAAAZ,CAAA,CAIwC,IAHtC,CAAAa,CAAQ,CAAAb,CAAA,CAARa,QAAQ,CACRC,CAAS,CAAAd,CAAA,CAATc,SAAS,CACTC,CAAO,CAAAf,CAAA,CAAPe,OAAO,CAEP,IAAI,CAACL,WAAW,CAACM,gBAAgB,CAACF,CAAS,CAAE,SAACG,CAAO,CAAK,IAClD,CAAAC,CAAwB,CAAGC,IAAI,CAACC,KAAK,CAACH,CAAO,CAACI,IAAI,CAAC,CACvCC,CAAa,CAASJ,CAAK,CAArCL,QAAQ,CAAiBU,CAAE,CAAKL,CAAK,CAAZK,EAAE,CAE/BV,CAAQ,GAAKS,CAAa,EAC5BP,CAAO,CAACQ,CAAE,CAEd,CAAC,CACH,CAAC,GAAApB,GAAA,SAAAC,KAAA,CAED,SAAAoB,MAAA,CAAe,CACb,IAAI,CAACd,WAAW,CAACc,KAAK,EACxB,CAAC,IAAAxB,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BrowserEventSourceConstructor",{enumerable:!0,get:function get(){return _browserEventSource.BrowserEventSourceConstructor}}),Object.defineProperty(exports,"NativeEventSourceConstructor",{enumerable:!0,get:function get(){return _nativeEventSource.NativeEventSourceConstructor}});var _browserEventSource=require("./browserEventSource"),_nativeEventSource=require("./nativeEventSource");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/eventSource/index.ts"],"sourcesContent":["export { BrowserEventSourceConstructor } from './browserEventSource';\nexport { NativeEventSourceConstructor } from './nativeEventSource';\n"],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var _reactNativeEventSourceTs=_interopRequireDefault(require("react-native-event-source-ts"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.NativeEventSourceConstructor=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}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 _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 _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 _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 NativeEventSourceConstructor=function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"initialize",value:function initialize(a){return new ExternalEventSource(a)}}]),a}();exports.NativeEventSourceConstructor=NativeEventSourceConstructor;var ExternalEventSource=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"eventSource",void 0);var c=new _reactNativeEventSourceTs.default(b);this.eventSource=c}return _createClass(a,[{key:"open",value:function open(a){var b=a.siteCode,c=a.eventType,d=a.onEvent;this.eventSource.addEventListener(c,function(a){if(a.data){var c=JSON.parse(a.data),e=c.siteCode,f=c.ts;b===e&&d(f)}})}},{key:"close",value:function close(){this.eventSource.close()}}]),a}();
|
|
2
|
-
//# sourceMappingURL=nativeEventSource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nativeEventSource.js","names":["_reactNativeEventSourceTs","_interopRequireDefault","require","Object","defineProperty","exports","value","NativeEventSourceConstructor","a","__esModule","default","_typeof","Symbol","iterator","constructor","prototype","_defineProperty","b","c","_toPropertyKey","enumerable","configurable","writable","_classCallCheck","TypeError","_defineProperties","d","length","key","_createClass","_toPrimitive","toPrimitive","call","String","Number","initialize","url","ExternalEventSource","eventSource","EventSource","open","siteCode","eventType","onEvent","addEventListener","message","data","event","JSON","parse","eventSiteCode","ts","close"],"sources":["../../src/eventSource/nativeEventSource.ts"],"sourcesContent":["import EventSource from 'react-native-event-source-ts';\nimport {\n RealTimeEventType,\n IExternalEventSource,\n EventSourceOpenParametersType,\n IExternalEventSourceConstructor,\n} from '@kameleoon/javascript-sdk-core';\n\nexport class NativeEventSourceConstructor\n implements IExternalEventSourceConstructor\n{\n public initialize(url: string): IExternalEventSource {\n return new ExternalEventSource(url);\n }\n}\n\nclass ExternalEventSource implements IExternalEventSource {\n private eventSource: EventSource;\n\n constructor(url: string) {\n const eventSource = new EventSource(url);\n\n this.eventSource = eventSource;\n }\n\n public open({\n siteCode,\n eventType,\n onEvent,\n }: EventSourceOpenParametersType): void {\n this.eventSource.addEventListener(eventType, (message: MessageEvent) => {\n if (message.data) {\n const event: RealTimeEventType = JSON.parse(message.data);\n const { siteCode: eventSiteCode, ts } = event;\n\n if (siteCode === eventSiteCode) {\n onEvent(ts);\n }\n }\n });\n }\n\n public close() {\n this.eventSource.close();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { KameleoonContextType, SDKParameters } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Creates an instance of KameleoonClient
|
|
4
|
-
* @param {string} siteCode - client's siteCode defined on Kameleoon platform
|
|
5
|
-
* @param {Partial<SDKConfigurationType> | undefined} configuration - client's configuration
|
|
6
|
-
*/
|
|
7
|
-
export declare function createClient({ siteCode, configuration, }: SDKParameters): KameleoonContextType;
|
package/dist/kameleoonClient.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createClient=createClient;var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core"),_eventSource=require("./eventSource"),_visitorCodeManager=require("./visitorCodeManager"),_storage=require("./storage"),_requester=require("./requester");function createClient(a){var b=a.siteCode,c=a.configuration,d="undefined"!=typeof window&&!!window.document,e=d?new _storage.LocalStorageConstructor:new _storage.NativeStorageConstructor,f=d?new _eventSource.BrowserEventSourceConstructor:new _eventSource.NativeEventSourceConstructor,g=new _requester.RequestDispatcher((null===c||void 0===c?void 0:c.requestTimeout)||_javascriptSdkCore.DEFAULT_REQUEST_TIMEOUT),h=d?new _visitorCodeManager.ReactVisitorCodeManagerConstructor(null===c||void 0===c?void 0:c.domain):new _visitorCodeManager.ReactNativeVisitorCodeManagerConstructor,i=new _javascriptSdkCore.KameleoonCore({siteCode:b,configuration:c,internalConfiguration:{externalStorage:e,externalEventSource:f,externalVisitorCodeManager:h,externalRequestDispatcher:g,externalPackageInfo:{type:_javascriptSdkCore.SdkLanguageType.REACT,version:"8.5.2"}}});return{client:i,visitorCodeManager:h}}
|
|
2
|
-
//# sourceMappingURL=kameleoonClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kameleoonClient.js","names":["createClient","a","siteCode","configuration","isBrowser","window","document","storage","LocalStorageConstructor","NativeStorageConstructor","eventSource","BrowserEventSourceConstructor","NativeEventSourceConstructor","requestDispatcher","RequestDispatcher","requestTimeout","DEFAULT_REQUEST_TIMEOUT","visitorCodeManager","ReactVisitorCodeManagerConstructor","domain","ReactNativeVisitorCodeManagerConstructor","client","KameleoonCore","internalConfiguration","externalStorage","externalEventSource","externalVisitorCodeManager","externalRequestDispatcher","externalPackageInfo","type","SdkLanguageType","REACT","version"],"sources":["../src/kameleoonClient.ts"],"sourcesContent":["import {\n KameleoonCore,\n SdkLanguageType,\n IExternalStorageConstructor,\n IExternalEventSourceConstructor,\n DEFAULT_REQUEST_TIMEOUT,\n} from '@kameleoon/javascript-sdk-core';\nimport {\n BrowserEventSourceConstructor,\n NativeEventSourceConstructor,\n} from './eventSource';\nimport {\n ReactVisitorCodeManagerConstructor,\n ReactNativeVisitorCodeManagerConstructor,\n} from './visitorCodeManager';\nimport { LocalStorageConstructor, NativeStorageConstructor } from './storage';\nimport { RequestDispatcher } from './requester';\nimport { KameleoonContextType, SDKParameters } from './types';\n\n/**\n * Creates an instance of KameleoonClient\n * @param {string} siteCode - client's siteCode defined on Kameleoon platform\n * @param {Partial<SDKConfigurationType> | undefined} configuration - client's configuration\n */\nexport function createClient({\n siteCode,\n configuration,\n}: SDKParameters): KameleoonContextType {\n const isBrowser = typeof window !== 'undefined' && Boolean(window.document);\n const storage: IExternalStorageConstructor = isBrowser\n ? new LocalStorageConstructor()\n : new NativeStorageConstructor();\n const eventSource: IExternalEventSourceConstructor = isBrowser\n ? new BrowserEventSourceConstructor()\n : new NativeEventSourceConstructor();\n const requestDispatcher = new RequestDispatcher(\n configuration?.requestTimeout || DEFAULT_REQUEST_TIMEOUT,\n );\n const visitorCodeManager = isBrowser\n ? new ReactVisitorCodeManagerConstructor(configuration?.domain)\n : new ReactNativeVisitorCodeManagerConstructor();\n\n const client = new KameleoonCore({\n siteCode,\n configuration,\n internalConfiguration: {\n externalStorage: storage,\n externalEventSource: eventSource,\n externalVisitorCodeManager: visitorCodeManager,\n externalRequestDispatcher: requestDispatcher,\n externalPackageInfo: {\n type: SdkLanguageType.REACT,\n version: process.env.npm_package_version as string,\n },\n },\n });\n\n return { client, visitorCodeManager };\n}\n"],"mappings":"iUAwBO,QAAS,CAAAA,YAAYA,CAAAC,CAAA,CAGY,IAFtC,CAAAC,CAAQ,CAAAD,CAAA,CAARC,QAAQ,CACRC,CAAa,CAAAF,CAAA,CAAbE,aAAa,CAEPC,CAAS,CAAqB,WAAW,EAA7B,MAAO,CAAAC,MAAsB,IAAYA,MAAM,CAACC,QAAS,CACrEC,CAAoC,CAAGH,CAAS,CAClD,GAAI,CAAAI,gCAAyB,CAC7B,GAAI,CAAAC,iCAA0B,CAC5BC,CAA4C,CAAGN,CAAS,CAC1D,GAAI,CAAAO,0CAA+B,CACnC,GAAI,CAAAC,yCAA8B,CAChCC,CAAiB,CAAG,GAAI,CAAAC,4BAAiB,CAC7C,QAAAX,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAEY,cAAc,GAAIC,0CAAuB,CACzD,CACKC,CAAkB,CAAGb,CAAS,CAChC,GAAI,CAAAc,sDAAkC,QAACf,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAEgB,MAAM,CAAC,CAC7D,GAAI,CAAAC,4DAA0C,CAE5CC,CAAM,CAAG,GAAI,CAAAC,gCAAa,CAAC,CAC/BpB,QAAQ,CAARA,CAAQ,CACRC,aAAa,CAAbA,CAAa,CACboB,qBAAqB,CAAE,CACrBC,eAAe,CAAEjB,CAAO,CACxBkB,mBAAmB,CAAEf,CAAW,CAChCgB,0BAA0B,CAAET,CAAkB,CAC9CU,yBAAyB,CAAEd,CAAiB,CAC5Ce,mBAAmB,CAAE,CACnBC,IAAI,CAAEC,kCAAe,CAACC,KAAK,CAC3BC,OAAO,QACT,CACF,CACF,CAAC,CAAC,CAEF,MAAO,CAAEX,MAAM,CAANA,CAAM,CAAEJ,kBAAkB,CAAlBA,CAAmB,CACtC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @class
|
|
3
|
-
* BrowserUtils - a class with containing a number of static helper methods
|
|
4
|
-
* */
|
|
5
|
-
export declare class BrowserUtils {
|
|
6
|
-
/**
|
|
7
|
-
* @method getVisitorCode obtains visitor code from the browser cookie, if the visitor code doesn't yet exist generates a random visitor code (or uses a provided default) and sets a new visitor code to cookie
|
|
8
|
-
* @param {string} domain domain which cookie belongs to
|
|
9
|
-
* @param {string | undefined} defaultVisitorCode visitor code to be used in case there is no visitor code in cookies Note: if not passed visitor code will be randomly generated
|
|
10
|
-
* @returns {string} result visitor code
|
|
11
|
-
* */
|
|
12
|
-
static getVisitorCode(domain: string, defaultVisitorCode?: string): string;
|
|
13
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.BrowserUtils=void 0;function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return 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 _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)}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}var KAMELEOON_COOKIE_KEY="kameleoonVisitorCode",KameleoonUtilsConstructor=function(a){function b(){return _classCallCheck(this,b),c.apply(this,arguments)}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"getVisitorCode",value:function getVisitorCode(a){var b=a.domain,c=a.defaultVisitorCode,d=document.cookie,e=this.getCookieVisitorCode(d);if(e.ok&&e.data)return e.data;var f=c||this.generateRandomString(_javascriptSdkCore.VISITOR_CODE_LENGTH),g=this.getResultCookie(f,b);return document.cookie=g,f}},{key:"getCookieVisitorCode",value:function getCookieVisitorCode(a){var b=a.split(_javascriptSdkCore.CookieParameter.PairsDelimiter),c=b.find(function(a){var b=a.split(_javascriptSdkCore.CookieParameter.KeyValueDelimiter),c=_slicedToArray(b,2),d=c[0],e=c[1];return d===KAMELEOON_COOKIE_KEY});if(c){var d=c.split(_javascriptSdkCore.CookieParameter.KeyValueDelimiter),e=_slicedToArray(d,2),f=e[0],g=e[1];return(0,_javascriptSdkCore.Ok)(g)}return(0,_javascriptSdkCore.Err)()}},{key:"generateRandomString",value:function generateRandomString(a){var b="";if(0>a)return b;for(var c=0;c<a;c++)b+="abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(36*Math.random())];return b}},{key:"getResultCookie",value:function getResultCookie(a,b){var c=[KAMELEOON_COOKIE_KEY+_javascriptSdkCore.CookieParameter.KeyValueDelimiter+a,_javascriptSdkCore.CookieParameter.MaxAge+_javascriptSdkCore.CookieParameter.KeyValueDelimiter+31536000,_javascriptSdkCore.CookieParameter.Path+_javascriptSdkCore.CookieParameter.KeyValueDelimiter+"/",_javascriptSdkCore.CookieParameter.Domain+_javascriptSdkCore.CookieParameter.KeyValueDelimiter+b];return c.join(_javascriptSdkCore.CookieParameter.PairsDelimiter)}}]),b}(_javascriptSdkCore.KameleoonCoreUtils),BrowserUtils=function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:"getVisitorCode",value:function getVisitorCode(a,b){var c=new KameleoonUtilsConstructor;return c.getVisitorCode({domain:a,defaultVisitorCode:b})}}]),a}();exports.BrowserUtils=BrowserUtils;
|
|
2
|
-
//# sourceMappingURL=browserUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browserUtils.js","names":["_javascriptSdkCore","require","_typeof","a","Symbol","iterator","constructor","prototype","Object","defineProperty","exports","value","BrowserUtils","_slicedToArray","b","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_arrayLikeToArray","c","toString","call","slice","name","Array","from","test","length","d","e","f","g","h","i","j","next","done","push","return","isArray","_classCallCheck","_defineProperties","enumerable","configurable","writable","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","_inherits","create","_setPrototypeOf","setPrototypeOf","bind","__proto__","_createSuper","_isNativeReflectConstruct","_getPrototypeOf","Reflect","construct","arguments","apply","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","KAMELEOON_COOKIE_KEY","KameleoonUtilsConstructor","getVisitorCode","domain","defaultVisitorCode","cookie","document","visitorCodeResult","getCookieVisitorCode","ok","data","visitorCode","generateRandomString","VISITOR_CODE_LENGTH","resultCookie","getResultCookie","pairs","split","Cookie","PairsDelimiter","pair","find","KeyValueDelimiter","_","Ok","Err","randomString","Math","floor","random","cookieArray","MaxAge","Path","Domain","join","KameleoonCoreUtils","kameleoonUtilsConstructor"],"sources":["../../src/kameleoonUtils/browserUtils.ts"],"sourcesContent":["import {\n CookieParameter as Cookie,\n Err,\n KameleoonCoreUtils,\n Ok,\n Result,\n VISITOR_CODE_LENGTH,\n} from '@kameleoon/javascript-sdk-core';\nimport { ClientGetVisitorCodeParametersType } from 'src/types';\n\nconst KAMELEOON_COOKIE_KEY = 'kameleoonVisitorCode';\n\n// --- Note ---\n// Extra class is created:\n// - To be able to enforce abstract `getVisitorCode` method\n// - To be able to use extended methods while `KameleoonUtils` iself only operates on static methods\n// - To keep similar parameters object on inner implementation and dispers it for proprietary implementations\nclass KameleoonUtilsConstructor extends KameleoonCoreUtils {\n public getVisitorCode({\n domain,\n defaultVisitorCode,\n }: ClientGetVisitorCodeParametersType): string {\n const cookie = document.cookie;\n\n const visitorCodeResult = this.getCookieVisitorCode(cookie);\n\n if (visitorCodeResult.ok && visitorCodeResult.data) {\n return visitorCodeResult.data;\n }\n\n const visitorCode =\n defaultVisitorCode || this.generateRandomString(VISITOR_CODE_LENGTH);\n\n const resultCookie = this.getResultCookie(visitorCode, domain);\n\n document.cookie = resultCookie;\n\n return visitorCode;\n }\n\n private getCookieVisitorCode(cookie: string): Result<string, void> {\n const pairs = cookie.split(Cookie.PairsDelimiter);\n const pair = pairs.find((pair) => {\n const [key, _] = pair.split(Cookie.KeyValueDelimiter) as [string, string];\n\n return key === KAMELEOON_COOKIE_KEY;\n });\n\n if (pair) {\n const [_, value] = pair.split(Cookie.KeyValueDelimiter);\n\n return Ok(value);\n }\n\n return Err();\n }\n\n private generateRandomString(length: number): string {\n const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';\n let randomString = '';\n\n if (length < 0) {\n return randomString;\n }\n\n for (let i = 0; i < length; i++) {\n randomString += characters[Math.floor(Math.random() * characters.length)];\n }\n\n return randomString;\n }\n\n private getResultCookie(visitorCode: string, domain: string): string {\n const yearSeconds = 60 * 60 * 24 * 365;\n const cookieArray = [\n KAMELEOON_COOKIE_KEY + Cookie.KeyValueDelimiter + visitorCode,\n Cookie.MaxAge + Cookie.KeyValueDelimiter + yearSeconds,\n Cookie.Path + Cookie.KeyValueDelimiter + '/',\n Cookie.Domain + Cookie.KeyValueDelimiter + domain,\n ];\n\n return cookieArray.join(Cookie.PairsDelimiter);\n }\n}\n\n/**\n * @class\n * BrowserUtils - a class with containing a number of static helper methods\n * */\nexport class BrowserUtils {\n /**\n * @method getVisitorCode obtains visitor code from the browser cookie, if the visitor code doesn't yet exist generates a random visitor code (or uses a provided default) and sets a new visitor code to cookie\n * @param {string} domain domain which cookie belongs to\n * @param {string | undefined} defaultVisitorCode visitor code to be used in case there is no visitor code in cookies Note: if not passed visitor code will be randomly generated\n * @returns {string} result visitor code\n * */\n static getVisitorCode(domain: string, defaultVisitorCode?: string): string {\n const kameleoonUtilsConstructor = new KameleoonUtilsConstructor();\n\n return kameleoonUtilsConstructor.getVisitorCode({\n domain,\n defaultVisitorCode,\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @class
|
|
3
|
-
* BrowserUtils - a class with containing a number of static helper methods
|
|
4
|
-
* */
|
|
5
|
-
export declare class NativeUtils {
|
|
6
|
-
/**
|
|
7
|
-
* @method getVisitorCode obtains visitor code from the browser cookie, if the visitor code doesn't yet exist generates a random visitor code (or uses a provided default) and sets a new visitor code to cookie
|
|
8
|
-
* @param {string | undefined} defaultVisitorCode visitor code to be used in case there is no visitor code in cookies Note: if not passed visitor code will be randomly generated
|
|
9
|
-
* @returns {string} result visitor code
|
|
10
|
-
* */
|
|
11
|
-
static getVisitorCode(defaultVisitorCode?: string): string;
|
|
12
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";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)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.NativeUtils=void 0;var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core"),_storage=require("../storage");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 _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)}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}var storage=new _storage.NativeStorageConstructor().initialize(_javascriptSdkCore.KameleoonStorageKey.VisitorCode),KameleoonUtilsConstructor=function(a){function b(){return _classCallCheck(this,b),c.apply(this,arguments)}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"getVisitorCode",value:function getVisitorCode(a){var b=a.defaultVisitorCode,c=storage.read();if(c.ok)return c.data;var d=b||this.generateRandomString(_javascriptSdkCore.VISITOR_CODE_LENGTH);return storage.write(d),d}},{key:"generateRandomString",value:function generateRandomString(a){var b="";if(0>a)return b;for(var c=0;c<a;c++)b+="abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(36*Math.random())];return b}}]),b}(_javascriptSdkCore.KameleoonCoreUtils),NativeUtils=function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:"getVisitorCode",value:function getVisitorCode(a){var b=new KameleoonUtilsConstructor;return b.getVisitorCode({defaultVisitorCode:a})}}]),a}();exports.NativeUtils=NativeUtils;
|
|
2
|
-
//# sourceMappingURL=nativeUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nativeUtils.js","names":["storage","NativeStorageConstructor","initialize","KameleoonStorageKey","VisitorCode","KameleoonUtilsConstructor","a","b","_classCallCheck","c","apply","arguments","_inherits","_createSuper","_createClass","key","value","getVisitorCode","defaultVisitorCode","readResult","read","ok","data","visitorCode","generateRandomString","VISITOR_CODE_LENGTH","write","length","randomString","i","Math","floor","random","KameleoonCoreUtils","NativeUtils","kameleoonUtilsConstructor","exports"],"sources":["../../src/kameleoonUtils/nativeUtils.ts"],"sourcesContent":["import {\n KameleoonCoreUtils,\n KameleoonStorageKey,\n VISITOR_CODE_LENGTH,\n} from '@kameleoon/javascript-sdk-core';\nimport { MobileGetVisitorCodeParametersType } from 'src/types';\nimport { NativeStorageConstructor } from 'src/storage';\n\nconst storage = new NativeStorageConstructor().initialize<string>(\n KameleoonStorageKey.VisitorCode,\n);\n\n// --- Note ---\n// Extra class is created:\n// - To be able to enforce abstract `getVisitorCode` method\n// - To be able to use extended methods while `KameleoonUtils` itself only operates on static methods\n// - To keep similar parameters object on inner implementation and disperse it for proprietary implementations\nclass KameleoonUtilsConstructor extends KameleoonCoreUtils {\n public getVisitorCode({\n defaultVisitorCode,\n }: MobileGetVisitorCodeParametersType): string {\n const readResult = storage.read();\n\n if (readResult.ok) {\n return readResult.data;\n }\n\n const visitorCode =\n defaultVisitorCode || this.generateRandomString(VISITOR_CODE_LENGTH);\n\n // --- Note ---\n // `write` result is ignored because there is no exceptions for `mmkv` write operation\n storage.write(visitorCode);\n\n return visitorCode;\n }\n\n private generateRandomString(length: number): string {\n const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';\n let randomString = '';\n\n if (length < 0) {\n return randomString;\n }\n\n for (let i = 0; i < length; i++) {\n randomString += characters[Math.floor(Math.random() * characters.length)];\n }\n\n return randomString;\n }\n}\n\n/**\n * @class\n * BrowserUtils - a class with containing a number of static helper methods\n * */\nexport class NativeUtils {\n /**\n * @method getVisitorCode obtains visitor code from the browser cookie, if the visitor code doesn't yet exist generates a random visitor code (or uses a provided default) and sets a new visitor code to cookie\n * @param {string | undefined} defaultVisitorCode visitor code to be used in case there is no visitor code in cookies Note: if not passed visitor code will be randomly generated\n * @returns {string} result visitor code\n * */\n static getVisitorCode(defaultVisitorCode?: string): string {\n const kameleoonUtilsConstructor = new KameleoonUtilsConstructor();\n\n return kameleoonUtilsConstructor.getVisitorCode({\n defaultVisitorCode,\n });\n }\n}\n"],"mappings":"iyFAQM,CAAAA,OAAO,CAAG,GAAI,CAAAC,iCAAwB,EAAE,CAACC,UAAU,CACvDC,sCAAmB,CAACC,WAAW,CAChC,CAOKC,yBAAyB,UAAAC,CAAA,WAAAC,EAAA,SAAAC,eAAA,MAAAD,CAAA,EAAAE,CAAA,CAAAC,KAAA,MAAAC,SAAA,EAAAC,SAAA,CAAAL,CAAA,CAAAD,CAAA,MAAAG,CAAA,CAAAI,YAAA,CAAAN,CAAA,SAAAO,YAAA,CAAAP,CAAA,GAAAQ,GAAA,kBAAAC,KAAA,CAC7B,SAAAC,eAAAX,CAAA,CAE+C,IAD7C,CAAAY,CAAkB,CAAAZ,CAAA,CAAlBY,kBAAkB,CAEZC,CAAU,CAAGnB,OAAO,CAACoB,IAAI,EAAE,CAEjC,GAAID,CAAU,CAACE,EAAE,CACf,MAAO,CAAAF,CAAU,CAACG,IAAI,CAGxB,GAAM,CAAAC,CAAW,CACfL,CAAkB,EAAI,IAAI,CAACM,oBAAoB,CAACC,sCAAmB,CAAC,CAMtE,MAFA,CAAAzB,OAAO,CAAC0B,KAAK,CAACH,CAAW,CAAC,CAEnBA,CACT,CAAC,GAAAR,GAAA,wBAAAC,KAAA,CAED,SAAAQ,qBAA6BG,CAAc,CAAU,IAE/C,CAAAC,CAAY,CAAG,EAAE,CAErB,GAAa,CAAC,CAAVD,CAAU,CACZ,MAAO,CAAAC,CAAY,CAGrB,IAAK,GAAI,CAAAC,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGF,CAAM,CAAEE,CAAC,EAAE,CAC7BD,CAAY,EAAI,uCAAWE,IAAI,CAACC,KAAK,CAAC,GAAAD,IAAI,CAACE,MAAM,EAAsB,CAAC,CAAC,CAG3E,MAAO,CAAAJ,CACT,CAAC,IAAArB,CAAA,EAjCqC0B,qCAAkB,EAwC7CC,WAAW,qBAAA5B,EAAA,EAAAE,eAAA,MAAAF,CAAA,SAAAQ,YAAA,CAAAR,CAAA,QAAAS,GAAA,kBAAAC,KAAA,CAMtB,SAAAC,eAAsBC,CAA2B,CAAU,CACzD,GAAM,CAAAiB,CAAyB,CAAG,GAAI,CAAA9B,yBAA2B,CAEjE,MAAO,CAAA8B,CAAyB,CAAClB,cAAc,CAAC,CAC9CC,kBAAkB,CAAlBA,CACF,CAAC,CACH,CAAC,IAAAZ,CAAA,IAAA8B,OAAA,CAAAF,WAAA,CAAAA,WAAA"}
|
package/dist/requester.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { JSONType, TrackParametersType, IExternalRequestDispatcher, HeadersType } from '@kameleoon/javascript-sdk-core';
|
|
2
|
-
export declare class RequestDispatcher implements IExternalRequestDispatcher {
|
|
3
|
-
private timeout;
|
|
4
|
-
constructor(timeout: number);
|
|
5
|
-
track({ url, headers, body, }: TrackParametersType): Promise<boolean>;
|
|
6
|
-
getClientConfiguration(url: string, _headers: HeadersType): Promise<JSONType>;
|
|
7
|
-
getRemoteData(url: string): Promise<JSONType>;
|
|
8
|
-
private sendRequest;
|
|
9
|
-
}
|
package/dist/requester.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestDispatcher=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 ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _regeneratorRuntime(){"use strict";function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,c,e){var f=b&&b.prototype instanceof d?b:d,g=Object.create(f.prototype),h=new m(e||[]);return s(g,"_invoke",{value:i(a,c,h)}),g}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&r.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;s(this,"_invoke",{value:function value(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}})}function i(a,b,d){var e="suspendedStart";return function(f,g){if("executing"==e)throw new Error("Generator is already running");if("completed"==e){if("throw"===f)throw g;return o()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var i=j(h,d);if(i){if(i===x)continue;return i}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"==e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===x)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}function j(a,b){var d=b.method,e=a.iterator[d];if(void 0===e)return b.delegate=null,"throw"===d&&a.iterator.return&&(b.method="return",b.arg=void 0,j(a,b),"throw"===b.method)||"return"!==d&&(b.method="throw",b.arg=new TypeError("The iterator does not provide a '"+d+"' method")),x;var f=c(e,a.iterator,b.arg);if("throw"===f.type)return b.method="throw",b.arg=f.arg,b.delegate=null,x;var g=f.arg;return g?g.done?(b[a.resultName]=g.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,x):g:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,x)}function k(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function l(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function m(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(k,this),this.reset(!0)}function n(a){if(a){var b=a[u];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(r.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:o}}function o(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return p};var p={},q=Object.prototype,r=q.hasOwnProperty,s=Object.defineProperty||function(a,b,c){a[b]=c.value},t="function"==typeof Symbol?Symbol:{},u=t.iterator||"@@iterator",v=t.asyncIterator||"@@asyncIterator",w=t.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}p.wrap=b;var x={},y={};a(y,u,function(){return this});var z=Object.getPrototypeOf,A=z&&z(z(n([])));A&&A!==q&&r.call(A,u)&&(y=A);var B=f.prototype=d.prototype=Object.create(y);return e.prototype=f,s(B,"constructor",{value:f,configurable:!0}),s(f,"constructor",{value:e,configurable:!0}),e.displayName=a(f,w,"GeneratorFunction"),p.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},p.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,w,"GeneratorFunction")),b.prototype=Object.create(B),b},p.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,v,function(){return this}),p.AsyncIterator=h,p.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return p.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(B),a(B,w,"Generator"),a(B,u,function(){return this}),a(B,"toString",function(){return"[object Generator]"}),p.keys=function(a){var b=Object(a),c=[];for(var d in b)c.push(d);return c.reverse(),function a(){for(;c.length;){var d=c.pop();if(d in b)return a.value=d,a.done=!1,a}return a.done=!0,a}},p.values=n,m.prototype={constructor:m,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(l),!a)for(var b in this)"t"===b.charAt(0)&&r.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=r.call(e,"catchLoc"),h=r.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&r.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,x):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),x},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),l(b),x},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;l(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:n(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),x}},p}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}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 RequestDispatcher=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"timeout",void 0),this.timeout=b}return _createClass(a,[{key:"track",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h;return _regeneratorRuntime().wrap(function i(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.url,d=a.headers,e=a.body,b.next=3,this.sendRequest(c,{method:_javascriptSdkCore.HttpMethod.Post,headers:d,body:e});case 3:if(f=b.sent,!f.ok){b.next=6;break}return b.abrupt("return",!0);case 6:g=0;case 7:if(!(g<_javascriptSdkCore.NUMBER_OF_RETRIES)){b.next=18;break}return b.next=10,new Promise(function(a){return setTimeout(a,_javascriptSdkCore.RETRIES_DELAY)});case 10:return b.next=12,this.sendRequest(c,{method:_javascriptSdkCore.HttpMethod.Post,headers:d,body:e});case 12:if(h=b.sent,!h.ok){b.next=15;break}return b.abrupt("return",!0);case 15:g++,b.next=7;break;case 18:return b.abrupt("return",!1);case 19:case"end":return b.stop();}},b,this)}));return a}()},{key:"getClientConfiguration",value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function c(a,b){var d,e,f;return _regeneratorRuntime().wrap(function c(b){for(;1;)switch(b.prev=b.next){case 0:d=_javascriptSdkCore.NUMBER_OF_RETRIES+1,e=0;case 2:if(!(e<d)){b.next=17;break}return b.prev=3,b.next=6,this.sendRequest(a,{method:_javascriptSdkCore.HttpMethod.Get});case 6:if(f=b.sent,!f.ok){b.next=9;break}return b.abrupt("return",f.json());case 9:b.next=14;break;case 11:throw b.prev=11,b.t0=b["catch"](3),new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.ClientConfiguration);case 14:e++,b.next=2;break;case 17:return b.abrupt("return",null);case 18:case"end":return b.stop();}},c,this,[[3,11]])}));return a}()},{key:"getRemoteData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c;return _regeneratorRuntime().wrap(function d(b){for(;1;)switch(b.prev=b.next){case 0:return b.next=2,this.sendRequest(a,{method:_javascriptSdkCore.HttpMethod.Get});case 2:if(c=b.sent,!c.ok){b.next=5;break}return b.abrupt("return",c.json());case 5:throw new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.RemoteData);case 6:case"end":return b.stop();}},b,this)}));return a}()},{key:"sendRequest",value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function c(a,b){var d,e,f,g;return _regeneratorRuntime().wrap(function h(c){for(;1;)switch(c.prev=c.next){case 0:return d=new AbortController,e=_objectSpread(_objectSpread({},b),{},{signal:d.signal}),f=setTimeout(function(){return d.abort()},this.timeout),c.next=5,fetch(a,e);case 5:return g=c.sent,clearTimeout(f),c.abrupt("return",g);case 8:case"end":return c.stop();}},c,this)}));return a}()}]),a}();exports.RequestDispatcher=RequestDispatcher;
|
|
2
|
-
//# sourceMappingURL=requester.js.map
|
package/dist/requester.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requester.js","names":["_javascriptSdkCore","require","Object","defineProperty","exports","value","RequestDispatcher","_typeof","a","Symbol","iterator","constructor","prototype","ownKeys","b","c","keys","getOwnPropertySymbols","d","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_regeneratorRuntime","configurable","writable","e","f","g","create","h","m","s","i","type","arg","call","_invoke","j","k","r","resolve","__await","then","Error","o","method","delegate","x","sent","_sent","dispatchException","abrupt","done","return","TypeError","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","l","completion","reset","n","u","isNaN","p","q","hasOwnProperty","t","v","asyncIterator","w","toStringTag","wrap","y","z","getPrototypeOf","A","B","displayName","isGeneratorFunction","name","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","reverse","pop","values","prev","charAt","slice","stop","rval","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","timeout","url","headers","body","sendRequest","HttpMethod","Post","response","ok","NUMBER_OF_RETRIES","setTimeout","RETRIES_DELAY","retryResponse","_headers","requests","Get","json","t0","KameleoonError","KameleoonException","ClientConfiguration","RemoteData","params","controller","AbortController","allParams","signal","timeoutId","abort","fetch","clearTimeout"],"sources":["../src/requester.ts"],"sourcesContent":["import {\n JSONType,\n HttpMethod,\n TrackParametersType,\n IExternalRequestDispatcher,\n KameleoonException,\n KameleoonError,\n HeadersType,\n RETRIES_DELAY,\n NUMBER_OF_RETRIES,\n} from '@kameleoon/javascript-sdk-core';\n\nexport class RequestDispatcher implements IExternalRequestDispatcher {\n private timeout: number;\n\n constructor(timeout: number) {\n this.timeout = timeout;\n }\n\n public async track({\n url,\n headers,\n body,\n }: TrackParametersType): Promise<boolean> {\n const response = await this.sendRequest(url, {\n method: HttpMethod.Post,\n headers,\n body,\n });\n\n if (response.ok) {\n return true;\n }\n\n for (let i = 0; i < NUMBER_OF_RETRIES; i++) {\n await new Promise((resolve) => setTimeout(resolve, RETRIES_DELAY));\n\n const retryResponse = await this.sendRequest(url, {\n method: HttpMethod.Post,\n headers,\n body,\n });\n\n if (retryResponse.ok) {\n return true;\n }\n }\n\n return false;\n }\n\n public async getClientConfiguration(\n url: string,\n // --- Note ---\n // https://project.kameleoon.net/issues/25005\n _headers: HeadersType,\n ): Promise<JSONType> {\n // --- Note ---\n // Initial request + NUMBER_OF_RETRIES\n const requests = NUMBER_OF_RETRIES + 1;\n\n for (let i = 0; i < requests; i++) {\n try {\n const response = await this.sendRequest(url, {\n method: HttpMethod.Get,\n // headers\n });\n\n if (response.ok) {\n return response.json();\n }\n } catch (err) {\n throw new KameleoonError(KameleoonException.ClientConfiguration);\n }\n }\n\n return null;\n }\n\n public async getRemoteData(url: string): Promise<JSONType> {\n const response = await this.sendRequest(url, {\n method: HttpMethod.Get,\n });\n\n if (response.ok) {\n return response.json();\n }\n\n throw new KameleoonError(KameleoonException.RemoteData);\n }\n\n private async sendRequest(\n url: string,\n params: RequestInit,\n ): Promise<Response> {\n const controller = new AbortController();\n\n const allParams = {\n ...params,\n signal: controller.signal,\n };\n\n const timeoutId = setTimeout(() => controller.abort(), this.timeout);\n\n const response = await fetch(url, allParams);\n\n clearTimeout(timeoutId);\n\n return response;\n }\n}\n"],"mappings":"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"}
|
package/dist/storage/index.d.ts
DELETED
package/dist/storage/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"LocalStorageConstructor",{enumerable:!0,get:function get(){return _localStorage.LocalStorageConstructor}}),Object.defineProperty(exports,"NativeStorageConstructor",{enumerable:!0,get:function get(){return _nativeStorage.NativeStorageConstructor}});var _localStorage=require("./localStorage"),_nativeStorage=require("./nativeStorage");
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/storage/index.ts"],"sourcesContent":["export { LocalStorageConstructor } from './localStorage';\nexport { NativeStorageConstructor } from './nativeStorage';\n"],"mappings":""}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { IExternalStorage, KameleoonStorageKey, IExternalStorageConstructor, StorageDataType } from '@kameleoon/javascript-sdk-core';
|
|
2
|
-
export declare class LocalStorageConstructor implements IExternalStorageConstructor {
|
|
3
|
-
initialize<T extends StorageDataType>(key: KameleoonStorageKey): IExternalStorage<T>;
|
|
4
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");Object.defineProperty(exports,"__esModule",{value:!0}),exports.LocalStorageConstructor=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 ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return 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 _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 _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 LocalStorageConstructor=function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"initialize",value:function initialize(a){var b=new LocalStorage(a);return b}}]),a}();exports.LocalStorageConstructor=LocalStorageConstructor;var LocalStorage=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"storageKey",void 0),this.storageKey=b}return _createClass(a,[{key:"key",get:function get(){return this.storageKey}},{key:"read",value:function read(){var a=localStorage.getItem(this.storageKey);if(!a)return(0,_javascriptSdkCore.Err)(new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.StorageEmpty));try{var b=this.parse(a);return b}catch(a){return(0,_javascriptSdkCore.Err)(new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.StorageRead,this.storageKey))}}},{key:"write",value:function write(a){try{return localStorage.setItem(this.storageKey,JSON.stringify(a)),(0,_javascriptSdkCore.Ok)()}catch(a){return(0,_javascriptSdkCore.Err)(new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.StorageWrite,a))}}},{key:"update",value:function update(a){var b=this.read();if(!b.ok)return b.error.type===_javascriptSdkCore.KameleoonException.StorageEmpty?this.write(a):b;var c=_objectSpread(_objectSpread({},b.data),a);return this.write(c)}},{key:"parse",value:function parse(a){var b;try{b=JSON.parse(a)}catch(a){throw new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.StorageParse,a,this.key)}return(0,_javascriptSdkCore.Ok)(b)}}]),a}();
|
|
2
|
-
//# sourceMappingURL=localStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localStorage.js","names":["_javascriptSdkCore","require","Object","defineProperty","exports","value","LocalStorageConstructor","_typeof","a","Symbol","iterator","constructor","prototype","ownKeys","b","c","keys","getOwnPropertySymbols","d","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_classCallCheck","TypeError","_defineProperties","key","_createClass","_toPrimitive","toPrimitive","call","String","Number","initialize","storage","LocalStorage","storageKey","get","read","data","localStorage","getItem","Err","KameleoonError","KameleoonException","StorageEmpty","parsedData","parse","err","StorageRead","write","setItem","JSON","stringify","Ok","StorageWrite","update","result","ok","error","type","newData","StorageParse"],"sources":["../../src/storage/localStorage.ts"],"sourcesContent":["import {\n Ok,\n Err,\n Result,\n KameleoonError,\n IExternalStorage,\n KameleoonException,\n KameleoonStorageKey,\n IExternalStorageConstructor,\n StorageDataType,\n} from '@kameleoon/javascript-sdk-core';\n\nexport class LocalStorageConstructor implements IExternalStorageConstructor {\n public initialize<T extends StorageDataType>(\n key: KameleoonStorageKey,\n ): IExternalStorage<T> {\n const storage = new LocalStorage<T>(key);\n\n return storage;\n }\n}\n\nclass LocalStorage<T> implements IExternalStorage<T> {\n private storageKey: KameleoonStorageKey;\n\n constructor(key: KameleoonStorageKey) {\n this.storageKey = key;\n }\n\n get key(): KameleoonStorageKey {\n return this.storageKey;\n }\n\n public read(): Result<T, KameleoonError> {\n const data = localStorage.getItem(this.storageKey);\n\n if (!data) {\n return Err(new KameleoonError(KameleoonException.StorageEmpty));\n }\n\n try {\n const parsedData = this.parse(data);\n\n return parsedData;\n } catch (err) {\n return Err(\n new KameleoonError(KameleoonException.StorageRead, this.storageKey),\n );\n }\n }\n\n public write(data: T): Result<void, KameleoonError> {\n try {\n localStorage.setItem(this.storageKey, JSON.stringify(data));\n\n return Ok();\n } catch (err) {\n return Err(new KameleoonError(KameleoonException.StorageWrite, err));\n }\n }\n\n public update(data: Partial<T>): Result<void, KameleoonError> {\n const result = this.read();\n\n if (!result.ok) {\n if (result.error.type === KameleoonException.StorageEmpty) {\n return this.write(data as T);\n } else {\n return result;\n }\n }\n\n const newData = {\n ...result.data,\n ...data,\n };\n\n return this.write(newData);\n }\n\n private parse(data: string): Result<T, KameleoonError> {\n let result: T;\n\n try {\n result = JSON.parse(data);\n } catch (err) {\n throw new KameleoonError(KameleoonException.StorageParse, err, this.key);\n }\n\n return Ok(result);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Result, KameleoonError, IExternalStorage, KameleoonStorageKey, IExternalStorageConstructor, StorageDataType } from '@kameleoon/javascript-sdk-core';
|
|
2
|
-
export declare class NativeStorageConstructor implements IExternalStorageConstructor {
|
|
3
|
-
initialize<T extends StorageDataType>(key: KameleoonStorageKey): IExternalStorage<T>;
|
|
4
|
-
}
|
|
5
|
-
export declare class NativeStorage<T> implements IExternalStorage<T> {
|
|
6
|
-
private storageKey;
|
|
7
|
-
private storage;
|
|
8
|
-
constructor(key: KameleoonStorageKey);
|
|
9
|
-
get key(): KameleoonStorageKey;
|
|
10
|
-
read(): Result<T, KameleoonError>;
|
|
11
|
-
write(data: T): Result<void, KameleoonError>;
|
|
12
|
-
update(data: Partial<T>): Result<void, KameleoonError>;
|
|
13
|
-
private parse;
|
|
14
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.NativeStorageConstructor=exports.NativeStorage=void 0;var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core"),_reactNativeMmkv=require("react-native-mmkv");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 ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return 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 _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 _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 NativeStorageConstructor=function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"initialize",value:function initialize(a){var b=new NativeStorage(a);return b}}]),a}();exports.NativeStorageConstructor=NativeStorageConstructor;var NativeStorage=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"storageKey",void 0),_defineProperty(this,"storage",void 0),this.storage=new _reactNativeMmkv.MMKV,this.storageKey=b}return _createClass(a,[{key:"key",get:function get(){return this.storageKey}},{key:"read",value:function read(){var a=this.storage.getString(this.storageKey);if(!a)return(0,_javascriptSdkCore.Err)(new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.StorageEmpty));if(this.storageKey===_javascriptSdkCore.KameleoonStorageKey.VisitorCode)return(0,_javascriptSdkCore.Ok)(a);try{var b=this.parse(a);return b}catch(a){return(0,_javascriptSdkCore.Err)(new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.StorageRead,this.storageKey))}}},{key:"write",value:function write(a){return this.storage.set(this.storageKey,JSON.stringify(a)),(0,_javascriptSdkCore.Ok)()}},{key:"update",value:function update(a){var b=this.read();if(!b.ok)return b.error.type===_javascriptSdkCore.KameleoonException.StorageEmpty?this.write(a):b;var c=_objectSpread(_objectSpread({},b.data),a);return this.write(c)}},{key:"parse",value:function parse(a){var b;try{b=JSON.parse(a)}catch(a){throw new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.StorageParse,a,this.key)}return(0,_javascriptSdkCore.Ok)(b)}}]),a}();exports.NativeStorage=NativeStorage;
|
|
2
|
-
//# sourceMappingURL=nativeStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nativeStorage.js","names":["NativeStorageConstructor","a","_classCallCheck","_createClass","key","value","initialize","storage","NativeStorage","exports","_defineProperty","MMKV","storageKey","get","read","data","getString","Err","KameleoonError","KameleoonException","StorageEmpty","KameleoonStorageKey","VisitorCode","Ok","parsedData","parse","err","StorageRead","write","set","JSON","stringify","update","result","ok","error","type","newData","_objectSpread","StorageParse"],"sources":["../../src/storage/nativeStorage.ts"],"sourcesContent":["import {\n Ok,\n Err,\n Result,\n KameleoonError,\n IExternalStorage,\n KameleoonException,\n KameleoonStorageKey,\n IExternalStorageConstructor,\n StorageDataType,\n} from '@kameleoon/javascript-sdk-core';\nimport { MMKV } from 'react-native-mmkv';\n\nexport class NativeStorageConstructor implements IExternalStorageConstructor {\n public initialize<T extends StorageDataType>(\n key: KameleoonStorageKey,\n ): IExternalStorage<T> {\n const storage = new NativeStorage<T>(key);\n\n return storage;\n }\n}\n\nexport class NativeStorage<T> implements IExternalStorage<T> {\n private storageKey: KameleoonStorageKey;\n private storage: MMKV;\n\n constructor(key: KameleoonStorageKey) {\n this.storage = new MMKV();\n this.storageKey = key;\n }\n\n get key(): KameleoonStorageKey {\n return this.storageKey;\n }\n\n public read(): Result<T, KameleoonError> {\n const data = this.storage.getString(this.storageKey);\n\n if (!data) {\n return Err(new KameleoonError(KameleoonException.StorageEmpty));\n }\n\n if (this.storageKey === KameleoonStorageKey.VisitorCode) {\n return Ok(data as T);\n }\n\n try {\n const parsedData = this.parse(data);\n\n return parsedData;\n } catch (err) {\n return Err(\n new KameleoonError(KameleoonException.StorageRead, this.storageKey),\n );\n }\n }\n\n public write(data: T): Result<void, KameleoonError> {\n this.storage.set(this.storageKey, JSON.stringify(data));\n\n return Ok();\n }\n\n public update(data: Partial<T>): Result<void, KameleoonError> {\n const result = this.read();\n\n if (!result.ok) {\n if (result.error.type === KameleoonException.StorageEmpty) {\n return this.write(data as T);\n } else {\n return result;\n }\n }\n\n const newData = {\n ...result.data,\n ...data,\n };\n\n return this.write(newData);\n }\n\n private parse(data: string): Result<T, KameleoonError> {\n let result: T;\n\n try {\n result = JSON.parse(data);\n } catch (err) {\n throw new KameleoonError(KameleoonException.StorageParse, err, this.key);\n }\n\n return Ok(result);\n }\n}\n"],"mappings":"+jEAaa,CAAAA,wBAAwB,qBAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,YAAA,CAAAF,CAAA,GAAAG,GAAA,cAAAC,KAAA,CACnC,SAAAC,WACEF,CAAwB,CACH,CACrB,GAAM,CAAAG,CAAO,CAAG,GAAI,CAAAC,aAAa,CAAIJ,CAAG,CAAC,CAEzC,MAAO,CAAAG,CACT,CAAC,IAAAN,CAAA,IAAAQ,OAAA,CAAAT,wBAAA,CAAAA,wBAAA,IAGU,CAAAQ,aAAa,YAIxB,SAAAP,EAAYG,CAAwB,CAAE,CAAAF,eAAA,MAAAD,CAAA,EAAAS,eAAA,2BAAAA,eAAA,wBACpC,IAAI,CAACH,OAAO,CAAG,GAAI,CAAAI,qBAAM,CACzB,IAAI,CAACC,UAAU,CAAGR,CACpB,CAAC,OAAAD,YAAA,CAAAF,CAAA,GAAAG,GAAA,OAAAS,GAAA,CAED,SAAAA,IAAA,CAA+B,CAC7B,MAAO,KAAI,CAACD,UACd,CAAC,GAAAR,GAAA,QAAAC,KAAA,CAED,SAAAS,KAAA,CAAyC,CACvC,GAAM,CAAAC,CAAI,CAAG,IAAI,CAACR,OAAO,CAACS,SAAS,CAAC,IAAI,CAACJ,UAAU,CAAC,CAEpD,GAAI,CAACG,CAAI,CACP,MAAO,GAAAE,sBAAG,EAAC,GAAI,CAAAC,iCAAc,CAACC,qCAAkB,CAACC,YAAY,CAAC,CAAC,CAGjE,GAAI,IAAI,CAACR,UAAU,GAAKS,sCAAmB,CAACC,WAAW,CACrD,MAAO,GAAAC,qBAAE,EAACR,CAAI,CAAM,CAGtB,GAAI,CACF,GAAM,CAAAS,CAAU,CAAG,IAAI,CAACC,KAAK,CAACV,CAAI,CAAC,CAEnC,MAAO,CAAAS,CACT,CAAE,MAAOE,CAAG,CAAE,CACZ,MAAO,GAAAT,sBAAG,EACR,GAAI,CAAAC,iCAAc,CAACC,qCAAkB,CAACQ,WAAW,CAAE,IAAI,CAACf,UAAU,CAAC,CAEvE,CACF,CAAC,GAAAR,GAAA,SAAAC,KAAA,CAED,SAAAuB,MAAab,CAAO,CAAgC,CAGlD,MAFA,KAAI,CAACR,OAAO,CAACsB,GAAG,CAAC,IAAI,CAACjB,UAAU,CAAEkB,IAAI,CAACC,SAAS,CAAChB,CAAI,CAAC,CAAC,CAEhD,GAAAQ,qBAAE,GACX,CAAC,GAAAnB,GAAA,UAAAC,KAAA,CAED,SAAA2B,OAAcjB,CAAgB,CAAgC,CAC5D,GAAM,CAAAkB,CAAM,CAAG,IAAI,CAACnB,IAAI,EAAE,CAE1B,GAAI,CAACmB,CAAM,CAACC,EAAE,OACR,CAAAD,CAAM,CAACE,KAAK,CAACC,IAAI,GAAKjB,qCAAkB,CAACC,YAAY,CAChD,IAAI,CAACQ,KAAK,CAACb,CAAI,CAAM,CAErBkB,CAAM,CAIjB,GAAM,CAAAI,CAAO,CAAAC,aAAA,CAAAA,aAAA,IACRL,CAAM,CAAClB,IAAI,EACXA,CAAI,CACR,CAED,MAAO,KAAI,CAACa,KAAK,CAACS,CAAO,CAC3B,CAAC,GAAAjC,GAAA,SAAAC,KAAA,CAED,SAAAoB,MAAcV,CAAY,CAA6B,CACrD,GAAI,CAAAkB,CAAS,CAEb,GAAI,CACFA,CAAM,CAAGH,IAAI,CAACL,KAAK,CAACV,CAAI,CAC1B,CAAE,MAAOW,CAAG,CAAE,CACZ,KAAM,IAAI,CAAAR,iCAAc,CAACC,qCAAkB,CAACoB,YAAY,CAAEb,CAAG,CAAE,IAAI,CAACtB,GAAG,CACzE,CAEA,MAAO,GAAAmB,qBAAE,EAACU,CAAM,CAClB,CAAC,IAAAhC,CAAA,IAAAQ,OAAA,CAAAD,aAAA,CAAAA,aAAA"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { KameleoonCore, SDKConfigurationType } from '@kameleoon/javascript-sdk-core';
|
|
2
|
-
import { ReactNativeVisitorCodeManagerConstructor, ReactVisitorCodeManagerConstructor } from './visitorCodeManager';
|
|
3
|
-
/**
|
|
4
|
-
* @param {string} siteCode - client's siteCode defined on Kameleoon platform
|
|
5
|
-
* @param {Partial<SDKConfigurationType> | undefined} configuration - client's configuration
|
|
6
|
-
* */
|
|
7
|
-
export type SDKParameters = {
|
|
8
|
-
siteCode: string;
|
|
9
|
-
configuration?: Partial<SDKConfigurationType>;
|
|
10
|
-
};
|
|
11
|
-
export type KameleoonContextType = {
|
|
12
|
-
client: KameleoonCore;
|
|
13
|
-
visitorCodeManager: ReactVisitorCodeManagerConstructor | ReactNativeVisitorCodeManagerConstructor;
|
|
14
|
-
};
|
|
15
|
-
export type ClientGetVisitorCodeParametersType = {
|
|
16
|
-
domain: string;
|
|
17
|
-
defaultVisitorCode?: string;
|
|
18
|
-
};
|
|
19
|
-
export type MobileGetVisitorCodeParametersType = {
|
|
20
|
-
defaultVisitorCode?: string;
|
|
21
|
-
};
|
package/dist/types.js
DELETED