@kameleoon/javascript-sdk-core 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clientConfiguration/clientConfiguration.d.ts +4 -1
- package/dist/clientConfiguration/clientConfiguration.js +1 -1
- package/dist/clientConfiguration/clientConfiguration.js.map +1 -1
- package/dist/clientConfiguration/constants.js +1 -1
- package/dist/clientConfiguration/constants.js.map +1 -1
- package/dist/clientConfiguration/index.d.ts +1 -1
- package/dist/clientConfiguration/index.js +1 -1
- package/dist/clientConfiguration/index.js.map +1 -1
- package/dist/clientConfiguration/types.d.ts +12 -4
- package/dist/clientConfiguration/types.js +1 -1
- package/dist/clientConfiguration/types.js.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/cookieManager/cookieManager.d.ts +16 -0
- package/dist/cookieManager/cookieManager.js +2 -0
- package/dist/cookieManager/cookieManager.js.map +1 -0
- package/dist/cookieManager/index.d.ts +1 -0
- package/dist/cookieManager/index.js +2 -0
- package/dist/cookieManager/index.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kameleoonClient.d.ts +32 -1
- package/dist/kameleoonClient.js +1 -1
- package/dist/kameleoonClient.js.map +1 -1
- package/dist/kameleoonData/dataManager.d.ts +2 -1
- package/dist/kameleoonData/dataManager.js +1 -1
- package/dist/kameleoonData/dataManager.js.map +1 -1
- package/dist/kameleoonData/pageView.js +1 -1
- package/dist/kameleoonData/pageView.js.map +1 -1
- package/dist/kameleoonError/constants.d.ts +1 -0
- package/dist/kameleoonError/constants.js +1 -1
- package/dist/kameleoonError/constants.js.map +1 -1
- package/dist/kameleoonError/kameleoonError.d.ts +2 -1
- package/dist/kameleoonError/kameleoonError.js +1 -1
- package/dist/kameleoonError/kameleoonError.js.map +1 -1
- package/dist/kameleoonError/types.d.ts +1 -0
- package/dist/kameleoonError/types.js +1 -1
- package/dist/kameleoonError/types.js.map +1 -1
- package/dist/kameleoonUtils.d.ts +0 -6
- package/dist/kameleoonUtils.js +1 -1
- package/dist/kameleoonUtils.js.map +1 -1
- package/dist/requester/constants.d.ts +3 -2
- package/dist/requester/constants.js +1 -1
- package/dist/requester/constants.js.map +1 -1
- package/dist/requester/index.d.ts +2 -2
- package/dist/requester/index.js +1 -1
- package/dist/requester/index.js.map +1 -1
- package/dist/requester/requester.d.ts +5 -5
- package/dist/requester/requester.js +1 -1
- package/dist/requester/requester.js.map +1 -1
- package/dist/requester/types.d.ts +8 -6
- package/dist/requester/types.js +1 -1
- package/dist/requester/types.js.map +1 -1
- package/dist/storage/constants.d.ts +2 -1
- package/dist/storage/constants.js +1 -1
- package/dist/storage/constants.js.map +1 -1
- package/dist/storage/types.d.ts +10 -1
- package/dist/storage/types.js.map +1 -1
- package/dist/types.d.ts +46 -14
- package/dist/types.js.map +1 -1
- package/dist/utilities/types.d.ts +12 -2
- package/dist/utilities/types.js.map +1 -1
- package/dist/utilities/utilities.d.ts +10 -4
- package/dist/utilities/utilities.js +1 -1
- package/dist/utilities/utilities.js.map +1 -1
- package/dist/variationConfiguration/types.d.ts +1 -0
- package/dist/variationConfiguration/types.js.map +1 -1
- package/dist/variationConfiguration/variationConfiguration.js +1 -1
- package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;return _regeneratorRuntime().wrap(function g(b){for(;1;)switch(b.prev=b.next){case 0:return c=this.environment?_constants.UrlParameter.Environment+this.environment:"",d=a?_constants.UrlParameter.Ts+a:"",e=_constants.URL.CLIENT_CONFIGURATION+_constants.UrlQuery.Mobile+this.siteCode+c+d,b.prev=3,b.next=6,this.requestDispatcher.getClientConfiguration(e);case 6:if(f=b.sent,!f){b.next=9;break}return b.abrupt("return",(0,_tsRes.Ok)(f));case 9:return b.abrupt("return",(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.MaximumRetriesReached)));case 12:return b.prev=12,b.t0=b["catch"](3),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 15:case"end":return b.stop();}},b,this,[[3,12]])}));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;return _regeneratorRuntime().wrap(function u(c){for(;1;)switch(c.prev=c.next){case 0:return d=b.customData,e=b.visitAmount,f=b.conversions,g=b.geolocation,h=b.experiments,i=b.pageViews,j=b.device,k=b.browser,l=b.operatingSystem,m=d?_constants.UrlParameter.CustomData+!0:"",n=f?_constants.UrlParameter.Conversion+!0:"",o=g?_constants.UrlParameter.Geolocation+!0:"",p=h?_constants.UrlParameter.Experiment+!0:"",q=i?_constants.UrlParameter.Page+!0:"",r=j||k||l?_constants.UrlParameter.StaticData+!0:"",s=_constants.URL.VISIT_DATA+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.MaxNumberPreviousVisits+e+m+n+o+p+q+r+_constants.UrlParameter.CurrentVisit+!0,c.prev=8,c.next=11,this.requestDispatcher.getRemoteData(s);case 11:return t=c.sent,c.abrupt("return",(0,_tsRes.Ok)(t));case 15:return c.prev=15,c.t0=c["catch"](8),c.abrupt("return",(0,_tsRes.Err)(c.t0));case 18:case"end":return c.stop();}},c,this,[[8,15]])}));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,n;return _regeneratorRuntime().wrap(function o(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.variationId,d=a.visitorCode,e=a.experimentId,f=a.isUnallocated,g=a.body,h=a.userAgent,i=this.getTrackingUrl(d),j=g?"":_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),k=f?j:_constants.UrlEventType.Experiment+_constants.UrlParameter.Id+e+_constants.UrlParameter.VariationId+c+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),l=k?g+"\n"+k:g,m=h?_defineProperty({},_constants.Header.UserAgent,h):void 0,b.prev=6,b.next=9,this.requestDispatcher.track({url:i,headers:m,body:l});case 9:return n=b.sent,b.abrupt("return",(0,_tsRes.Ok)(n));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;return _regeneratorRuntime().wrap(function j(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.body,e=a.userAgent,f=this.getTrackingUrl(c),g=e?_defineProperty({},_constants.Header.UserAgent,e):void 0,h=d||_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),b.prev=4,b.next=7,this.requestDispatcher.track({url:f,headers:g,body:h});case 7:return i=b.sent,b.abrupt("return",(0,_tsRes.Ok)(i));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){var b=this.packageInfo,c=b.type,d=b.version;return _constants.URL.VISIT_EVENT+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.SdkName+c.toLowerCase()+_constants.UrlParameter.SdkVersion+d}}]),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;return _regeneratorRuntime().wrap(function g(b){for(;1;)switch(b.prev=b.next){case 0:return c=this.environment?_constants.UrlFirstParameter.Environment+this.environment:"",d="",a&&(c?d=_constants.UrlParameter.Ts+a:d=_constants.UrlFirstParameter.Ts+a),e=(0,_constants.getClientConfigurationUrl)(this.siteCode)+c+d,b.prev=4,b.next=7,this.requestDispatcher.getClientConfiguration(e);case 7:if(f=b.sent,!f){b.next=10;break}return b.abrupt("return",(0,_tsRes.Ok)(f));case 10:return b.abrupt("return",(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.MaximumRetriesReached)));case 13:return b.prev=13,b.t0=b["catch"](4),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 16:case"end":return b.stop();}},b,this,[[4,13]])}));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,n,o,p;return _regeneratorRuntime().wrap(function q(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.variationId,d=a.visitorCode,e=a.experimentId,f=a.isUnallocated,g=a.body,h=a.userAgent,i=a.isTargetedRule,j=a.isConsentProvided,k=this.getTrackingUrl(d),l=g?"":_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),m=f?l:j||!j&&i?_constants.UrlEventType.Experiment+_constants.UrlParameter.Id+e+_constants.UrlParameter.VariationId+c+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce():"",n=m?g+"\n"+m:g,o=h?_defineProperty({},_constants.Header.UserAgent,h):void 0,b.prev=6,b.next=9,this.requestDispatcher.track({url:k,headers:o,body:n});case 9:return p=b.sent,b.abrupt("return",(0,_tsRes.Ok)(p));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;return _regeneratorRuntime().wrap(function j(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.body,e=a.userAgent,f=this.getTrackingUrl(c),g=e?_defineProperty({},_constants.Header.UserAgent,e):void 0,h=d||_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),b.prev=4,b.next=7,this.requestDispatcher.track({url:f,headers:g,body:h});case 7:return i=b.sent,b.abrupt("return",(0,_tsRes.Ok)(i));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){var b=this.packageInfo,c=b.type,d=b.version;return _constants.URL.VISIT_EVENT+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.SdkName+c.toLowerCase()+_constants.UrlParameter.SdkVersion+d}}]),a}();exports.Requester=Requester;
|
|
2
2
|
//# sourceMappingURL=requester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requester.js","names":["Requester","a","b","siteCode","environment","packageInfo","requestDispatcher","_classCallCheck","_defineProperty","_createClass","key","value","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","timeStamp","c","d","e","f","wrap","g","prev","next","environmentParam","UrlParameter","Environment","timeStampParam","Ts","requestUrl","URL","CLIENT_CONFIGURATION","UrlQuery","Mobile","getClientConfiguration","response","sent","abrupt","Ok","Err","KameleoonError","KameleoonException","MaximumRetriesReached","t0","stop","DATA_MAP","Key","encodeURI","getRemoteData","visitorCode","filters","h","i","j","k","l","m","n","o","p","q","r","s","t","u","customData","visitAmount","conversions","geolocation","experiments","pageViews","device","browser","operatingSystem","customDataParameter","CustomData","conversionsParameter","Conversion","geolocationParameter","Geolocation","experimentsParameter","Experiment","pageViewsParameter","Page","staticDataParameter","StaticData","VISIT_DATA","VisitorCode","MaxNumberPreviousVisits","CurrentVisit","variationId","experimentId","isUnallocated","body","userAgent","url","getTrackingUrl","unallocatedAddition","UrlEventType","Activity","Nonce","Utilities","getNonce","bodyAddition","Id","VariationId","extendedBody","headers","Header","UserAgent","track","requestBody","type","version","VISIT_EVENT","SdkName","toLowerCase","SdkVersion","exports"],"sources":["../../src/requester/requester.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport { KameleoonError, KameleoonException } from 'src/kameleoonError';\nimport { JSONType } from 'src/clientConfiguration';\nimport { Utilities, VisitorDataFiltersType } from 'src/utilities';\nimport { URL, UrlParameter, Header, UrlQuery, UrlEventType } from './constants';\nimport {\n GetClientConfigurationResultType,\n RequesterParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n TrackExperimentParamsType,\n} from './types';\n\nexport interface IRequester {\n getClientConfiguration: () => Promise<\n Result<GetClientConfigurationResultType, KameleoonError>\n >;\n getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;\n trackData: ({\n visitorCode,\n body,\n }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;\n trackExperiment: ({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;\n}\n\nexport class Requester implements IRequester {\n private siteCode: string;\n private environment?: Environment;\n private requestDispatcher: IExternalRequestDispatcher;\n private packageInfo: ExternalPackageInfoType;\n\n constructor({\n siteCode,\n environment,\n packageInfo,\n requestDispatcher,\n }: RequesterParamsType) {\n this.requestDispatcher = requestDispatcher;\n this.siteCode = siteCode;\n this.environment = environment;\n this.packageInfo = packageInfo;\n }\n\n public async getClientConfiguration(\n timeStamp?: number,\n ): Promise<Result<GetClientConfigurationResultType, KameleoonError>> {\n const environmentParam = this.environment\n ? UrlParameter.Environment + this.environment\n : '';\n const timeStampParam = timeStamp ? UrlParameter.Ts + timeStamp : '';\n\n const requestUrl =\n URL.CLIENT_CONFIGURATION +\n UrlQuery.Mobile +\n this.siteCode +\n environmentParam +\n timeStampParam;\n\n try {\n const response = await this.requestDispatcher.getClientConfiguration(\n requestUrl,\n );\n\n if (response) {\n return Ok(response as GetClientConfigurationResultType);\n }\n\n return Err(new KameleoonError(KameleoonException.MaximumRetriesReached));\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getRemoteData(\n key: string,\n ): Promise<Result<JSONType, KameleoonError>> {\n const requestUrl: string =\n URL.DATA_MAP + this.siteCode + UrlParameter.Key + encodeURI(key);\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getVisitorData(\n visitorCode: string,\n filters: VisitorDataFiltersType,\n ): Promise<Result<GetVisitorDataResultType, KameleoonError>> {\n const {\n customData,\n visitAmount,\n conversions,\n geolocation,\n experiments,\n pageViews,\n device,\n browser,\n operatingSystem,\n } = filters;\n\n const customDataParameter = customData\n ? UrlParameter.CustomData + true\n : '';\n const conversionsParameter = conversions\n ? UrlParameter.Conversion + true\n : '';\n const geolocationParameter = geolocation\n ? UrlParameter.Geolocation + true\n : '';\n const experimentsParameter = experiments\n ? UrlParameter.Experiment + true\n : '';\n const pageViewsParameter = pageViews ? UrlParameter.Page + true : '';\n const staticDataParameter = Boolean(device || browser || operatingSystem)\n ? UrlParameter.StaticData + true\n : '';\n\n const requestUrl: string =\n URL.VISIT_DATA +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.MaxNumberPreviousVisits +\n visitAmount +\n customDataParameter +\n conversionsParameter +\n geolocationParameter +\n experimentsParameter +\n pageViewsParameter +\n staticDataParameter +\n UrlParameter.CurrentVisit +\n true;\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response as GetVisitorDataResultType);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackExperiment({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n userAgent,\n }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const unallocatedAddition = !body\n ? UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce()\n : '';\n const bodyAddition = isUnallocated\n ? unallocatedAddition\n : UrlEventType.Experiment +\n UrlParameter.Id +\n experimentId +\n UrlParameter.VariationId +\n variationId +\n UrlParameter.Nonce +\n Utilities.getNonce();\n const extendedBody = bodyAddition ? body + '\\n' + bodyAddition : body;\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: extendedBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackData({\n visitorCode,\n body,\n userAgent,\n }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n const requestBody =\n body || UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce();\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: requestBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n private getTrackingUrl(visitorCode: string): string {\n const { type, version } = this.packageInfo;\n\n return (\n URL.VISIT_EVENT +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.SdkName +\n type.toLowerCase() +\n UrlParameter.SdkVersion +\n version\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"requester.js","names":["Requester","a","b","siteCode","environment","packageInfo","requestDispatcher","_classCallCheck","_defineProperty","_createClass","key","value","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","timeStamp","c","d","e","f","wrap","g","prev","next","environmentParam","UrlFirstParameter","Environment","timeStampParam","UrlParameter","Ts","requestUrl","getClientConfigurationUrl","getClientConfiguration","response","sent","abrupt","Ok","Err","KameleoonError","KameleoonException","MaximumRetriesReached","t0","stop","URL","DATA_MAP","Key","encodeURI","getRemoteData","visitorCode","filters","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","customData","previousVisitAmount","currentVisit","conversions","geolocation","experiments","pageViews","device","browser","operatingSystem","customDataParameter","CustomData","conversionsParameter","Conversion","geolocationParameter","Geolocation","experimentsParameter","Experiment","pageViewsParameter","Page","staticDataParameter","StaticData","currentVisitParameter","CurrentVisit","VISIT_DATA","VisitorCode","MaxNumberPreviousVisits","variationId","experimentId","isUnallocated","body","userAgent","isTargetedRule","isConsentProvided","url","getTrackingUrl","unallocatedAddition","UrlEventType","Activity","Nonce","Utilities","getNonce","bodyAddition","Id","VariationId","extendedBody","headers","Header","UserAgent","track","requestBody","type","version","VISIT_EVENT","SdkName","toLowerCase","SdkVersion","exports"],"sources":["../../src/requester/requester.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport { KameleoonError, KameleoonException } from 'src/kameleoonError';\nimport { ConfigurationDataType, JSONType } from 'src/clientConfiguration';\nimport { Utilities, VisitorDataFiltersType } from 'src/utilities';\nimport {\n URL,\n UrlParameter,\n Header,\n UrlEventType,\n getClientConfigurationUrl,\n UrlFirstParameter,\n} from './constants';\nimport {\n RequesterParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n TrackExperimentParamsType,\n} from './types';\n\nexport interface IRequester {\n getClientConfiguration: () => Promise<\n Result<ConfigurationDataType, KameleoonError>\n >;\n getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;\n trackData: ({\n visitorCode,\n body,\n }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;\n trackExperiment: ({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;\n}\n\nexport class Requester implements IRequester {\n private siteCode: string;\n private environment?: Environment;\n private requestDispatcher: IExternalRequestDispatcher;\n private packageInfo: ExternalPackageInfoType;\n\n constructor({\n siteCode,\n environment,\n packageInfo,\n requestDispatcher,\n }: RequesterParamsType) {\n this.requestDispatcher = requestDispatcher;\n this.siteCode = siteCode;\n this.environment = environment;\n this.packageInfo = packageInfo;\n }\n\n public async getClientConfiguration(\n timeStamp?: number,\n ): Promise<Result<ConfigurationDataType, KameleoonError>> {\n const environmentParam = this.environment\n ? UrlFirstParameter.Environment + this.environment\n : '';\n let timeStampParam = '';\n\n if (timeStamp) {\n if (environmentParam) {\n timeStampParam = UrlParameter.Ts + timeStamp;\n } else {\n timeStampParam = UrlFirstParameter.Ts + timeStamp;\n }\n }\n\n const requestUrl =\n getClientConfigurationUrl(this.siteCode) +\n environmentParam +\n timeStampParam;\n\n try {\n const response = await this.requestDispatcher.getClientConfiguration(\n requestUrl,\n );\n\n if (response) {\n return Ok(response as ConfigurationDataType);\n }\n\n return Err(new KameleoonError(KameleoonException.MaximumRetriesReached));\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getRemoteData(\n key: string,\n ): Promise<Result<JSONType, KameleoonError>> {\n const requestUrl: string =\n URL.DATA_MAP + this.siteCode + UrlParameter.Key + encodeURI(key);\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getVisitorData(\n visitorCode: string,\n filters: VisitorDataFiltersType,\n ): Promise<Result<GetVisitorDataResultType, KameleoonError>> {\n const {\n customData,\n previousVisitAmount,\n currentVisit,\n conversions,\n geolocation,\n experiments,\n pageViews,\n device,\n browser,\n operatingSystem,\n } = filters;\n\n const customDataParameter = customData\n ? UrlParameter.CustomData + true\n : '';\n const conversionsParameter = conversions\n ? UrlParameter.Conversion + true\n : '';\n const geolocationParameter = geolocation\n ? UrlParameter.Geolocation + true\n : '';\n const experimentsParameter = experiments\n ? UrlParameter.Experiment + true\n : '';\n const pageViewsParameter = pageViews ? UrlParameter.Page + true : '';\n const staticDataParameter = Boolean(device || browser || operatingSystem)\n ? UrlParameter.StaticData + true\n : '';\n const currentVisitParameter = currentVisit\n ? UrlParameter.CurrentVisit + true\n : '';\n\n const requestUrl: string =\n URL.VISIT_DATA +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.MaxNumberPreviousVisits +\n previousVisitAmount +\n customDataParameter +\n conversionsParameter +\n geolocationParameter +\n experimentsParameter +\n pageViewsParameter +\n staticDataParameter +\n currentVisitParameter;\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response as GetVisitorDataResultType);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackExperiment({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n userAgent,\n isTargetedRule,\n isConsentProvided,\n }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const unallocatedAddition = !body\n ? UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce()\n : '';\n const bodyAddition = isUnallocated\n ? unallocatedAddition\n : isConsentProvided || (!isConsentProvided && isTargetedRule)\n ? UrlEventType.Experiment +\n UrlParameter.Id +\n experimentId +\n UrlParameter.VariationId +\n variationId +\n UrlParameter.Nonce +\n Utilities.getNonce()\n : '';\n\n const extendedBody = bodyAddition ? body + '\\n' + bodyAddition : body;\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: extendedBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackData({\n visitorCode,\n body,\n userAgent,\n }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n const requestBody =\n body || UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce();\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: requestBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n private getTrackingUrl(visitorCode: string): string {\n const { type, version } = this.packageInfo;\n\n return (\n URL.VISIT_EVENT +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.SdkName +\n type.toLowerCase() +\n UrlParameter.SdkVersion +\n version\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSONType
|
|
1
|
+
import { JSONType } from '../clientConfiguration';
|
|
2
2
|
import { Environment, ExternalPackageInfoType } from '../types';
|
|
3
3
|
import { BrowserIndexMap, BrowserType, OperatingSystemType } from '../kameleoonData';
|
|
4
4
|
import { Header } from './constants';
|
|
@@ -15,7 +15,9 @@ export type TrackExperimentParamsType = {
|
|
|
15
15
|
visitorCode: string;
|
|
16
16
|
experimentId: number;
|
|
17
17
|
isUnallocated: boolean;
|
|
18
|
+
isConsentProvided: boolean;
|
|
18
19
|
userAgent?: string;
|
|
20
|
+
isTargetedRule?: boolean;
|
|
19
21
|
};
|
|
20
22
|
export type TrackDataParamsType = {
|
|
21
23
|
visitorCode: string;
|
|
@@ -110,17 +112,14 @@ export type GetVisitorDataResultType = {
|
|
|
110
112
|
previousVisits?: VisitType[];
|
|
111
113
|
currentVisit?: VisitType;
|
|
112
114
|
};
|
|
113
|
-
export type GetClientConfigurationResultType = Omit<ConfigurationDataType, 'featureFlags'> & {
|
|
114
|
-
featureFlagConfigurations: FeatureFlagType[];
|
|
115
|
-
};
|
|
116
115
|
export declare enum HttpMethod {
|
|
117
116
|
Get = "GET",
|
|
118
117
|
Post = "POST"
|
|
119
118
|
}
|
|
120
119
|
declare const EVENT_TYPE_KEYS: readonly ["customData", "staticData", "page", "conversion", "geolocation", "activity", "experiment"];
|
|
121
|
-
declare const PARAMETER_KEYS: readonly ["valuesCountMap", "id", "nonce", "country", "city", "region", "latitude", "geolocation", "longitude", "postalCode", "sdkName", "sdkVersion", "browserIndex", "browserVersion", "siteCode", "
|
|
120
|
+
declare const PARAMETER_KEYS: readonly ["valuesCountMap", "id", "nonce", "country", "environment", "city", "region", "latitude", "geolocation", "longitude", "postalCode", "sdkName", "sdkVersion", "browserIndex", "browserVersion", "siteCode", "visitorCode", "currentVisit", "maxNumberPreviousVisits", "customData", "negative", "revenue", "title", "os", "conversion", "staticData", "osIndex", "browser", "referrersIndices", "overwrite", "index", "href", "experiment", "page", "variationId", "deviceType", "goalId", "ts", "key"];
|
|
122
121
|
declare const TRACKING_KEYS: readonly ["visit", "map"];
|
|
123
|
-
declare const QUERY_KEYS: readonly ["sse", "visitor", "
|
|
122
|
+
declare const QUERY_KEYS: readonly ["sse", "visitor", "map", "events"];
|
|
124
123
|
export type TrackingType = Record<Capitalize<(typeof TRACKING_KEYS)[number]>, string>;
|
|
125
124
|
export type QueryType = Record<Capitalize<(typeof QUERY_KEYS)[number]>, string>;
|
|
126
125
|
export type ParameterType = Record<Capitalize<(typeof PARAMETER_KEYS)[number]>, string>;
|
|
@@ -137,6 +136,9 @@ export type StrictEventTypeRecord<T> = {
|
|
|
137
136
|
export type StrictParameterRecord<T> = {
|
|
138
137
|
[K in keyof T]: `&${Uncapitalize<K & string>}=`;
|
|
139
138
|
};
|
|
139
|
+
export type StrictFirstParameterRecord<T> = {
|
|
140
|
+
[K in keyof T]: `?${Uncapitalize<K & string>}=`;
|
|
141
|
+
};
|
|
140
142
|
export type TrackParametersType = {
|
|
141
143
|
url: string;
|
|
142
144
|
headers?: Partial<Record<Header, string>>;
|
package/dist/requester/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpMethod=void 0;var HttpMethod=function(a){return a.Get="GET",a.Post="POST",a}({});exports.HttpMethod=HttpMethod;var EVENT_TYPE_KEYS=["customData","staticData","page","conversion","geolocation","activity","experiment"],PARAMETER_KEYS=["valuesCountMap","id","nonce","country","city","region","latitude","geolocation","longitude","postalCode","sdkName","sdkVersion","browserIndex","browserVersion","siteCode","
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpMethod=void 0;var HttpMethod=function(a){return a.Get="GET",a.Post="POST",a}({});exports.HttpMethod=HttpMethod;var EVENT_TYPE_KEYS=["customData","staticData","page","conversion","geolocation","activity","experiment"],PARAMETER_KEYS=["valuesCountMap","id","nonce","country","environment","city","region","latitude","geolocation","longitude","postalCode","sdkName","sdkVersion","browserIndex","browserVersion","siteCode","visitorCode","currentVisit","maxNumberPreviousVisits","customData","negative","revenue","title","os","conversion","staticData","osIndex","browser","referrersIndices","overwrite","index","href","experiment","page","variationId","deviceType","goalId","ts","key"],TRACKING_KEYS=["visit","map"],QUERY_KEYS=["sse","visitor","map","events"];
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["HttpMethod","Get","Post","exports","EVENT_TYPE_KEYS","PARAMETER_KEYS","TRACKING_KEYS","QUERY_KEYS"],"sources":["../../src/requester/types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"types.js","names":["HttpMethod","Get","Post","exports","EVENT_TYPE_KEYS","PARAMETER_KEYS","TRACKING_KEYS","QUERY_KEYS"],"sources":["../../src/requester/types.ts"],"sourcesContent":["import { JSONType } from 'src/clientConfiguration';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport {\n BrowserIndexMap,\n BrowserType,\n OperatingSystemType,\n} from 'src/kameleoonData';\nimport { Header } from './constants';\nimport { DeviceType, OperatingSystemIndexMap } from 'src/kameleoonData/types';\n\nexport type RequesterParamsType = {\n siteCode: string;\n environment?: Environment;\n packageInfo: ExternalPackageInfoType;\n requestDispatcher: IExternalRequestDispatcher;\n};\n\nexport type TrackExperimentParamsType = {\n body: string;\n variationId: number;\n visitorCode: string;\n experimentId: number;\n isUnallocated: boolean;\n isConsentProvided: boolean;\n userAgent?: string;\n isTargetedRule?: boolean;\n};\n\nexport type TrackDataParamsType = {\n visitorCode: string;\n body: string;\n userAgent?: string;\n};\n\ntype EventDataType = {\n sdk?: {\n name: string;\n version: string;\n };\n itp: boolean;\n time: number;\n};\n\ntype CustomDataEventType = {\n data: {\n index: number;\n valuesCountMap: {\n [value: string]: number;\n };\n overwrite: boolean;\n mappingIdentifier: boolean;\n };\n} & EventDataType;\n\ntype ExperimentEventType = {\n data: {\n id: number;\n variationId: number;\n };\n} & EventDataType;\n\ntype ConversionEventType = {\n data: {\n goalId: number;\n revenue: number;\n negative: boolean;\n };\n} & EventDataType;\n\ntype BrowserIndexType = (typeof BrowserIndexMap)[BrowserType];\ntype OperatingSystemIndexType =\n (typeof OperatingSystemIndexMap)[OperatingSystemType];\n\nexport type PageEventType = {\n data: {\n href: string;\n canonicalHref: string | null;\n title: string;\n keyPagesIndices: number[] | [null];\n referrerHref: string | null;\n referrersIndices: number[] | [null];\n };\n} & EventDataType;\n\nexport type GeolocationEventType = {\n data: {\n country: string;\n region: string | null;\n city: string | null;\n postalCode: string | null;\n latitude: number | null;\n longitude: number | null;\n };\n} & EventDataType;\n\nexport type StaticDataEventType = {\n data: {\n visitNumber: number;\n timeSincePreviousVisit: number;\n firstReferrerHref: string | null;\n browser: BrowserType | null;\n browserIndex: BrowserIndexType | null;\n browserVersion: number | null;\n os: OperatingSystemType | null;\n osIndex: OperatingSystemIndexType | null;\n windowWidth: number | null;\n windowHeight: number | null;\n screenWidth: number | null;\n screenHeight: number | null;\n timeZoneId: string | null;\n localeLanguageTag: string | null;\n deviceType: DeviceType | null;\n mappingIdentifier: string | null;\n };\n} & EventDataType;\n\nexport type VisitType = {\n siteCode: string;\n visitorCode: string;\n timeStarted: number;\n customDataEvents?: CustomDataEventType[];\n experimentEvents?: ExperimentEventType[];\n conversionEvents?: ConversionEventType[];\n geolocationEvents?: GeolocationEventType[];\n staticDataEvent?: StaticDataEventType;\n pageEvents?: PageEventType[];\n};\n\nexport type GetVisitorDataResultType = {\n previousVisits?: VisitType[];\n currentVisit?: VisitType;\n};\n\nexport enum HttpMethod {\n Get = 'GET',\n Post = 'POST',\n}\n\nconst EVENT_TYPE_KEYS = [\n 'customData',\n 'staticData',\n 'page',\n 'conversion',\n 'geolocation',\n 'activity',\n 'experiment',\n] as const;\nconst PARAMETER_KEYS = [\n 'valuesCountMap',\n 'id',\n 'nonce',\n 'country',\n 'environment',\n 'city',\n 'region',\n 'latitude',\n 'geolocation',\n 'longitude',\n 'postalCode',\n 'sdkName',\n 'sdkVersion',\n 'browserIndex',\n 'browserVersion',\n 'siteCode',\n 'visitorCode',\n 'currentVisit',\n 'maxNumberPreviousVisits',\n 'customData',\n 'negative',\n 'revenue',\n 'title',\n 'os',\n 'conversion',\n 'staticData',\n 'osIndex',\n 'browser',\n 'referrersIndices',\n 'overwrite',\n 'index',\n 'href',\n 'experiment',\n 'page',\n 'variationId',\n 'deviceType',\n 'goalId',\n 'ts',\n 'key',\n] as const;\nconst TRACKING_KEYS = ['visit', 'map'] as const;\nconst QUERY_KEYS = ['sse', 'visitor', 'map', 'events'] as const;\n\nexport type TrackingType = Record<\n Capitalize<(typeof TRACKING_KEYS)[number]>,\n string\n>;\nexport type QueryType = Record<Capitalize<(typeof QUERY_KEYS)[number]>, string>;\nexport type ParameterType = Record<\n Capitalize<(typeof PARAMETER_KEYS)[number]>,\n string\n>;\nexport type EventType = Record<\n Capitalize<(typeof EVENT_TYPE_KEYS)[number]>,\n string\n>;\n\nexport type StrictTrackingRecord<T> = {\n [K in keyof T]: `${Uncapitalize<K & string>}/`;\n};\nexport type StrictQueryRecord<T> = {\n [K in keyof T]: `${Uncapitalize<K & string>}?siteCode=`;\n};\nexport type StrictEventTypeRecord<T> = {\n [K in keyof T]: `eventType=${Uncapitalize<K & string>}`;\n};\nexport type StrictParameterRecord<T> = {\n [K in keyof T]: `&${Uncapitalize<K & string>}=`;\n};\nexport type StrictFirstParameterRecord<T> = {\n [K in keyof T]: `?${Uncapitalize<K & string>}=`;\n};\n\nexport type TrackParametersType = {\n url: string;\n headers?: Partial<Record<Header, string>>;\n body: string;\n};\n\n/**\n * @interface an interface of External Request Dispatcher which will be used to perform requests.\n * */\nexport interface IExternalRequestDispatcher {\n /**\n * @method track - send a track request\n * @param {TrackParametersType} parameters - track parameters\n * */\n track: (params: TrackParametersType) => Promise<boolean>;\n /**\n * @method getClientConfiguration - get client configuration\n * @param {string} url - url address\n * */\n getClientConfiguration: (url: string) => Promise<JSONType>;\n /**\n * @method getRemoteData - get data from remote server of Kameleoon\n * @param {string} url - url address\n * */\n getRemoteData: (url: string) => Promise<JSONType>;\n}\n"],"mappings":"iGAqIY,CAAAA,UAAU,UAAVA,CAAU,QAAV,CAAAA,CAAU,CAAAC,GAAA,OAAVD,CAAU,CAAAE,IAAA,QAAVF,CAAU,MAAAG,OAAA,CAAAH,UAAA,CAAAA,UAAA,IAKhB,CAAAI,eAAe,CAAG,CACtB,YAAY,CACZ,YAAY,CACZ,MAAM,CACN,YAAY,CACZ,aAAa,CACb,UAAU,CACV,YAAY,CACJ,CACJC,cAAc,CAAG,CACrB,gBAAgB,CAChB,IAAI,CACJ,OAAO,CACP,SAAS,CACT,aAAa,CACb,MAAM,CACN,QAAQ,CACR,UAAU,CACV,aAAa,CACb,WAAW,CACX,YAAY,CACZ,SAAS,CACT,YAAY,CACZ,cAAc,CACd,gBAAgB,CAChB,UAAU,CACV,aAAa,CACb,cAAc,CACd,yBAAyB,CACzB,YAAY,CACZ,UAAU,CACV,SAAS,CACT,OAAO,CACP,IAAI,CACJ,YAAY,CACZ,YAAY,CACZ,SAAS,CACT,SAAS,CACT,kBAAkB,CAClB,WAAW,CACX,OAAO,CACP,MAAM,CACN,YAAY,CACZ,MAAM,CACN,aAAa,CACb,YAAY,CACZ,QAAQ,CACR,IAAI,CACJ,KAAK,CACG,CACJC,aAAa,CAAG,CAAC,OAAO,CAAE,KAAK,CAAU,CACzCC,UAAU,CAAG,CAAC,KAAK,CAAE,SAAS,CAAE,KAAK,CAAE,QAAQ,CAAU"}
|
|
@@ -7,5 +7,6 @@ export declare enum KameleoonStorageKey {
|
|
|
7
7
|
TargetingData = "kameleoonTargetingData",
|
|
8
8
|
VariationData = "kameleoonVariationData",
|
|
9
9
|
VisitorCode = "kameleoonVisitorCode",
|
|
10
|
-
OfflineTracking = "kameleoonOfflineTracking"
|
|
10
|
+
OfflineTracking = "kameleoonOfflineTracking",
|
|
11
|
+
ConsentData = "kameleoonConsentData"
|
|
11
12
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonStorageKey=void 0;var KameleoonStorageKey=function(a){return a.ClientData="kameleoonClientData",a.TargetingData="kameleoonTargetingData",a.VariationData="kameleoonVariationData",a.VisitorCode="kameleoonVisitorCode",a.OfflineTracking="kameleoonOfflineTracking",a}({});exports.KameleoonStorageKey=KameleoonStorageKey;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonStorageKey=void 0;var KameleoonStorageKey=function(a){return a.ClientData="kameleoonClientData",a.TargetingData="kameleoonTargetingData",a.VariationData="kameleoonVariationData",a.VisitorCode="kameleoonVisitorCode",a.OfflineTracking="kameleoonOfflineTracking",a.ConsentData="kameleoonConsentData",a}({});exports.KameleoonStorageKey=KameleoonStorageKey;
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["KameleoonStorageKey","ClientData","TargetingData","VariationData","VisitorCode","OfflineTracking","exports"],"sources":["../../src/storage/constants.ts"],"sourcesContent":["/**\n * @readonly\n * @enum {string} an Enum containing keys for Kameleoon SDK related data stored on storage\n * */\nexport enum KameleoonStorageKey {\n ClientData = 'kameleoonClientData',\n TargetingData = 'kameleoonTargetingData',\n VariationData = 'kameleoonVariationData',\n VisitorCode = 'kameleoonVisitorCode',\n OfflineTracking = 'kameleoonOfflineTracking',\n}\n"],"mappings":"0GAIY,CAAAA,mBAAmB,UAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,UAAA,uBAAnBD,CAAmB,CAAAE,aAAA,0BAAnBF,CAAmB,CAAAG,aAAA,0BAAnBH,CAAmB,CAAAI,WAAA,wBAAnBJ,CAAmB,CAAAK,eAAA,4BAAnBL,CAAmB,
|
|
1
|
+
{"version":3,"file":"constants.js","names":["KameleoonStorageKey","ClientData","TargetingData","VariationData","VisitorCode","OfflineTracking","ConsentData","exports"],"sources":["../../src/storage/constants.ts"],"sourcesContent":["/**\n * @readonly\n * @enum {string} an Enum containing keys for Kameleoon SDK related data stored on storage\n * */\nexport enum KameleoonStorageKey {\n ClientData = 'kameleoonClientData',\n TargetingData = 'kameleoonTargetingData',\n VariationData = 'kameleoonVariationData',\n VisitorCode = 'kameleoonVisitorCode',\n OfflineTracking = 'kameleoonOfflineTracking',\n ConsentData = 'kameleoonConsentData',\n}\n"],"mappings":"0GAIY,CAAAA,mBAAmB,UAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,UAAA,uBAAnBD,CAAmB,CAAAE,aAAA,0BAAnBF,CAAmB,CAAAG,aAAA,0BAAnBH,CAAmB,CAAAI,WAAA,wBAAnBJ,CAAmB,CAAAK,eAAA,4BAAnBL,CAAmB,CAAAM,WAAA,wBAAnBN,CAAmB,MAAAO,OAAA,CAAAP,mBAAA,CAAAA,mBAAA"}
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -20,12 +20,15 @@ export type OfflineTracking = {
|
|
|
20
20
|
isExperiment: boolean;
|
|
21
21
|
}>;
|
|
22
22
|
};
|
|
23
|
+
export type ConsentDataType = {
|
|
24
|
+
[visitorCode: string]: boolean;
|
|
25
|
+
};
|
|
23
26
|
/**
|
|
24
27
|
* @type StorageDataType - an enumeration type which represents a data stored on SDK storage
|
|
25
28
|
*
|
|
26
29
|
* `string` represents visitor code storage with only one string value
|
|
27
30
|
* */
|
|
28
|
-
export type StorageDataType = ClientDataType | VariationDataType | OfflineTracking | string;
|
|
31
|
+
export type StorageDataType = ClientDataType | VariationDataType | OfflineTracking | ConsentDataType | string;
|
|
29
32
|
/**
|
|
30
33
|
* @interface an interface of External Constructor for Storage which must be implemented by the wrapper constructor to initialize new `IExternalStorage` in order to be able to pass necessary initialization parameters
|
|
31
34
|
* */
|
|
@@ -61,5 +64,11 @@ export interface IExternalStorage<T> {
|
|
|
61
64
|
* @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`
|
|
62
65
|
* */
|
|
63
66
|
write: (data: T) => Result<void, KameleoonError>;
|
|
67
|
+
/**
|
|
68
|
+
* @method update - adds new data to existing data in storage
|
|
69
|
+
* @param {Partial<T>} data - representation of any generic partial data type
|
|
70
|
+
* @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`
|
|
71
|
+
* */
|
|
72
|
+
update: (data: Partial<T>) => Result<void, KameleoonError>;
|
|
64
73
|
}
|
|
65
74
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../src/storage/types.ts"],"sourcesContent":["import { Result } from 'ts-res';\nimport { ConfigurationDataType } from 'src/clientConfiguration';\nimport { KameleoonError } from 'src/kameleoonError';\nimport { KameleoonStorageKey } from './constants';\nimport {\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\n\nexport type ClientDataType = {\n data: ConfigurationDataType;\n lastUpdate: string;\n};\n\nexport type FeatureFlagVariationsType = {\n [experimentId: string]: number;\n};\n\nexport type VariationDataType = {\n [visitorCode: string]: FeatureFlagVariationsType;\n};\n\ntype OfflineTrackingParameters =\n | TrackDataParamsType\n | TrackExperimentParamsType;\n\nexport type OfflineTracking = {\n requestParameters?: Array<\n OfflineTrackingParameters & { timestamp: number; isExperiment: boolean }\n >;\n};\n\n/**\n * @type StorageDataType - an enumeration type which represents a data stored on SDK storage\n *\n * `string` represents visitor code storage with only one string value\n * */\nexport type StorageDataType =\n | ClientDataType\n | VariationDataType\n | OfflineTracking\n | string;\n\n/**\n * @interface an interface of External Constructor for Storage which must be implemented by the wrapper constructor to initialize new `IExternalStorage` in order to be able to pass necessary initialization parameters\n * */\nexport interface IExternalStorageConstructor {\n /**\n * @method initialize - creates and instance of `IExternalStorage<StorageDataType>` and returns it\n *\n * Generic needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * @param {KameleoonStorageKey} key - an enum variant containing keys for Kameleoon SDK related data stored on storage\n * @returns {IExternalStorage<StorageDataType>} an initialized instance of `IExternalStorage<StorageDataType>`\n * */\n initialize: <T extends StorageDataType>(\n key: KameleoonStorageKey,\n ) => IExternalStorage<T>;\n}\n\n/**\n * @interface an interface of External Storage which must be implemented to be used as external storage for initialized JS SDK Core.\n *\n * Generic `StorageDataType` needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * However it's not constrained strictly by `StorageDataType` to let implementer use storage as a generic for other types\n * */\nexport interface IExternalStorage<T> {\n /**\n * @property key - an Enum `KameleoonStorageKey` variant containing a key for Kameleoon SDK related data stored on storage\n * */\n readonly key: KameleoonStorageKey;\n /**\n * @method read - reads data from the storage\n * @returns {Result<T, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains `data` field with a type `T`, if not contains `error` field with a type of `KameleoonError`\n * */\n read: () => Result<T, KameleoonError>;\n /**\n * @method write - writes data to storage\n * @param {T} data - representation of any generic data type\n * @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`\n * */\n write: (data: T) => Result<void, KameleoonError>;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/storage/types.ts"],"sourcesContent":["import { Result } from 'ts-res';\nimport { ConfigurationDataType } from 'src/clientConfiguration';\nimport { KameleoonError } from 'src/kameleoonError';\nimport { KameleoonStorageKey } from './constants';\nimport {\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\n\nexport type ClientDataType = {\n data: ConfigurationDataType;\n lastUpdate: string;\n};\n\nexport type FeatureFlagVariationsType = {\n [experimentId: string]: number;\n};\n\nexport type VariationDataType = {\n [visitorCode: string]: FeatureFlagVariationsType;\n};\n\ntype OfflineTrackingParameters =\n | TrackDataParamsType\n | TrackExperimentParamsType;\n\nexport type OfflineTracking = {\n requestParameters?: Array<\n OfflineTrackingParameters & { timestamp: number; isExperiment: boolean }\n >;\n};\n\nexport type ConsentDataType = {\n [visitorCode: string]: boolean;\n};\n\n/**\n * @type StorageDataType - an enumeration type which represents a data stored on SDK storage\n *\n * `string` represents visitor code storage with only one string value\n * */\nexport type StorageDataType =\n | ClientDataType\n | VariationDataType\n | OfflineTracking\n | ConsentDataType\n | string;\n\n/**\n * @interface an interface of External Constructor for Storage which must be implemented by the wrapper constructor to initialize new `IExternalStorage` in order to be able to pass necessary initialization parameters\n * */\nexport interface IExternalStorageConstructor {\n /**\n * @method initialize - creates and instance of `IExternalStorage<StorageDataType>` and returns it\n *\n * Generic needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * @param {KameleoonStorageKey} key - an enum variant containing keys for Kameleoon SDK related data stored on storage\n * @returns {IExternalStorage<StorageDataType>} an initialized instance of `IExternalStorage<StorageDataType>`\n * */\n initialize: <T extends StorageDataType>(\n key: KameleoonStorageKey,\n ) => IExternalStorage<T>;\n}\n\n/**\n * @interface an interface of External Storage which must be implemented to be used as external storage for initialized JS SDK Core.\n *\n * Generic `StorageDataType` needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * However it's not constrained strictly by `StorageDataType` to let implementer use storage as a generic for other types\n * */\nexport interface IExternalStorage<T> {\n /**\n * @property key - an Enum `KameleoonStorageKey` variant containing a key for Kameleoon SDK related data stored on storage\n * */\n readonly key: KameleoonStorageKey;\n /**\n * @method read - reads data from the storage\n * @returns {Result<T, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains `data` field with a type `T`, if not contains `error` field with a type of `KameleoonError`\n * */\n read: () => Result<T, KameleoonError>;\n /**\n * @method write - writes data to storage\n * @param {T} data - representation of any generic data type\n * @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`\n * */\n write: (data: T) => Result<void, KameleoonError>;\n /**\n * @method update - adds new data to existing data in storage\n * @param {Partial<T>} data - representation of any generic partial data type\n * @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`\n * */\n update: (data: Partial<T>) => Result<void, KameleoonError>;\n}\n"],"mappings":""}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
-
import { JSONType } from './clientConfiguration/types';
|
|
3
|
+
import { ConfigurationDataType, JSONType } from './clientConfiguration/types';
|
|
4
4
|
import { SdkLanguageType } from './constants';
|
|
5
5
|
import { IExternalEventSourceConstructor } from './eventSource';
|
|
6
6
|
import { IExternalStorageConstructor } from './storage';
|
|
7
|
-
import { IExternalRequestDispatcher
|
|
7
|
+
import { IExternalRequestDispatcher } from './requester';
|
|
8
8
|
import { VisitorDataFiltersType } from './utilities';
|
|
9
|
+
import { CookieManager } from './cookieManager';
|
|
9
10
|
/**
|
|
10
11
|
* @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute
|
|
11
12
|
* @defaultvalue 60
|
|
@@ -19,11 +20,14 @@ import { VisitorDataFiltersType } from './utilities';
|
|
|
19
20
|
* - JavaScript SDK: `undefined` (no cleanup)
|
|
20
21
|
* - React/React Native SDK: `undefined` (no cleanup)
|
|
21
22
|
* - NodeJS SDK: `30`
|
|
23
|
+
*
|
|
24
|
+
* @param {string | undefined} domain - domain which cookie belongs to
|
|
22
25
|
* */
|
|
23
26
|
export type SDKConfigurationType = {
|
|
24
27
|
updateInterval?: number;
|
|
25
28
|
environment?: Environment;
|
|
26
29
|
targetingDataCleanupInterval?: number;
|
|
30
|
+
domain?: string;
|
|
27
31
|
};
|
|
28
32
|
/**
|
|
29
33
|
* @param {string} siteCode - client's siteCode defined on Kameleoon platform
|
|
@@ -47,16 +51,18 @@ export type ExternalPackageInfoType = {
|
|
|
47
51
|
* @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization
|
|
48
52
|
* @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation
|
|
49
53
|
* @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name
|
|
50
|
-
* @param {
|
|
54
|
+
* @param {ConfigurationDataType} externalClientConfiguration - external fetched client configuration
|
|
51
55
|
* @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data
|
|
56
|
+
* @param {CookieManager} externalCookieManager - external cookie manager, used to get or generate visitor code
|
|
52
57
|
* @param {number} targetingDataCleanupInterval - interval in *minutes* for cleaning up targeting data, minimum value is 1 minute
|
|
53
58
|
* */
|
|
54
59
|
export type InternalSDKConfigurationType = {
|
|
55
60
|
externalStorage: IExternalStorageConstructor;
|
|
56
61
|
externalEventSource: IExternalEventSourceConstructor;
|
|
62
|
+
externalCookieManager: CookieManager;
|
|
57
63
|
externalPackageInfo: ExternalPackageInfoType;
|
|
58
64
|
externalRequestDispatcher: IExternalRequestDispatcher;
|
|
59
|
-
externalClientConfiguration?:
|
|
65
|
+
externalClientConfiguration?: ConfigurationDataType;
|
|
60
66
|
};
|
|
61
67
|
/**
|
|
62
68
|
* @readonly
|
|
@@ -123,7 +129,7 @@ export type TrackConversionParamsType = {
|
|
|
123
129
|
/**
|
|
124
130
|
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
125
131
|
* @param {boolean | undefined} shouldAddData - optional parameter for adding retrieved data to the storage like `addData` method does, default value is `true`
|
|
126
|
-
* @param {VisitorDataFiltersType | undefined} filters - optional parameter for specifying the filters for which data should be retrieved from what visit, by default only latest `customData` is retrieved
|
|
132
|
+
* @param {VisitorDataFiltersType | undefined} filters - optional parameter for specifying the filters for which data should be retrieved from what visit, by default only current and latest previous visits' `customData` is retrieved
|
|
127
133
|
* */
|
|
128
134
|
export type RemoteVisitorDataParamsType = {
|
|
129
135
|
visitorCode: string;
|
|
@@ -163,34 +169,38 @@ export type WarehouseAudienceType = {
|
|
|
163
169
|
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
164
170
|
* */
|
|
165
171
|
export type GetResultCookieParametersType = {
|
|
166
|
-
domain
|
|
167
|
-
visitorCode
|
|
172
|
+
domain?: string;
|
|
173
|
+
visitorCode?: string;
|
|
168
174
|
};
|
|
169
175
|
/**
|
|
170
176
|
* @param {Request} request - request object to get the cookie from
|
|
171
177
|
* @param {Response} response - response object to write the updated cookie to
|
|
172
|
-
* @param {string} domain - domain which cookie belongs to
|
|
173
178
|
* @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated
|
|
174
179
|
* */
|
|
175
180
|
export type ServerGetVisitorCodeParametersType = {
|
|
176
181
|
request: IncomingMessage;
|
|
177
182
|
response: ServerResponse;
|
|
178
|
-
domain: string;
|
|
179
183
|
defaultVisitorCode?: string;
|
|
180
184
|
};
|
|
181
185
|
/**
|
|
182
|
-
* @param {string} domain - domain which cookie belongs to
|
|
183
186
|
* @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated
|
|
184
187
|
* */
|
|
185
188
|
export type ClientGetVisitorCodeParametersType = {
|
|
186
|
-
domain: string;
|
|
187
189
|
defaultVisitorCode?: string;
|
|
188
190
|
};
|
|
189
191
|
/**
|
|
190
|
-
* @param {string
|
|
192
|
+
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
193
|
+
* @param {ServerResponse} response - response object to write the updated cookie to
|
|
191
194
|
* */
|
|
192
|
-
export type
|
|
193
|
-
|
|
195
|
+
export type ServerSetCookieParametersType = {
|
|
196
|
+
visitorCode: string;
|
|
197
|
+
response: ServerResponse;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
201
|
+
* */
|
|
202
|
+
export type ClientSetCookieParametersType = {
|
|
203
|
+
visitorCode: string;
|
|
194
204
|
};
|
|
195
205
|
export type TrackingCacheItemType = {
|
|
196
206
|
[experimentId: number]: {
|
|
@@ -198,3 +208,25 @@ export type TrackingCacheItemType = {
|
|
|
198
208
|
expirationTime: number;
|
|
199
209
|
};
|
|
200
210
|
};
|
|
211
|
+
/**
|
|
212
|
+
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
213
|
+
* @param {ServerResponse} response - response object to write the updated cookie to
|
|
214
|
+
* @param {boolean} consent - a value representing the legal consent status. - 'true' indicates the
|
|
215
|
+
* visitor has given legal consent. - 'false' indicates the visitor has withdrawn or not
|
|
216
|
+
* provided legal consent.
|
|
217
|
+
* */
|
|
218
|
+
export type ServerSetLegalConsentParametersType = {
|
|
219
|
+
visitorCode: string;
|
|
220
|
+
consent: boolean;
|
|
221
|
+
response: ServerResponse;
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters
|
|
225
|
+
* @param {boolean} consent - a value representing the legal consent status. - 'true' indicates the
|
|
226
|
+
* visitor has given legal consent. - 'false' indicates the visitor has withdrawn or not
|
|
227
|
+
* provided legal consent.
|
|
228
|
+
* */
|
|
229
|
+
export type ClientSetLegalConsentParametersType = {
|
|
230
|
+
visitorCode: string;
|
|
231
|
+
consent: boolean;
|
|
232
|
+
};
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["Environment","Production","Staging","Development","exports","VariableType","BOOLEAN","NUMBER","STRING","JSON","Milliseconds","Second","Minute","Hour","Day","Week","Month"],"sources":["../src/types.ts"],"sourcesContent":["import { IncomingMessage, ServerResponse } from 'http';\nimport { JSONType } from './clientConfiguration/types';\nimport { SdkLanguageType } from './constants';\nimport { IExternalEventSourceConstructor } from './eventSource';\nimport { IExternalStorageConstructor } from './storage';\nimport {\n IExternalRequestDispatcher,\n GetClientConfigurationResultType,\n} from './requester';\nimport { VisitorDataFiltersType } from './utilities';\n\n/**\n * @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute\n * @defaultvalue 60\n *\n * @param {Environment} environment - feature flag environment\n * @defaultvalue Environment.Production\n *\n * @param {number | undefined} targetingDataCleanupInterval - interval in _minutes_ for cleaning up targeting data, minimum value is 1 minute\n * Note: if not specified, default value will be used\n * @defaultvalue\n * - JavaScript SDK: `undefined` (no cleanup)\n * - React/React Native SDK: `undefined` (no cleanup)\n * - NodeJS SDK: `30`\n * */\nexport type SDKConfigurationType = {\n updateInterval?: number;\n environment?: Environment;\n targetingDataCleanupInterval?: number;\n};\n\n/**\n * @param {string} siteCode - client's siteCode defined on Kameleoon platform\n * @param {Partial<SDKConfigurationType>} configuration - client's configuration\n * @param {InternalSDKConfigurationType} internalConfiguration - internal configuration for sdk core to be initialized with certain parameters to certain type of JavaScript SDK\n * */\nexport type SDKCoreParameters = {\n siteCode: string;\n configuration?: Partial<SDKConfigurationType>;\n internalConfiguration: InternalSDKConfigurationType;\n};\n\n/**\n * @param {SdkLanguageType} type - type of the SDK\n * @param {string} version - version of the package\n * */\nexport type ExternalPackageInfoType = {\n type: SdkLanguageType;\n version: string;\n};\n\n/**\n * @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization\n * @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation\n * @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name\n * @param {GetClientConfigurationResultType} externalClientConfiguration - external fetched client configuration\n * @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data\n * @param {number} targetingDataCleanupInterval - interval in *minutes* for cleaning up targeting data, minimum value is 1 minute\n * */\nexport type InternalSDKConfigurationType = {\n externalStorage: IExternalStorageConstructor;\n externalEventSource: IExternalEventSourceConstructor;\n externalPackageInfo: ExternalPackageInfoType;\n externalRequestDispatcher: IExternalRequestDispatcher;\n externalClientConfiguration?: GetClientConfigurationResultType;\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants of environment, passed as an argument to KameleoonClient `configuration`s `environment` field\n * */\nexport enum Environment {\n Production = 'production',\n Staging = 'staging',\n Development = 'development',\n}\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants of feature variable types\n * */\nexport enum VariableType {\n BOOLEAN = 'BOOLEAN',\n NUMBER = 'NUMBER',\n STRING = 'STRING',\n JSON = 'JSON',\n}\n\nexport type BooleanVariableType = {\n type: VariableType.BOOLEAN;\n value: boolean;\n};\nexport type NumberVariableType = { type: VariableType.NUMBER; value: number };\nexport type StringVariableType = { type: VariableType.STRING; value: string };\nexport type JSONVariableType = { type: VariableType.JSON; value: JSONType };\n\n/**\n * @type FeatureVariableResultType - tuple of possible feature variable result types, each possible variation is an object containing `type` and `value` fields, `type` can be checked against `FeatureVariableType` enum, if the `type` is `FeatureVariableType.BOOLEAN` then the `value` type will be `boolean` and so on.\n * */\nexport type FeatureVariableResultType =\n | BooleanVariableType\n | NumberVariableType\n | StringVariableType\n | JSONVariableType;\n\n/**\n * @readonly\n * @enum {number} a helper Enum for getting milliseconds for a second/minute/hour/day/week/month.\n * Month is considered in average of 30 days\n * */\nexport enum Milliseconds {\n Second = 1000,\n Minute = 60 * Milliseconds.Second,\n Hour = 60 * Milliseconds.Minute,\n Day = 24 * Milliseconds.Hour,\n Week = 7 * Milliseconds.Day,\n Month = 30 * Milliseconds.Day,\n}\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {number} goalId - an id of a goal to track\n * @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`\n * */\nexport type TrackConversionParamsType = {\n visitorCode: string;\n goalId: number;\n revenue?: number;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {boolean | undefined} shouldAddData - optional parameter for adding retrieved data to the storage like `addData` method does, default value is `true`\n * @param {VisitorDataFiltersType | undefined} filters - optional parameter for specifying the filters for which data should be retrieved from what visit, by default only latest `customData` is retrieved\n * */\nexport type RemoteVisitorDataParamsType = {\n visitorCode: string;\n shouldAddData?: boolean;\n filters?: VisitorDataFiltersType;\n};\n\nexport type FeatureFlagType = {\n id: number;\n key: string;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {string} featureKey - key of the feature flag to look for, can be found on Kameleoon Platform\n * @param {string} variableKey - key of the variable to be found for a feature flag with provided `featureKey`, can be found on Kameleoon Platform\n * */\nexport type GetFeatureFlagVariableParamsType = {\n visitorCode: string;\n featureKey: string;\n variableKey: string;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length\n * @param {number} customDataIndex - index of the custom data in the warehouse audience\n * @param {string | undefined} warehouseKey - unique key to identify the warehouse data (usually internal user ID)\n * If not specified, the `visitorCode` will be used as a `warehouseKey`\n * */\nexport type GetVisitorWarehouseAudienceParamsType = {\n visitorCode: string;\n customDataIndex: number;\n warehouseKey?: string;\n};\n\nexport type WarehouseAudienceType = {\n // --- Note ---\n // Using `unknown` type here because we don't care about the type of the value\n warehouseAudiences: Record<string, unknown>;\n};\n\n/**\n * @param {string} domain - domain which cookie belongs to\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * */\nexport type GetResultCookieParametersType = {\n domain: string;\n visitorCode: string;\n};\n\n/**\n * @param {Request} request - request object to get the cookie from\n * @param {Response} response - response object to write the updated cookie to\n * @param {string} domain - domain which cookie belongs to\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type ServerGetVisitorCodeParametersType = {\n request: IncomingMessage;\n response: ServerResponse;\n domain: string;\n defaultVisitorCode?: string;\n};\n\n/**\n * @param {string} domain - domain which cookie belongs to\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type ClientGetVisitorCodeParametersType = {\n domain: string;\n defaultVisitorCode?: string;\n};\n\n/**\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type MobileGetVisitorCodeParametersType = {\n defaultVisitorCode?: string;\n};\n\nexport type TrackingCacheItemType = {\n [experimentId: number]: { variationId: number; expirationTime: number };\n};\n"],"mappings":"4IAuEY,CAAAA,WAAW,UAAXA,CAAW,QAAX,CAAAA,CAAW,CAAAC,UAAA,cAAXD,CAAW,CAAAE,OAAA,WAAXF,CAAW,CAAAG,WAAA,eAAXH,CAAW,MAAAI,OAAA,CAAAJ,WAAA,CAAAA,WAAA,IAUX,CAAAK,YAAY,UAAZA,CAAY,QAAZ,CAAAA,CAAY,CAAAC,OAAA,WAAZD,CAAY,CAAAE,MAAA,UAAZF,CAAY,CAAAG,MAAA,UAAZH,CAAY,CAAAI,IAAA,QAAZJ,CAAY,MAAAD,OAAA,CAAAC,YAAA,CAAAA,YAAA,IA6BZ,CAAAK,YAAY,UAAZA,CAAY,QAAZ,CAAAA,CAAY,CAAZA,CAAY,CAAAC,MAAA,gBAAZD,CAAY,CAAZA,CAAY,CAAAE,MAAA,CAEb,EAAE,CAAGF,CAAY,CAACC,MAAM,WAFvBD,CAAY,CAAZA,CAAY,CAAAG,IAAA,CAGf,EAAE,CAAGH,CAAY,CAACE,MAAM,SAHrBF,CAAY,CAAZA,CAAY,CAAAI,GAAA,CAIhB,EAAE,CAAGJ,CAAY,CAACG,IAAI,QAJlBH,CAAY,CAAZA,CAAY,CAAAK,IAAA,CAKf,CAAC,CAAGL,CAAY,CAACI,GAAG,SALjBJ,CAAY,CAAZA,CAAY,CAAAM,KAAA,CAMd,EAAE,CAAGN,CAAY,CAACI,GAAG,UANnBJ,CAAY,MAAAN,OAAA,CAAAM,YAAA,CAAAA,YAAA"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["Environment","Production","Staging","Development","exports","VariableType","BOOLEAN","NUMBER","STRING","JSON","Milliseconds","Second","Minute","Hour","Day","Week","Month"],"sources":["../src/types.ts"],"sourcesContent":["import { IncomingMessage, ServerResponse } from 'http';\nimport { ConfigurationDataType, JSONType } from './clientConfiguration/types';\nimport { SdkLanguageType } from './constants';\nimport { IExternalEventSourceConstructor } from './eventSource';\nimport { IExternalStorageConstructor } from './storage';\nimport { IExternalRequestDispatcher } from './requester';\nimport { VisitorDataFiltersType } from './utilities';\nimport { CookieManager } from './cookieManager';\n\n/**\n * @param {number} updateInterval - update interval in _minutes_ for sdk configuration, minimum value is 1 minute\n * @defaultvalue 60\n *\n * @param {Environment} environment - feature flag environment\n * @defaultvalue Environment.Production\n *\n * @param {number | undefined} targetingDataCleanupInterval - interval in _minutes_ for cleaning up targeting data, minimum value is 1 minute\n * Note: if not specified, default value will be used\n * @defaultvalue\n * - JavaScript SDK: `undefined` (no cleanup)\n * - React/React Native SDK: `undefined` (no cleanup)\n * - NodeJS SDK: `30`\n *\n * @param {string | undefined} domain - domain which cookie belongs to\n * */\nexport type SDKConfigurationType = {\n updateInterval?: number;\n environment?: Environment;\n targetingDataCleanupInterval?: number;\n domain?: string;\n};\n\n/**\n * @param {string} siteCode - client's siteCode defined on Kameleoon platform\n * @param {Partial<SDKConfigurationType>} configuration - client's configuration\n * @param {InternalSDKConfigurationType} internalConfiguration - internal configuration for sdk core to be initialized with certain parameters to certain type of JavaScript SDK\n * */\nexport type SDKCoreParameters = {\n siteCode: string;\n configuration?: Partial<SDKConfigurationType>;\n internalConfiguration: InternalSDKConfigurationType;\n};\n\n/**\n * @param {SdkLanguageType} type - type of the SDK\n * @param {string} version - version of the package\n * */\nexport type ExternalPackageInfoType = {\n type: SdkLanguageType;\n version: string;\n};\n\n/**\n * @param {IExternalStorage | undefined} externalStorage - external file system storage implemented outside client initialization\n * @param {IExternalEventSourceConstructor | undefined} externalEventSource - constructor for building external event source implementation\n * @param {ExternalPackageInfoType} externalPackageInfo - external package info, used to get package version and name\n * @param {ConfigurationDataType} externalClientConfiguration - external fetched client configuration\n * @param {IExternalRequestDispatcher} externalRequestDispatcher - external request dispatcher, used to track data or get data\n * @param {CookieManager} externalCookieManager - external cookie manager, used to get or generate visitor code\n * @param {number} targetingDataCleanupInterval - interval in *minutes* for cleaning up targeting data, minimum value is 1 minute\n * */\nexport type InternalSDKConfigurationType = {\n externalStorage: IExternalStorageConstructor;\n externalEventSource: IExternalEventSourceConstructor;\n externalCookieManager: CookieManager;\n externalPackageInfo: ExternalPackageInfoType;\n externalRequestDispatcher: IExternalRequestDispatcher;\n externalClientConfiguration?: ConfigurationDataType;\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants of environment, passed as an argument to KameleoonClient `configuration`s `environment` field\n * */\nexport enum Environment {\n Production = 'production',\n Staging = 'staging',\n Development = 'development',\n}\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants of feature variable types\n * */\nexport enum VariableType {\n BOOLEAN = 'BOOLEAN',\n NUMBER = 'NUMBER',\n STRING = 'STRING',\n JSON = 'JSON',\n}\n\nexport type BooleanVariableType = {\n type: VariableType.BOOLEAN;\n value: boolean;\n};\nexport type NumberVariableType = { type: VariableType.NUMBER; value: number };\nexport type StringVariableType = { type: VariableType.STRING; value: string };\nexport type JSONVariableType = { type: VariableType.JSON; value: JSONType };\n\n/**\n * @type FeatureVariableResultType - tuple of possible feature variable result types, each possible variation is an object containing `type` and `value` fields, `type` can be checked against `FeatureVariableType` enum, if the `type` is `FeatureVariableType.BOOLEAN` then the `value` type will be `boolean` and so on.\n * */\nexport type FeatureVariableResultType =\n | BooleanVariableType\n | NumberVariableType\n | StringVariableType\n | JSONVariableType;\n\n/**\n * @readonly\n * @enum {number} a helper Enum for getting milliseconds for a second/minute/hour/day/week/month.\n * Month is considered in average of 30 days\n * */\nexport enum Milliseconds {\n Second = 1000,\n Minute = 60 * Milliseconds.Second,\n Hour = 60 * Milliseconds.Minute,\n Day = 24 * Milliseconds.Hour,\n Week = 7 * Milliseconds.Day,\n Month = 30 * Milliseconds.Day,\n}\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {number} goalId - an id of a goal to track\n * @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`\n * */\nexport type TrackConversionParamsType = {\n visitorCode: string;\n goalId: number;\n revenue?: number;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {boolean | undefined} shouldAddData - optional parameter for adding retrieved data to the storage like `addData` method does, default value is `true`\n * @param {VisitorDataFiltersType | undefined} filters - optional parameter for specifying the filters for which data should be retrieved from what visit, by default only current and latest previous visits' `customData` is retrieved\n * */\nexport type RemoteVisitorDataParamsType = {\n visitorCode: string;\n shouldAddData?: boolean;\n filters?: VisitorDataFiltersType;\n};\n\nexport type FeatureFlagType = {\n id: number;\n key: string;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {string} featureKey - key of the feature flag to look for, can be found on Kameleoon Platform\n * @param {string} variableKey - key of the variable to be found for a feature flag with provided `featureKey`, can be found on Kameleoon Platform\n * */\nexport type GetFeatureFlagVariableParamsType = {\n visitorCode: string;\n featureKey: string;\n variableKey: string;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length\n * @param {number} customDataIndex - index of the custom data in the warehouse audience\n * @param {string | undefined} warehouseKey - unique key to identify the warehouse data (usually internal user ID)\n * If not specified, the `visitorCode` will be used as a `warehouseKey`\n * */\nexport type GetVisitorWarehouseAudienceParamsType = {\n visitorCode: string;\n customDataIndex: number;\n warehouseKey?: string;\n};\n\nexport type WarehouseAudienceType = {\n // --- Note ---\n // Using `unknown` type here because we don't care about the type of the value\n warehouseAudiences: Record<string, unknown>;\n};\n\n/**\n * @param {string} domain - domain which cookie belongs to\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * */\nexport type GetResultCookieParametersType = {\n domain?: string;\n visitorCode?: string;\n};\n\n/**\n * @param {Request} request - request object to get the cookie from\n * @param {Response} response - response object to write the updated cookie to\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type ServerGetVisitorCodeParametersType = {\n request: IncomingMessage;\n response: ServerResponse;\n defaultVisitorCode?: string;\n};\n\n/**\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * */\nexport type ClientGetVisitorCodeParametersType = {\n defaultVisitorCode?: string;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {ServerResponse} response - response object to write the updated cookie to\n * */\nexport type ServerSetCookieParametersType = {\n visitorCode: string;\n response: ServerResponse;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * */\nexport type ClientSetCookieParametersType = {\n visitorCode: string;\n};\n\nexport type TrackingCacheItemType = {\n [experimentId: number]: { variationId: number; expirationTime: number };\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {ServerResponse} response - response object to write the updated cookie to\n * @param {boolean} consent - a value representing the legal consent status. - 'true' indicates the\n * visitor has given legal consent. - 'false' indicates the visitor has withdrawn or not\n * provided legal consent.\n * */\nexport type ServerSetLegalConsentParametersType = {\n visitorCode: string;\n consent: boolean;\n response: ServerResponse;\n};\n\n/**\n * @param {string} visitorCode - unique visitor identifier, shouldn't exceed 255 characters\n * @param {boolean} consent - a value representing the legal consent status. - 'true' indicates the\n * visitor has given legal consent. - 'false' indicates the visitor has withdrawn or not\n * provided legal consent.\n * */\nexport type ClientSetLegalConsentParametersType = {\n visitorCode: string;\n consent: boolean;\n};\n"],"mappings":"4IA0EY,CAAAA,WAAW,UAAXA,CAAW,QAAX,CAAAA,CAAW,CAAAC,UAAA,cAAXD,CAAW,CAAAE,OAAA,WAAXF,CAAW,CAAAG,WAAA,eAAXH,CAAW,MAAAI,OAAA,CAAAJ,WAAA,CAAAA,WAAA,IAUX,CAAAK,YAAY,UAAZA,CAAY,QAAZ,CAAAA,CAAY,CAAAC,OAAA,WAAZD,CAAY,CAAAE,MAAA,UAAZF,CAAY,CAAAG,MAAA,UAAZH,CAAY,CAAAI,IAAA,QAAZJ,CAAY,MAAAD,OAAA,CAAAC,YAAA,CAAAA,YAAA,IA6BZ,CAAAK,YAAY,UAAZA,CAAY,QAAZ,CAAAA,CAAY,CAAZA,CAAY,CAAAC,MAAA,gBAAZD,CAAY,CAAZA,CAAY,CAAAE,MAAA,CAEb,EAAE,CAAGF,CAAY,CAACC,MAAM,WAFvBD,CAAY,CAAZA,CAAY,CAAAG,IAAA,CAGf,EAAE,CAAGH,CAAY,CAACE,MAAM,SAHrBF,CAAY,CAAZA,CAAY,CAAAI,GAAA,CAIhB,EAAE,CAAGJ,CAAY,CAACG,IAAI,QAJlBH,CAAY,CAAZA,CAAY,CAAAK,IAAA,CAKf,CAAC,CAAGL,CAAY,CAACI,GAAG,SALjBJ,CAAY,CAAZA,CAAY,CAAAM,KAAA,CAMd,EAAE,CAAGN,CAAY,CAACI,GAAG,UANnBJ,CAAY,MAAAN,OAAA,CAAAM,YAAA,CAAAA,YAAA"}
|
|
@@ -45,6 +45,7 @@ export type TrackRuleParametersType = {
|
|
|
45
45
|
dataManager: DataManager;
|
|
46
46
|
visitorCode: string;
|
|
47
47
|
requester: Requester;
|
|
48
|
+
isConsentProvided: boolean;
|
|
48
49
|
userAgent?: string;
|
|
49
50
|
isOfflineModeOn?: boolean;
|
|
50
51
|
offlineTrackingStorage: IExternalStorage<OfflineTracking>;
|
|
@@ -59,6 +60,7 @@ export type TrackDataParametersType = {
|
|
|
59
60
|
visitorCode: string;
|
|
60
61
|
dataManager: DataManager;
|
|
61
62
|
requester: Requester;
|
|
63
|
+
isConsentProvided: boolean;
|
|
62
64
|
isOfflineModeOn?: boolean;
|
|
63
65
|
offlineTrackingStorage: IExternalStorage<OfflineTracking>;
|
|
64
66
|
};
|
|
@@ -86,9 +88,16 @@ export type DeleteFromOfflineTrackingParametersType = {
|
|
|
86
88
|
timestamps: number[];
|
|
87
89
|
storage: IExternalStorage<OfflineTracking>;
|
|
88
90
|
};
|
|
91
|
+
export type GetDataUrlParametersType = {
|
|
92
|
+
visitorCode: string;
|
|
93
|
+
dataManager: DataManager;
|
|
94
|
+
isConsentProvided: boolean;
|
|
95
|
+
};
|
|
89
96
|
/**
|
|
90
|
-
* @param {number}
|
|
97
|
+
* @param {number} previousVisitAmount - Number of previous visits to retrieve data from. Number between `1` and `25`
|
|
91
98
|
* *Default*: `1`.
|
|
99
|
+
* @param {number} currentVisit - If true, current visit data will be retrieved.
|
|
100
|
+
* *Default*: `true`.
|
|
92
101
|
* @param {boolean} customData - If true, custom data will be retrieved.
|
|
93
102
|
* *Default*: `true`.
|
|
94
103
|
* @param {boolean} pageViews - If true, page data will be retrieved.
|
|
@@ -107,7 +116,8 @@ export type DeleteFromOfflineTrackingParametersType = {
|
|
|
107
116
|
* *Default*: `false`.
|
|
108
117
|
* */
|
|
109
118
|
export type VisitorDataFiltersType = {
|
|
110
|
-
|
|
119
|
+
previousVisitAmount?: number;
|
|
120
|
+
currentVisit?: boolean;
|
|
111
121
|
pageViews?: boolean;
|
|
112
122
|
geolocation?: boolean;
|
|
113
123
|
device?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["TimeUnit","Minute","Hour","Day","Week","Month","exports","Order","Ascending","Descending"],"sources":["../../src/utilities/types.ts"],"sourcesContent":["import { CacheManager } from 'src/cacheManager';\nimport { ClientConfiguration } from 'src/clientConfiguration';\nimport { DataManager } from 'src/kameleoonData';\nimport { KameleoonVisitorDataType } from 'src/kameleoonData/types';\nimport { Requester } from 'src/requester';\nimport {\n GetVisitorDataResultType,\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\nimport { IExternalStorage, OfflineTracking } from 'src/storage/types';\nimport { SegmentType } from 'src/targeting';\nimport { ExternalPackageInfoType, TrackingCacheItemType } from 'src/types';\nimport {\n VariationConfiguration,\n FeatureFlagVariationType,\n} from 'src/variationConfiguration';\n\nexport type CheckTargetingParametersType = {\n segment: SegmentType | null;\n experimentId: number | null;\n visitorCode: string;\n packageInfo: ExternalPackageInfoType;\n targetingData: KameleoonVisitorDataType;\n clientConfiguration: ClientConfiguration;\n variationConfiguration?: VariationConfiguration;\n dataManager: DataManager;\n};\n\nexport enum TimeUnit {\n Minute = 'MINUTE',\n Hour = 'HOUR',\n Day = 'DAY',\n Week = 'WEEK',\n Month = 'MONTH',\n}\n\nexport enum Order {\n Ascending = 'asc',\n Descending = 'desc',\n}\n\nexport type InsertInOrderedListParametersType = {\n list: number[];\n element: number;\n order: Order;\n};\n\nexport type ParseVisitorDataParametersType = {\n data: GetVisitorDataResultType;\n filters: VisitorDataFiltersType;\n visitorCode: string;\n variationConfiguration: VariationConfiguration;\n};\n\nexport type TrackRuleParametersType = {\n featureFlagVariation: FeatureFlagVariationType;\n dataManager: DataManager;\n visitorCode: string;\n requester: Requester;\n userAgent?: string;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IExternalStorage<OfflineTracking>;\n};\n\nexport type ManageCacheParametersType = {\n cacheManager: CacheManager<TrackingCacheItemType>;\n visitorCode: string;\n experimentId: number;\n variationId: number;\n};\n\nexport type TrackDataParametersType = {\n visitorCode: string;\n dataManager: DataManager;\n requester: Requester;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IExternalStorage<OfflineTracking>;\n};\n\nexport type TrackExperimentParametersType = {\n clientConfiguration: ClientConfiguration;\n visitorCode: string;\n requester: Requester;\n variationId: number;\n experimentId: number;\n isUnallocated: boolean;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IExternalStorage<OfflineTracking>;\n};\n\nexport type AddToOfflineTrackingParametersType = {\n item: TrackExperimentParamsType | TrackDataParamsType;\n isExperiment: boolean;\n storage: IExternalStorage<OfflineTracking>;\n onSuccess?: () => void;\n};\n\nexport type SendOfflineTrackingParametersType = {\n storage: IExternalStorage<OfflineTracking>;\n requester: Requester;\n};\n\nexport type DeleteFromOfflineTrackingParametersType = {\n timestamps: number[];\n storage: IExternalStorage<OfflineTracking>;\n};\n\n/**\n * @param {number}
|
|
1
|
+
{"version":3,"file":"types.js","names":["TimeUnit","Minute","Hour","Day","Week","Month","exports","Order","Ascending","Descending"],"sources":["../../src/utilities/types.ts"],"sourcesContent":["import { CacheManager } from 'src/cacheManager';\nimport { ClientConfiguration } from 'src/clientConfiguration';\nimport { DataManager } from 'src/kameleoonData';\nimport { KameleoonVisitorDataType } from 'src/kameleoonData/types';\nimport { Requester } from 'src/requester';\nimport {\n GetVisitorDataResultType,\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\nimport { IExternalStorage, OfflineTracking } from 'src/storage/types';\nimport { SegmentType } from 'src/targeting';\nimport { ExternalPackageInfoType, TrackingCacheItemType } from 'src/types';\nimport {\n VariationConfiguration,\n FeatureFlagVariationType,\n} from 'src/variationConfiguration';\n\nexport type CheckTargetingParametersType = {\n segment: SegmentType | null;\n experimentId: number | null;\n visitorCode: string;\n packageInfo: ExternalPackageInfoType;\n targetingData: KameleoonVisitorDataType;\n clientConfiguration: ClientConfiguration;\n variationConfiguration?: VariationConfiguration;\n dataManager: DataManager;\n};\n\nexport enum TimeUnit {\n Minute = 'MINUTE',\n Hour = 'HOUR',\n Day = 'DAY',\n Week = 'WEEK',\n Month = 'MONTH',\n}\n\nexport enum Order {\n Ascending = 'asc',\n Descending = 'desc',\n}\n\nexport type InsertInOrderedListParametersType = {\n list: number[];\n element: number;\n order: Order;\n};\n\nexport type ParseVisitorDataParametersType = {\n data: GetVisitorDataResultType;\n filters: VisitorDataFiltersType;\n visitorCode: string;\n variationConfiguration: VariationConfiguration;\n};\n\nexport type TrackRuleParametersType = {\n featureFlagVariation: FeatureFlagVariationType;\n dataManager: DataManager;\n visitorCode: string;\n requester: Requester;\n isConsentProvided: boolean;\n userAgent?: string;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IExternalStorage<OfflineTracking>;\n};\n\nexport type ManageCacheParametersType = {\n cacheManager: CacheManager<TrackingCacheItemType>;\n visitorCode: string;\n experimentId: number;\n variationId: number;\n};\n\nexport type TrackDataParametersType = {\n visitorCode: string;\n dataManager: DataManager;\n requester: Requester;\n isConsentProvided: boolean;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IExternalStorage<OfflineTracking>;\n};\n\nexport type TrackExperimentParametersType = {\n clientConfiguration: ClientConfiguration;\n visitorCode: string;\n requester: Requester;\n variationId: number;\n experimentId: number;\n isUnallocated: boolean;\n isOfflineModeOn?: boolean;\n offlineTrackingStorage: IExternalStorage<OfflineTracking>;\n};\n\nexport type AddToOfflineTrackingParametersType = {\n item: TrackExperimentParamsType | TrackDataParamsType;\n isExperiment: boolean;\n storage: IExternalStorage<OfflineTracking>;\n onSuccess?: () => void;\n};\n\nexport type SendOfflineTrackingParametersType = {\n storage: IExternalStorage<OfflineTracking>;\n requester: Requester;\n};\n\nexport type DeleteFromOfflineTrackingParametersType = {\n timestamps: number[];\n storage: IExternalStorage<OfflineTracking>;\n};\n\nexport type GetDataUrlParametersType = {\n visitorCode: string;\n dataManager: DataManager;\n isConsentProvided: boolean;\n};\n\n/**\n * @param {number} previousVisitAmount - Number of previous visits to retrieve data from. Number between `1` and `25`\n * *Default*: `1`.\n * @param {number} currentVisit - If true, current visit data will be retrieved.\n * *Default*: `true`.\n * @param {boolean} customData - If true, custom data will be retrieved.\n * *Default*: `true`.\n * @param {boolean} pageViews - If true, page data will be retrieved.\n * *Default*: `false`.\n * @param {boolean} geolocation - If true, geolocation data will be retrieved.\n * *Default*: `false`.\n * @param {boolean} device - If true, device data will be retrieved.\n * *Default*: `false`.\n * @param {boolean} browser - If true, browser data will be retrieved.\n * *Default*: `false`.\n * @param {boolean} operatingSystem - If true, operating system data will be retrieved.\n * *Default*: `false`.\n * @param {boolean} conversions - If true, conversion data will be retrieved.\n * *Default*: `false`.\n * @param {boolean} experiments - If true, experiment data will be retrieved.\n * *Default*: `false`.\n * */\nexport type VisitorDataFiltersType = {\n previousVisitAmount?: number;\n currentVisit?: boolean;\n pageViews?: boolean;\n geolocation?: boolean;\n device?: boolean;\n browser?: boolean;\n operatingSystem?: boolean;\n customData?: boolean;\n conversions?: boolean;\n experiments?: boolean;\n};\n"],"mappings":"6GA6BY,CAAAA,QAAQ,UAARA,CAAQ,QAAR,CAAAA,CAAQ,CAAAC,MAAA,UAARD,CAAQ,CAAAE,IAAA,QAARF,CAAQ,CAAAG,GAAA,OAARH,CAAQ,CAAAI,IAAA,QAARJ,CAAQ,CAAAK,KAAA,SAARL,CAAQ,MAAAM,OAAA,CAAAN,QAAA,CAAAA,QAAA,IAQR,CAAAO,KAAK,UAALA,CAAK,QAAL,CAAAA,CAAK,CAAAC,SAAA,OAALD,CAAK,CAAAE,UAAA,QAALF,CAAK,MAAAD,OAAA,CAAAC,KAAA,CAAAA,KAAA"}
|