@kameleoon/javascript-sdk 3.4.3 → 3.4.4

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## 3.4.4 (2024-07-19)
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix previous release, which didn't contain all the described changes
8
+ - Updated dependencies
9
+ - @kameleoon/javascript-sdk-core@4.4.4
10
+
3
11
  ## 3.4.3 (2024-07-19)
4
12
 
5
13
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from '@kameleoon/javascript-sdk-core';
2
- export type { SDKParameters, ExternalsType, SetDataParametersType, IExternalVisitorCodeManager, } from './types';
2
+ export type { ExternalsType, SDKParameters, SetDataParametersType, IExternalVisitorCodeManager, } from './types';
3
3
  export { KameleoonClient } from './kameleoonClient';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_javascriptSdkCore","require","_kameleoonClient","Object","defineProperty","exports","value","enumerable","get","KameleoonClient","keys","forEach","a","prototype","hasOwnProperty","call","_exportNames"],"sources":["../src/index.ts"],"sourcesContent":["export * from '@kameleoon/javascript-sdk-core';\nexport type {\n SDKParameters,\n ExternalsType,\n SetDataParametersType,\n IExternalVisitorCodeManager,\n} from './types';\nexport { KameleoonClient } from './kameleoonClient';\n"],"mappings":"mDAAA,IAAAA,kBAAA,CAAAC,OAAA,mCAOA,IAAAC,gBAAA,CAAAD,OAAA,sBAAoDE,MAAA,CAAAC,cAAA,CAAAC,OAAA,eAAAC,KAAA,MAAAH,MAAA,CAAAC,cAAA,CAAAC,OAAA,oBAAAE,UAAA,IAAAC,GAAA,SAAAA,CAAA,SAAAN,gBAAA,CAAAO,eAAA,IAAAN,MAAA,CAAAO,IAAA,CAAAV,kBAAA,EAAAW,OAAA,UAAAC,CAAA,cAAAA,CAAA,iBAAAA,CAAA,EAAAT,MAAA,CAAAU,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,CAAAJ,CAAA,GAAAA,CAAA,IAAAP,OAAA,EAAAA,OAAA,CAAAO,CAAA,IAAAZ,kBAAA,CAAAY,CAAA,GAAAT,MAAA,CAAAC,cAAA,CAAAC,OAAA,CAAAO,CAAA,EAAAL,UAAA,IAAAC,GAAA,SAAAA,CAAA,SAAAR,kBAAA,CAAAY,CAAA"}
