@kameleoon/javascript-sdk-core 3.4.0 → 3.4.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.
@@ -9,6 +9,7 @@ export declare class Conversion implements IKameleoonData {
9
9
  private revenue;
10
10
  private negative;
11
11
  private sent;
12
+ private nonce;
12
13
  /**
13
14
  * @param {ConversionParametersType} conversionParameters - an object with conversion parameters
14
15
  * */
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Conversion=void 0;var _requester=require("../requester"),_types=require("./types");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 _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}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 _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 Conversion=function(){function a(b){var c=b.goalId,d=b.revenue,e=void 0===d?0:d,f=b.negative;_classCallCheck(this,a),_defineProperty(this,"goalId",void 0),_defineProperty(this,"revenue",void 0),_defineProperty(this,"negative",void 0),_defineProperty(this,"sent",void 0),this.goalId=c,this.revenue=e,this.negative=void 0!==f&&f,this.sent=!1}return _createClass(a,[{key:"url",get:function get(){return this.goalId?_requester.UrlEventType.Conversion+_requester.UrlParameter.GoalId+(this.goalId+"")+_requester.UrlParameter.Revenue+(this.revenue+"")+_requester.UrlParameter.Negative+(this.negative+""):""}},{key:"data",get:function get(){return{goalId:this.goalId,revenue:this.revenue,negative:this.negative,type:_types.KameleoonData.Conversion,sent:this.sent}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}}],[{key:"_listFromVisits",value:function _listFromVisits(b){var c,d=[],e=new Map,f=_createForOfIteratorHelper(b);try{for(f.s();!(c=f.n()).done;){var g=c.value;if(g.conversionEvents){var h,i=g.conversionEvents,j=_createForOfIteratorHelper(i);try{for(j.s();!(h=j.n()).done;){var k=h.value,l=k.data.goalId;if(!e.has(l)){e.set(l,!0);var m=new a({goalId:l});m.isSent=!0,d.push(m)}}}catch(a){j.e(a)}finally{j.f()}}}}catch(a){f.e(a)}finally{f.f()}return d}}]),a}();exports.Conversion=Conversion;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Conversion=void 0;var _requester=require("../requester"),_utilities=require("../utilities"),_types=require("./types");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 _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}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 _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 Conversion=function(){function a(b){var c=b.goalId,d=b.revenue,e=void 0===d?0:d,f=b.negative;_classCallCheck(this,a),_defineProperty(this,"goalId",void 0),_defineProperty(this,"revenue",void 0),_defineProperty(this,"negative",void 0),_defineProperty(this,"sent",void 0),_defineProperty(this,"nonce",void 0),this.goalId=c,this.revenue=e,this.negative=void 0!==f&&f,this.sent=!1,this.nonce=_utilities.Utilities.getNonce()}return _createClass(a,[{key:"url",get:function get(){return this.goalId?_requester.UrlEventType.Conversion+_requester.UrlParameter.GoalId+(this.goalId+"")+_requester.UrlParameter.Revenue+(this.revenue+"")+_requester.UrlParameter.Negative+(this.negative+"")+_requester.UrlParameter.Nonce+this.nonce:""}},{key:"data",get:function get(){return{goalId:this.goalId,revenue:this.revenue,negative:this.negative,type:_types.KameleoonData.Conversion,sent:this.sent}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}}],[{key:"_listFromVisits",value:function _listFromVisits(b){var c,d=[],e=new Map,f=_createForOfIteratorHelper(b);try{for(f.s();!(c=f.n()).done;){var g=c.value;if(g.conversionEvents){var h,i=g.conversionEvents,j=_createForOfIteratorHelper(i);try{for(j.s();!(h=j.n()).done;){var k=h.value,l=k.data.goalId;if(!e.has(l)){e.set(l,!0);var m=new a({goalId:l});m.isSent=!0,d.push(m)}}}catch(a){j.e(a)}finally{j.f()}}}}catch(a){f.e(a)}finally{f.f()}return d}}]),a}();exports.Conversion=Conversion;
2
2
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.js","names":["Conversion","a","b","goalId","d","revenue","f","negative","_classCallCheck","_defineProperty","sent","_createClass","key","get","UrlEventType","UrlParameter","GoalId","Revenue","Negative","type","KameleoonData","set","value","_listFromVisits","visits","c","resultConversions","goalIdMap","Map","_createForOfIteratorHelper","s","n","done","visit","conversionEvents","h","j","conversionEvent","data","has","conversion","isSent","push","e","exports"],"sources":["../../src/kameleoonData/conversion.ts"],"sourcesContent":["import { UrlEventType, UrlParameter, VisitType } from 'src/requester';\nimport {\n ConversionDataType,\n ConversionParametersType,\n IKameleoonData,\n KameleoonData,\n} from './types';\n\n/**\n * @class\n * Conversion - a class for creating an instance for conversion tracking\n * */\nexport class Conversion implements IKameleoonData {\n private goalId: number;\n private revenue: number;\n private negative: boolean;\n private sent: boolean;\n\n /**\n * @param {ConversionParametersType} conversionParameters - an object with conversion parameters\n * */\n constructor({\n goalId,\n revenue = 0,\n negative = false,\n }: ConversionParametersType) {\n this.goalId = goalId;\n this.revenue = revenue;\n this.negative = negative;\n this.sent = false;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n // --- Note ---\n // If SDK is used in vanilla JS codebase, then you're also able to create an instance\n // with no required data, we don't want send anything to tracking in that case\n if (!this.goalId) {\n return '';\n }\n\n return (\n UrlEventType.Conversion +\n UrlParameter.GoalId +\n String(this.goalId) +\n UrlParameter.Revenue +\n String(this.revenue) +\n UrlParameter.Negative +\n String(this.negative)\n );\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): ConversionDataType {\n return {\n goalId: this.goalId,\n revenue: this.revenue,\n negative: this.negative,\n type: KameleoonData.Conversion,\n sent: this.sent,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n\n /**\n * @private\n * @method _listFromVisits - an internal method for creating a list of Conversion instances\n * @param {VisitType[]} visits - a list of visits\n * @returns {Conversion[]} a list of Conversion instances\n * */\n public static _listFromVisits(visits: VisitType[]): Conversion[] {\n const resultConversions: Conversion[] = [];\n const goalIdMap = new Map();\n\n for (const visit of visits) {\n if (!visit.conversionEvents) {\n continue;\n }\n\n const conversionEvents = visit.conversionEvents;\n\n for (const conversionEvent of conversionEvents) {\n const { goalId } = conversionEvent.data;\n\n // --- Note ---\n // - We only take unique `goalId`s as and don't use `revenue` and `negative`\n // because we only utilize it for Conversion Condition and don't re-sent this data tracking\n // not to break server `revenue` calculations and not to cause extra conversions\n // - Moreover conversion is marked as sent, so the visitor won't be converted again just\n // by pulling visits data\n if (!goalIdMap.has(goalId)) {\n goalIdMap.set(goalId, true);\n\n const conversion = new Conversion({ goalId });\n conversion.isSent = true;\n\n resultConversions.push(conversion);\n }\n }\n }\n\n return resultConversions;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"conversion.js","names":["Conversion","a","b","goalId","d","revenue","f","negative","_classCallCheck","_defineProperty","sent","nonce","Utilities","getNonce","_createClass","key","get","UrlEventType","UrlParameter","GoalId","Revenue","Negative","Nonce","type","KameleoonData","set","value","_listFromVisits","visits","c","resultConversions","goalIdMap","Map","_createForOfIteratorHelper","s","n","done","visit","conversionEvents","h","j","conversionEvent","data","has","conversion","isSent","push","e","exports"],"sources":["../../src/kameleoonData/conversion.ts"],"sourcesContent":["import { UrlEventType, UrlParameter, VisitType } from 'src/requester';\nimport { Utilities } from 'src/utilities';\nimport {\n ConversionDataType,\n ConversionParametersType,\n IKameleoonData,\n KameleoonData,\n} from './types';\n\n/**\n * @class\n * Conversion - a class for creating an instance for conversion tracking\n * */\nexport class Conversion implements IKameleoonData {\n private goalId: number;\n private revenue: number;\n private negative: boolean;\n private sent: boolean;\n private nonce: string;\n\n /**\n * @param {ConversionParametersType} conversionParameters - an object with conversion parameters\n * */\n constructor({\n goalId,\n revenue = 0,\n negative = false,\n }: ConversionParametersType) {\n this.goalId = goalId;\n this.revenue = revenue;\n this.negative = negative;\n this.sent = false;\n this.nonce = Utilities.getNonce();\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n // --- Note ---\n // If SDK is used in vanilla JS codebase, then you're also able to create an instance\n // with no required data, we don't want send anything to tracking in that case\n if (!this.goalId) {\n return '';\n }\n\n return (\n UrlEventType.Conversion +\n UrlParameter.GoalId +\n String(this.goalId) +\n UrlParameter.Revenue +\n String(this.revenue) +\n UrlParameter.Negative +\n String(this.negative) +\n UrlParameter.Nonce +\n this.nonce\n );\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): ConversionDataType {\n return {\n goalId: this.goalId,\n revenue: this.revenue,\n negative: this.negative,\n type: KameleoonData.Conversion,\n sent: this.sent,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n\n /**\n * @private\n * @method _listFromVisits - an internal method for creating a list of Conversion instances\n * @param {VisitType[]} visits - a list of visits\n * @returns {Conversion[]} a list of Conversion instances\n * */\n public static _listFromVisits(visits: VisitType[]): Conversion[] {\n const resultConversions: Conversion[] = [];\n const goalIdMap = new Map();\n\n for (const visit of visits) {\n if (!visit.conversionEvents) {\n continue;\n }\n\n const conversionEvents = visit.conversionEvents;\n\n for (const conversionEvent of conversionEvents) {\n const { goalId } = conversionEvent.data;\n\n // --- Note ---\n // - We only take unique `goalId`s as and don't use `revenue` and `negative`\n // because we only utilize it for Conversion Condition and don't re-sent this data tracking\n // not to break server `revenue` calculations and not to cause extra conversions\n // - Moreover conversion is marked as sent, so the visitor won't be converted again just\n // by pulling visits data\n if (!goalIdMap.has(goalId)) {\n goalIdMap.set(goalId, true);\n\n const conversion = new Conversion({ goalId });\n conversion.isSent = true;\n\n resultConversions.push(conversion);\n }\n }\n }\n\n return resultConversions;\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Requester=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_utilities=require("../utilities"),_constants=require("./constants");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 _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 Requester=function(){function a(b){var c=b.siteCode,d=b.environment,e=b.packageInfo,f=b.requestDispatcher;_classCallCheck(this,a),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"environment",void 0),_defineProperty(this,"requestDispatcher",void 0),_defineProperty(this,"packageInfo",void 0),this.requestDispatcher=f,this.siteCode=c,this.environment=d,this.packageInfo=e}return _createClass(a,[{key:"getClientConfiguration",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 d=this.environment?_constants.UrlFirstParameter.Environment+this.environment:"",e="",a&&(d?e=_constants.UrlParameter.Ts+a:e=_constants.UrlFirstParameter.Ts+a),f=_constants.URL.CLIENT_CONFIGURATION+this.siteCode+d+e,g=(c={},_defineProperty(c,_constants.Header.SdkType,this.packageInfo.type.toLowerCase()),_defineProperty(c,_constants.Header.SdkVersion,this.packageInfo.version),c),b.prev=5,b.next=8,this.requestDispatcher.getClientConfiguration(f,g);case 8:if(h=b.sent,!h){b.next=11;break}return b.abrupt("return",(0,_tsRes.Ok)(h));case 11:return b.abrupt("return",(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.MaximumRetriesReached)));case 14:return b.prev=14,b.t0=b["catch"](5),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 17:case"end":return b.stop();}},b,this,[[5,14]])}));return a}()},{key:"getRemoteData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d;return _regeneratorRuntime().wrap(function e(b){for(;1;)switch(b.prev=b.next){case 0:return c=_constants.URL.DATA_MAP+this.siteCode+_constants.UrlParameter.Key+encodeURI(a),b.prev=1,b.next=4,this.requestDispatcher.getRemoteData(c);case 4:return d=b.sent,b.abrupt("return",(0,_tsRes.Ok)(d));case 8:return b.prev=8,b.t0=b["catch"](1),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 11:case"end":return b.stop();}},b,this,[[1,8]])}));return a}()},{key:"getVisitorData",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,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;return _regeneratorRuntime().wrap(function w(c){for(;1;)switch(c.prev=c.next){case 0:return d=b.customData,e=b.previousVisitAmount,f=b.currentVisit,g=b.conversions,h=b.geolocation,i=b.experiments,j=b.pageViews,k=b.device,l=b.browser,m=b.operatingSystem,n=d?_constants.UrlParameter.CustomData+!0:"",o=g?_constants.UrlParameter.Conversion+!0:"",p=h?_constants.UrlParameter.Geolocation+!0:"",q=i?_constants.UrlParameter.Experiment+!0:"",r=j?_constants.UrlParameter.Page+!0:"",s=k||l||m?_constants.UrlParameter.StaticData+!0:"",t=f?_constants.UrlParameter.CurrentVisit+!0:"",u=_constants.URL.VISIT_DATA+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.MaxNumberPreviousVisits+e+n+o+p+q+r+s+t,c.prev=9,c.next=12,this.requestDispatcher.getRemoteData(u);case 12:return v=c.sent,c.abrupt("return",(0,_tsRes.Ok)(v));case 16:return c.prev=16,c.t0=c["catch"](9),c.abrupt("return",(0,_tsRes.Err)(c.t0));case 19:case"end":return c.stop();}},c,this,[[9,16]])}));return a}()},{key:"trackExperiment",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m;return _regeneratorRuntime().wrap(function n(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.dataUrl,e=a.variationDataUrl,f=a.userAgent,g=a.isUnallocated,h=this.getTrackingUrl(c),i=d?"":_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),j=g?i:e,k=j?d+"\n"+j:d,l=f?_defineProperty({},_constants.Header.UserAgent,f):void 0,b.prev=6,b.next=9,this.requestDispatcher.track({url:h,headers:l,body:k});case 9:return m=b.sent,b.abrupt("return",(0,_tsRes.Ok)(m));case 13:return b.prev=13,b.t0=b["catch"](6),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 16:case"end":return b.stop();}},b,this,[[6,13]])}));return a}()},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j;return _regeneratorRuntime().wrap(function k(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.body,e=a.userAgent,f=a.isMappingIdentifier,g=this.getTrackingUrl(c,f),h=d||_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),i=e?_defineProperty({},_constants.Header.UserAgent,e):void 0,b.prev=4,b.next=7,this.requestDispatcher.track({url:g,headers:i,body:h});case 7:return j=b.sent,b.abrupt("return",(0,_tsRes.Ok)(j));case 11:return b.prev=11,b.t0=b["catch"](4),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 14:case"end":return b.stop();}},b,this,[[4,11]])}));return a}()},{key:"getTrackingUrl",value:function getTrackingUrl(a,b){var c=this.packageInfo,d=c.type,e=c.version,f=encodeURIComponent("".concat(e,"/").concat("3.4.0")),g=b?_constants.UrlParameter.MappingValue:_constants.UrlParameter.VisitorCode;return _constants.URL.VISIT_EVENT+this.siteCode+g+a+_constants.UrlParameter.SdkName+d.toLowerCase()+_constants.UrlParameter.SdkVersion+f}}]),a}();exports.Requester=Requester;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Requester=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_utilities=require("../utilities"),_constants=require("./constants");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 _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 Requester=function(){function a(b){var c=b.siteCode,d=b.environment,e=b.packageInfo,f=b.requestDispatcher;_classCallCheck(this,a),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"environment",void 0),_defineProperty(this,"requestDispatcher",void 0),_defineProperty(this,"packageInfo",void 0),this.requestDispatcher=f,this.siteCode=c,this.environment=d,this.packageInfo=e}return _createClass(a,[{key:"getClientConfiguration",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 d=this.environment?_constants.UrlFirstParameter.Environment+this.environment:"",e="",a&&(d?e=_constants.UrlParameter.Ts+a:e=_constants.UrlFirstParameter.Ts+a),f=_constants.URL.CLIENT_CONFIGURATION+this.siteCode+d+e,g=(c={},_defineProperty(c,_constants.Header.SdkType,this.packageInfo.type.toLowerCase()),_defineProperty(c,_constants.Header.SdkVersion,this.packageInfo.version),c),b.prev=5,b.next=8,this.requestDispatcher.getClientConfiguration(f,g);case 8:if(h=b.sent,!h){b.next=11;break}return b.abrupt("return",(0,_tsRes.Ok)(h));case 11:return b.abrupt("return",(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.MaximumRetriesReached)));case 14:return b.prev=14,b.t0=b["catch"](5),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 17:case"end":return b.stop();}},b,this,[[5,14]])}));return a}()},{key:"getRemoteData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d;return _regeneratorRuntime().wrap(function e(b){for(;1;)switch(b.prev=b.next){case 0:return c=_constants.URL.DATA_MAP+this.siteCode+_constants.UrlParameter.Key+encodeURI(a),b.prev=1,b.next=4,this.requestDispatcher.getRemoteData(c);case 4:return d=b.sent,b.abrupt("return",(0,_tsRes.Ok)(d));case 8:return b.prev=8,b.t0=b["catch"](1),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 11:case"end":return b.stop();}},b,this,[[1,8]])}));return a}()},{key:"getVisitorData",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,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;return _regeneratorRuntime().wrap(function w(c){for(;1;)switch(c.prev=c.next){case 0:return d=b.customData,e=b.previousVisitAmount,f=b.currentVisit,g=b.conversions,h=b.geolocation,i=b.experiments,j=b.pageViews,k=b.device,l=b.browser,m=b.operatingSystem,n=d?_constants.UrlParameter.CustomData+!0:"",o=g?_constants.UrlParameter.Conversion+!0:"",p=h?_constants.UrlParameter.Geolocation+!0:"",q=i?_constants.UrlParameter.Experiment+!0:"",r=j?_constants.UrlParameter.Page+!0:"",s=k||l||m?_constants.UrlParameter.StaticData+!0:"",t=f?_constants.UrlParameter.CurrentVisit+!0:"",u=_constants.URL.VISIT_DATA+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.MaxNumberPreviousVisits+e+n+o+p+q+r+s+t,c.prev=9,c.next=12,this.requestDispatcher.getRemoteData(u);case 12:return v=c.sent,c.abrupt("return",(0,_tsRes.Ok)(v));case 16:return c.prev=16,c.t0=c["catch"](9),c.abrupt("return",(0,_tsRes.Err)(c.t0));case 19:case"end":return c.stop();}},c,this,[[9,16]])}));return a}()},{key:"trackExperiment",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m;return _regeneratorRuntime().wrap(function n(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.dataUrl,e=a.variationDataUrl,f=a.userAgent,g=a.isUnallocated,h=this.getTrackingUrl(c),i=d?"":_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),j=g?i:e,k=j?d+"\n"+j:d,l=f?_defineProperty({},_constants.Header.UserAgent,f):void 0,b.prev=6,b.next=9,this.requestDispatcher.track({url:h,headers:l,body:k});case 9:return m=b.sent,b.abrupt("return",(0,_tsRes.Ok)(m));case 13:return b.prev=13,b.t0=b["catch"](6),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 16:case"end":return b.stop();}},b,this,[[6,13]])}));return a}()},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j;return _regeneratorRuntime().wrap(function k(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.body,e=a.userAgent,f=a.isMappingIdentifier,g=this.getTrackingUrl(c,f),h=d||_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),i=e?_defineProperty({},_constants.Header.UserAgent,e):void 0,b.prev=4,b.next=7,this.requestDispatcher.track({url:g,headers:i,body:h});case 7:return j=b.sent,b.abrupt("return",(0,_tsRes.Ok)(j));case 11:return b.prev=11,b.t0=b["catch"](4),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 14:case"end":return b.stop();}},b,this,[[4,11]])}));return a}()},{key:"getTrackingUrl",value:function getTrackingUrl(a,b){var c=this.packageInfo,d=c.type,e=c.version,f=encodeURIComponent("".concat(e,"/").concat("3.4.1")),g=b?_constants.UrlParameter.MappingValue:_constants.UrlParameter.VisitorCode;return _constants.URL.VISIT_EVENT+this.siteCode+g+a+_constants.UrlParameter.SdkName+d.toLowerCase()+_constants.UrlParameter.SdkVersion+f}}]),a}();exports.Requester=Requester;
2
2
  //# sourceMappingURL=requester.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Utilities=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_types=require("../types"),_kameleoonData=require("../kameleoonData"),_constants=require("../constants"),_requester=require("../requester"),_targeting=require("../targeting"),_constants2=require("./constants"),_types2=require("./types"),_excluded=["timestamp","isExperiment"];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 _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}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 _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(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 _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 _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 _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 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 _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}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 _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 Utilities=function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:"checkTargeting",value:function checkTargeting(a){var b=a.segment,c=a.visitorCode,d=a.targetingData,e=a.experimentId,f=a.variationConfiguration,g=a.clientConfiguration,h=a.packageInfo,i=a.dataManager;if(!b||!b.conditionsData.firstLevel.length)return(0,_tsRes.Ok)(!0);if(!f)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization));var j={},k=f.getStoredVariations(c);k.ok&&(j=k.data);var l=i.getTree(b),m=void 0,n=void 0,o=void 0;l.hasTargetingType(_targeting.TargetingType.SEGMENT)&&(m=i.trees,n=g.segments),l.hasTargetingType(_targeting.TargetingType.TARGET_FEATURE_FLAG)&&(o=g.ruleMap);var p=l.evaluate({variationData:j,sdkInfo:h,segments:n,ruleMap:o,trees:m,targetingData:d,experimentId:e,visitorCode:c});return p}},{key:"validateVisitorCode",value:function validateVisitorCode(a){return 0===a.length?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitorCodeEmpty)):a.length>_constants2.VISITOR_CODE_MAX_LENGTH?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitorCodeMaxLength)):(0,_tsRes.Ok)()}},{key:"getDataUrl",value:function getDataUrl(b){function c(b){if(b.url){var c=b.data.type===_kameleoonData.KameleoonData.Conversion;(f||c)&&h.push(b.url+_requester.UrlParameter.Nonce+a.getNonce()+"\n")}}var d=b.visitorCode,e=b.dataManager,f=b.isConsentProvided,g=e.getUnsentData(d),h=[];if(!g||!g.size)return"";var i,j=_createForOfIteratorHelper(g.values());try{for(j.s();!(i=j.n()).done;){var k=i.value;Array.isArray(k)?k.forEach(function(a){return c(a)}):c(k)}}catch(a){j.e(a)}finally{j.f()}return h.join("")}},{key:"getVariationDataUrlAndSentExperimentIds",value:function getVariationDataUrlAndSentExperimentIds(b){var c=b.visitorCode,d=b.isConsentProvided,e=b.variationConfiguration,f=[],g=new Set,h=e.getUnsentData(c);h.ok&&h.data.length&&h.data.forEach(function(b){(b.isTargetedRule||d)&&(f.push(_requester.UrlEventType.Experiment+_requester.UrlParameter.Id+b.experimentId+_requester.UrlParameter.VariationId+b.variationId+_requester.UrlParameter.Nonce+a.getNonce()+"\n"),g.add(b.experimentId+""))});var i=f.join(""),j=Array.from(g);return[i,j]}},{key:"trackFeatureExperiment",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;return _regeneratorRuntime().wrap(function y(b){for(;1;)switch(b.prev=b.next){case 0:if(c=a.featureFlagVariation,d=a.dataManager,e=a.visitorCode,f=a.requester,g=a.isOfflineModeOn,h=a.isConsentProvided,i=a.offlineTrackingStorage,j=a.variationConfiguration,k=c.variationId,l=c.rule,m=c.isTargetedRule,n=this.getUserAgent(e,d),o=this.getDataUrl({visitorCode:e,dataManager:d,isConsentProvided:h}),p=k||0,q=l?l.experimentId:0,r=this.getVariationDataUrlAndSentExperimentIds({visitorCode:e,isConsentProvided:h,variationConfiguration:j}),s=_slicedToArray(r,2),t=s[0],u=s[1],h||o||l){b.next=9;break}return b.abrupt("return");case 9:return v=null===k,w={visitorCode:e,dataUrl:o,variationDataUrl:t,experimentId:q,variationId:p,userAgent:n,isUnallocated:v},b.next=13,f.trackExperiment(w);case 13:x=b.sent,x.ok&&(h?d.clearUnsentData(e):d.clearUnsentDataByKey(e,_kameleoonData.KameleoonData.Conversion),u.forEach(function(a){j.markUnsentDataAsSent(e,a)})),!x.ok&&g&&this.addItemToOfflineTracking({item:w,storage:i,isExperiment:!0});case 16:case"end":return b.stop();}},b,this)}));return a}()},{key:"convertTimeUnit",value:function convertTimeUnit(a,b){var c,d=(c={},_defineProperty(c,_types2.TimeUnit.Minute,_types.Milliseconds.Minute),_defineProperty(c,_types2.TimeUnit.Hour,_types.Milliseconds.Hour),_defineProperty(c,_types2.TimeUnit.Day,_types.Milliseconds.Day),_defineProperty(c,_types2.TimeUnit.Week,_types.Milliseconds.Week),_defineProperty(c,_types2.TimeUnit.Month,_types.Milliseconds.Month),c);return a/d[b]}},{key:"parseFeatureVariable",value:function parseFeatureVariable(a){var b=a.key,c=a.type,d=a.value;switch(c){case _types.VariableType.BOOLEAN:return(0,_tsRes.Ok)({key:b,type:c,value:!!d});case _types.VariableType.STRING:return(0,_tsRes.Ok)({key:b,type:c,value:d+""});case _types.VariableType.NUMBER:var e=+d;return Number.isNaN(e)?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.NumberParse,d+"")):(0,_tsRes.Ok)({key:b,type:c,value:e});case _types.VariableType.JSON:try{var f=JSON.parse(a.value+"");return(0,_tsRes.Ok)({key:b,type:c,value:f})}catch(a){return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.JSONParse,a))}default:(0,_kameleoonError.exhaustCheck)(c);}}},{key:"parseVisitorData",value:function parseVisitorData(a){var b=a.data,c=a.filters,d=a.visitorCode,e=a.variationConfiguration,f=b.currentVisit,g=b.previousVisits,h=c.browser,j=c.customData,k=c.operatingSystem,l=c.conversions,m=c.device,n=c.geolocation,o=c.experiments,p=c.pageViews,q=[];if(f&&q.push(f),g&&q.push.apply(q,_toConsumableArray(g)),!q)return{visitorData:[]};var r=[];if(p){var s=_kameleoonData.PageView._listFromVisits(q);s.length&&r.push.apply(r,_toConsumableArray(s))}if(h){var t=_kameleoonData.Browser._fromVisits(q);t&&r.push(t)}if(o){for(var u,v={},w=q.length-1;0<=w;w--)if(u=q[w],!!u.experimentEvents){var x,y=_createForOfIteratorHelper(u.experimentEvents);try{for(y.s();!(x=y.n()).done;){var z=x.value,A=z.data,B=A.id,C=A.variationId;v[B]={variationId:C,isTargetedRule:!1,isSent:!1}}}catch(a){y.e(a)}finally{y.f()}}e.updateStoredVariations(d,v)}if(m){var D=_kameleoonData.Device._fromVisits(q);D&&r.push(D)}if(n){var E=_kameleoonData.GeolocationData._fromVisits(q);E&&r.push(E)}if(j&&r.push.apply(r,_toConsumableArray(_kameleoonData.CustomData._listFromVisits(q))),k){var F=_kameleoonData.OperatingSystem._fromVisits(q);F&&r.push(F)}l&&r.push.apply(r,_toConsumableArray(_kameleoonData.Conversion._listFromVisits(q)));var G,H=_kameleoonData.VisitsData._fromRemoteVisits(q,!!f);return H&&(G=H),{visitorData:r,visitsData:G}}},{key:"parseRegExp",value:function parseRegExp(a){if("/"===a[0]){var b=a.split("/"),c=_slicedToArray(b,3),d=c[0],e=c[1],f=c[2];return new RegExp(e,f)}return new RegExp(a)}},{key:"getUserAgent",value:function getUserAgent(a,b){var c=b.storedTargetingData,d=c&&c[a];if(d){var e=d[_kameleoonData.KameleoonData.UserAgent];if(e)return e.value}}},{key:"isCustomData",value:function isCustomData(a){return a.data.type===_kameleoonData.KameleoonData.CustomData}},{key:"insertInOrderedListMutably",value:function insertInOrderedListMutably(a){var b=a.list,c=a.element,d=a.order;if(!b.includes(c)){var e=b.findIndex(function(a){return d===_types2.Order.Ascending?a>=c:a<=c});-1===e?b.push(c):b.splice(e,0,c)}}},{key:"updateCache",value:function updateCache(a){var b=a.cacheManager,c=a.visitorCode,d=a.experimentId,e=a.variationId,f=b.getAliveItem(c),g=f?_objectSpread({},f):{};g[d]={variationId:e,expirationTime:Date.now()+_constants.CACHE_ITEM_LIFETIME*_types.Milliseconds.Second},b.add({key:c,data:g,lifetime:_constants.CACHE_ITEM_LIFETIME})}},{key:"getTrackingCode",value:function getTrackingCode(a,b){var c="window.kameleoonQueue=window.kameleoonQueue||[];",d=a.getAliveItem(b);if(!d)return c;var e={};return Object.entries(d).forEach(function(a){var b=_slicedToArray(a,2),d=b[0],f=b[1],g=f.variationId,h=f.expirationTime;h>Date.now()&&(c+="window.kameleoonQueue.push(['Experiments.assignVariation',".concat(d,",").concat(g,"]);"),c+="window.kameleoonQueue.push(['Experiments.trigger',".concat(d,",true]);"),e[+d]={variationId:g,expirationTime:h})}),a.add({key:b,data:e,lifetime:_constants.CACHE_ITEM_LIFETIME}),c}},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n;return _regeneratorRuntime().wrap(function o(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.dataManager,e=a.requester,f=a.isOfflineModeOn,g=a.offlineTrackingStorage,h=a.isConsentProvided,i=a.isMappingIdentifier,b.next=3,this.sendOfflineTracking({requester:e,storage:g});case 3:if(j=this.getDataUrl({visitorCode:c,dataManager:d,isConsentProvided:h}),h||j){b.next=6;break}return b.abrupt("return");case 6:return k=this.getUserAgent(c,d),l={visitorCode:c,body:j,userAgent:k,isMappingIdentifier:i},b.next=10,e.trackData(l);case 10:m=b.sent,n=function cleanup(){return h?d.clearUnsentData(c):d.clearUnsentDataByKey(c,_kameleoonData.KameleoonData.Conversion)},m.ok&&n(),!m.ok&&f&&this.addItemToOfflineTracking({item:l,storage:g,isExperiment:!1,onSuccess:n});case 14:case"end":return b.stop();}},b,this)}));return a}()},{key:"getNonce",value:function getNonce(){for(var a,b=_constants2.HEX_CHARACTERS.length,c="",d=0;d<b;d++)a=Math.floor(Math.random()*b),c+=_constants2.HEX_CHARACTERS.substring(a,a+1);return c}},{key:"compareSemVer",value:function compareSemVer(a){var b=a.version,c=a.compareVersion,d=a.operator,e=this.validateVersion(b),f=this.validateVersion(c);if(!e.ok)return(0,_tsRes.Err)(e.error);if(!f.ok)return(0,_tsRes.Err)(f.error);var g=_slicedToArray(e.data,3),h=g[0],i=g[1],j=g[2],k=_slicedToArray(f.data,3),l=k[0],m=k[1],n=k[2],o=h===l,p=i===m,q=j===n;switch(d){case _targeting.VersionMatchType.EQUAL:return(0,_tsRes.Ok)(o&&p&&q);case _targeting.VersionMatchType.GREATER:return(0,_tsRes.Ok)(h>l||o&&i>m||o&&p&&j>n);case _targeting.VersionMatchType.LOWER:return(0,_tsRes.Ok)(h<l||o&&i<m||o&&p&&j<n);default:(0,_kameleoonError.exhaustCheck)(d);}}},{key:"generateRandomString",value:function generateRandomString(a){var b="abcdefghijklmnopqrstuvwxyz0123456789",c=[];if(0>a)return"";for(var d=0;d<a;d++)c.push("abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(36*Math.random())]);return c.join("")}},{key:"sendOfflineTracking",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n;return _regeneratorRuntime().wrap(function o(b){for(;1;)switch(b.prev=b.next){case 0:if(c=a.requester,d=a.storage,e=d.read(),!(e.ok&&e.data.requestParameters)){b.next=33;break}f=e.data.requestParameters,g=[],h=_createForOfIteratorHelper(f),b.prev=6,h.s();case 8:if((i=h.n()).done){b.next=24;break}if(j=i.value,k=j.timestamp,l=j.isExperiment,m=_objectWithoutProperties(j,_excluded),n=void 0,!l){b.next=18;break}return b.next=15,c.trackExperiment(m);case 15:n=b.sent,b.next=21;break;case 18:return b.next=20,c.trackData(m);case 20:n=b.sent;case 21:n.ok&&n.data&&g.push(k);case 22:b.next=8;break;case 24:b.next=29;break;case 26:b.prev=26,b.t0=b["catch"](6),h.e(b.t0);case 29:return b.prev=29,h.f(),b.finish(29);case 32:this.deleteFromOfflineTracking({storage:d,timestamps:g});case 33:case"end":return b.stop();}},b,this,[[6,26,29,32]])}));return a}()},{key:"addItemToOfflineTracking",value:function addItemToOfflineTracking(a){var b=a.item,c=a.isExperiment,d=a.storage,e=a.onSuccess,f=d.read(),g=f.ok?f.data:{},h=g.requestParameters,i=_objectSpread(_objectSpread({},b),{},{timestamp:new Date().getTime(),isExperiment:c}),j=h?[].concat(_toConsumableArray(h),[i]):[i],k=d.write({requestParameters:j});k.ok&&e&&e()}},{key:"deleteFromOfflineTracking",value:function deleteFromOfflineTracking(a){var b=a.timestamps,c=a.storage,d=c.read();if(d.ok){var e=d.data.requestParameters,f=null===e||void 0===e?void 0:e.filter(function(a){return!b.includes(a.timestamp)});c.write({requestParameters:f})}}},{key:"validateVersion",value:function validateVersion(a){for(var b=a.split(".").map(function(a){return parseInt(a,10)});3>b.length;)b.push(0);return b.some(function(a){return isNaN(a)})?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.SemanticVersionParse,a)):(0,_tsRes.Ok)(b.slice(0,3))}}]),a}();exports.Utilities=Utilities;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Utilities=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_types=require("../types"),_kameleoonData=require("../kameleoonData"),_constants=require("../constants"),_requester=require("../requester"),_targeting=require("../targeting"),_constants2=require("./constants"),_types2=require("./types"),_excluded=["timestamp","isExperiment"];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 _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);return e}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 _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(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 _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 _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 _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 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 _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}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 _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 Utilities=function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:"checkTargeting",value:function checkTargeting(a){var b=a.segment,c=a.visitorCode,d=a.targetingData,e=a.experimentId,f=a.variationConfiguration,g=a.clientConfiguration,h=a.packageInfo,i=a.dataManager;if(!b||!b.conditionsData.firstLevel.length)return(0,_tsRes.Ok)(!0);if(!f)return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.Initialization));var j={},k=f.getStoredVariations(c);k.ok&&(j=k.data);var l=i.getTree(b),m=void 0,n=void 0,o=void 0;l.hasTargetingType(_targeting.TargetingType.SEGMENT)&&(m=i.trees,n=g.segments),l.hasTargetingType(_targeting.TargetingType.TARGET_FEATURE_FLAG)&&(o=g.ruleMap);var p=l.evaluate({variationData:j,sdkInfo:h,segments:n,ruleMap:o,trees:m,targetingData:d,experimentId:e,visitorCode:c});return p}},{key:"validateVisitorCode",value:function validateVisitorCode(a){return 0===a.length?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitorCodeEmpty)):a.length>_constants2.VISITOR_CODE_MAX_LENGTH?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VisitorCodeMaxLength)):(0,_tsRes.Ok)()}},{key:"getDataUrl",value:function getDataUrl(b){function c(b){if(b.url){var c=b.data.type===_kameleoonData.KameleoonData.Conversion;if(f||c){var d=c?"":_requester.UrlParameter.Nonce+a.getNonce();h.push(b.url+d+"\n")}}}var d=b.visitorCode,e=b.dataManager,f=b.isConsentProvided,g=e.getUnsentData(d),h=[];if(!g||!g.size)return"";var i,j=_createForOfIteratorHelper(g.values());try{for(j.s();!(i=j.n()).done;){var k=i.value;Array.isArray(k)?k.forEach(function(a){return c(a)}):c(k)}}catch(a){j.e(a)}finally{j.f()}return h.join("")}},{key:"getVariationDataUrlAndSentExperimentIds",value:function getVariationDataUrlAndSentExperimentIds(b){var c=b.visitorCode,d=b.isConsentProvided,e=b.variationConfiguration,f=[],g=new Set,h=e.getUnsentData(c);h.ok&&h.data.length&&h.data.forEach(function(b){(b.isTargetedRule||d)&&(f.push(_requester.UrlEventType.Experiment+_requester.UrlParameter.Id+b.experimentId+_requester.UrlParameter.VariationId+b.variationId+_requester.UrlParameter.Nonce+a.getNonce()+"\n"),g.add(b.experimentId+""))});var i=f.join(""),j=Array.from(g);return[i,j]}},{key:"trackFeatureExperiment",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;return _regeneratorRuntime().wrap(function y(b){for(;1;)switch(b.prev=b.next){case 0:if(c=a.featureFlagVariation,d=a.dataManager,e=a.visitorCode,f=a.requester,g=a.isOfflineModeOn,h=a.isConsentProvided,i=a.offlineTrackingStorage,j=a.variationConfiguration,k=c.variationId,l=c.rule,m=c.isTargetedRule,n=this.getUserAgent(e,d),o=this.getDataUrl({visitorCode:e,dataManager:d,isConsentProvided:h}),p=k||0,q=l?l.experimentId:0,r=this.getVariationDataUrlAndSentExperimentIds({visitorCode:e,isConsentProvided:h,variationConfiguration:j}),s=_slicedToArray(r,2),t=s[0],u=s[1],h||o||l){b.next=9;break}return b.abrupt("return");case 9:return v=null===k,w={visitorCode:e,dataUrl:o,variationDataUrl:t,experimentId:q,variationId:p,userAgent:n,isUnallocated:v},b.next=13,f.trackExperiment(w);case 13:x=b.sent,x.ok&&(h?d.clearUnsentData(e):d.clearUnsentDataByKey(e,_kameleoonData.KameleoonData.Conversion),u.forEach(function(a){j.markUnsentDataAsSent(e,a)})),!x.ok&&g&&this.addItemToOfflineTracking({item:w,storage:i,isExperiment:!0});case 16:case"end":return b.stop();}},b,this)}));return a}()},{key:"convertTimeUnit",value:function convertTimeUnit(a,b){var c,d=(c={},_defineProperty(c,_types2.TimeUnit.Minute,_types.Milliseconds.Minute),_defineProperty(c,_types2.TimeUnit.Hour,_types.Milliseconds.Hour),_defineProperty(c,_types2.TimeUnit.Day,_types.Milliseconds.Day),_defineProperty(c,_types2.TimeUnit.Week,_types.Milliseconds.Week),_defineProperty(c,_types2.TimeUnit.Month,_types.Milliseconds.Month),c);return a/d[b]}},{key:"parseFeatureVariable",value:function parseFeatureVariable(a){var b=a.key,c=a.type,d=a.value;switch(c){case _types.VariableType.BOOLEAN:return(0,_tsRes.Ok)({key:b,type:c,value:!!d});case _types.VariableType.STRING:return(0,_tsRes.Ok)({key:b,type:c,value:d+""});case _types.VariableType.NUMBER:var e=+d;return Number.isNaN(e)?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.NumberParse,d+"")):(0,_tsRes.Ok)({key:b,type:c,value:e});case _types.VariableType.JSON:try{var f=JSON.parse(a.value+"");return(0,_tsRes.Ok)({key:b,type:c,value:f})}catch(a){return(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.JSONParse,a))}default:(0,_kameleoonError.exhaustCheck)(c);}}},{key:"parseVisitorData",value:function parseVisitorData(a){var b=a.data,c=a.filters,d=a.visitorCode,e=a.variationConfiguration,f=b.currentVisit,g=b.previousVisits,h=c.browser,j=c.customData,k=c.operatingSystem,l=c.conversions,m=c.device,n=c.geolocation,o=c.experiments,p=c.pageViews,q=[];if(f&&q.push(f),g&&q.push.apply(q,_toConsumableArray(g)),!q)return{visitorData:[]};var r=[];if(p){var s=_kameleoonData.PageView._listFromVisits(q);s.length&&r.push.apply(r,_toConsumableArray(s))}if(h){var t=_kameleoonData.Browser._fromVisits(q);t&&r.push(t)}if(o){for(var u,v={},w=q.length-1;0<=w;w--)if(u=q[w],!!u.experimentEvents){var x,y=_createForOfIteratorHelper(u.experimentEvents);try{for(y.s();!(x=y.n()).done;){var z=x.value,A=z.data,B=A.id,C=A.variationId;v[B]={variationId:C,isTargetedRule:!1,isSent:!1}}}catch(a){y.e(a)}finally{y.f()}}e.updateStoredVariations(d,v)}if(m){var D=_kameleoonData.Device._fromVisits(q);D&&r.push(D)}if(n){var E=_kameleoonData.GeolocationData._fromVisits(q);E&&r.push(E)}if(j&&r.push.apply(r,_toConsumableArray(_kameleoonData.CustomData._listFromVisits(q))),k){var F=_kameleoonData.OperatingSystem._fromVisits(q);F&&r.push(F)}l&&r.push.apply(r,_toConsumableArray(_kameleoonData.Conversion._listFromVisits(q)));var G,H=_kameleoonData.VisitsData._fromRemoteVisits(q,!!f);return H&&(G=H),{visitorData:r,visitsData:G}}},{key:"parseRegExp",value:function parseRegExp(a){if("/"===a[0]){var b=a.split("/"),c=_slicedToArray(b,3),d=c[0],e=c[1],f=c[2];return new RegExp(e,f)}return new RegExp(a)}},{key:"getUserAgent",value:function getUserAgent(a,b){var c=b.storedTargetingData,d=c&&c[a];if(d){var e=d[_kameleoonData.KameleoonData.UserAgent];if(e)return e.value}}},{key:"isCustomData",value:function isCustomData(a){return a.data.type===_kameleoonData.KameleoonData.CustomData}},{key:"insertInOrderedListMutably",value:function insertInOrderedListMutably(a){var b=a.list,c=a.element,d=a.order;if(!b.includes(c)){var e=b.findIndex(function(a){return d===_types2.Order.Ascending?a>=c:a<=c});-1===e?b.push(c):b.splice(e,0,c)}}},{key:"updateCache",value:function updateCache(a){var b=a.cacheManager,c=a.visitorCode,d=a.experimentId,e=a.variationId,f=b.getAliveItem(c),g=f?_objectSpread({},f):{};g[d]={variationId:e,expirationTime:Date.now()+_constants.CACHE_ITEM_LIFETIME*_types.Milliseconds.Second},b.add({key:c,data:g,lifetime:_constants.CACHE_ITEM_LIFETIME})}},{key:"getTrackingCode",value:function getTrackingCode(a,b){var c="window.kameleoonQueue=window.kameleoonQueue||[];",d=a.getAliveItem(b);if(!d)return c;var e={};return Object.entries(d).forEach(function(a){var b=_slicedToArray(a,2),d=b[0],f=b[1],g=f.variationId,h=f.expirationTime;h>Date.now()&&(c+="window.kameleoonQueue.push(['Experiments.assignVariation',".concat(d,",").concat(g,"]);"),c+="window.kameleoonQueue.push(['Experiments.trigger',".concat(d,",true]);"),e[+d]={variationId:g,expirationTime:h})}),a.add({key:b,data:e,lifetime:_constants.CACHE_ITEM_LIFETIME}),c}},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n;return _regeneratorRuntime().wrap(function o(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.dataManager,e=a.requester,f=a.isOfflineModeOn,g=a.offlineTrackingStorage,h=a.isConsentProvided,i=a.isMappingIdentifier,b.next=3,this.sendOfflineTracking({requester:e,storage:g});case 3:if(j=this.getDataUrl({visitorCode:c,dataManager:d,isConsentProvided:h}),h||j){b.next=6;break}return b.abrupt("return");case 6:return k=this.getUserAgent(c,d),l={visitorCode:c,body:j,userAgent:k,isMappingIdentifier:i},b.next=10,e.trackData(l);case 10:m=b.sent,n=function cleanup(){return h?d.clearUnsentData(c):d.clearUnsentDataByKey(c,_kameleoonData.KameleoonData.Conversion)},m.ok&&n(),!m.ok&&f&&this.addItemToOfflineTracking({item:l,storage:g,isExperiment:!1,onSuccess:n});case 14:case"end":return b.stop();}},b,this)}));return a}()},{key:"getNonce",value:function getNonce(){for(var a,b=_constants2.HEX_CHARACTERS.length,c="",d=0;d<b;d++)a=Math.floor(Math.random()*b),c+=_constants2.HEX_CHARACTERS.substring(a,a+1);return c}},{key:"compareSemVer",value:function compareSemVer(a){var b=a.version,c=a.compareVersion,d=a.operator,e=this.validateVersion(b),f=this.validateVersion(c);if(!e.ok)return(0,_tsRes.Err)(e.error);if(!f.ok)return(0,_tsRes.Err)(f.error);var g=_slicedToArray(e.data,3),h=g[0],i=g[1],j=g[2],k=_slicedToArray(f.data,3),l=k[0],m=k[1],n=k[2],o=h===l,p=i===m,q=j===n;switch(d){case _targeting.VersionMatchType.EQUAL:return(0,_tsRes.Ok)(o&&p&&q);case _targeting.VersionMatchType.GREATER:return(0,_tsRes.Ok)(h>l||o&&i>m||o&&p&&j>n);case _targeting.VersionMatchType.LOWER:return(0,_tsRes.Ok)(h<l||o&&i<m||o&&p&&j<n);default:(0,_kameleoonError.exhaustCheck)(d);}}},{key:"generateRandomString",value:function generateRandomString(a){var b="abcdefghijklmnopqrstuvwxyz0123456789",c=[];if(0>a)return"";for(var d=0;d<a;d++)c.push("abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(36*Math.random())]);return c.join("")}},{key:"sendOfflineTracking",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n;return _regeneratorRuntime().wrap(function o(b){for(;1;)switch(b.prev=b.next){case 0:if(c=a.requester,d=a.storage,e=d.read(),!(e.ok&&e.data.requestParameters)){b.next=33;break}f=e.data.requestParameters,g=[],h=_createForOfIteratorHelper(f),b.prev=6,h.s();case 8:if((i=h.n()).done){b.next=24;break}if(j=i.value,k=j.timestamp,l=j.isExperiment,m=_objectWithoutProperties(j,_excluded),n=void 0,!l){b.next=18;break}return b.next=15,c.trackExperiment(m);case 15:n=b.sent,b.next=21;break;case 18:return b.next=20,c.trackData(m);case 20:n=b.sent;case 21:n.ok&&n.data&&g.push(k);case 22:b.next=8;break;case 24:b.next=29;break;case 26:b.prev=26,b.t0=b["catch"](6),h.e(b.t0);case 29:return b.prev=29,h.f(),b.finish(29);case 32:this.deleteFromOfflineTracking({storage:d,timestamps:g});case 33:case"end":return b.stop();}},b,this,[[6,26,29,32]])}));return a}()},{key:"addItemToOfflineTracking",value:function addItemToOfflineTracking(a){var b=a.item,c=a.isExperiment,d=a.storage,e=a.onSuccess,f=d.read(),g=f.ok?f.data:{},h=g.requestParameters,i=_objectSpread(_objectSpread({},b),{},{timestamp:new Date().getTime(),isExperiment:c}),j=h?[].concat(_toConsumableArray(h),[i]):[i],k=d.write({requestParameters:j});k.ok&&e&&e()}},{key:"deleteFromOfflineTracking",value:function deleteFromOfflineTracking(a){var b=a.timestamps,c=a.storage,d=c.read();if(d.ok){var e=d.data.requestParameters,f=null===e||void 0===e?void 0:e.filter(function(a){return!b.includes(a.timestamp)});c.write({requestParameters:f})}}},{key:"validateVersion",value:function validateVersion(a){for(var b=a.split(".").map(function(a){return parseInt(a,10)});3>b.length;)b.push(0);return b.some(function(a){return isNaN(a)})?(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.SemanticVersionParse,a)):(0,_tsRes.Ok)(b.slice(0,3))}}]),a}();exports.Utilities=Utilities;
2
2
  //# sourceMappingURL=utilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","names":["Utilities","a","_classCallCheck","_createClass","key","value","checkTargeting","segment","visitorCode","targetingData","experimentId","variationConfiguration","clientConfiguration","packageInfo","dataManager","conditionsData","firstLevel","length","Ok","Err","KameleoonError","KameleoonException","Initialization","variations","assignedVariationsResult","getStoredVariations","ok","data","targetingTree","getTree","trees","segments","ruleMap","hasTargetingType","TargetingType","SEGMENT","TARGET_FEATURE_FLAG","result","evaluate","variationData","sdkInfo","validateVisitorCode","VisitorCodeEmpty","VISITOR_CODE_MAX_LENGTH","VisitorCodeMaxLength","getDataUrl","b","updateUrl","url","shouldSendConversionData","type","KameleoonData","Conversion","isConsentProvided","resultUrl","push","UrlParameter","Nonce","getNonce","unsentData","getUnsentData","size","i","j","_createForOfIteratorHelper","values","s","n","done","item","Array","isArray","forEach","arrayItem","e","f","join","getVariationDataUrlAndSentExperimentIds","variationDataUrlList","sentExperimentIds","Set","isTargetedRule","UrlEventType","Experiment","Id","VariationId","variationId","add","variationDataUrl","experimentIds","from","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","c","d","g","h","k","l","m","o","p","q","r","t","u","v","w","x","wrap","y","prev","next","featureFlagVariation","requester","isOfflineModeOn","offlineTrackingStorage","rule","userAgent","getUserAgent","dataUrl","resultVariationId","_slicedToArray","abrupt","isUnallocated","parameters","trackExperiment","sent","clearUnsentData","clearUnsentDataByKey","markUnsentDataAsSent","addItemToOfflineTracking","storage","isExperiment","stop","convertTimeUnit","time","timeUnit","timeMap","_defineProperty","TimeUnit","Minute","Milliseconds","Hour","Day","Week","Month","parseFeatureVariable","variable","VariableType","BOOLEAN","STRING","NUMBER","numberValue","Number","isNaN","NumberParse","JSON","jsonValue","parse","err","JSONParse","exhaustCheck","parseVisitorData","filters","currentVisit","previousVisits","browserFilter","browser","customDataFilter","customData","operatingSystemFilter","operatingSystem","conversionsFilter","conversions","deviceFilter","device","geolocationFilter","geolocation","experimentsFilter","experiments","pageViewFilter","pageViews","visits","_toConsumableArray","visitorData","resultData","PageView","_listFromVisits","Browser","_fromVisits","visit","experimentData","experimentEvents","experimentEvent","A","id","isSent","updateStoredVariations","Device","GeolocationData","CustomData","OperatingSystem","visitsData","collectedVisitsData","VisitsData","_fromRemoteVisits","parseRegExp","split","_","expression","flags","RegExp","storedData","storedTargetingData","userAgentData","UserAgent","isCustomData","dataItem","insertInOrderedListMutably","list","element","order","includes","index","findIndex","Order","Ascending","splice","updateCache","cacheManager","cacheData","getAliveItem","newCacheData","_objectSpread","expirationTime","Date","now","CACHE_ITEM_LIFETIME","Second","lifetime","getTrackingCode","trackingCache","resultString","updatedCacheData","Object","entries","concat","isMappingIdentifier","sendOfflineTracking","body","trackData","cleanup","onSuccess","randomNumber","hexLength","HEX_CHARACTERS","nonce","Math","floor","random","substring","compareSemVer","version","compareVersion","operator","versionResult","validateVersion","compareVersionResult","error","major","minor","patch","compareMajor","compareMinor","comparePatch","isMajorEqual","isMinorEqual","isPatchEqual","VersionMatchType","EQUAL","GREATER","LOWER","generateRandomString","characters","randomCharacterArray","readResult","read","requestParameters","successfulTimestamps","timestamp","params","_objectWithoutProperties","_excluded","t0","finish","deleteFromOfflineTracking","timestamps","newItem","getTime","newRequestParameters","writeResult","write","newParameters","filter","versionParts","map","parseInt","some","SemanticVersionParse","slice","exports"],"sources":["../../src/utilities/utilities.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport {\n KameleoonError,\n KameleoonException,\n exhaustCheck,\n} from 'src/kameleoonError';\nimport {\n FeatureVariableResultType,\n Milliseconds,\n TrackingCacheItemType,\n VariableType,\n} from 'src/types';\nimport { FeatureVariableType, JSONType } from 'src/clientConfiguration';\nimport {\n Browser,\n Conversion,\n CustomData,\n DataManager,\n Device,\n GeolocationData,\n KameleoonData,\n KameleoonDataType,\n OperatingSystem,\n PageView,\n VisitsData,\n} from 'src/kameleoonData';\nimport { CACHE_ITEM_LIFETIME } from 'src/constants';\nimport { CacheManager } from 'src/cacheManager';\nimport {\n TrackExperimentParamsType,\n TrackDataParamsType,\n VisitType,\n UrlParameter,\n UrlEventType,\n} from 'src/requester';\nimport { VersionMatchType, TargetingType } from 'src/targeting';\nimport { KameleoonVisitorDataType } from 'src/kameleoonData/types';\nimport { FeatureFlagVariationsType } from 'src/storage/types';\nimport { VISITOR_CODE_MAX_LENGTH, HEX_CHARACTERS } from './constants';\nimport {\n CheckTargetingParametersType,\n ManageCacheParametersType,\n TrackDataParametersType,\n TrackRuleParametersType,\n AddToOfflineTrackingParametersType,\n SendOfflineTrackingParametersType,\n DeleteFromOfflineTrackingParametersType,\n ParseVisitorDataParametersType,\n InsertInOrderedListParametersType,\n Order,\n TimeUnit,\n GetDataUrlParametersType,\n GetVariationDataUrlParametersType,\n ParseVisitorDataResultType,\n} from './types';\n\nexport class Utilities {\n static checkTargeting({\n segment,\n visitorCode,\n targetingData,\n experimentId,\n variationConfiguration,\n clientConfiguration,\n packageInfo,\n dataManager,\n }: CheckTargetingParametersType): Result<boolean, KameleoonError> {\n if (!segment || !segment.conditionsData.firstLevel.length) {\n return Ok(true);\n }\n\n if (!variationConfiguration) {\n return Err(new KameleoonError(KameleoonException.Initialization));\n }\n\n let variations: FeatureFlagVariationsType = {};\n\n const assignedVariationsResult =\n variationConfiguration.getStoredVariations(visitorCode);\n\n if (assignedVariationsResult.ok) {\n variations = assignedVariationsResult.data;\n }\n\n const targetingTree = dataManager.getTree(segment);\n\n let trees = undefined;\n let segments = undefined;\n let ruleMap = undefined;\n\n // --- Note ---\n // Only getting trees and segments targeting type\n if (targetingTree.hasTargetingType(TargetingType.SEGMENT)) {\n trees = dataManager.trees;\n segments = clientConfiguration.segments;\n }\n\n // --- Note ---\n // Only constructing rule map for targeting type\n if (targetingTree.hasTargetingType(TargetingType.TARGET_FEATURE_FLAG)) {\n ruleMap = clientConfiguration.ruleMap;\n }\n\n const result = targetingTree.evaluate({\n variationData: variations,\n sdkInfo: packageInfo,\n segments,\n ruleMap,\n trees,\n targetingData,\n experimentId,\n visitorCode,\n });\n\n return result;\n }\n\n static validateVisitorCode(\n visitorCode: string,\n ): Result<void, KameleoonError> {\n if (visitorCode.length === 0) {\n return Err(new KameleoonError(KameleoonException.VisitorCodeEmpty));\n }\n\n if (visitorCode.length > VISITOR_CODE_MAX_LENGTH) {\n return Err(new KameleoonError(KameleoonException.VisitorCodeMaxLength));\n }\n\n return Ok();\n }\n\n static getDataUrl({\n visitorCode,\n dataManager,\n isConsentProvided,\n }: GetDataUrlParametersType): string {\n const unsentData = dataManager.getUnsentData(visitorCode);\n const resultUrl: string[] = [];\n\n if (!unsentData || !unsentData.size) {\n return '';\n }\n\n function updateUrl(data: KameleoonDataType): void {\n if (!data.url) {\n return;\n }\n\n const shouldSendAllData = isConsentProvided;\n const shouldSendConversionData =\n data.data.type === KameleoonData.Conversion;\n\n if (shouldSendAllData || shouldSendConversionData) {\n resultUrl.push(\n data.url + UrlParameter.Nonce + Utilities.getNonce() + '\\n',\n );\n }\n }\n\n for (const item of unsentData.values()) {\n if (Array.isArray(item)) {\n item.forEach((arrayItem) => updateUrl(arrayItem));\n } else {\n updateUrl(item);\n }\n }\n\n return resultUrl.join('');\n }\n\n static getVariationDataUrlAndSentExperimentIds({\n visitorCode,\n isConsentProvided,\n variationConfiguration,\n }: GetVariationDataUrlParametersType): [string, string[]] {\n const variationDataUrlList: string[] = [];\n const sentExperimentIds = new Set<string>();\n const unsentData = variationConfiguration.getUnsentData(visitorCode);\n\n if (unsentData.ok && unsentData.data.length) {\n unsentData.data.forEach((item) => {\n if (item.isTargetedRule || isConsentProvided) {\n variationDataUrlList.push(\n UrlEventType.Experiment +\n UrlParameter.Id +\n item.experimentId +\n UrlParameter.VariationId +\n item.variationId +\n UrlParameter.Nonce +\n Utilities.getNonce() +\n '\\n',\n );\n\n sentExperimentIds.add(String(item.experimentId));\n }\n });\n }\n\n const variationDataUrl = variationDataUrlList.join('');\n const experimentIds = Array.from(sentExperimentIds);\n\n return [variationDataUrl, experimentIds];\n }\n\n static async trackFeatureExperiment({\n featureFlagVariation,\n dataManager,\n visitorCode,\n requester,\n isOfflineModeOn,\n isConsentProvided,\n offlineTrackingStorage,\n variationConfiguration,\n }: TrackRuleParametersType): Promise<void> {\n const { variationId, rule, isTargetedRule } = featureFlagVariation;\n\n const userAgent = this.getUserAgent(visitorCode, dataManager);\n\n const dataUrl = this.getDataUrl({\n visitorCode,\n dataManager,\n isConsentProvided,\n });\n\n const resultVariationId = variationId || 0;\n\n // --- Note ---\n // Experiment id is not needed for unallocated visitors\n // So we just use 0 as a fallback\n const experimentId = rule ? rule.experimentId : 0;\n\n const [variationDataUrl, sentExperimentIds] =\n this.getVariationDataUrlAndSentExperimentIds({\n visitorCode,\n isConsentProvided,\n variationConfiguration,\n });\n\n if (!isConsentProvided && !dataUrl && !rule) {\n return;\n }\n\n const isUnallocated = variationId === null;\n\n const parameters = {\n visitorCode,\n dataUrl,\n variationDataUrl,\n experimentId,\n variationId: resultVariationId,\n userAgent,\n isUnallocated,\n };\n\n const result = await requester.trackExperiment(parameters);\n\n if (result.ok) {\n if (!isConsentProvided) {\n dataManager.clearUnsentDataByKey(visitorCode, KameleoonData.Conversion);\n } else {\n dataManager.clearUnsentData(visitorCode);\n }\n\n sentExperimentIds.forEach((experimentId) => {\n variationConfiguration.markUnsentDataAsSent(visitorCode, experimentId);\n });\n }\n\n if (!result.ok && isOfflineModeOn) {\n this.addItemToOfflineTracking({\n item: parameters,\n storage: offlineTrackingStorage,\n isExperiment: true,\n });\n }\n }\n\n static convertTimeUnit(time: number, timeUnit: TimeUnit): number {\n const timeMap = {\n [TimeUnit.Minute]: Milliseconds.Minute,\n [TimeUnit.Hour]: Milliseconds.Hour,\n [TimeUnit.Day]: Milliseconds.Day,\n [TimeUnit.Week]: Milliseconds.Week,\n [TimeUnit.Month]: Milliseconds.Month,\n };\n\n return time / timeMap[timeUnit];\n }\n\n static parseFeatureVariable(\n variable: FeatureVariableType,\n ): Result<FeatureVariableResultType, KameleoonError> {\n const { key, type, value } = variable;\n\n switch (type) {\n case VariableType.BOOLEAN:\n return Ok({\n key,\n type,\n value: Boolean(value),\n });\n case VariableType.STRING:\n return Ok({\n key,\n type,\n value: String(value),\n });\n case VariableType.NUMBER:\n const numberValue = Number(value);\n\n if (Number.isNaN(numberValue)) {\n return Err(\n new KameleoonError(KameleoonException.NumberParse, String(value)),\n );\n }\n\n return Ok({\n key,\n type,\n value: numberValue,\n });\n case VariableType.JSON:\n try {\n const jsonValue: JSONType = JSON.parse(String(variable.value));\n\n return Ok({\n key,\n type,\n value: jsonValue,\n });\n } catch (err) {\n return Err(new KameleoonError(KameleoonException.JSONParse, err));\n }\n default:\n exhaustCheck(type);\n }\n }\n\n static parseVisitorData({\n data,\n filters,\n visitorCode,\n variationConfiguration,\n }: ParseVisitorDataParametersType): ParseVisitorDataResultType {\n const { currentVisit, previousVisits } = data;\n const {\n browser: browserFilter,\n customData: customDataFilter,\n operatingSystem: operatingSystemFilter,\n conversions: conversionsFilter,\n device: deviceFilter,\n geolocation: geolocationFilter,\n experiments: experimentsFilter,\n pageViews: pageViewFilter,\n } = filters;\n\n let visits: VisitType[] = [];\n\n if (currentVisit) {\n visits.push(currentVisit);\n }\n\n if (previousVisits) {\n visits.push(...previousVisits);\n }\n\n if (!visits) {\n return { visitorData: [] };\n }\n\n const resultData: KameleoonDataType[] = [];\n\n if (pageViewFilter) {\n const pageViews = PageView._listFromVisits(visits);\n\n if (pageViews.length) {\n resultData.push(...pageViews);\n }\n }\n\n // --- Browser ---\n if (browserFilter) {\n const browser = Browser._fromVisits(visits);\n\n if (browser) {\n resultData.push(browser);\n }\n }\n\n // --- Experiments ---\n if (experimentsFilter) {\n const experimentData: FeatureFlagVariationsType = {};\n\n // --- Note ---\n // Going backwards to get the latest experiment data\n for (let i = visits.length - 1; i >= 0; i--) {\n const visit = visits[i];\n\n if (!visit.experimentEvents) {\n continue;\n }\n\n for (const experimentEvent of visit.experimentEvents) {\n const { id, variationId } = experimentEvent.data;\n\n experimentData[id] = {\n variationId,\n isTargetedRule: false,\n isSent: false,\n };\n }\n }\n\n variationConfiguration.updateStoredVariations(\n visitorCode,\n experimentData,\n );\n }\n\n // --- Device ---\n if (deviceFilter) {\n const device = Device._fromVisits(visits);\n\n if (device) {\n resultData.push(device);\n }\n }\n\n // --- Geolocation ---\n if (geolocationFilter) {\n const geolocation = GeolocationData._fromVisits(visits);\n\n if (geolocation) {\n resultData.push(geolocation);\n }\n }\n\n // --- Custom data ---\n if (customDataFilter) {\n resultData.push(...CustomData._listFromVisits(visits));\n }\n\n // --- Operating system ---\n if (operatingSystemFilter) {\n const operatingSystem = OperatingSystem._fromVisits(visits);\n\n if (operatingSystem) {\n resultData.push(operatingSystem);\n }\n }\n\n // --- Conversions ---\n if (conversionsFilter) {\n resultData.push(...Conversion._listFromVisits(visits));\n }\n\n // --- Visits ---\n let visitsData: VisitsData | undefined;\n\n const collectedVisitsData = VisitsData._fromRemoteVisits(\n visits,\n Boolean(currentVisit),\n );\n\n if (collectedVisitsData) {\n visitsData = collectedVisitsData;\n }\n\n return { visitorData: resultData, visitsData };\n }\n\n static parseRegExp(value: string): RegExp {\n if (value[0] === '/') {\n const [_, expression, flags] = value.split('/');\n\n return new RegExp(expression, flags);\n }\n\n return new RegExp(value);\n }\n\n static getUserAgent(\n visitorCode: string,\n dataManager: DataManager,\n ): string | undefined {\n const storedData = dataManager.storedTargetingData;\n\n const targetingData: KameleoonVisitorDataType | undefined =\n storedData && storedData[visitorCode];\n\n if (targetingData) {\n const userAgentData = targetingData[KameleoonData.UserAgent];\n\n if (userAgentData) {\n return userAgentData.value;\n }\n }\n\n return undefined;\n }\n\n static isCustomData(dataItem: KameleoonDataType): dataItem is CustomData {\n return dataItem.data.type === KameleoonData.CustomData;\n }\n\n /**\n * Insert element in ordered list, if element already exists in list, does nothing\n * @param list - list to insert element\n * @param element - element to insert\n * @param order - order of list\n */\n static insertInOrderedListMutably({\n list,\n element,\n order,\n }: InsertInOrderedListParametersType): void {\n if (list.includes(element)) {\n return;\n }\n\n const index = list.findIndex((item) =>\n order === Order.Ascending ? item >= element : item <= element,\n );\n\n if (index === -1) {\n list.push(element);\n } else {\n list.splice(index, 0, element);\n }\n }\n\n static updateCache({\n cacheManager,\n visitorCode,\n experimentId,\n variationId,\n }: ManageCacheParametersType): void {\n const cacheData = cacheManager.getAliveItem(visitorCode);\n\n const newCacheData = cacheData ? { ...cacheData } : {};\n\n newCacheData[experimentId] = {\n variationId,\n expirationTime: Date.now() + CACHE_ITEM_LIFETIME * Milliseconds.Second,\n };\n\n cacheManager.add({\n key: visitorCode,\n data: newCacheData,\n lifetime: CACHE_ITEM_LIFETIME,\n });\n }\n\n static getTrackingCode(\n trackingCache: CacheManager<TrackingCacheItemType>,\n visitorCode: string,\n ): string {\n let resultString = 'window.kameleoonQueue=window.kameleoonQueue||[];';\n\n const cacheData = trackingCache.getAliveItem(visitorCode);\n\n if (!cacheData) {\n return resultString;\n }\n\n const updatedCacheData: TrackingCacheItemType = {};\n\n Object.entries(cacheData).forEach(\n ([experimentId, { variationId, expirationTime }]) => {\n if (expirationTime > Date.now()) {\n resultString += `window.kameleoonQueue.push(['Experiments.assignVariation',${experimentId},${variationId}]);`;\n resultString += `window.kameleoonQueue.push(['Experiments.trigger',${experimentId},true]);`;\n\n updatedCacheData[Number(experimentId)] = {\n variationId,\n expirationTime,\n };\n }\n },\n );\n\n // --- Note ---\n // Cache is updated with only alive experiments\n trackingCache.add({\n key: visitorCode,\n data: updatedCacheData,\n lifetime: CACHE_ITEM_LIFETIME,\n });\n\n return resultString;\n }\n\n static async trackData({\n visitorCode,\n dataManager,\n requester,\n isOfflineModeOn,\n offlineTrackingStorage,\n isConsentProvided,\n isMappingIdentifier,\n }: TrackDataParametersType): Promise<void> {\n await this.sendOfflineTracking({\n requester,\n storage: offlineTrackingStorage,\n });\n\n const dataUrl = this.getDataUrl({\n visitorCode,\n dataManager,\n isConsentProvided,\n });\n\n if (!isConsentProvided && !dataUrl) {\n return;\n }\n\n const userAgent = this.getUserAgent(visitorCode, dataManager);\n\n const parameters: TrackDataParamsType = {\n visitorCode,\n body: dataUrl,\n userAgent,\n isMappingIdentifier,\n };\n\n const result = await requester.trackData(parameters);\n\n const cleanup = () =>\n isConsentProvided\n ? dataManager.clearUnsentData(visitorCode)\n : dataManager.clearUnsentDataByKey(\n visitorCode,\n KameleoonData.Conversion,\n );\n\n if (result.ok) {\n cleanup();\n }\n\n if (!result.ok && isOfflineModeOn) {\n this.addItemToOfflineTracking({\n item: parameters,\n storage: offlineTrackingStorage,\n isExperiment: false,\n onSuccess: cleanup,\n });\n }\n }\n\n static getNonce(): string {\n const hexLength = HEX_CHARACTERS.length;\n let nonce: string = '';\n\n for (let i = 0; i < hexLength; i++) {\n const randomNumber = Math.floor(Math.random() * hexLength);\n nonce += HEX_CHARACTERS.substring(randomNumber, randomNumber + 1);\n }\n\n return nonce;\n }\n\n static compareSemVer({\n version,\n compareVersion,\n operator,\n }: {\n version: string;\n compareVersion: string;\n operator: VersionMatchType;\n }): Result<boolean, KameleoonError> {\n const versionResult = this.validateVersion(version);\n const compareVersionResult = this.validateVersion(compareVersion);\n\n if (!versionResult.ok) {\n return Err(versionResult.error);\n }\n\n if (!compareVersionResult.ok) {\n return Err(compareVersionResult.error);\n }\n\n const [major, minor, patch] = versionResult.data;\n const [compareMajor, compareMinor, comparePatch] =\n compareVersionResult.data;\n\n const [isMajorEqual, isMinorEqual, isPatchEqual] = [\n major === compareMajor,\n minor === compareMinor,\n patch === comparePatch,\n ];\n\n switch (operator) {\n case VersionMatchType.EQUAL:\n return Ok(isMajorEqual && isMinorEqual && isPatchEqual);\n case VersionMatchType.GREATER:\n return Ok(\n major > compareMajor ||\n (isMajorEqual && minor > compareMinor) ||\n (isMajorEqual && isMinorEqual && patch > comparePatch),\n );\n case VersionMatchType.LOWER:\n return Ok(\n major < compareMajor ||\n (isMajorEqual && minor < compareMinor) ||\n (isMajorEqual && isMinorEqual && patch < comparePatch),\n );\n default:\n exhaustCheck(operator);\n }\n }\n\n static generateRandomString(length: number): string {\n const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';\n const randomCharacterArray: string[] = [];\n\n if (length < 0) {\n return '';\n }\n\n for (let i = 0; i < length; i++) {\n randomCharacterArray.push(\n characters[Math.floor(Math.random() * characters.length)],\n );\n }\n\n return randomCharacterArray.join('');\n }\n\n static async sendOfflineTracking({\n requester,\n storage,\n }: SendOfflineTrackingParametersType) {\n const readResult = storage.read();\n\n if (readResult.ok && readResult.data.requestParameters) {\n const { requestParameters } = readResult.data;\n const successfulTimestamps: number[] = [];\n\n // --- Note ---\n // `for..of` + `await` is used to make sure that failed requests are sent one by one\n // without risk of getting the same timestamp at the server, which might happen, for example,\n // with `.forEach` or `.map` starting requests in async callbacks at the same time\n for (const parameters of requestParameters) {\n const { timestamp, isExperiment, ...params } = parameters;\n let result: Result<boolean, KameleoonError>;\n\n if (isExperiment) {\n result = await requester.trackExperiment(\n params as TrackExperimentParamsType,\n );\n } else {\n result = await requester.trackData(params as TrackDataParamsType);\n }\n\n result.ok && result.data && successfulTimestamps.push(timestamp);\n }\n\n this.deleteFromOfflineTracking({\n storage,\n timestamps: successfulTimestamps,\n });\n }\n }\n\n private static addItemToOfflineTracking({\n item,\n isExperiment,\n storage,\n onSuccess,\n }: AddToOfflineTrackingParametersType): void {\n const readResult = storage.read();\n\n const data = readResult.ok ? readResult.data : {};\n\n const { requestParameters } = data;\n\n const newItem = {\n ...item,\n timestamp: new Date().getTime(),\n isExperiment,\n };\n\n const newRequestParameters = requestParameters\n ? [...requestParameters, newItem]\n : [newItem];\n\n const writeResult = storage.write({\n requestParameters: newRequestParameters,\n });\n\n if (writeResult.ok && onSuccess) {\n onSuccess();\n }\n }\n\n private static deleteFromOfflineTracking({\n timestamps,\n storage,\n }: DeleteFromOfflineTrackingParametersType): void {\n const readResult = storage.read();\n\n if (readResult.ok) {\n const { requestParameters } = readResult.data;\n\n const newParameters = requestParameters?.filter(\n (item) => !timestamps.includes(item.timestamp),\n );\n\n storage.write({ requestParameters: newParameters });\n }\n }\n\n private static validateVersion(\n version: string,\n ): Result<[number, number, number], KameleoonError> {\n const versionParts = version.split('.').map((x) => parseInt(x, 10));\n\n while (versionParts.length < 3) {\n versionParts.push(0);\n }\n\n if (versionParts.some((item) => isNaN(item))) {\n return Err(\n new KameleoonError(KameleoonException.SemanticVersionParse, version),\n );\n }\n\n return Ok(versionParts.slice(0, 3) as [number, number, number]);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utilities.js","names":["Utilities","a","_classCallCheck","_createClass","key","value","checkTargeting","segment","visitorCode","targetingData","experimentId","variationConfiguration","clientConfiguration","packageInfo","dataManager","conditionsData","firstLevel","length","Ok","Err","KameleoonError","KameleoonException","Initialization","variations","assignedVariationsResult","getStoredVariations","ok","data","targetingTree","getTree","trees","segments","ruleMap","hasTargetingType","TargetingType","SEGMENT","TARGET_FEATURE_FLAG","result","evaluate","variationData","sdkInfo","validateVisitorCode","VisitorCodeEmpty","VISITOR_CODE_MAX_LENGTH","VisitorCodeMaxLength","getDataUrl","b","updateUrl","url","shouldSendConversionData","type","KameleoonData","Conversion","isConsentProvided","nonce","UrlParameter","Nonce","getNonce","resultUrl","push","unsentData","getUnsentData","size","i","j","_createForOfIteratorHelper","values","s","n","done","item","Array","isArray","forEach","arrayItem","e","f","join","getVariationDataUrlAndSentExperimentIds","variationDataUrlList","sentExperimentIds","Set","isTargetedRule","UrlEventType","Experiment","Id","VariationId","variationId","add","variationDataUrl","experimentIds","from","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","c","d","g","h","k","l","m","o","p","q","r","t","u","v","w","x","wrap","y","prev","next","featureFlagVariation","requester","isOfflineModeOn","offlineTrackingStorage","rule","userAgent","getUserAgent","dataUrl","resultVariationId","_slicedToArray","abrupt","isUnallocated","parameters","trackExperiment","sent","clearUnsentData","clearUnsentDataByKey","markUnsentDataAsSent","addItemToOfflineTracking","storage","isExperiment","stop","convertTimeUnit","time","timeUnit","timeMap","_defineProperty","TimeUnit","Minute","Milliseconds","Hour","Day","Week","Month","parseFeatureVariable","variable","VariableType","BOOLEAN","STRING","NUMBER","numberValue","Number","isNaN","NumberParse","JSON","jsonValue","parse","err","JSONParse","exhaustCheck","parseVisitorData","filters","currentVisit","previousVisits","browserFilter","browser","customDataFilter","customData","operatingSystemFilter","operatingSystem","conversionsFilter","conversions","deviceFilter","device","geolocationFilter","geolocation","experimentsFilter","experiments","pageViewFilter","pageViews","visits","_toConsumableArray","visitorData","resultData","PageView","_listFromVisits","Browser","_fromVisits","visit","experimentData","experimentEvents","experimentEvent","A","id","isSent","updateStoredVariations","Device","GeolocationData","CustomData","OperatingSystem","visitsData","collectedVisitsData","VisitsData","_fromRemoteVisits","parseRegExp","split","_","expression","flags","RegExp","storedData","storedTargetingData","userAgentData","UserAgent","isCustomData","dataItem","insertInOrderedListMutably","list","element","order","includes","index","findIndex","Order","Ascending","splice","updateCache","cacheManager","cacheData","getAliveItem","newCacheData","_objectSpread","expirationTime","Date","now","CACHE_ITEM_LIFETIME","Second","lifetime","getTrackingCode","trackingCache","resultString","updatedCacheData","Object","entries","concat","isMappingIdentifier","sendOfflineTracking","body","trackData","cleanup","onSuccess","randomNumber","hexLength","HEX_CHARACTERS","Math","floor","random","substring","compareSemVer","version","compareVersion","operator","versionResult","validateVersion","compareVersionResult","error","major","minor","patch","compareMajor","compareMinor","comparePatch","isMajorEqual","isMinorEqual","isPatchEqual","VersionMatchType","EQUAL","GREATER","LOWER","generateRandomString","characters","randomCharacterArray","readResult","read","requestParameters","successfulTimestamps","timestamp","params","_objectWithoutProperties","_excluded","t0","finish","deleteFromOfflineTracking","timestamps","newItem","getTime","newRequestParameters","writeResult","write","newParameters","filter","versionParts","map","parseInt","some","SemanticVersionParse","slice","exports"],"sources":["../../src/utilities/utilities.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport {\n KameleoonError,\n KameleoonException,\n exhaustCheck,\n} from 'src/kameleoonError';\nimport {\n FeatureVariableResultType,\n Milliseconds,\n TrackingCacheItemType,\n VariableType,\n} from 'src/types';\nimport { FeatureVariableType, JSONType } from 'src/clientConfiguration';\nimport {\n Browser,\n Conversion,\n CustomData,\n DataManager,\n Device,\n GeolocationData,\n KameleoonData,\n KameleoonDataType,\n OperatingSystem,\n PageView,\n VisitsData,\n} from 'src/kameleoonData';\nimport { CACHE_ITEM_LIFETIME } from 'src/constants';\nimport { CacheManager } from 'src/cacheManager';\nimport {\n TrackExperimentParamsType,\n TrackDataParamsType,\n VisitType,\n UrlParameter,\n UrlEventType,\n} from 'src/requester';\nimport { VersionMatchType, TargetingType } from 'src/targeting';\nimport { KameleoonVisitorDataType } from 'src/kameleoonData/types';\nimport { FeatureFlagVariationsType } from 'src/storage/types';\nimport { VISITOR_CODE_MAX_LENGTH, HEX_CHARACTERS } from './constants';\nimport {\n CheckTargetingParametersType,\n ManageCacheParametersType,\n TrackDataParametersType,\n TrackRuleParametersType,\n AddToOfflineTrackingParametersType,\n SendOfflineTrackingParametersType,\n DeleteFromOfflineTrackingParametersType,\n ParseVisitorDataParametersType,\n InsertInOrderedListParametersType,\n Order,\n TimeUnit,\n GetDataUrlParametersType,\n GetVariationDataUrlParametersType,\n ParseVisitorDataResultType,\n} from './types';\n\nexport class Utilities {\n static checkTargeting({\n segment,\n visitorCode,\n targetingData,\n experimentId,\n variationConfiguration,\n clientConfiguration,\n packageInfo,\n dataManager,\n }: CheckTargetingParametersType): Result<boolean, KameleoonError> {\n if (!segment || !segment.conditionsData.firstLevel.length) {\n return Ok(true);\n }\n\n if (!variationConfiguration) {\n return Err(new KameleoonError(KameleoonException.Initialization));\n }\n\n let variations: FeatureFlagVariationsType = {};\n\n const assignedVariationsResult =\n variationConfiguration.getStoredVariations(visitorCode);\n\n if (assignedVariationsResult.ok) {\n variations = assignedVariationsResult.data;\n }\n\n const targetingTree = dataManager.getTree(segment);\n\n let trees = undefined;\n let segments = undefined;\n let ruleMap = undefined;\n\n // --- Note ---\n // Only getting trees and segments targeting type\n if (targetingTree.hasTargetingType(TargetingType.SEGMENT)) {\n trees = dataManager.trees;\n segments = clientConfiguration.segments;\n }\n\n // --- Note ---\n // Only constructing rule map for targeting type\n if (targetingTree.hasTargetingType(TargetingType.TARGET_FEATURE_FLAG)) {\n ruleMap = clientConfiguration.ruleMap;\n }\n\n const result = targetingTree.evaluate({\n variationData: variations,\n sdkInfo: packageInfo,\n segments,\n ruleMap,\n trees,\n targetingData,\n experimentId,\n visitorCode,\n });\n\n return result;\n }\n\n static validateVisitorCode(\n visitorCode: string,\n ): Result<void, KameleoonError> {\n if (visitorCode.length === 0) {\n return Err(new KameleoonError(KameleoonException.VisitorCodeEmpty));\n }\n\n if (visitorCode.length > VISITOR_CODE_MAX_LENGTH) {\n return Err(new KameleoonError(KameleoonException.VisitorCodeMaxLength));\n }\n\n return Ok();\n }\n\n static getDataUrl({\n visitorCode,\n dataManager,\n isConsentProvided,\n }: GetDataUrlParametersType): string {\n const unsentData = dataManager.getUnsentData(visitorCode);\n const resultUrl: string[] = [];\n\n if (!unsentData || !unsentData.size) {\n return '';\n }\n\n function updateUrl(data: KameleoonDataType): void {\n if (!data.url) {\n return;\n }\n\n const shouldSendAllData = isConsentProvided;\n const shouldSendConversionData =\n data.data.type === KameleoonData.Conversion;\n\n if (shouldSendAllData || shouldSendConversionData) {\n const nonce = !shouldSendConversionData\n ? UrlParameter.Nonce + Utilities.getNonce()\n : '';\n resultUrl.push(data.url + nonce + '\\n');\n }\n }\n\n for (const item of unsentData.values()) {\n if (Array.isArray(item)) {\n item.forEach((arrayItem) => updateUrl(arrayItem));\n } else {\n updateUrl(item);\n }\n }\n\n return resultUrl.join('');\n }\n\n static getVariationDataUrlAndSentExperimentIds({\n visitorCode,\n isConsentProvided,\n variationConfiguration,\n }: GetVariationDataUrlParametersType): [string, string[]] {\n const variationDataUrlList: string[] = [];\n const sentExperimentIds = new Set<string>();\n const unsentData = variationConfiguration.getUnsentData(visitorCode);\n\n if (unsentData.ok && unsentData.data.length) {\n unsentData.data.forEach((item) => {\n if (item.isTargetedRule || isConsentProvided) {\n variationDataUrlList.push(\n UrlEventType.Experiment +\n UrlParameter.Id +\n item.experimentId +\n UrlParameter.VariationId +\n item.variationId +\n UrlParameter.Nonce +\n Utilities.getNonce() +\n '\\n',\n );\n\n sentExperimentIds.add(String(item.experimentId));\n }\n });\n }\n\n const variationDataUrl = variationDataUrlList.join('');\n const experimentIds = Array.from(sentExperimentIds);\n\n return [variationDataUrl, experimentIds];\n }\n\n static async trackFeatureExperiment({\n featureFlagVariation,\n dataManager,\n visitorCode,\n requester,\n isOfflineModeOn,\n isConsentProvided,\n offlineTrackingStorage,\n variationConfiguration,\n }: TrackRuleParametersType): Promise<void> {\n const { variationId, rule, isTargetedRule } = featureFlagVariation;\n\n const userAgent = this.getUserAgent(visitorCode, dataManager);\n\n const dataUrl = this.getDataUrl({\n visitorCode,\n dataManager,\n isConsentProvided,\n });\n\n const resultVariationId = variationId || 0;\n\n // --- Note ---\n // Experiment id is not needed for unallocated visitors\n // So we just use 0 as a fallback\n const experimentId = rule ? rule.experimentId : 0;\n\n const [variationDataUrl, sentExperimentIds] =\n this.getVariationDataUrlAndSentExperimentIds({\n visitorCode,\n isConsentProvided,\n variationConfiguration,\n });\n\n if (!isConsentProvided && !dataUrl && !rule) {\n return;\n }\n\n const isUnallocated = variationId === null;\n\n const parameters = {\n visitorCode,\n dataUrl,\n variationDataUrl,\n experimentId,\n variationId: resultVariationId,\n userAgent,\n isUnallocated,\n };\n\n const result = await requester.trackExperiment(parameters);\n\n if (result.ok) {\n if (!isConsentProvided) {\n dataManager.clearUnsentDataByKey(visitorCode, KameleoonData.Conversion);\n } else {\n dataManager.clearUnsentData(visitorCode);\n }\n\n sentExperimentIds.forEach((experimentId) => {\n variationConfiguration.markUnsentDataAsSent(visitorCode, experimentId);\n });\n }\n\n if (!result.ok && isOfflineModeOn) {\n this.addItemToOfflineTracking({\n item: parameters,\n storage: offlineTrackingStorage,\n isExperiment: true,\n });\n }\n }\n\n static convertTimeUnit(time: number, timeUnit: TimeUnit): number {\n const timeMap = {\n [TimeUnit.Minute]: Milliseconds.Minute,\n [TimeUnit.Hour]: Milliseconds.Hour,\n [TimeUnit.Day]: Milliseconds.Day,\n [TimeUnit.Week]: Milliseconds.Week,\n [TimeUnit.Month]: Milliseconds.Month,\n };\n\n return time / timeMap[timeUnit];\n }\n\n static parseFeatureVariable(\n variable: FeatureVariableType,\n ): Result<FeatureVariableResultType, KameleoonError> {\n const { key, type, value } = variable;\n\n switch (type) {\n case VariableType.BOOLEAN:\n return Ok({\n key,\n type,\n value: Boolean(value),\n });\n case VariableType.STRING:\n return Ok({\n key,\n type,\n value: String(value),\n });\n case VariableType.NUMBER:\n const numberValue = Number(value);\n\n if (Number.isNaN(numberValue)) {\n return Err(\n new KameleoonError(KameleoonException.NumberParse, String(value)),\n );\n }\n\n return Ok({\n key,\n type,\n value: numberValue,\n });\n case VariableType.JSON:\n try {\n const jsonValue: JSONType = JSON.parse(String(variable.value));\n\n return Ok({\n key,\n type,\n value: jsonValue,\n });\n } catch (err) {\n return Err(new KameleoonError(KameleoonException.JSONParse, err));\n }\n default:\n exhaustCheck(type);\n }\n }\n\n static parseVisitorData({\n data,\n filters,\n visitorCode,\n variationConfiguration,\n }: ParseVisitorDataParametersType): ParseVisitorDataResultType {\n const { currentVisit, previousVisits } = data;\n const {\n browser: browserFilter,\n customData: customDataFilter,\n operatingSystem: operatingSystemFilter,\n conversions: conversionsFilter,\n device: deviceFilter,\n geolocation: geolocationFilter,\n experiments: experimentsFilter,\n pageViews: pageViewFilter,\n } = filters;\n\n let visits: VisitType[] = [];\n\n if (currentVisit) {\n visits.push(currentVisit);\n }\n\n if (previousVisits) {\n visits.push(...previousVisits);\n }\n\n if (!visits) {\n return { visitorData: [] };\n }\n\n const resultData: KameleoonDataType[] = [];\n\n if (pageViewFilter) {\n const pageViews = PageView._listFromVisits(visits);\n\n if (pageViews.length) {\n resultData.push(...pageViews);\n }\n }\n\n // --- Browser ---\n if (browserFilter) {\n const browser = Browser._fromVisits(visits);\n\n if (browser) {\n resultData.push(browser);\n }\n }\n\n // --- Experiments ---\n if (experimentsFilter) {\n const experimentData: FeatureFlagVariationsType = {};\n\n // --- Note ---\n // Going backwards to get the latest experiment data\n for (let i = visits.length - 1; i >= 0; i--) {\n const visit = visits[i];\n\n if (!visit.experimentEvents) {\n continue;\n }\n\n for (const experimentEvent of visit.experimentEvents) {\n const { id, variationId } = experimentEvent.data;\n\n experimentData[id] = {\n variationId,\n isTargetedRule: false,\n isSent: false,\n };\n }\n }\n\n variationConfiguration.updateStoredVariations(\n visitorCode,\n experimentData,\n );\n }\n\n // --- Device ---\n if (deviceFilter) {\n const device = Device._fromVisits(visits);\n\n if (device) {\n resultData.push(device);\n }\n }\n\n // --- Geolocation ---\n if (geolocationFilter) {\n const geolocation = GeolocationData._fromVisits(visits);\n\n if (geolocation) {\n resultData.push(geolocation);\n }\n }\n\n // --- Custom data ---\n if (customDataFilter) {\n resultData.push(...CustomData._listFromVisits(visits));\n }\n\n // --- Operating system ---\n if (operatingSystemFilter) {\n const operatingSystem = OperatingSystem._fromVisits(visits);\n\n if (operatingSystem) {\n resultData.push(operatingSystem);\n }\n }\n\n // --- Conversions ---\n if (conversionsFilter) {\n resultData.push(...Conversion._listFromVisits(visits));\n }\n\n // --- Visits ---\n let visitsData: VisitsData | undefined;\n\n const collectedVisitsData = VisitsData._fromRemoteVisits(\n visits,\n Boolean(currentVisit),\n );\n\n if (collectedVisitsData) {\n visitsData = collectedVisitsData;\n }\n\n return { visitorData: resultData, visitsData };\n }\n\n static parseRegExp(value: string): RegExp {\n if (value[0] === '/') {\n const [_, expression, flags] = value.split('/');\n\n return new RegExp(expression, flags);\n }\n\n return new RegExp(value);\n }\n\n static getUserAgent(\n visitorCode: string,\n dataManager: DataManager,\n ): string | undefined {\n const storedData = dataManager.storedTargetingData;\n\n const targetingData: KameleoonVisitorDataType | undefined =\n storedData && storedData[visitorCode];\n\n if (targetingData) {\n const userAgentData = targetingData[KameleoonData.UserAgent];\n\n if (userAgentData) {\n return userAgentData.value;\n }\n }\n\n return undefined;\n }\n\n static isCustomData(dataItem: KameleoonDataType): dataItem is CustomData {\n return dataItem.data.type === KameleoonData.CustomData;\n }\n\n /**\n * Insert element in ordered list, if element already exists in list, does nothing\n * @param list - list to insert element\n * @param element - element to insert\n * @param order - order of list\n */\n static insertInOrderedListMutably({\n list,\n element,\n order,\n }: InsertInOrderedListParametersType): void {\n if (list.includes(element)) {\n return;\n }\n\n const index = list.findIndex((item) =>\n order === Order.Ascending ? item >= element : item <= element,\n );\n\n if (index === -1) {\n list.push(element);\n } else {\n list.splice(index, 0, element);\n }\n }\n\n static updateCache({\n cacheManager,\n visitorCode,\n experimentId,\n variationId,\n }: ManageCacheParametersType): void {\n const cacheData = cacheManager.getAliveItem(visitorCode);\n\n const newCacheData = cacheData ? { ...cacheData } : {};\n\n newCacheData[experimentId] = {\n variationId,\n expirationTime: Date.now() + CACHE_ITEM_LIFETIME * Milliseconds.Second,\n };\n\n cacheManager.add({\n key: visitorCode,\n data: newCacheData,\n lifetime: CACHE_ITEM_LIFETIME,\n });\n }\n\n static getTrackingCode(\n trackingCache: CacheManager<TrackingCacheItemType>,\n visitorCode: string,\n ): string {\n let resultString = 'window.kameleoonQueue=window.kameleoonQueue||[];';\n\n const cacheData = trackingCache.getAliveItem(visitorCode);\n\n if (!cacheData) {\n return resultString;\n }\n\n const updatedCacheData: TrackingCacheItemType = {};\n\n Object.entries(cacheData).forEach(\n ([experimentId, { variationId, expirationTime }]) => {\n if (expirationTime > Date.now()) {\n resultString += `window.kameleoonQueue.push(['Experiments.assignVariation',${experimentId},${variationId}]);`;\n resultString += `window.kameleoonQueue.push(['Experiments.trigger',${experimentId},true]);`;\n\n updatedCacheData[Number(experimentId)] = {\n variationId,\n expirationTime,\n };\n }\n },\n );\n\n // --- Note ---\n // Cache is updated with only alive experiments\n trackingCache.add({\n key: visitorCode,\n data: updatedCacheData,\n lifetime: CACHE_ITEM_LIFETIME,\n });\n\n return resultString;\n }\n\n static async trackData({\n visitorCode,\n dataManager,\n requester,\n isOfflineModeOn,\n offlineTrackingStorage,\n isConsentProvided,\n isMappingIdentifier,\n }: TrackDataParametersType): Promise<void> {\n await this.sendOfflineTracking({\n requester,\n storage: offlineTrackingStorage,\n });\n\n const dataUrl = this.getDataUrl({\n visitorCode,\n dataManager,\n isConsentProvided,\n });\n\n if (!isConsentProvided && !dataUrl) {\n return;\n }\n\n const userAgent = this.getUserAgent(visitorCode, dataManager);\n\n const parameters: TrackDataParamsType = {\n visitorCode,\n body: dataUrl,\n userAgent,\n isMappingIdentifier,\n };\n\n const result = await requester.trackData(parameters);\n\n const cleanup = () =>\n isConsentProvided\n ? dataManager.clearUnsentData(visitorCode)\n : dataManager.clearUnsentDataByKey(\n visitorCode,\n KameleoonData.Conversion,\n );\n\n if (result.ok) {\n cleanup();\n }\n\n if (!result.ok && isOfflineModeOn) {\n this.addItemToOfflineTracking({\n item: parameters,\n storage: offlineTrackingStorage,\n isExperiment: false,\n onSuccess: cleanup,\n });\n }\n }\n\n static getNonce(): string {\n const hexLength = HEX_CHARACTERS.length;\n let nonce: string = '';\n\n for (let i = 0; i < hexLength; i++) {\n const randomNumber = Math.floor(Math.random() * hexLength);\n nonce += HEX_CHARACTERS.substring(randomNumber, randomNumber + 1);\n }\n\n return nonce;\n }\n\n static compareSemVer({\n version,\n compareVersion,\n operator,\n }: {\n version: string;\n compareVersion: string;\n operator: VersionMatchType;\n }): Result<boolean, KameleoonError> {\n const versionResult = this.validateVersion(version);\n const compareVersionResult = this.validateVersion(compareVersion);\n\n if (!versionResult.ok) {\n return Err(versionResult.error);\n }\n\n if (!compareVersionResult.ok) {\n return Err(compareVersionResult.error);\n }\n\n const [major, minor, patch] = versionResult.data;\n const [compareMajor, compareMinor, comparePatch] =\n compareVersionResult.data;\n\n const [isMajorEqual, isMinorEqual, isPatchEqual] = [\n major === compareMajor,\n minor === compareMinor,\n patch === comparePatch,\n ];\n\n switch (operator) {\n case VersionMatchType.EQUAL:\n return Ok(isMajorEqual && isMinorEqual && isPatchEqual);\n case VersionMatchType.GREATER:\n return Ok(\n major > compareMajor ||\n (isMajorEqual && minor > compareMinor) ||\n (isMajorEqual && isMinorEqual && patch > comparePatch),\n );\n case VersionMatchType.LOWER:\n return Ok(\n major < compareMajor ||\n (isMajorEqual && minor < compareMinor) ||\n (isMajorEqual && isMinorEqual && patch < comparePatch),\n );\n default:\n exhaustCheck(operator);\n }\n }\n\n static generateRandomString(length: number): string {\n const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';\n const randomCharacterArray: string[] = [];\n\n if (length < 0) {\n return '';\n }\n\n for (let i = 0; i < length; i++) {\n randomCharacterArray.push(\n characters[Math.floor(Math.random() * characters.length)],\n );\n }\n\n return randomCharacterArray.join('');\n }\n\n static async sendOfflineTracking({\n requester,\n storage,\n }: SendOfflineTrackingParametersType) {\n const readResult = storage.read();\n\n if (readResult.ok && readResult.data.requestParameters) {\n const { requestParameters } = readResult.data;\n const successfulTimestamps: number[] = [];\n\n // --- Note ---\n // `for..of` + `await` is used to make sure that failed requests are sent one by one\n // without risk of getting the same timestamp at the server, which might happen, for example,\n // with `.forEach` or `.map` starting requests in async callbacks at the same time\n for (const parameters of requestParameters) {\n const { timestamp, isExperiment, ...params } = parameters;\n let result: Result<boolean, KameleoonError>;\n\n if (isExperiment) {\n result = await requester.trackExperiment(\n params as TrackExperimentParamsType,\n );\n } else {\n result = await requester.trackData(params as TrackDataParamsType);\n }\n\n result.ok && result.data && successfulTimestamps.push(timestamp);\n }\n\n this.deleteFromOfflineTracking({\n storage,\n timestamps: successfulTimestamps,\n });\n }\n }\n\n private static addItemToOfflineTracking({\n item,\n isExperiment,\n storage,\n onSuccess,\n }: AddToOfflineTrackingParametersType): void {\n const readResult = storage.read();\n\n const data = readResult.ok ? readResult.data : {};\n\n const { requestParameters } = data;\n\n const newItem = {\n ...item,\n timestamp: new Date().getTime(),\n isExperiment,\n };\n\n const newRequestParameters = requestParameters\n ? [...requestParameters, newItem]\n : [newItem];\n\n const writeResult = storage.write({\n requestParameters: newRequestParameters,\n });\n\n if (writeResult.ok && onSuccess) {\n onSuccess();\n }\n }\n\n private static deleteFromOfflineTracking({\n timestamps,\n storage,\n }: DeleteFromOfflineTrackingParametersType): void {\n const readResult = storage.read();\n\n if (readResult.ok) {\n const { requestParameters } = readResult.data;\n\n const newParameters = requestParameters?.filter(\n (item) => !timestamps.includes(item.timestamp),\n );\n\n storage.write({ requestParameters: newParameters });\n }\n }\n\n private static validateVersion(\n version: string,\n ): Result<[number, number, number], KameleoonError> {\n const versionParts = version.split('.').map((x) => parseInt(x, 10));\n\n while (versionParts.length < 3) {\n versionParts.push(0);\n }\n\n if (versionParts.some((item) => isNaN(item))) {\n return Err(\n new KameleoonError(KameleoonException.SemanticVersionParse, version),\n );\n }\n\n return Ok(versionParts.slice(0, 3) as [number, number, number]);\n }\n}\n"],"mappings":"qhYAwDa,CAAAA,SAAS,qBAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,YAAA,CAAAF,CAAA,QAAAG,GAAA,kBAAAC,KAAA,CACpB,SAAAC,eAAAL,CAAA,CASkE,IARhE,CAAAM,CAAO,CAAAN,CAAA,CAAPM,OAAO,CACPC,CAAW,CAAAP,CAAA,CAAXO,WAAW,CACXC,CAAa,CAAAR,CAAA,CAAbQ,aAAa,CACbC,CAAY,CAAAT,CAAA,CAAZS,YAAY,CACZC,CAAsB,CAAAV,CAAA,CAAtBU,sBAAsB,CACtBC,CAAmB,CAAAX,CAAA,CAAnBW,mBAAmB,CACnBC,CAAW,CAAAZ,CAAA,CAAXY,WAAW,CACXC,CAAW,CAAAb,CAAA,CAAXa,WAAW,CAEX,GAAI,CAACP,CAAO,EAAI,CAACA,CAAO,CAACQ,cAAc,CAACC,UAAU,CAACC,MAAM,CACvD,MAAO,GAAAC,SAAE,KAAM,CAGjB,GAAI,CAACP,CAAsB,CACzB,MAAO,GAAAQ,UAAG,EAAC,GAAI,CAAAC,8BAAc,CAACC,kCAAkB,CAACC,cAAc,CAAC,CAAC,CAClE,GAEG,CAAAC,CAAqC,CAAG,CAAC,CAAC,CAExCC,CAAwB,CAC5Bb,CAAsB,CAACc,mBAAmB,CAACjB,CAAW,CAAC,CAErDgB,CAAwB,CAACE,EAAE,GAC7BH,CAAU,CAAGC,CAAwB,CAACG,IAAI,KAGtC,CAAAC,CAAa,CAAGd,CAAW,CAACe,OAAO,CAACtB,CAAO,CAAC,CAE9CuB,CAAK,OAAY,CACjBC,CAAQ,OAAY,CACpBC,CAAO,OAAY,CAInBJ,CAAa,CAACK,gBAAgB,CAACC,wBAAa,CAACC,OAAO,CAAC,GACvDL,CAAK,CAAGhB,CAAW,CAACgB,KAAK,CACzBC,CAAQ,CAAGnB,CAAmB,CAACmB,QAAQ,EAKrCH,CAAa,CAACK,gBAAgB,CAACC,wBAAa,CAACE,mBAAmB,CAAC,GACnEJ,CAAO,CAAGpB,CAAmB,CAACoB,OAAO,EAGvC,GAAM,CAAAK,CAAM,CAAGT,CAAa,CAACU,QAAQ,CAAC,CACpCC,aAAa,CAAEhB,CAAU,CACzBiB,OAAO,CAAE3B,CAAW,CACpBkB,QAAQ,CAARA,CAAQ,CACRC,OAAO,CAAPA,CAAO,CACPF,KAAK,CAALA,CAAK,CACLrB,aAAa,CAAbA,CAAa,CACbC,YAAY,CAAZA,CAAY,CACZF,WAAW,CAAXA,CACF,CAAC,CAAC,CAEF,MAAO,CAAA6B,CACT,CAAC,GAAAjC,GAAA,uBAAAC,KAAA,CAED,SAAAoC,oBACEjC,CAAmB,CACW,OACH,EAAC,GAAxBA,CAAW,CAACS,MAAY,CACnB,GAAAE,UAAG,EAAC,GAAI,CAAAC,8BAAc,CAACC,kCAAkB,CAACqB,gBAAgB,CAAC,CAAC,CAGjElC,CAAW,CAACS,MAAM,CAAG0B,mCAAuB,CACvC,GAAAxB,UAAG,EAAC,GAAI,CAAAC,8BAAc,CAACC,kCAAkB,CAACuB,oBAAoB,CAAC,CAAC,CAGlE,GAAA1B,SAAE,GACX,CAAC,GAAAd,GAAA,cAAAC,KAAA,CAED,SAAAwC,WAAAC,CAAA,CAIqC,CAQnC,QAAS,CAAAC,CAASA,CAACpB,CAAuB,CAAQ,CAChD,GAAKA,CAAI,CAACqB,GAAG,KAKP,CAAAC,CAAwB,CAC5BtB,CAAI,CAACA,IAAI,CAACuB,IAAI,GAAKC,4BAAa,CAACC,UAAU,CAE7C,GAJ0BC,CAAiB,EAIlBJ,CAAwB,CAAE,CACjD,GAAM,CAAAK,CAAK,CAAIL,CAAwB,CAEnC,EAAE,CADFM,uBAAY,CAACC,KAAK,CAAGxD,CAAS,CAACyD,QAAQ,EACrC,CACNC,CAAS,CAACC,IAAI,CAAChC,CAAI,CAACqB,GAAG,CAAGM,CAAK,CAAG,IAAI,CACxC,CAAC,CACH,CAAC,GA1BD,CAAA9C,CAAW,CAAAsC,CAAA,CAAXtC,WAAW,CACXM,CAAW,CAAAgC,CAAA,CAAXhC,WAAW,CACXuC,CAAiB,CAAAP,CAAA,CAAjBO,iBAAiB,CAEXO,CAAU,CAAG9C,CAAW,CAAC+C,aAAa,CAACrD,CAAW,CAAC,CACnDkD,CAAmB,CAAG,EAAE,CAE9B,GAAI,CAACE,CAAU,EAAI,CAACA,CAAU,CAACE,IAAI,CACjC,MAAO,EAAE,CACV,IAAAC,CAAA,CAAAC,CAAA,CAAAC,0BAAA,CAmBkBL,CAAU,CAACM,MAAM,EAAE,MAAtC,IAAAF,CAAA,CAAAG,CAAA,KAAAJ,CAAA,CAAAC,CAAA,CAAAI,CAAA,IAAAC,IAAA,EAAwC,IAA7B,CAAAC,CAAI,CAAAP,CAAA,CAAA1D,KAAA,CACTkE,KAAK,CAACC,OAAO,CAACF,CAAI,CAAC,CACrBA,CAAI,CAACG,OAAO,CAAC,SAACC,CAAS,QAAK,CAAA3B,CAAS,CAAC2B,CAAS,CAAC,EAAC,CAEjD3B,CAAS,CAACuB,CAAI,CAElB,CAAC,OAAArE,CAAA,EAAA+D,CAAA,CAAAW,CAAA,CAAA1E,CAAA,UAAA+D,CAAA,CAAAY,CAAA,GAED,MAAO,CAAAlB,CAAS,CAACmB,IAAI,CAAC,EAAE,CAC1B,CAAC,GAAAzE,GAAA,2CAAAC,KAAA,CAED,SAAAyE,wCAAAhC,CAAA,CAI0D,IAHxD,CAAAtC,CAAW,CAAAsC,CAAA,CAAXtC,WAAW,CACX6C,CAAiB,CAAAP,CAAA,CAAjBO,iBAAiB,CACjB1C,CAAsB,CAAAmC,CAAA,CAAtBnC,sBAAsB,CAEhBoE,CAA8B,CAAG,EAAE,CACnCC,CAAiB,CAAG,GAAI,CAAAC,GAAa,CACrCrB,CAAU,CAAGjD,CAAsB,CAACkD,aAAa,CAACrD,CAAW,CAAC,CAEhEoD,CAAU,CAAClC,EAAE,EAAIkC,CAAU,CAACjC,IAAI,CAACV,MAAM,EACzC2C,CAAU,CAACjC,IAAI,CAAC8C,OAAO,CAAC,SAACH,CAAI,CAAK,EAC5BA,CAAI,CAACY,cAAc,EAAI7B,CAAiB,IAC1C0B,CAAoB,CAACpB,IAAI,CACvBwB,uBAAY,CAACC,UAAU,CACrB7B,uBAAY,CAAC8B,EAAE,CACff,CAAI,CAAC5D,YAAY,CACjB6C,uBAAY,CAAC+B,WAAW,CACxBhB,CAAI,CAACiB,WAAW,CAChBhC,uBAAY,CAACC,KAAK,CAClBxD,CAAS,CAACyD,QAAQ,EAAE,CACpB,IAAI,CACP,CAEDuB,CAAiB,CAACQ,GAAG,CAAQlB,CAAI,CAAC5D,YAAY,IAAE,CAEpD,CAAC,CAAC,IAGE,CAAA+E,CAAgB,CAAGV,CAAoB,CAACF,IAAI,CAAC,EAAE,CAAC,CAChDa,CAAa,CAAGnB,KAAK,CAACoB,IAAI,CAACX,CAAiB,CAAC,CAEnD,MAAO,CAACS,CAAgB,CAAEC,CAAa,CACzC,CAAC,GAAAtF,GAAA,0BAAAC,KAAA,qBAAAJ,EAAA,SAAA6C,CAAA,CAAA8C,KAAA,MAAAC,SAAA,MAAA/C,CAAA,CAAAgD,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAlD,EAAA7C,CAAA,MAAAgG,CAAA,CAAAC,CAAA,CAAAvB,CAAA,CAAAC,CAAA,CAAAuB,CAAA,CAAAC,CAAA,CAAArC,CAAA,CAAAC,CAAA,CAAAqC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAnC,CAAA,CAAAoC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAxC,CAAA,CAAAyC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,QAAAjB,mBAAA,GAAAkB,IAAA,UAAAC,EAAApE,CAAA,iBAAAA,CAAA,CAAAqE,IAAA,CAAArE,CAAA,CAAAsE,IAAA,YACEC,CAAoB,CAAApH,CAAA,CAApBoH,oBAAoB,CACpBvG,CAAW,CAAAb,CAAA,CAAXa,WAAW,CACXN,CAAW,CAAAP,CAAA,CAAXO,WAAW,CACX8G,CAAS,CAAArH,CAAA,CAATqH,SAAS,CACTC,CAAe,CAAAtH,CAAA,CAAfsH,eAAe,CACflE,CAAiB,CAAApD,CAAA,CAAjBoD,iBAAiB,CACjBmE,CAAsB,CAAAvH,CAAA,CAAtBuH,sBAAsB,CACtB7G,CAAsB,CAAAV,CAAA,CAAtBU,sBAAsB,CAEd4E,CAAW,CAA2B8B,CAAoB,CAA1D9B,WAAW,CAAEkC,CAAI,CAAqBJ,CAAoB,CAA7CI,IAAI,CAAEvC,CAAc,CAAKmC,CAAoB,CAAvCnC,cAAc,CAEnCwC,CAAS,CAAG,IAAI,CAACC,YAAY,CAACnH,CAAW,CAAEM,CAAW,CAAC,CAEvD8G,CAAO,CAAG,IAAI,CAAC/E,UAAU,CAAC,CAC9BrC,WAAW,CAAXA,CAAW,CACXM,WAAW,CAAXA,CAAW,CACXuC,iBAAiB,CAAjBA,CACF,CAAC,CAAC,CAEIwE,CAAiB,CAAGtC,CAAW,EAAI,CAAC,CAKpC7E,CAAY,CAAG+G,CAAI,CAAGA,CAAI,CAAC/G,YAAY,CAAG,CAAC,CAAAiG,CAAA,CAG/C,IAAI,CAAC7B,uCAAuC,CAAC,CAC3CtE,WAAW,CAAXA,CAAW,CACX6C,iBAAiB,CAAjBA,CAAiB,CACjB1C,sBAAsB,CAAtBA,CACF,CAAC,CAAC,CAAAwD,CAAA,CAAA2D,cAAA,CAAAnB,CAAA,IALGlB,CAAgB,CAAAtB,CAAA,IAAEa,CAAiB,CAAAb,CAAA,IAOrCd,CAAiB,EAAKuE,CAAO,EAAKH,CAAI,EAAA3E,CAAA,CAAAsE,IAAA,gBAAAtE,CAAA,CAAAiF,MAAA,wBAIrC,CAAAC,CAAa,CAAmB,IAAI,GAApBzC,CAAoB,CAEpC0C,CAAU,CAAG,CACjBzH,WAAW,CAAXA,CAAW,CACXoH,OAAO,CAAPA,CAAO,CACPnC,gBAAgB,CAAhBA,CAAgB,CAChB/E,YAAY,CAAZA,CAAY,CACZ6E,WAAW,CAAEsC,CAAiB,CAC9BH,SAAS,CAATA,CAAS,CACTM,aAAa,CAAbA,CACF,CAAC,CAAAlF,CAAA,CAAAsE,IAAA,IAEoBE,CAAS,CAACY,eAAe,CAACD,CAAU,CAAC,SAApD5F,CAAM,CAAAS,CAAA,CAAAqF,IAAA,CAER9F,CAAM,CAACX,EAAE,GACN2B,CAAiB,CAGpBvC,CAAW,CAACsH,eAAe,CAAC5H,CAAW,CAAC,CAFxCM,CAAW,CAACuH,oBAAoB,CAAC7H,CAAW,CAAE2C,4BAAa,CAACC,UAAU,CAAC,CAKzE4B,CAAiB,CAACP,OAAO,CAAC,SAAC/D,CAAY,CAAK,CAC1CC,CAAsB,CAAC2H,oBAAoB,CAAC9H,CAAW,CAAEE,CAAY,CACvE,CAAC,CAAC,EAGA,CAAC2B,CAAM,CAACX,EAAE,EAAI6F,CAAe,EAC/B,IAAI,CAACgB,wBAAwB,CAAC,CAC5BjE,IAAI,CAAE2D,CAAU,CAChBO,OAAO,CAAEhB,CAAsB,CAC/BiB,YAAY,GACd,CAAC,CAAC,0BAAA3F,CAAA,CAAA4F,IAAA,MAAA5F,CAAA,OAEL,UAAA7C,CAAA,MAAAG,GAAA,mBAAAC,KAAA,CAED,SAAAsI,gBAAuBC,CAAY,CAAEC,CAAkB,CAAU,KAAA5C,CAAA,CACzD6C,CAAO,EAAA7C,CAAA,IAAA8C,eAAA,CAAA9C,CAAA,CACV+C,gBAAQ,CAACC,MAAM,CAAGC,mBAAY,CAACD,MAAM,EAAAF,eAAA,CAAA9C,CAAA,CACrC+C,gBAAQ,CAACG,IAAI,CAAGD,mBAAY,CAACC,IAAI,EAAAJ,eAAA,CAAA9C,CAAA,CACjC+C,gBAAQ,CAACI,GAAG,CAAGF,mBAAY,CAACE,GAAG,EAAAL,eAAA,CAAA9C,CAAA,CAC/B+C,gBAAQ,CAACK,IAAI,CAAGH,mBAAY,CAACG,IAAI,EAAAN,eAAA,CAAA9C,CAAA,CACjC+C,gBAAQ,CAACM,KAAK,CAAGJ,mBAAY,CAACI,KAAK,EAAArD,CAAA,CACrC,CAED,MAAO,CAAA2C,CAAI,CAAGE,CAAO,CAACD,CAAQ,CAChC,CAAC,GAAAzI,GAAA,wBAAAC,KAAA,CAED,SAAAkJ,qBACEC,CAA6B,CACsB,CACnD,GAAQ,CAAApJ,CAAG,CAAkBoJ,CAAQ,CAA7BpJ,GAAG,CAAE8C,CAAI,CAAYsG,CAAQ,CAAxBtG,IAAI,CAAE7C,CAAK,CAAKmJ,CAAQ,CAAlBnJ,KAAK,CAExB,OAAQ6C,CAAI,EACV,IAAK,CAAAuG,mBAAY,CAACC,OAAO,CACvB,MAAO,GAAAxI,SAAE,EAAC,CACRd,GAAG,CAAHA,CAAG,CACH8C,IAAI,CAAJA,CAAI,CACJ7C,KAAK,GAAUA,CACjB,CAAC,CAAC,CACJ,IAAK,CAAAoJ,mBAAY,CAACE,MAAM,CACtB,MAAO,GAAAzI,SAAE,EAAC,CACRd,GAAG,CAAHA,CAAG,CACH8C,IAAI,CAAJA,CAAI,CACJ7C,KAAK,CAASA,CAAK,GACrB,CAAC,CAAC,CACJ,IAAK,CAAAoJ,mBAAY,CAACG,MAAM,CACtB,GAAM,CAAAC,CAAW,EAAUxJ,CAAM,CAAC,MAE9B,CAAAyJ,MAAM,CAACC,KAAK,CAACF,CAAW,CAAC,CACpB,GAAA1I,UAAG,EACR,GAAI,CAAAC,8BAAc,CAACC,kCAAkB,CAAC2I,WAAW,CAAS3J,CAAK,IAAE,CAClE,CAGI,GAAAa,SAAE,EAAC,CACRd,GAAG,CAAHA,CAAG,CACH8C,IAAI,CAAJA,CAAI,CACJ7C,KAAK,CAAEwJ,CACT,CAAC,CAAC,CACJ,IAAK,CAAAJ,mBAAY,CAACQ,IAAI,CACpB,GAAI,CACF,GAAM,CAAAC,CAAmB,CAAGD,IAAI,CAACE,KAAK,CAAQX,CAAQ,CAACnJ,KAAK,IAAE,CAE9D,MAAO,GAAAa,SAAE,EAAC,CACRd,GAAG,CAAHA,CAAG,CACH8C,IAAI,CAAJA,CAAI,CACJ7C,KAAK,CAAE6J,CACT,CAAC,CACH,CAAE,MAAOE,CAAG,CAAE,CACZ,MAAO,GAAAjJ,UAAG,EAAC,GAAI,CAAAC,8BAAc,CAACC,kCAAkB,CAACgJ,SAAS,CAAED,CAAG,CAAC,CAClE,CACF,QACE,GAAAE,4BAAY,EAACpH,CAAI,CAAC,CAAC,CAEzB,CAAC,GAAA9C,GAAA,oBAAAC,KAAA,CAED,SAAAkK,iBAAAtK,CAAA,CAK+D,IAJ7D,CAAA0B,CAAI,CAAA1B,CAAA,CAAJ0B,IAAI,CACJ6I,CAAO,CAAAvK,CAAA,CAAPuK,OAAO,CACPhK,CAAW,CAAAP,CAAA,CAAXO,WAAW,CACXG,CAAsB,CAAAV,CAAA,CAAtBU,sBAAsB,CAEd8J,CAAY,CAAqB9I,CAAI,CAArC8I,YAAY,CAAEC,CAAc,CAAK/I,CAAI,CAAvB+I,cAAc,CAEzBC,CAAa,CAQpBH,CAAO,CARTI,OAAO,CACKC,CAAgB,CAO1BL,CAAO,CAPTM,UAAU,CACOC,CAAqB,CAMpCP,CAAO,CANTQ,eAAe,CACFC,CAAiB,CAK5BT,CAAO,CALTU,WAAW,CACHC,CAAY,CAIlBX,CAAO,CAJTY,MAAM,CACOC,CAAiB,CAG5Bb,CAAO,CAHTc,WAAW,CACEC,CAAiB,CAE5Bf,CAAO,CAFTgB,WAAW,CACAC,CAAc,CACvBjB,CAAO,CADTkB,SAAS,CAGPC,CAAmB,CAAG,EAAE,CAU5B,GARIlB,CAAY,EACdkB,CAAM,CAAChI,IAAI,CAAC8G,CAAY,CAAC,CAGvBC,CAAc,EAChBiB,CAAM,CAAChI,IAAI,CAAAiC,KAAA,CAAX+F,CAAM,CAAAC,kBAAA,CAASlB,CAAc,EAAC,CAG5B,CAACiB,CAAM,CACT,MAAO,CAAEE,WAAW,CAAE,EAAG,CAAC,CAG5B,GAAM,CAAAC,CAA+B,CAAG,EAAE,CAE1C,GAAIL,CAAc,CAAE,CAClB,GAAM,CAAAC,CAAS,CAAGK,uBAAQ,CAACC,eAAe,CAACL,CAAM,CAAC,CAE9CD,CAAS,CAACzK,MAAM,EAClB6K,CAAU,CAACnI,IAAI,CAAAiC,KAAA,CAAfkG,CAAU,CAAAF,kBAAA,CAASF,CAAS,EAEhC,CAGA,GAAIf,CAAa,CAAE,CACjB,GAAM,CAAAC,CAAO,CAAGqB,sBAAO,CAACC,WAAW,CAACP,CAAM,CAAC,CAEvCf,CAAO,EACTkB,CAAU,CAACnI,IAAI,CAACiH,CAAO,CAE3B,CAGA,GAAIW,CAAiB,CAAE,CAKrB,OACQ,CAAAY,CAAK,CALPC,CAAyC,CAAG,CAAC,CAAC,CAI3CrI,CAAC,CAAG4H,CAAM,CAAC1K,MAAM,CAAG,CAAC,CAAO,CAAC,EAAN8C,CAAM,CAAEA,CAAC,EAAE,CAGzC,GAFMoI,CAAK,CAAGR,CAAM,CAAC5H,CAAC,CAAC,EAEnB,CAACoI,CAAK,CAACE,gBAAgB,MAAArF,CAAA,CAAAE,CAAA,CAAAjD,0BAAA,CAIGkI,CAAK,CAACE,gBAAgB,MAApD,IAAAnF,CAAA,CAAA/C,CAAA,KAAA6C,CAAA,CAAAE,CAAA,CAAA9C,CAAA,IAAAC,IAAA,EAAsD,IAA3C,CAAAiI,CAAe,CAAAtF,CAAA,CAAA3G,KAAA,CAAAkM,CAAA,CACID,CAAe,CAAC3K,IAAI,CAAxC6K,CAAE,CAAAD,CAAA,CAAFC,EAAE,CAAEjH,CAAW,CAAAgH,CAAA,CAAXhH,WAAW,CAEvB6G,CAAc,CAACI,CAAE,CAAC,CAAG,CACnBjH,WAAW,CAAXA,CAAW,CACXL,cAAc,GAAO,CACrBuH,MAAM,GACR,CACF,CAAC,OAAAxM,CAAA,EAAAiH,CAAA,CAAAvC,CAAA,CAAA1E,CAAA,UAAAiH,CAAA,CAAAtC,CAAA,IAGHjE,CAAsB,CAAC+L,sBAAsB,CAC3ClM,CAAW,CACX4L,CAAc,CAElB,CAGA,GAAIjB,CAAY,CAAE,CAChB,GAAM,CAAAC,CAAM,CAAGuB,qBAAM,CAACT,WAAW,CAACP,CAAM,CAAC,CAErCP,CAAM,EACRU,CAAU,CAACnI,IAAI,CAACyH,CAAM,CAE1B,CAGA,GAAIC,CAAiB,CAAE,CACrB,GAAM,CAAAC,CAAW,CAAGsB,8BAAe,CAACV,WAAW,CAACP,CAAM,CAAC,CAEnDL,CAAW,EACbQ,CAAU,CAACnI,IAAI,CAAC2H,CAAW,CAE/B,CAQA,GALIT,CAAgB,EAClBiB,CAAU,CAACnI,IAAI,CAAAiC,KAAA,CAAfkG,CAAU,CAAAF,kBAAA,CAASiB,yBAAU,CAACb,eAAe,CAACL,CAAM,CAAC,EAAC,CAIpDZ,CAAqB,CAAE,CACzB,GAAM,CAAAC,CAAe,CAAG8B,8BAAe,CAACZ,WAAW,CAACP,CAAM,CAAC,CAEvDX,CAAe,EACjBc,CAAU,CAACnI,IAAI,CAACqH,CAAe,CAEnC,CAGIC,CAAiB,EACnBa,CAAU,CAACnI,IAAI,CAAAiC,KAAA,CAAfkG,CAAU,CAAAF,kBAAA,CAASxI,yBAAU,CAAC4I,eAAe,CAACL,CAAM,CAAC,EAAC,IAIpD,CAAAoB,CAAkC,CAEhCC,CAAmB,CAAGC,yBAAU,CAACC,iBAAiB,CACtDvB,CAAM,GACElB,CAAY,CACrB,CAMD,MAJI,CAAAuC,CAAmB,GACrBD,CAAU,CAAGC,CAAmB,EAG3B,CAAEnB,WAAW,CAAEC,CAAU,CAAEiB,UAAU,CAAVA,CAAW,CAC/C,CAAC,GAAA3M,GAAA,eAAAC,KAAA,CAED,SAAA8M,YAAmB9M,CAAa,CAAU,CACxC,GAAiB,GAAG,GAAhBA,CAAK,CAAC,CAAC,CAAS,CAAE,CACpB,IAAAyC,CAAA,CAA+BzC,CAAK,CAAC+M,KAAK,CAAC,GAAG,CAAC,CAAAnH,CAAA,CAAA6B,cAAA,CAAAhF,CAAA,IAAxCuK,CAAC,CAAApH,CAAA,IAAEqH,CAAU,CAAArH,CAAA,IAAEsH,CAAK,CAAAtH,CAAA,IAE3B,MAAO,IAAI,CAAAuH,MAAM,CAACF,CAAU,CAAEC,CAAK,CACrC,CAEA,MAAO,IAAI,CAAAC,MAAM,CAACnN,CAAK,CACzB,CAAC,GAAAD,GAAA,gBAAAC,KAAA,CAED,SAAAsH,aACEnH,CAAmB,CACnBM,CAAwB,CACJ,IACd,CAAA2M,CAAU,CAAG3M,CAAW,CAAC4M,mBAAmB,CAE5CjN,CAAmD,CACvDgN,CAAU,EAAIA,CAAU,CAACjN,CAAW,CAAC,CAEvC,GAAIC,CAAa,CAAE,CACjB,GAAM,CAAAkN,CAAa,CAAGlN,CAAa,CAAC0C,4BAAa,CAACyK,SAAS,CAAC,CAE5D,GAAID,CAAa,CACf,MAAO,CAAAA,CAAa,CAACtN,KAEzB,CAGF,CAAC,GAAAD,GAAA,gBAAAC,KAAA,CAED,SAAAwN,aAAoBC,CAA2B,CAA0B,CACvE,MAAO,CAAAA,CAAQ,CAACnM,IAAI,CAACuB,IAAI,GAAKC,4BAAa,CAAC0J,UAC9C,CAAC,GAAAzM,GAAA,8BAAAC,KAAA,CAQD,SAAA0N,2BAAA9N,CAAA,CAI4C,IAH1C,CAAA+N,CAAI,CAAA/N,CAAA,CAAJ+N,IAAI,CACJC,CAAO,CAAAhO,CAAA,CAAPgO,OAAO,CACPC,CAAK,CAAAjO,CAAA,CAALiO,KAAK,CAEL,IAAIF,CAAI,CAACG,QAAQ,CAACF,CAAO,CAAC,EAI1B,GAAM,CAAAG,CAAK,CAAGJ,CAAI,CAACK,SAAS,CAAC,SAAC/J,CAAI,QAChC,CAAA4J,CAAK,GAAKI,aAAK,CAACC,SAAS,CAAGjK,CAAI,EAAI2J,CAAO,CAAG3J,CAAI,EAAI2J,CAAO,EAC9D,CAEa,CAAC,CAAC,GAAZG,CAAY,CACdJ,CAAI,CAACrK,IAAI,CAACsK,CAAO,CAAC,CAElBD,CAAI,CAACQ,MAAM,CAACJ,CAAK,CAAE,CAAC,CAAEH,CAAO,CAAC,CAElC,CAAC,GAAA7N,GAAA,eAAAC,KAAA,CAED,SAAAoO,YAAAxO,CAAA,CAKoC,IAJlC,CAAAyO,CAAY,CAAAzO,CAAA,CAAZyO,YAAY,CACZlO,CAAW,CAAAP,CAAA,CAAXO,WAAW,CACXE,CAAY,CAAAT,CAAA,CAAZS,YAAY,CACZ6E,CAAW,CAAAtF,CAAA,CAAXsF,WAAW,CAELoJ,CAAS,CAAGD,CAAY,CAACE,YAAY,CAACpO,CAAW,CAAC,CAElDqO,CAAY,CAAGF,CAAS,CAAAG,aAAA,IAAQH,CAAS,EAAK,CAAC,CAAC,CAEtDE,CAAY,CAACnO,CAAY,CAAC,CAAG,CAC3B6E,WAAW,CAAXA,CAAW,CACXwJ,cAAc,CAAEC,IAAI,CAACC,GAAG,EAAE,CAAGC,8BAAmB,CAAGhG,mBAAY,CAACiG,MAClE,CAAC,CAEDT,CAAY,CAAClJ,GAAG,CAAC,CACfpF,GAAG,CAAEI,CAAW,CAChBmB,IAAI,CAAEkN,CAAY,CAClBO,QAAQ,CAAEF,8BACZ,CAAC,CACH,CAAC,GAAA9O,GAAA,mBAAAC,KAAA,CAED,SAAAgP,gBACEC,CAAkD,CAClD9O,CAAmB,CACX,IACJ,CAAA+O,CAAY,CAAG,kDAAkD,CAE/DZ,CAAS,CAAGW,CAAa,CAACV,YAAY,CAACpO,CAAW,CAAC,CAEzD,GAAI,CAACmO,CAAS,CACZ,MAAO,CAAAY,CAAY,CAGrB,GAAM,CAAAC,CAAuC,CAAG,CAAC,CAAC,CAwBlD,MAtBA,CAAAC,MAAM,CAACC,OAAO,CAACf,CAAS,CAAC,CAAClK,OAAO,CAC/B,SAAAxE,CAAA,CAAqD,KAAA6C,CAAA,CAAAgF,cAAA,CAAA7H,CAAA,IAAnDS,CAAY,CAAAoC,CAAA,IAAA8B,CAAA,CAAA9B,CAAA,IAAIyC,CAAW,CAAAX,CAAA,CAAXW,WAAW,CAAEwJ,CAAc,CAAAnK,CAAA,CAAdmK,cAAc,CACvCA,CAAc,CAAGC,IAAI,CAACC,GAAG,EAAE,GAC7BM,CAAY,+DAAAI,MAAA,CAAiEjP,CAAY,MAAAiP,MAAA,CAAIpK,CAAW,OAAK,CAC7GgK,CAAY,uDAAAI,MAAA,CAAyDjP,CAAY,YAAU,CAE3F8O,CAAgB,EAAQ9O,CAAY,CAAE,CAAG,CACvC6E,WAAW,CAAXA,CAAW,CACXwJ,cAAc,CAAdA,CACF,CAAC,CAEL,CAAC,CACF,CAIDO,CAAa,CAAC9J,GAAG,CAAC,CAChBpF,GAAG,CAAEI,CAAW,CAChBmB,IAAI,CAAE6N,CAAgB,CACtBJ,QAAQ,CAAEF,8BACZ,CAAC,CAAC,CAEKK,CACT,CAAC,GAAAnP,GAAA,aAAAC,KAAA,qBAAAJ,GAAA,SAAA6C,CAAA,CAAA8C,KAAA,MAAAC,SAAA,MAAA/C,CAAA,CAAAgD,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAlD,EAAA7C,CAAA,MAAAgG,CAAA,CAAAC,CAAA,CAAAvB,CAAA,CAAAC,CAAA,CAAAuB,CAAA,CAAAC,CAAA,CAAArC,CAAA,CAAAC,CAAA,CAAAqC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAnC,CAAA,QAAA2B,mBAAA,GAAAkB,IAAA,UAAAT,EAAA1D,CAAA,iBAAAA,CAAA,CAAAqE,IAAA,CAAArE,CAAA,CAAAsE,IAAA,eACE,CAAA5G,CAAW,CAAAP,CAAA,CAAXO,WAAW,CACXM,CAAW,CAAAb,CAAA,CAAXa,WAAW,CACXwG,CAAS,CAAArH,CAAA,CAATqH,SAAS,CACTC,CAAe,CAAAtH,CAAA,CAAfsH,eAAe,CACfC,CAAsB,CAAAvH,CAAA,CAAtBuH,sBAAsB,CACtBnE,CAAiB,CAAApD,CAAA,CAAjBoD,iBAAiB,CACjBuM,CAAmB,CAAA3P,CAAA,CAAnB2P,mBAAmB,CAAA9M,CAAA,CAAAsE,IAAA,GAEb,IAAI,CAACyI,mBAAmB,CAAC,CAC7BvI,SAAS,CAATA,CAAS,CACTkB,OAAO,CAAEhB,CACX,CAAC,CAAC,WAEII,CAAO,CAAG,IAAI,CAAC/E,UAAU,CAAC,CAC9BrC,WAAW,CAAXA,CAAW,CACXM,WAAW,CAAXA,CAAW,CACXuC,iBAAiB,CAAjBA,CACF,CAAC,CAAC,CAEGA,CAAiB,EAAKuE,CAAO,EAAA9E,CAAA,CAAAsE,IAAA,gBAAAtE,CAAA,CAAAiF,MAAA,wBAI5B,CAAAL,CAAS,CAAG,IAAI,CAACC,YAAY,CAACnH,CAAW,CAAEM,CAAW,CAAC,CAEvDmH,CAA+B,CAAG,CACtCzH,WAAW,CAAXA,CAAW,CACXsP,IAAI,CAAElI,CAAO,CACbF,SAAS,CAATA,CAAS,CACTkI,mBAAmB,CAAnBA,CACF,CAAC,CAAA9M,CAAA,CAAAsE,IAAA,IAEoBE,CAAS,CAACyI,SAAS,CAAC9H,CAAU,CAAC,SAA9C5F,CAAM,CAAAS,CAAA,CAAAqF,IAAA,CAEN6H,CAAO,CAAG,QAAV,CAAAA,OAAOA,CAAA,QACX,CAAA3M,CAAiB,CACbvC,CAAW,CAACsH,eAAe,CAAC5H,CAAW,CAAC,CACxCM,CAAW,CAACuH,oBAAoB,CAC9B7H,CAAW,CACX2C,4BAAa,CAACC,UAAU,CACzB,EAEHf,CAAM,CAACX,EAAE,EACXsO,CAAO,EAAE,CAGP,CAAC3N,CAAM,CAACX,EAAE,EAAI6F,CAAe,EAC/B,IAAI,CAACgB,wBAAwB,CAAC,CAC5BjE,IAAI,CAAE2D,CAAU,CAChBO,OAAO,CAAEhB,CAAsB,CAC/BiB,YAAY,GAAO,CACnBwH,SAAS,CAAED,CACb,CAAC,CAAC,0BAAAlN,CAAA,CAAA4F,IAAA,MAAA5F,CAAA,OAEL,UAAA7C,CAAA,MAAAG,GAAA,YAAAC,KAAA,CAED,SAAAoD,SAAA,CAA0B,CAIxB,OACQ,CAAAyM,CAAY,CAJdC,CAAS,CAAGC,0BAAc,CAACnP,MAAM,CACnCqC,CAAa,CAAG,EAAE,CAEbS,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGoM,CAAS,CAAEpM,CAAC,EAAE,CAC1BmM,CAAY,CAAGG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,CAAGJ,CAAS,CAAC,CAC1D7M,CAAK,EAAI8M,0BAAc,CAACI,SAAS,CAACN,CAAY,CAAEA,CAAY,CAAG,CAAC,CAAC,CAGnE,MAAO,CAAA5M,CACT,CAAC,GAAAlD,GAAA,iBAAAC,KAAA,CAED,SAAAoQ,cAAAxQ,CAAA,CAQoC,IAPlC,CAAAyQ,CAAO,CAAAzQ,CAAA,CAAPyQ,OAAO,CACPC,CAAc,CAAA1Q,CAAA,CAAd0Q,cAAc,CACdC,CAAQ,CAAA3Q,CAAA,CAAR2Q,QAAQ,CAMFC,CAAa,CAAG,IAAI,CAACC,eAAe,CAACJ,CAAO,CAAC,CAC7CK,CAAoB,CAAG,IAAI,CAACD,eAAe,CAACH,CAAc,CAAC,CAEjE,GAAI,CAACE,CAAa,CAACnP,EAAE,CACnB,MAAO,GAAAP,UAAG,EAAC0P,CAAa,CAACG,KAAK,CAAC,CAGjC,GAAI,CAACD,CAAoB,CAACrP,EAAE,CAC1B,MAAO,GAAAP,UAAG,EAAC4P,CAAoB,CAACC,KAAK,CAAC,CACvC,IAAA7K,CAAA,CAAA2B,cAAA,CAE6B+I,CAAa,CAAClP,IAAI,IAAzCsP,CAAK,CAAA9K,CAAA,IAAE+K,CAAK,CAAA/K,CAAA,IAAEgL,CAAK,CAAAhL,CAAA,IAAAE,CAAA,CAAAyB,cAAA,CAExBiJ,CAAoB,CAACpP,IAAI,IADpByP,CAAY,CAAA/K,CAAA,IAAEgL,CAAY,CAAAhL,CAAA,IAAEiL,CAAY,CAAAjL,CAAA,IAGxCkL,CAAY,CACjBN,CAAK,GAAKG,CAAY,CADHI,CAAY,CAE/BN,CAAK,GAAKG,CAAY,CAFWI,CAAY,CAG7CN,CAAK,GAAKG,CAAY,CAGxB,OAAQV,CAAQ,EACd,IAAK,CAAAc,2BAAgB,CAACC,KAAK,CACzB,MAAO,GAAAzQ,SAAE,EAACqQ,CAAY,EAAIC,CAAY,EAAIC,CAAY,CAAC,CACzD,IAAK,CAAAC,2BAAgB,CAACE,OAAO,CAC3B,MAAO,GAAA1Q,SAAE,EACP+P,CAAK,CAAGG,CAAY,EACjBG,CAAY,EAAIL,CAAK,CAAGG,CAAa,EACrCE,CAAY,EAAIC,CAAY,EAAIL,CAAK,CAAGG,CAAa,CACzD,CACH,IAAK,CAAAI,2BAAgB,CAACG,KAAK,CACzB,MAAO,GAAA3Q,SAAE,EACP+P,CAAK,CAAGG,CAAY,EACjBG,CAAY,EAAIL,CAAK,CAAGG,CAAa,EACrCE,CAAY,EAAIC,CAAY,EAAIL,CAAK,CAAGG,CAAa,CACzD,CACH,QACE,GAAAhH,4BAAY,EAACsG,CAAQ,CAAC,CAAC,CAE7B,CAAC,GAAAxQ,GAAA,wBAAAC,KAAA,CAED,SAAAyR,qBAA4B7Q,CAAc,CAAU,IAC5C,CAAA8Q,CAAU,CAAG,sCAAsC,CACnDC,CAA8B,CAAG,EAAE,CAEzC,GAAa,CAAC,CAAV/Q,CAAU,CACZ,MAAO,EAAE,CAGX,IAAK,GAAI,CAAA8C,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAG9C,CAAM,CAAE8C,CAAC,EAAE,CAC7BiO,CAAoB,CAACrO,IAAI,CACvB,uCAAW0M,IAAI,CAACC,KAAK,CAAC,GAAAD,IAAI,CAACE,MAAM,EAAsB,CAAC,CAAC,CAC1D,CAGH,MAAO,CAAAyB,CAAoB,CAACnN,IAAI,CAAC,EAAE,CACrC,CAAC,GAAAzE,GAAA,uBAAAC,KAAA,qBAAAJ,GAAA,SAAA6C,CAAA,CAAA8C,KAAA,MAAAC,SAAA,MAAA/C,CAAA,CAAAgD,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAlD,EAAA7C,CAAA,MAAAgG,CAAA,CAAAC,CAAA,CAAAvB,CAAA,CAAAC,CAAA,CAAAuB,CAAA,CAAAC,CAAA,CAAArC,CAAA,CAAAC,CAAA,CAAAqC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAnC,CAAA,QAAA2B,mBAAA,GAAAkB,IAAA,UAAAT,EAAA1D,CAAA,iBAAAA,CAAA,CAAAqE,IAAA,CAAArE,CAAA,CAAAsE,IAAA,YACEE,CAAS,CAAArH,CAAA,CAATqH,SAAS,CACTkB,CAAO,CAAAvI,CAAA,CAAPuI,OAAO,CAEDyJ,CAAU,CAAGzJ,CAAO,CAAC0J,IAAI,EAAE,GAE7BD,CAAU,CAACvQ,EAAE,EAAIuQ,CAAU,CAACtQ,IAAI,CAACwQ,iBAAiB,GAAArP,CAAA,CAAAsE,IAAA,UAC5C+K,CAAiB,CAAKF,CAAU,CAACtQ,IAAI,CAArCwQ,iBAAiB,CACnBC,CAA8B,CAAG,EAAE,CAAAhM,CAAA,CAAAnC,0BAAA,CAMhBkO,CAAiB,EAAArP,CAAA,CAAAqE,IAAA,GAAAf,CAAA,CAAAjC,CAAA,cAAAJ,CAAA,CAAAqC,CAAA,CAAAhC,CAAA,IAAAC,IAAA,EAAAvB,CAAA,CAAAsE,IAAA,aAA/Ba,CAAU,CAAAlE,CAAA,CAAA1D,KAAA,CACXgS,CAAS,CAA8BpK,CAAU,CAAjDoK,SAAS,CAAE5J,CAAY,CAAgBR,CAAU,CAAtCQ,YAAY,CAAK6J,CAAM,CAAAC,wBAAA,CAAKtK,CAAU,CAAAuK,SAAA,EACrDnQ,CAAuC,SAEvCoG,CAAY,EAAA3F,CAAA,CAAAsE,IAAA,iBAAAtE,CAAA,CAAAsE,IAAA,IACCE,CAAS,CAACY,eAAe,CACtCoK,CAAM,CACP,SAFDjQ,CAAM,CAAAS,CAAA,CAAAqF,IAAA,CAAArF,CAAA,CAAAsE,IAAA,yBAAAtE,CAAA,CAAAsE,IAAA,IAISE,CAAS,CAACyI,SAAS,CAACuC,CAAM,CAAwB,SAAjEjQ,CAAM,CAAAS,CAAA,CAAAqF,IAAA,SAGR9F,CAAM,CAACX,EAAE,EAAIW,CAAM,CAACV,IAAI,EAAIyQ,CAAoB,CAACzO,IAAI,CAAC0O,CAAS,CAAC,SAAAvP,CAAA,CAAAsE,IAAA,iBAAAtE,CAAA,CAAAsE,IAAA,kBAAAtE,CAAA,CAAAqE,IAAA,IAAArE,CAAA,CAAA2P,EAAA,CAAA3P,CAAA,aAAAsD,CAAA,CAAAzB,CAAA,CAAA7B,CAAA,CAAA2P,EAAA,iBAAA3P,CAAA,CAAAqE,IAAA,IAAAf,CAAA,CAAAxB,CAAA,GAAA9B,CAAA,CAAA4P,MAAA,aAGlE,IAAI,CAACC,yBAAyB,CAAC,CAC7BnK,OAAO,CAAPA,CAAO,CACPoK,UAAU,CAAER,CACd,CAAC,CAAC,0BAAAtP,CAAA,CAAA4F,IAAA,MAAA5F,CAAA,sBAEL,UAAA7C,CAAA,MAAAG,GAAA,4BAAAC,KAAA,CAED,SAAAkI,yBAAAtI,CAAA,CAK6C,IAJ3C,CAAAqE,CAAI,CAAArE,CAAA,CAAJqE,IAAI,CACJmE,CAAY,CAAAxI,CAAA,CAAZwI,YAAY,CACZD,CAAO,CAAAvI,CAAA,CAAPuI,OAAO,CACPyH,CAAS,CAAAhQ,CAAA,CAATgQ,SAAS,CAEHgC,CAAU,CAAGzJ,CAAO,CAAC0J,IAAI,EAAE,CAE3BvQ,CAAI,CAAGsQ,CAAU,CAACvQ,EAAE,CAAGuQ,CAAU,CAACtQ,IAAI,CAAG,CAAC,CAAC,CAEzCwQ,CAAiB,CAAKxQ,CAAI,CAA1BwQ,iBAAiB,CAEnBU,CAAO,CAAA/D,aAAA,CAAAA,aAAA,IACRxK,CAAI,MACP+N,SAAS,CAAE,GAAI,CAAArD,IAAI,EAAE,CAAC8D,OAAO,EAAE,CAC/BrK,YAAY,CAAZA,CAAY,EACb,CAEKsK,CAAoB,CAAGZ,CAAiB,IAAAxC,MAAA,CAAA/D,kBAAA,CACtCuG,CAAiB,GAAEU,CAAO,GAC9B,CAACA,CAAO,CAAC,CAEPG,CAAW,CAAGxK,CAAO,CAACyK,KAAK,CAAC,CAChCd,iBAAiB,CAAEY,CACrB,CAAC,CAAC,CAEEC,CAAW,CAACtR,EAAE,EAAIuO,CAAS,EAC7BA,CAAS,EAEb,CAAC,GAAA7P,GAAA,6BAAAC,KAAA,CAED,SAAAsS,0BAAA1S,CAAA,CAGkD,IAFhD,CAAA2S,CAAU,CAAA3S,CAAA,CAAV2S,UAAU,CACVpK,CAAO,CAAAvI,CAAA,CAAPuI,OAAO,CAEDyJ,CAAU,CAAGzJ,CAAO,CAAC0J,IAAI,EAAE,CAEjC,GAAID,CAAU,CAACvQ,EAAE,CAAE,IACT,CAAAyQ,CAAiB,CAAKF,CAAU,CAACtQ,IAAI,CAArCwQ,iBAAiB,CAEnBe,CAAa,QAAGf,CAAiB,WAAjBA,CAAiB,QAAjBA,CAAiB,CAAEgB,MAAM,CAC7C,SAAC7O,CAAI,QAAK,CAACsO,CAAU,CAACzE,QAAQ,CAAC7J,CAAI,CAAC+N,SAAS,CAAC,EAC/C,CAED7J,CAAO,CAACyK,KAAK,CAAC,CAAEd,iBAAiB,CAAEe,CAAc,CAAC,CACpD,CACF,CAAC,GAAA9S,GAAA,mBAAAC,KAAA,CAED,SAAAyQ,gBACEJ,CAAe,CACmC,KAClD,GAAM,CAAA0C,CAAY,CAAG1C,CAAO,CAACtD,KAAK,CAAC,GAAG,CAAC,CAACiG,GAAG,CAAC,SAACrM,CAAC,QAAK,CAAAsM,QAAQ,CAACtM,CAAC,CAAE,EAAE,CAAC,EAAE,CAEvC,CAAC,CAAvBoM,CAAY,CAACnS,MAAU,EAC5BmS,CAAY,CAACzP,IAAI,CAAC,CAAC,CAAC,CAAC,MAGnB,CAAAyP,CAAY,CAACG,IAAI,CAAC,SAACjP,CAAI,QAAK,CAAAyF,KAAK,CAACzF,CAAI,CAAC,EAAC,CACnC,GAAAnD,UAAG,EACR,GAAI,CAAAC,8BAAc,CAACC,kCAAkB,CAACmS,oBAAoB,CAAE9C,CAAO,CAAC,CACrE,CAGI,GAAAxP,SAAE,EAACkS,CAAY,CAACK,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CACpC,CAAC,IAAAxT,CAAA,IAAAyT,OAAA,CAAA1T,SAAA,CAAAA,SAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kameleoon/javascript-sdk-core",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "description": "Kameleoon JS SDK Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",