@kameleoon/javascript-sdk 4.13.0 → 4.14.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 +28 -0
- package/dist/dataManager.d.ts +1 -1
- package/dist/defaultLogger.d.ts +1 -1
- package/dist/eventSource.d.ts +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/javascript-sdk.cjs.min.js +2 -0
- package/dist/javascript-sdk.cjs.min.js.map +1 -0
- package/dist/javascript-sdk.es.min.js +2 -0
- package/dist/javascript-sdk.es.min.js.map +1 -0
- package/dist/javascript-sdk.umd.min.js +2 -0
- package/dist/javascript-sdk.umd.min.js.map +1 -0
- package/dist/kameleoonClient.d.ts +1 -1
- package/dist/prng.d.ts +1 -1
- package/dist/requester.d.ts +1 -1
- package/dist/storage.d.ts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utils/browserAnalyse.d.ts +1 -1
- package/dist/visitorActivity/visitorActivityManager.d.ts +2 -2
- package/package.json +7 -4
- package/dist/constants.js +0 -1
- package/dist/dataManager.js +0 -1
- package/dist/defaultLogger.js +0 -1
- package/dist/eventSource.js +0 -1
- package/dist/index.js +0 -1
- package/dist/kameleoonClient.js +0 -1
- package/dist/prng.js +0 -1
- package/dist/requester.js +0 -1
- package/dist/storage.js +0 -1
- package/dist/types.js +0 -1
- package/dist/utils/browserAnalyse.js +0 -1
- package/dist/visitorActivity/index.js +0 -1
- package/dist/visitorActivity/visitorActivityManager.js +0 -1
- package/dist/visitorCodeManager.js +0 -1
package/dist/prng.d.ts
CHANGED
package/dist/requester.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequestType, IExternalRequester, KameleoonResponseType, SendRequestParametersType } from '@kameleoon/javascript-sdk-core';
|
|
1
|
+
import { RequestType, IExternalRequester, KameleoonResponseType, SendRequestParametersType } from '@kameleoon/javascript-sdk-core/browser';
|
|
2
2
|
export declare class Requester implements IExternalRequester {
|
|
3
3
|
sendRequest({ url, parameters, }: SendRequestParametersType<RequestType>): Promise<KameleoonResponseType>;
|
|
4
4
|
}
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IExternalStorage } from '@kameleoon/javascript-sdk-core';
|
|
1
|
+
import { IExternalStorage } from '@kameleoon/javascript-sdk-core/browser';
|
|
2
2
|
export declare class DataStorage<T> implements IExternalStorage<T> {
|
|
3
3
|
private visitorCodeManager?;
|
|
4
4
|
read(key: string): T | null;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InternalsType, IExternalEventSource, IExternalRequester, IExternalStorage, SDKConfigurationType, IExternalLogger } from '@kameleoon/javascript-sdk-core';
|
|
1
|
+
import { InternalsType, IExternalEventSource, IExternalRequester, IExternalStorage, SDKConfigurationType, IExternalLogger } from '@kameleoon/javascript-sdk-core/browser';
|
|
2
2
|
/**
|
|
3
3
|
* @param {IExternalStorage | undefined} storage - external storage implementation
|
|
4
4
|
* @param {IExternalEventSource | undefined} eventSource - external event source implementation
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BrowserType, DeviceType, OperatingSystemType, PageView } from '@kameleoon/javascript-sdk-core';
|
|
1
|
+
import { BrowserType, DeviceType, OperatingSystemType, PageView } from '@kameleoon/javascript-sdk-core/browser';
|
|
2
2
|
export type BrowserResult = {
|
|
3
3
|
name?: BrowserType;
|
|
4
4
|
version?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ITracker } from
|
|
2
|
-
import { ClientDataManager } from
|
|
1
|
+
import { ITracker } from "@kameleoon/javascript-sdk-core/browser";
|
|
2
|
+
import { ClientDataManager } from "src/dataManager";
|
|
3
3
|
export interface VisitorActivityManagerType {
|
|
4
4
|
}
|
|
5
5
|
export declare class VisitorActivityManager implements VisitorActivityManagerType {
|
package/package.json
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kameleoon/javascript-sdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.14.1",
|
|
4
4
|
"description": "Kameleoon JavaScript SDK",
|
|
5
|
-
"main": "dist/
|
|
5
|
+
"main": "dist/javascript-sdk.cjs.min.js",
|
|
6
|
+
"module": "dist/javascript-sdk.es.min.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
7
8
|
"files": [
|
|
8
9
|
"dist"
|
|
9
10
|
],
|
|
11
|
+
"sideEffects": false,
|
|
10
12
|
"scripts": {
|
|
11
13
|
"clean": "rimraf dist && rimraf tsconfig.tsbuildinfo",
|
|
12
14
|
"dev": "npm run clean && tsc -w -p tsconfig.watch.json",
|
|
13
|
-
"build": "npm run clean && npm run build:types && npm run build:
|
|
15
|
+
"build": "npm run clean && npm run build:types && npm run build:bundle",
|
|
14
16
|
"build:test": "npm run clean && npm run build:js-source-maps",
|
|
15
17
|
"build:types": "tsc --emitDeclarationOnly",
|
|
18
|
+
"build:bundle": "rollup -c",
|
|
16
19
|
"build:js": "babel src --out-dir dist --extensions \".ts,.tsx\"",
|
|
17
20
|
"build:js-source-maps": "babel src --out-dir dist --extensions \".ts,.tsx\" --source-maps true",
|
|
18
21
|
"deploy": "/bin/bash ../../scripts/deploy.sh javascript-sdk",
|
|
@@ -39,7 +42,7 @@
|
|
|
39
42
|
],
|
|
40
43
|
"license": "ISC",
|
|
41
44
|
"dependencies": {
|
|
42
|
-
"@kameleoon/javascript-sdk-core": "5.
|
|
45
|
+
"@kameleoon/javascript-sdk-core": "5.14.1"
|
|
43
46
|
},
|
|
44
47
|
"devDependencies": {
|
|
45
48
|
"@types/crypto-js": "^4.1.1",
|
package/dist/constants.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");Object.defineProperty(exports,"__esModule",{value:!0}),exports.VISIT_DURATION=exports.CookieParameter=exports.ACTIVITY_INTERVAL=void 0;let CookieParameter=exports.CookieParameter=function(a){return a.PairsDelimiter="; ",a.KeyValueDelimiter="=",a.MaxAge="Max-Age",a.Path="Path",a.Domain="Domain",a}({});const ACTIVITY_INTERVAL=exports.ACTIVITY_INTERVAL=15*_javascriptSdkCore.Milliseconds.Second,VISIT_DURATION=exports.VISIT_DURATION=30*_javascriptSdkCore.Milliseconds.Minute;
|
package/dist/dataManager.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ClientDataManager=void 0;var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core"),_constants=require("./constants"),_browserAnalyse=_interopRequireDefault(require("./utils/browserAnalyse"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _defineProperty(a,b,c){return(b=_toPropertyKey(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||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){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)}class ClientDataManager extends _javascriptSdkCore.DataManager{constructor(a){let{dataStorage:b,infoStorage:c,cleanupInterval:d,packageInfo:e}=a;_javascriptSdkCore.KameleoonLogger.debug`CALL: new ClientDataManager(dataStorage, infoStorage, cleanupInterval: ${d}, packageInfo: ${e})`,super({dataStorage:b,infoStorage:c,cleanupInterval:d,packageInfo:e}),_defineProperty(this,"visitor",null),this.updateVisitor(),_javascriptSdkCore.KameleoonLogger.debug`RETURN: new ClientDataManager(dataStorage, infoStorage, cleanupInterval: ${d} packageInfo: ${e})`}getUnsentData(a){var b,c;const d=super.getUnsentData(a),e=super.getVisitorData(a);if(!e)return d;const f=e[_javascriptSdkCore.KameleoonData.Browser],g=e[_javascriptSdkCore.KameleoonData.Device],h=e[_javascriptSdkCore.KameleoonData.OperatingSystem],i=new _javascriptSdkCore.StaticData({browserType:null===f||void 0===f?void 0:f.browser,browserVersion:null===f||void 0===f?void 0:f.version,visitNumber:null===(b=this.visitor)||void 0===b?void 0:b.visitNumber,timeSincePreviousVisit:null===(c=this.visitor)||void 0===c?void 0:c.timeSincePreviousVisit,os:null===h||void 0===h?void 0:h.operatingSystem,deviceType:null===g||void 0===g?void 0:g.device});return d.push(i),d}storeData(a){if("string"==typeof a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.length&&this.checkVisitor(a),super.storeData(a,...c)}return super.storeData(a)}getVisitorData(a){return this.checkVisitor(a),super.getVisitorData(a)}updateLastActivity(){var a,b;if(!this.visitor)return null;const c=this.dataStorage.read();if(!c.ok)return null;const d=c.data;let e=d[this.visitor.visitorCode];"string"==typeof e&&(e=d[e]);let f=e[_javascriptSdkCore.KameleoonData.VisitsData];f||(f={visits:[],visitNumber:0,type:_javascriptSdkCore.KameleoonData.VisitsData,status:_javascriptSdkCore.TrackingStatus.Sent,expirationTime:0},e[_javascriptSdkCore.KameleoonData.VisitsData]=f);const g=this.fetchVisit(f.visits,f.visits.length-1),h=null!==(a=null===g||void 0===g?void 0:g.timeLastActivity)&&void 0!==a?a:0,i=Date.now();let j=null!==(b=f.visitNumber)&&void 0!==b?b:f.visits.length?f.visits.length-1:0;if(i-h>_constants.VISIT_DURATION)j+=0<h?1:0,_javascriptSdkCore.ListUtilities.insertVisitInOrderedListMutably({list:f.visits,visit:{timeStarted:i,timeLastActivity:i}}),this.visitor.timeSincePreviousVisit=g?i-h:0;else if(f.visits.length){var k;if(f.visits[f.visits.length-1]={timeStarted:null!==(k=null===g||void 0===g?void 0:g.timeStarted)&&void 0!==k?k:i,timeLastActivity:i},-1===this.visitor.timeSincePreviousVisit){const a=this.fetchVisit(f.visits,f.visits.length-2);this.visitor.timeSincePreviousVisit=a?i-a.timeLastActivity:0}}return f.visitNumber=j,this.visitor.visitNumber=j,this.dataStorage.write(d),this.visitor.visitorCode}checkVisitor(a){this.visitor&&this.visitor.visitorCode===a||this.createVisitor(a)}createVisitor(a){_javascriptSdkCore.KameleoonLogger.debug`CALL: ClientDataManager.createVisitor(visitorCode: ${a})`,this.visitor=new Visitor(a);try{var b,c,d;const e=_browserAnalyse.default.parse(),f=[];if(null!==(b=e.os)&&void 0!==b&&b.name&&f.push(new _javascriptSdkCore.OperatingSystem(e.os.name)),null!==(c=e.platform)&&void 0!==c&&c.type&&f.push(new _javascriptSdkCore.Device(e.platform.type)),null!==(d=e.browser)&&void 0!==d&&d.name){const a=_browserAnalyse.default.getBrowserVersion(e.browser.version);f.push(new _javascriptSdkCore.Browser(e.browser.name,a))}e.pageView&&f.push(e.pageView),f.length&&this.storeData(a,...f)}finally{this.updateLastActivity()}_javascriptSdkCore.KameleoonLogger.debug`RETURN: ClientDataManager.createVisitor(visitorCode: ${a})`}updateVisitor(){_javascriptSdkCore.KameleoonLogger.debug`CALL: ClientDataManager.updateVisitor()`;const a=this.dataStorage.read();if(!a.ok)return;const b=a.data;let c,d=-1;for(const[a,f]of Object.entries(b)){if("string"==typeof f)continue;const b=f[_javascriptSdkCore.KameleoonData.VisitsData];if(!b){c||(c=a);continue}const g=b.visits.length?b.visits[b.visits.length-1]:null;if(g){var e;const b=null!==(e="number"==typeof g?g:null===g||void 0===g?void 0:g.timeLastActivity)&&void 0!==e?e:0;b>d&&(d=b,c=a)}else c||(c=a)}c?this.createVisitor(c):(this.visitor=null,_javascriptSdkCore.KameleoonLogger.debug`ClientDataManager no visitor found`),_javascriptSdkCore.KameleoonLogger.debug`RETURN: ClientDataManager.updateVisitor()`}fetchVisit(a,b){if(0>b||b>=a.length)return null;const c=a[b];return"number"==typeof c?{timeStarted:c,timeLastActivity:c}:c}}exports.ClientDataManager=ClientDataManager;class Visitor{constructor(a){_defineProperty(this,"visitorCode",void 0),_defineProperty(this,"visitNumber",0),_defineProperty(this,"timeSincePreviousVisit",-1),this.visitorCode=a}}
|
package/dist/defaultLogger.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultLogger=void 0;class DefaultLogger{log(a,b){const c=new Date,d=c.toLocaleString("en-US",{timeZoneName:"short"});b=`${d} ${b}`;a===_javascriptSdkCore.LogLevel.DEBUG?console.debug(b):a===_javascriptSdkCore.LogLevel.INFO?console.info(b):a===_javascriptSdkCore.LogLevel.WARNING?console.warn(b):a===_javascriptSdkCore.LogLevel.ERROR?console.error(b):void 0}}exports.DefaultLogger=DefaultLogger;
|
package/dist/eventSource.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonEventSource=void 0;function _defineProperty(a,b,c){return(b=_toPropertyKey(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||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){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)}class KameleoonEventSource{constructor(){_defineProperty(this,"eventSource",void 0)}open(a){let{eventType:b,onEvent:c,url:d}=a;const e=new EventSource(d);this.eventSource=e,this.eventSource.addEventListener(b,c)}close(){this.eventSource&&this.eventSource.close()}onError(a){this.eventSource&&(this.eventSource.onerror=a)}}exports.KameleoonEventSource=KameleoonEventSource;
|
package/dist/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _exportNames={KameleoonClient:!0};var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");var _kameleoonClient=require("./kameleoonClient");Object.defineProperty(exports,"__esModule",{value:!0});Object.defineProperty(exports,"KameleoonClient",{enumerable:!0,get:function(){return _kameleoonClient.KameleoonClient}});Object.keys(_javascriptSdkCore).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(_exportNames,a)||a in exports&&exports[a]===_javascriptSdkCore[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function(){return _javascriptSdkCore[a]}})});
|
package/dist/kameleoonClient.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonClient=void 0;var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core"),_requester=require("./requester"),_storage=require("./storage"),_eventSource=require("./eventSource"),_visitorCodeManager=require("./visitorCodeManager"),_prng=require("./prng"),_defaultLogger=require("./defaultLogger"),_visitorActivity=require("./visitorActivity"),_constants=require("./constants"),_dataManager=require("./dataManager");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))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||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){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)}class KameleoonClient extends _javascriptSdkCore.KameleoonCore{constructor(a){let{siteCode:b,configuration:c,externals:d,_internals:e,stubMode:f}=a;if(f)return super({siteCode:b,internalConfiguration:{},stubMode:f}),_defineProperty(this,"domain",void 0),_defineProperty(this,"internalVisitorCodeManager",void 0),_defineProperty(this,"externalVisitorCodeManager",void 0),_defineProperty(this,"customDataManager",void 0),this.internalVisitorCodeManager={},void(this.externalVisitorCodeManager={});const g=(null===e||void 0===e?void 0:e.prng)||new _prng.KameleoonPRNG,h=(null===d||void 0===d?void 0:d.storage)||new _storage.DataStorage,i=(null===d||void 0===d?void 0:d.requester)||new _requester.Requester,j=(null===d||void 0===d?void 0:d.eventSource)||new _eventSource.KameleoonEventSource,k=new _javascriptSdkCore.VisitorCodeManager,l=(null===d||void 0===d?void 0:d.visitorCodeManager)||new _visitorCodeManager.KameleoonVisitorCodeManager,m=(null===e||void 0===e?void 0:e.packageInfo)||{type:_javascriptSdkCore.SdkLanguageType.JAVASCRIPT,version:"4.13.0",isServer:!1},n=new _javascriptSdkCore.DataStorage(h,_javascriptSdkCore.KameleoonStorageKey.TargetingData),o=new _javascriptSdkCore.DataStorage(h,_javascriptSdkCore.KameleoonStorageKey.DataInfo),p=new _dataManager.ClientDataManager({dataStorage:n,infoStorage:o,cleanupInterval:0,packageInfo:m}),q={externalPRNG:g,externalStorage:h,externalRequester:i,externalEventSource:j,externalVisitorCodeManager:k,externalPackageInfo:m,externalLogger:(null===d||void 0===d?void 0:d.logger)||new _defaultLogger.DefaultLogger,customDataManager:p};super({siteCode:b,configuration:c,internalConfiguration:{externals:q,settings:{useAbortController:!0}}}),_defineProperty(this,"domain",void 0),_defineProperty(this,"internalVisitorCodeManager",void 0),_defineProperty(this,"externalVisitorCodeManager",void 0),_defineProperty(this,"customDataManager",void 0);const r=_javascriptSdkCore.Validator.validateDomain(null===c||void 0===c?void 0:c.cookieDomain);this.domain=r.ok?r.data:void 0,this.internalVisitorCodeManager=k,this.externalVisitorCodeManager=l;new _visitorActivity.VisitorActivityManager(p,this.tracker,a=>this._isConsentProvided(a),_constants.ACTIVITY_INTERVAL);this.customDataManager=p}getVisitorCode(a){if(this.stubMode)return"";_javascriptSdkCore.KameleoonLogger.info`CALL KamaleoonClient.getVisitorCode(defaultVisitorCode: ${a})`,this.internalVisitorCodeManager.getData=a=>this.externalVisitorCodeManager.getData(a),this.internalVisitorCodeManager.setData=a=>{this.externalVisitorCodeManager.setData(_objectSpread(_objectSpread({},a),{},{domain:this.domain}))};const b=this.internalVisitorCodeManager.getVisitorCode(a);if(this.initialized){var c;null===(c=this.customDataManager)||void 0===c?void 0:c.checkVisitor(b)}return _javascriptSdkCore.KameleoonLogger.info`RETURN KamaleoonClient.getVisitorCode(defaultVisitorCode: ${a}) -> (visitorCode: ${b})`,b}setLegalConsent(a,b){this.stubMode||super.setUserConsent({visitorCode:a,consent:b,setData:a=>{this.externalVisitorCodeManager.setData(_objectSpread(_objectSpread({},a),{},{domain:this.domain}))}})}}exports.KameleoonClient=KameleoonClient;
|
package/dist/prng.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonPRNG=void 0;class KameleoonPRNG{getRandomNumber(){var a;if("undefined"!=typeof window&&null!==(a=window)&&void 0!==a&&a.crypto){const a=new Uint32Array(1);return window.crypto.getRandomValues(a),a[0]/4294967296}return Math.random()}}exports.KameleoonPRNG=KameleoonPRNG;
|
package/dist/requester.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Requester=void 0;class Requester{async sendRequest(a){let{url:b,parameters:c}=a;return await fetch(b,c)}}exports.Requester=Requester;
|
package/dist/storage.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DataStorage=void 0;var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core"),_visitorCodeManager=require("./visitorCodeManager");function _defineProperty(a,b,c){return(b=_toPropertyKey(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||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){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)}class DataStorage{constructor(){_defineProperty(this,"visitorCodeManager",void 0)}read(a){const b=localStorage.getItem(a);return a!==_javascriptSdkCore.KameleoonStorageKey.ConsentData||b&&"{}"!==b?b?JSON.parse(b):null:this.getEngineConsentData()}write(a,b){localStorage.setItem(a,JSON.stringify(b))}getEngineConsentData(){this.visitorCodeManager||(this.visitorCodeManager=new _visitorCodeManager.KameleoonVisitorCodeManager);const a=this.visitorCodeManager.getData(_javascriptSdkCore.KameleoonStorageKey.VisitorCode);if(!a)return null;try{var b;const c=localStorage.getItem("kameleoonLegalConsent");if(!c)return null;const d=JSON.parse(c);return"boolean"==typeof(null===d||void 0===d||null===(b=d.value)||void 0===b?void 0:b.AB_TESTING)?{[a]:d.value.AB_TESTING}:null}catch(_){return null}}}exports.DataStorage=DataStorage;
|
package/dist/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Utils=exports.BrowserParser=void 0;function _defineProperty(a,b,c){return(b=_toPropertyKey(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||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){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)}class Utils{static getFirstMatch(a,b){const c=b.match(a);return c&&0<c.length&&c[1]||""}static getSecondMatch(a,b){const c=b.match(a);return c&&1<c.length&&c[2]||""}static assign(a){for(var b=arguments.length,c=Array(1<b?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return Object.assign(a,...c)}}exports.Utils=Utils;class BrowserParser{constructor(a){_defineProperty(this,"userAgent",void 0),_defineProperty(this,"parsedResult",void 0),this.userAgent=a,this.parsedResult={};const b=""===this.userAgent&&this.parseReactNative();b||this.parse()}parseBrowser(){const a=[{test:[/chrome|crios|crmo/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Chrome,version:Utils.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,a)})},{test:[/firefox|iceweasel|fxios/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Firefox,version:Utils.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,a)})},{test:[/safari|applewebkit/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Safari,version:Utils.getFirstMatch(/version\/(\d+(\.?_?\d+)+)/i,a)})},{test:[/opr\/|opios/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Opera,version:Utils.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,a)})},{test:[/edg([ea]|ios)/i],describe:a=>({name:_javascriptSdkCore.BrowserType.InternetExplorer,version:Utils.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,a)})},{test:[/googlebot/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,a)||Utils.getFirstMatch(/version\/(\d+(\.?_?\d+)+)/i,a)})},{test:[/SamsungBrowser/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,a)})},{test:[/yabrowser/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,a)})},{test:[/ucbrowser/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,a)})},{test:[/vivaldi/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,a)})},{test:[/phantom/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,a)})},{test:[/electron/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,a)})},{test:[/chromium/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Other,version:Utils.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,a)})},{test:[/opera/i],describe:a=>({name:_javascriptSdkCore.BrowserType.Opera,version:Utils.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,a)})},{test:[/msie|trident/i],describe:a=>({name:_javascriptSdkCore.BrowserType.InternetExplorer,version:Utils.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,a)})},{test:[/.*/i],describe:a=>{const b=a.includes("(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:_javascriptSdkCore.BrowserType.Other,version:Utils.getSecondMatch(b,a)}}}].find(a=>a.test.some(a=>a.test(this.userAgent)));return a&&(this.parsedResult.browser=a.describe(this.userAgent)),this.parsedResult.browser||{}}parseOS(){const a=[{test:[/windows phone/i],describe:()=>({name:_javascriptSdkCore.OperatingSystemType.WindowsPhone})},{test:[/windows /i],describe:()=>({name:_javascriptSdkCore.OperatingSystemType.Windows})},{test:[/Macintosh(.*?) FxiOS(.*?) Version\//],describe:a=>({name:_javascriptSdkCore.OperatingSystemType.IOS,version:Utils.getSecondMatch(/(Version\/)(\d[\d.]+)/,a)})},{test:[/macintosh/i],describe:a=>({name:_javascriptSdkCore.OperatingSystemType.Mac,version:Utils.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,a).replace(/[_\s]/g,".")})},{test:[/(ipod|iphone|ipad)/i],describe:a=>({name:_javascriptSdkCore.OperatingSystemType.IOS,version:Utils.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,a).replace(/[_\s]/g,".")})},{test:[/android/i],describe:()=>({name:_javascriptSdkCore.OperatingSystemType.Android})},{test:[/linux/i],describe:()=>({name:_javascriptSdkCore.OperatingSystemType.Linux})}].find(a=>a.test.some(a=>a.test(this.userAgent)));return a&&(this.parsedResult.os=a.describe(this.userAgent)),this.parsedResult.os||{}}parsePlatform(){const a=[{test:[/huserAgentwei/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Tablet})},{test:[/ipad/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Tablet})},{test:[/Macintosh(.*?) FxiOS(.*?) Version\//],describe:()=>({type:_javascriptSdkCore.DeviceType.Tablet})},{test:[/kftt build/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Tablet})},{test:[/silk/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Tablet})},{test:[/tablet(?! pc)/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Tablet})},{test:[/ipod|iphone/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/[^-]mobi/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/blackberry/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/bada/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/windows phone/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/android/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:[/ios/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Desktop})},{test:[/windows/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Desktop})},{test:[/linux/i],describe:()=>({type:_javascriptSdkCore.DeviceType.Desktop})}].find(a=>a.test.some(a=>a.test(this.userAgent)))||[{test:()=>{var a,b;return(null===(a=this.parsedResult.os)||void 0===a?void 0:a.name)===_javascriptSdkCore.OperatingSystemType.Android&&3<=+((null===(b=this.parsedResult.os)||void 0===b?void 0:b.version)+"").split(".")[0]},describe:()=>({type:_javascriptSdkCore.DeviceType.Tablet})},{test:()=>{var a;return(null===(a=this.parsedResult.os)||void 0===a?void 0:a.name)===_javascriptSdkCore.OperatingSystemType.Android},describe:()=>({type:_javascriptSdkCore.DeviceType.Phone})},{test:()=>{var a;return(null===(a=this.parsedResult.os)||void 0===a?void 0:a.name)===_javascriptSdkCore.OperatingSystemType.Mac},describe:()=>({type:_javascriptSdkCore.DeviceType.Desktop})},{test:()=>{var a;return(null===(a=this.parsedResult.os)||void 0===a?void 0:a.name)===_javascriptSdkCore.OperatingSystemType.Windows},describe:()=>({type:_javascriptSdkCore.DeviceType.Desktop})},{test:()=>{var a;return(null===(a=this.parsedResult.os)||void 0===a?void 0:a.name)===_javascriptSdkCore.OperatingSystemType.Linux},describe:()=>({type:_javascriptSdkCore.DeviceType.Desktop})}].find(a=>a.test());return a&&(this.parsedResult.platform=a.describe(this.userAgent)),this.parsedResult.platform||{}}parseOsName(a){return"ios"===a?_javascriptSdkCore.OperatingSystemType.IOS:"android"===a?_javascriptSdkCore.OperatingSystemType.Android:"windows"===a?_javascriptSdkCore.OperatingSystemType.Windows:"macos"===a?_javascriptSdkCore.OperatingSystemType.Mac:void 0}parseOsVersion(a){return null==a?void 0:"number"==typeof a?a.toString():a}parse(){this.userAgent&&(this.parseBrowser(),this.parseOS(),this.parsePlatform())}parseWebView(){var a;let b=null===(a=window.location)||void 0===a?void 0:a.href;if(b){const a=document?document.title:"";this.parsedResult.pageView=new _javascriptSdkCore.PageView({urlAddress:b,title:a})}}parseReactNative(){try{if("undefined"==typeof require)return!1;const a=require("react-native");if(!a)return!1;const b=a.Platform,c=a.Dimensions,d=this.parseOsName(b.OS),e=this.parseOsVersion(b.Version);let f;if(d)if(d===_javascriptSdkCore.OperatingSystemType.Windows||d===_javascriptSdkCore.OperatingSystemType.Mac)f=_javascriptSdkCore.DeviceType.Desktop;else if(d===_javascriptSdkCore.OperatingSystemType.Android||d===_javascriptSdkCore.OperatingSystemType.IOS){const{width:a,height:b}=c.get("window");f=600<=Math.min(a,b)?_javascriptSdkCore.DeviceType.Tablet:_javascriptSdkCore.DeviceType.Phone}this.parsedResult={os:d?{name:d,version:e}:void 0,platform:{type:f}}}catch(a){return!1}return!0}getResult(){return Utils.assign({},this.parsedResult)}}exports.BrowserParser=BrowserParser;class BrowserAnalyse{static parse(){if(_javascriptSdkCore.KameleoonLogger.debug`CALL: BrowserAnalyse.parse()`,!BrowserAnalyse.browserParser){const a=navigator.userAgent||"";_javascriptSdkCore.KameleoonLogger.debug`BrowserAnalyse userAgent: ${a}`,BrowserAnalyse.browserParser=new BrowserParser(a)}BrowserAnalyse.browserParser.parseWebView();const a=BrowserAnalyse.browserParser.getResult();return _javascriptSdkCore.KameleoonLogger.debug`RETURN: BrowserAnalyse.parse() -> (result: ${a})`,a}static getBrowserVersion(a){if(a){const b=a.split(".");if(0<b.length){const a=parseInt(b[0]);return isNaN(a)?void 0:a}}}}exports.default=BrowserAnalyse,_defineProperty(BrowserAnalyse,"browserParser",null);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _visitorActivityManager=require("./visitorActivityManager");Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"VisitorActivityManager",{enumerable:!0,get:function(){return _visitorActivityManager.VisitorActivityManager}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var _javascriptSdkCore=require("@kameleoon/javascript-sdk-core");Object.defineProperty(exports,"__esModule",{value:!0}),exports.VisitorActivityManager=void 0;function _defineProperty(a,b,c){return(b=_toPropertyKey(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||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){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)}class VisitorActivityManager{constructor(a,b,c,d){_defineProperty(this,"dataManager",void 0),_defineProperty(this,"tracker",void 0),_defineProperty(this,"isConsentProvided",void 0),_javascriptSdkCore.KameleoonLogger.debug`CALL: new VisitorActivityManager(dataManager, tracker, isConsentProvided, interval: ${d})`,this.dataManager=a,this.tracker=b,this.isConsentProvided=c,this.setup(d),_javascriptSdkCore.KameleoonLogger.debug`RETURN: new VisitorActivityManager(dataManager, tracker, isConsentProvided, interval: ${d})`}setup(a){setInterval(()=>{this.updateLastActivity()},a),this.updateLastActivity()}updateLastActivity(){const a=this.dataManager.updateLastActivity();a&&this.tracker.scheduleVisitor(a,this.isConsentProvided(a))}}exports.VisitorActivityManager=VisitorActivityManager;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonVisitorCodeManager=void 0;var _constants=require("./constants"),_javascriptSdkCore=require("@kameleoon/javascript-sdk-core");class VisitorCodeManager{getData(a){_javascriptSdkCore.KameleoonLogger.debug`CALL: VisitorCodeManager.getData(key: ${a})`;const b=document.cookie;let c=null;return b&&(c=_javascriptSdkCore.KameleoonUtils.getCookieValue(b,a)),_javascriptSdkCore.KameleoonLogger.debug`RETURN: VisitorCodeManager.getData(key: ${a}) -> (visitorCode: ${c})`,c}setData(a){let{visitorCode:b,domain:c,maxAge:d,key:e,path:f}=a;const g=this.getResultCookie({domain:c,visitorCode:b,key:e,maxAge:d,path:f});document.cookie=g,_javascriptSdkCore.KameleoonLogger.debug`Cookie ${g} was added for visitor ${b}`}getResultCookie(a){let{domain:b,visitorCode:c,maxAge:d,key:e,path:f}=a;const g=[e+_constants.CookieParameter.KeyValueDelimiter+c,_constants.CookieParameter.MaxAge+_constants.CookieParameter.KeyValueDelimiter+d,_constants.CookieParameter.Path+_constants.CookieParameter.KeyValueDelimiter+f];return b&&g.push(_constants.CookieParameter.Domain+_constants.CookieParameter.KeyValueDelimiter+b),g.join(_constants.CookieParameter.PairsDelimiter)}}exports.KameleoonVisitorCodeManager=VisitorCodeManager;
|