1
+ {"version":3,"file":"index.js","names":["_javascriptSdkCore","require","_kameleoonClient","Object","defineProperty","exports","value","enumerable","get","KameleoonClient","keys","forEach","a","prototype","hasOwnProperty","call","_exportNames"],"sources":["../src/index.ts"],"sourcesContent":["export * from '@kameleoon/javascript-sdk-core';\nexport type {\n ExternalsType,\n SDKParameters,\n SetDataParametersType,\n IExternalVisitorCodeManager,\n} from './types';\nexport { KameleoonClient } from './kameleoonClient';\n"],"mappings":"mDAAA,IAAAA,kBAAA,CAAAC,OAAA,mCAOA,IAAAC,gBAAA,CAAAD,OAAA,sBAAoDE,MAAA,CAAAC,cAAA,CAAAC,OAAA,eAAAC,KAAA,MAAAH,MAAA,CAAAC,cAAA,CAAAC,OAAA,oBAAAE,UAAA,IAAAC,GAAA,SAAAA,CAAA,SAAAN,gBAAA,CAAAO,eAAA,IAAAN,MAAA,CAAAO,IAAA,CAAAV,kBAAA,EAAAW,OAAA,UAAAC,CAAA,cAAAA,CAAA,iBAAAA,CAAA,EAAAT,MAAA,CAAAU,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,CAAAJ,CAAA,GAAAA,CAAA,IAAAP,OAAA,EAAAA,OAAA,CAAAO,CAAA,IAAAZ,kBAAA,CAAAY,CAAA,GAAAT,MAAA,CAAAC,cAAA,CAAAC,OAAA,CAAAO,CAAA,EAAAL,UAAA,IAAAC,GAAA,SAAAA,CAAA,SAAAR,kBAAA,CAAAY,CAAA"}
@@ -1,2 +1,2 @@
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");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 _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}=a;const f=(null===d||void 0===d?void 0:d.storage)||new _storage.DataStorage,g=(null===d||void 0===d?void 0:d.requester)||new _requester.Requester,h=(null===d||void 0===d?void 0:d.eventSource)||new _eventSource.KameleoonEventSource,i=new _javascriptSdkCore.VisitorCodeManager,j=(null===d||void 0===d?void 0:d.visitorCodeManager)||new _visitorCodeManager.KameleoonVisitorCodeManager;super({siteCode:b,configuration:c,internalConfiguration:{externalStorage:f,externalRequester:g,externalEventSource:h,externalVisitorCodeManager:i,externalPackageInfo:e||{type:_javascriptSdkCore.SdkLanguageType.JAVASCRIPT,version:"3.4.2"}}}),_defineProperty(this,"domain",void 0),_defineProperty(this,"internalVisitorCodeManager",void 0),_defineProperty(this,"externalVisitorCodeManager",void 0),this.domain=(null===c||void 0===c?void 0:c.cookieDomain)||(null===c||void 0===c?void 0:c.domain),this.internalVisitorCodeManager=i,this.externalVisitorCodeManager=j}async initialize(a){return super.initialize(a)}getVisitorCode(a){return this.internalVisitorCodeManager.getData=a=>this.externalVisitorCodeManager.getData(a),this.internalVisitorCodeManager.setData=a=>{this.externalVisitorCodeManager.setData(_objectSpread(_objectSpread({},a),{},{domain:this.domain}))},this.internalVisitorCodeManager.getVisitorCode(a)}setLegalConsent(a,b){super.setUserConsent({visitorCode:a,consent:b,setData:a=>{this.externalVisitorCodeManager.setData(_objectSpread(_objectSpread({},a),{},{domain:this.domain}))}})}}exports.KameleoonClient=KameleoonClient;
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");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 _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}=a;const f=(null===e||void 0===e?void 0:e.prng)||new _prng.KameleoonPRNG,g=(null===d||void 0===d?void 0:d.storage)||new _storage.DataStorage,h=(null===d||void 0===d?void 0:d.requester)||new _requester.Requester,i=(null===d||void 0===d?void 0:d.eventSource)||new _eventSource.KameleoonEventSource,j=new _javascriptSdkCore.VisitorCodeManager,k=(null===d||void 0===d?void 0:d.visitorCodeManager)||new _visitorCodeManager.KameleoonVisitorCodeManager,l=(null===e||void 0===e?void 0:e.packageInfo)||{type:_javascriptSdkCore.SdkLanguageType.JAVASCRIPT,version:"3.4.4"};super({siteCode:b,configuration:c,internalConfiguration:{externalPRNG:f,externalStorage:g,externalRequester:h,externalEventSource:i,externalVisitorCodeManager:j,externalPackageInfo:l}}),_defineProperty(this,"domain",void 0),_defineProperty(this,"internalVisitorCodeManager",void 0),_defineProperty(this,"externalVisitorCodeManager",void 0),this.domain=(null===c||void 0===c?void 0:c.cookieDomain)||(null===c||void 0===c?void 0:c.domain),this.internalVisitorCodeManager=j,this.externalVisitorCodeManager=k}async initialize(a){return super.initialize(a)}getVisitorCode(a){return this.internalVisitorCodeManager.getData=a=>this.externalVisitorCodeManager.getData(a),this.internalVisitorCodeManager.setData=a=>{this.externalVisitorCodeManager.setData(_objectSpread(_objectSpread({},a),{},{domain:this.domain}))},this.internalVisitorCodeManager.getVisitorCode(a)}setLegalConsent(a,b){super.setUserConsent({visitorCode:a,consent:b,setData:a=>{this.externalVisitorCodeManager.setData(_objectSpread(_objectSpread({},a),{},{domain:this.domain}))}})}}exports.KameleoonClient=KameleoonClient;
2
2
  //# sourceMappingURL=kameleoonClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kameleoonClient.js","names":["KameleoonClient","KameleoonCore","constructor","a","siteCode","configuration","externals","_internals","storage","DataStorage","requester","Requester","eventSource","KameleoonEventSource","visitorCodeManager","VisitorCodeManager","externalVisitorCodeManager","KameleoonVisitorCodeManager","internalConfiguration","externalStorage","externalRequester","externalEventSource","externalPackageInfo","type","SdkLanguageType","JAVASCRIPT","version","_defineProperty","domain","cookieDomain","internalVisitorCodeManager","initialize","useCache","getVisitorCode","defaultVisitorCode","getData","key","setData","parameters","_objectSpread","setLegalConsent","visitorCode","consent","setUserConsent","exports"],"sources":["../src/kameleoonClient.ts"],"sourcesContent":["import {\n SdkLanguageType,\n KameleoonCore,\n VisitorCodeManager,\n IVisitorCodeManager,\n SetDataCallbackParametersType,\n} from '@kameleoon/javascript-sdk-core';\nimport { Requester } from './requester';\nimport { DataStorage } from './storage';\nimport { KameleoonEventSource } from './eventSource';\nimport { KameleoonVisitorCodeManager } from './visitorCodeManager';\nimport { IExternalVisitorCodeManager, SDKParameters } from './types';\n\n/**\n * @class\n * KameleoonClient - a class for creating kameleoon client instance\n * */\nexport class KameleoonClient extends KameleoonCore {\n private domain?: string;\n private internalVisitorCodeManager: IVisitorCodeManager;\n private externalVisitorCodeManager: IExternalVisitorCodeManager;\n\n constructor({\n siteCode,\n configuration,\n externals,\n _internals,\n }: SDKParameters) {\n const storage = externals?.storage || new DataStorage();\n const requester = externals?.requester || new Requester();\n const eventSource = externals?.eventSource || new KameleoonEventSource();\n const visitorCodeManager = new VisitorCodeManager();\n const externalVisitorCodeManager =\n externals?.visitorCodeManager || new KameleoonVisitorCodeManager();\n\n super({\n siteCode,\n configuration,\n internalConfiguration: {\n externalStorage: storage,\n externalRequester: requester,\n externalEventSource: eventSource,\n externalVisitorCodeManager: visitorCodeManager,\n externalPackageInfo: _internals || {\n type: SdkLanguageType.JAVASCRIPT,\n version: process.env.npm_package_version as string,\n },\n },\n });\n\n this.domain = configuration?.cookieDomain || configuration?.domain;\n this.internalVisitorCodeManager = visitorCodeManager;\n this.externalVisitorCodeManager = externalVisitorCodeManager;\n }\n\n /**\n * @method initialize - an asynchronous method for KameleoonClient initialization by fetching Kameleoon SDK related data from server or by retrieving data from local source if data is up-to-date or update interval has not been reached\n * @param {boolean | undefined} useCache - optional parameter for activating SDK offline mode, if `true` is passed failed polls will not return error and will use cached data if such data is available, default value is `false`. Note: if offline mode is on, SDK will still try to retrieve the latest data.\n * @returns {Promise<boolean>} Promise resolved into boolean field indicating success or fail\n * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.StorageWrite` - Couldn't update storage data\n * - `KameleoonException.StorageRead` - Couldn't read storage data\n * - `KameleoonException.ClientConfiguration` - Couldn't retrieve client configuration from Kameleoon Api\n * - `KameleoonException.MaximumRetriesReached` - Maximum retries reached, request failed\n */\n public async initialize(useCache?: boolean): Promise<boolean> {\n return super.initialize(useCache);\n }\n\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 * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded\n * - `KameleoonException.VisitorCodeEmpty` - The visitor code is empty\n */\n public getVisitorCode(defaultVisitorCode?: string): string {\n this.internalVisitorCodeManager.getData = (key: string) =>\n this.externalVisitorCodeManager.getData(key);\n\n this.internalVisitorCodeManager.setData = (\n parameters: SetDataCallbackParametersType,\n ) => {\n this.externalVisitorCodeManager.setData({\n ...parameters,\n domain: this.domain,\n });\n };\n\n return this.internalVisitorCodeManager.getVisitorCode(defaultVisitorCode);\n }\n\n /**\n * @method setLegalConsent - sets or updates the legal consent status for a visitor identified by their unique visitor code, affecting values in the response cookies based on the consent status\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length\n * @param {boolean} consent - a value representing the legal consent status. - 'true' indicates the\n * visitor has given legal consent. - 'false' indicates the visitor has withdrawn or not\n * provided legal consent.\n * @returns {void}\n * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded\n * - `KameleoonException.VisitorCodeEmpty` - The visitor code is empty\n */\n public setLegalConsent(visitorCode: string, consent: boolean): void {\n super.setUserConsent({\n visitorCode,\n consent,\n setData: (parameters: SetDataCallbackParametersType): void => {\n this.externalVisitorCodeManager.setData({\n ...parameters,\n domain: this.domain,\n });\n },\n });\n }\n}\n"],"mappings":"m6CAiBO,KAAM,CAAAA,eAAe,QAAS,CAAAC,gCAAc,CAKjDC,WAAWA,CAAAC,CAAA,CAKO,IALN,CACVC,QAAQ,CAARA,CAAQ,CACRC,aAAa,CAAbA,CAAa,CACbC,SAAS,CAATA,CAAS,CACTC,UAAU,CAAVA,CACa,CAAC,CAAAJ,CAAA,MACR,CAAAK,CAAO,CAAG,QAAAF,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEE,OAAO,GAAI,GAAI,CAAAC,oBAAa,CACjDC,CAAS,CAAG,QAAAJ,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEI,SAAS,GAAI,GAAI,CAAAC,oBAAW,CACnDC,CAAW,CAAG,QAAAN,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEM,WAAW,GAAI,GAAI,CAAAC,iCAAsB,CAClEC,CAAkB,CAAG,GAAI,CAAAC,qCAAoB,CAC7CC,CAA0B,CAC9B,QAAAV,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEQ,kBAAkB,GAAI,GAAI,CAAAG,+CAA6B,CAEpE,KAAK,CAAC,CACJb,QAAQ,CAARA,CAAQ,CACRC,aAAa,CAAbA,CAAa,CACba,qBAAqB,CAAE,CACrBC,eAAe,CAAEX,CAAO,CACxBY,iBAAiB,CAAEV,CAAS,CAC5BW,mBAAmB,CAAET,CAAW,CAChCI,0BAA0B,CAAEF,CAAkB,CAC9CQ,mBAAmB,CAAEf,CAAU,EAAI,CACjCgB,IAAI,CAAEC,kCAAe,CAACC,UAAU,CAChCC,OAAO,QACT,CACF,CACF,CAAC,CAAC,CAAAC,eAAA,uBAAAA,eAAA,2CAAAA,eAAA,2CAEF,IAAI,CAACC,MAAM,CAAG,QAAAvB,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAEwB,YAAY,WAAIxB,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAEuB,MAAM,EAClE,IAAI,CAACE,0BAA0B,CAAGhB,CAAkB,CACpD,IAAI,CAACE,0BAA0B,CAAGA,CACpC,CAaA,KAAa,CAAAe,UAAUA,CAACC,CAAkB,CAAoB,CAC5D,MAAO,MAAK,CAACD,UAAU,CAACC,CAAQ,CAClC,CAWOC,cAAcA,CAACC,CAA2B,CAAU,CAazD,MAZA,KAAI,CAACJ,0BAA0B,CAACK,OAAO,CAAIC,CAAW,EACpD,IAAI,CAACpB,0BAA0B,CAACmB,OAAO,CAACC,CAAG,CAAC,CAE9C,IAAI,CAACN,0BAA0B,CAACO,OAAO,CACrCC,CAAyC,EACtC,CACH,IAAI,CAACtB,0BAA0B,CAACqB,OAAO,CAAAE,aAAA,CAAAA,aAAA,IAClCD,CAAU,MACbV,MAAM,CAAE,IAAI,CAACA,MAAM,EACpB,CACH,CAAC,CAEM,IAAI,CAACE,0BAA0B,CAACG,cAAc,CAACC,CAAkB,CAC1E,CAcOM,eAAeA,CAACC,CAAmB,CAAEC,CAAgB,CAAQ,CAClE,KAAK,CAACC,cAAc,CAAC,CACnBF,WAAW,CAAXA,CAAW,CACXC,OAAO,CAAPA,CAAO,CACPL,OAAO,CAAGC,CAAyC,EAAW,CAC5D,IAAI,CAACtB,0BAA0B,CAACqB,OAAO,CAAAE,aAAA,CAAAA,aAAA,IAClCD,CAAU,MACbV,MAAM,CAAE,IAAI,CAACA,MAAM,EACpB,CACH,CACF,CAAC,CACH,CACF,CAACgB,OAAA,CAAA5C,eAAA,CAAAA,eAAA"}
1
+ {"version":3,"file":"kameleoonClient.js","names":["KameleoonClient","KameleoonCore","constructor","a","siteCode","configuration","externals","_internals","prng","KameleoonPRNG","storage","DataStorage","requester","Requester","eventSource","KameleoonEventSource","visitorCodeManager","VisitorCodeManager","externalVisitorCodeManager","KameleoonVisitorCodeManager","packageInfo","type","SdkLanguageType","JAVASCRIPT","version","internalConfiguration","externalPRNG","externalStorage","externalRequester","externalEventSource","externalPackageInfo","_defineProperty","domain","cookieDomain","internalVisitorCodeManager","initialize","useCache","getVisitorCode","defaultVisitorCode","getData","key","setData","parameters","_objectSpread","setLegalConsent","visitorCode","consent","setUserConsent","exports"],"sources":["../src/kameleoonClient.ts"],"sourcesContent":["import {\n SdkLanguageType,\n KameleoonCore,\n VisitorCodeManager,\n IVisitorCodeManager,\n SetDataCallbackParametersType,\n} from '@kameleoon/javascript-sdk-core';\nimport { Requester } from './requester';\nimport { DataStorage } from './storage';\nimport { KameleoonEventSource } from './eventSource';\nimport { KameleoonVisitorCodeManager } from './visitorCodeManager';\nimport { IExternalVisitorCodeManager, SDKParameters } from './types';\nimport { KameleoonPRNG } from './prng';\n\n/**\n * @class\n * KameleoonClient - a class for creating kameleoon client instance\n * */\nexport class KameleoonClient extends KameleoonCore {\n private domain?: string;\n private internalVisitorCodeManager: IVisitorCodeManager;\n private externalVisitorCodeManager: IExternalVisitorCodeManager;\n\n constructor({\n siteCode,\n configuration,\n externals,\n _internals,\n }: SDKParameters) {\n const prng = _internals?.prng || new KameleoonPRNG();\n const storage = externals?.storage || new DataStorage();\n const requester = externals?.requester || new Requester();\n const eventSource = externals?.eventSource || new KameleoonEventSource();\n const visitorCodeManager = new VisitorCodeManager();\n const externalVisitorCodeManager =\n externals?.visitorCodeManager || new KameleoonVisitorCodeManager();\n\n const packageInfo = _internals?.packageInfo || {\n type: SdkLanguageType.JAVASCRIPT,\n version: process.env.npm_package_version as string,\n };\n\n super({\n siteCode,\n configuration,\n internalConfiguration: {\n externalPRNG: prng,\n externalStorage: storage,\n externalRequester: requester,\n externalEventSource: eventSource,\n externalVisitorCodeManager: visitorCodeManager,\n externalPackageInfo: packageInfo,\n },\n });\n\n this.domain = configuration?.cookieDomain || configuration?.domain;\n this.internalVisitorCodeManager = visitorCodeManager;\n this.externalVisitorCodeManager = externalVisitorCodeManager;\n }\n\n /**\n * @method initialize - an asynchronous method for KameleoonClient initialization by fetching Kameleoon SDK related data from server or by retrieving data from local source if data is up-to-date or update interval has not been reached\n * @param {boolean | undefined} useCache - optional parameter for activating SDK offline mode, if `true` is passed failed polls will not return error and will use cached data if such data is available, default value is `false`. Note: if offline mode is on, SDK will still try to retrieve the latest data.\n * @returns {Promise<boolean>} Promise resolved into boolean field indicating success or fail\n * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.StorageWrite` - Couldn't update storage data\n * - `KameleoonException.StorageRead` - Couldn't read storage data\n * - `KameleoonException.ClientConfiguration` - Couldn't retrieve client configuration from Kameleoon Api\n * - `KameleoonException.MaximumRetriesReached` - Maximum retries reached, request failed\n */\n public async initialize(useCache?: boolean): Promise<boolean> {\n return super.initialize(useCache);\n }\n\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 * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded\n * - `KameleoonException.VisitorCodeEmpty` - The visitor code is empty\n */\n public getVisitorCode(defaultVisitorCode?: string): string {\n this.internalVisitorCodeManager.getData = (key: string) =>\n this.externalVisitorCodeManager.getData(key);\n\n this.internalVisitorCodeManager.setData = (\n parameters: SetDataCallbackParametersType,\n ) => {\n this.externalVisitorCodeManager.setData({\n ...parameters,\n domain: this.domain,\n });\n };\n\n return this.internalVisitorCodeManager.getVisitorCode(defaultVisitorCode);\n }\n\n /**\n * @method setLegalConsent - sets or updates the legal consent status for a visitor identified by their unique visitor code, affecting values in the response cookies based on the consent status\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length\n * @param {boolean} consent - a value representing the legal consent status. - 'true' indicates the\n * visitor has given legal consent. - 'false' indicates the visitor has withdrawn or not\n * provided legal consent.\n * @returns {void}\n * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded\n * - `KameleoonException.VisitorCodeEmpty` - The visitor code is empty\n */\n public setLegalConsent(visitorCode: string, consent: boolean): void {\n super.setUserConsent({\n visitorCode,\n consent,\n setData: (parameters: SetDataCallbackParametersType): void => {\n this.externalVisitorCodeManager.setData({\n ...parameters,\n domain: this.domain,\n });\n },\n });\n }\n}\n"],"mappings":"27CAkBO,KAAM,CAAAA,eAAe,QAAS,CAAAC,gCAAc,CAKjDC,WAAWA,CAAAC,CAAA,CAKO,IALN,CACVC,QAAQ,CAARA,CAAQ,CACRC,aAAa,CAAbA,CAAa,CACbC,SAAS,CAATA,CAAS,CACTC,UAAU,CAAVA,CACa,CAAC,CAAAJ,CAAA,MACR,CAAAK,CAAI,CAAG,QAAAD,CAAU,WAAVA,CAAU,QAAVA,CAAU,CAAEC,IAAI,GAAI,GAAI,CAAAC,mBAAe,CAC9CC,CAAO,CAAG,QAAAJ,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEI,OAAO,GAAI,GAAI,CAAAC,oBAAa,CACjDC,CAAS,CAAG,QAAAN,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEM,SAAS,GAAI,GAAI,CAAAC,oBAAW,CACnDC,CAAW,CAAG,QAAAR,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEQ,WAAW,GAAI,GAAI,CAAAC,iCAAsB,CAClEC,CAAkB,CAAG,GAAI,CAAAC,qCAAoB,CAC7CC,CAA0B,CAC9B,QAAAZ,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEU,kBAAkB,GAAI,GAAI,CAAAG,+CAA6B,CAE9DC,CAAW,CAAG,QAAAb,CAAU,WAAVA,CAAU,QAAVA,CAAU,CAAEa,WAAW,GAAI,CAC7CC,IAAI,CAAEC,kCAAe,CAACC,UAAU,CAChCC,OAAO,QACT,CAAC,CAED,KAAK,CAAC,CACJpB,QAAQ,CAARA,CAAQ,CACRC,aAAa,CAAbA,CAAa,CACboB,qBAAqB,CAAE,CACrBC,YAAY,CAAElB,CAAI,CAClBmB,eAAe,CAAEjB,CAAO,CACxBkB,iBAAiB,CAAEhB,CAAS,CAC5BiB,mBAAmB,CAAEf,CAAW,CAChCI,0BAA0B,CAAEF,CAAkB,CAC9Cc,mBAAmB,CAAEV,CACvB,CACF,CAAC,CAAC,CAAAW,eAAA,uBAAAA,eAAA,2CAAAA,eAAA,2CAEF,IAAI,CAACC,MAAM,CAAG,QAAA3B,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAE4B,YAAY,WAAI5B,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAE2B,MAAM,EAClE,IAAI,CAACE,0BAA0B,CAAGlB,CAAkB,CACpD,IAAI,CAACE,0BAA0B,CAAGA,CACpC,CAaA,KAAa,CAAAiB,UAAUA,CAACC,CAAkB,CAAoB,CAC5D,MAAO,MAAK,CAACD,UAAU,CAACC,CAAQ,CAClC,CAWOC,cAAcA,CAACC,CAA2B,CAAU,CAazD,MAZA,KAAI,CAACJ,0BAA0B,CAACK,OAAO,CAAIC,CAAW,EACpD,IAAI,CAACtB,0BAA0B,CAACqB,OAAO,CAACC,CAAG,CAAC,CAE9C,IAAI,CAACN,0BAA0B,CAACO,OAAO,CACrCC,CAAyC,EACtC,CACH,IAAI,CAACxB,0BAA0B,CAACuB,OAAO,CAAAE,aAAA,CAAAA,aAAA,IAClCD,CAAU,MACbV,MAAM,CAAE,IAAI,CAACA,MAAM,EACpB,CACH,CAAC,CAEM,IAAI,CAACE,0BAA0B,CAACG,cAAc,CAACC,CAAkB,CAC1E,CAcOM,eAAeA,CAACC,CAAmB,CAAEC,CAAgB,CAAQ,CAClE,KAAK,CAACC,cAAc,CAAC,CACnBF,WAAW,CAAXA,CAAW,CACXC,OAAO,CAAPA,CAAO,CACPL,OAAO,CAAGC,CAAyC,EAAW,CAC5D,IAAI,CAACxB,0BAA0B,CAACuB,OAAO,CAAAE,aAAA,CAAAA,aAAA,IAClCD,CAAU,MACbV,MAAM,CAAE,IAAI,CAACA,MAAM,EACpB,CACH,CACF,CAAC,CACH,CACF,CAACgB,OAAA,CAAAhD,eAAA,CAAAA,eAAA"}
package/dist/prng.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { IExternalPRNG } from '@kameleoon/javascript-sdk-core';
2
+ export declare class KameleoonPRNG implements IExternalPRNG {
3
+ getRandomNumber(): number;
4
+ }
package/dist/prng.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonPRNG=void 0;class KameleoonPRNG{getRandomNumber(){var a;if(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;
2
+ //# sourceMappingURL=prng.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prng.js","names":["KameleoonPRNG","getRandomNumber","a","window","crypto","arr","Uint32Array","getRandomValues","Math","random","exports"],"sources":["../src/prng.ts"],"sourcesContent":["import { IExternalPRNG } from '@kameleoon/javascript-sdk-core';\n\nexport class KameleoonPRNG implements IExternalPRNG {\n public getRandomNumber(): number {\n if (window?.crypto) {\n const arr = new Uint32Array(1);\n const uint32Max = 0xffffffff + 1;\n\n window.crypto.getRandomValues(arr);\n\n return arr[0] / uint32Max;\n }\n\n return Math.random();\n }\n}\n"],"mappings":"iGAEO,KAAM,CAAAA,aAAuC,CAC3CC,eAAeA,CAAA,CAAW,KAAAC,CAAA,CAC/B,WAAAA,CAAA,CAAIC,MAAM,YAAAD,CAAA,EAANA,CAAA,CAAQE,MAAM,CAAE,MACZ,CAAAC,CAAG,CAAG,GAAI,CAAAC,WAAW,CAAC,CAAC,CAAC,CAK9B,MAFA,CAAAH,MAAM,CAACC,MAAM,CAACG,eAAe,CAACF,CAAG,CAAC,CAE3BA,CAAG,CAAC,CAAC,CAAC,WACf,CAEA,MAAO,CAAAG,IAAI,CAACC,MAAM,CAAC,CACrB,CACF,CAACC,OAAA,CAAAV,aAAA,CAAAA,aAAA"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ExternalPackageInfoType, IExternalEventSource, IExternalRequester, IExternalStorage, SDKConfigurationType } from '@kameleoon/javascript-sdk-core';
1
+ import { InternalsType, IExternalEventSource, IExternalRequester, IExternalStorage, SDKConfigurationType } from '@kameleoon/javascript-sdk-core';
2
2
  /**
3
3
  * @param {IExternalStorage | undefined} storage - external storage implementation
4
4
  * @param {IExternalEventSource | undefined} eventSource - external event source implementation
@@ -15,12 +15,13 @@ export type ExternalsType = {
15
15
  * @param {string} siteCode - client's siteCode defined on Kameleoon platform
16
16
  * @param {Partial<SDKConfigurationType> | undefined} configuration - client's configuration
17
17
  * @param {ExternalsType | undefined} externals - external dependencies
18
+ * @param {InternalsType | undefined} _internals - internal dependencies used by consumer packages (React/React Native SDK)
18
19
  * */
19
20
  export type SDKParameters = {
20
21
  siteCode: string;
21
22
  configuration?: Partial<SDKConfigurationType>;
22
23
  externals?: ExternalsType;
23
- _internals?: ExternalPackageInfoType;
24
+ _internals?: InternalsType;
24
25
  };
25
26
  export type SetDataParametersType = {
26
27
  visitorCode: string;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import {\n ExternalPackageInfoType,\n IExternalEventSource,\n IExternalRequester,\n IExternalStorage,\n SDKConfigurationType,\n} from '@kameleoon/javascript-sdk-core';\n\n/**\n * @param {IExternalStorage | undefined} storage - external storage implementation\n * @param {IExternalEventSource | undefined} eventSource - external event source implementation\n * @param {IExternalVisitorCodeManager | undefined} visitorCodeManager - external visitor code manager implementation\n * @param {IExternalRequester | undefined} requester - external requester implementation\n * */\nexport type ExternalsType = {\n storage?: IExternalStorage;\n requester?: IExternalRequester;\n eventSource?: IExternalEventSource;\n visitorCodeManager?: IExternalVisitorCodeManager;\n};\n\n/**\n * @param {string} siteCode - client's siteCode defined on Kameleoon platform\n * @param {Partial<SDKConfigurationType> | undefined} configuration - client's configuration\n * @param {ExternalsType | undefined} externals - external dependencies\n * */\nexport type SDKParameters = {\n siteCode: string;\n configuration?: Partial<SDKConfigurationType>;\n externals?: ExternalsType;\n _internals?: ExternalPackageInfoType;\n};\n\nexport type SetDataParametersType = {\n visitorCode: string;\n key: string;\n domain?: string;\n maxAge: number;\n path: string;\n};\n\nexport interface IExternalVisitorCodeManager {\n getData: (key: string) => string | null;\n setData: (params: SetDataParametersType) => void;\n}\n\nexport type EngineConsentDataType = {\n value?: { AB_TESTING?: boolean };\n};\n\nexport type GetResultCookieParametersType = {\n visitorCode: string;\n domain?: string;\n key: string;\n maxAge: number;\n path: string;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import {\n InternalsType,\n IExternalEventSource,\n IExternalRequester,\n IExternalStorage,\n SDKConfigurationType,\n} from '@kameleoon/javascript-sdk-core';\n\n/**\n * @param {IExternalStorage | undefined} storage - external storage implementation\n * @param {IExternalEventSource | undefined} eventSource - external event source implementation\n * @param {IExternalVisitorCodeManager | undefined} visitorCodeManager - external visitor code manager implementation\n * @param {IExternalRequester | undefined} requester - external requester implementation\n * */\nexport type ExternalsType = {\n storage?: IExternalStorage;\n requester?: IExternalRequester;\n eventSource?: IExternalEventSource;\n visitorCodeManager?: IExternalVisitorCodeManager;\n};\n\n/**\n * @param {string} siteCode - client's siteCode defined on Kameleoon platform\n * @param {Partial<SDKConfigurationType> | undefined} configuration - client's configuration\n * @param {ExternalsType | undefined} externals - external dependencies\n * @param {InternalsType | undefined} _internals - internal dependencies used by consumer packages (React/React Native SDK)\n * */\nexport type SDKParameters = {\n siteCode: string;\n configuration?: Partial<SDKConfigurationType>;\n externals?: ExternalsType;\n _internals?: InternalsType;\n};\n\nexport type SetDataParametersType = {\n visitorCode: string;\n key: string;\n domain?: string;\n maxAge: number;\n path: string;\n};\n\nexport interface IExternalVisitorCodeManager {\n getData: (key: string) => string | null;\n setData: (params: SetDataParametersType) => void;\n}\n\nexport type EngineConsentDataType = {\n value?: { AB_TESTING?: boolean };\n};\n\nexport type GetResultCookieParametersType = {\n visitorCode: string;\n domain?: string;\n key: string;\n maxAge: number;\n path: string;\n};\n"],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kameleoon/javascript-sdk",
3
- "version": "3.4.3",
3
+ "version": "3.4.4",
4
4
  "description": "Kameleoon JavaScript SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  ],
36
36
  "license": "ISC",
37
37
  "dependencies": {
38
- "@kameleoon/javascript-sdk-core": "4.4.3"
38
+ "@kameleoon/javascript-sdk-core": "4.4.4"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/crypto-js": "^4.1.1",