@kameleoon/javascript-sdk-core 3.2.1 → 3.4.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 +2 -2
- package/dist/clientConfiguration/clientConfiguration.js +1 -1
- package/dist/clientConfiguration/clientConfiguration.js.map +1 -1
- package/dist/clientConfiguration/types.d.ts +2 -2
- package/dist/clientConfiguration/types.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kameleoonClient.d.ts +15 -27
- package/dist/kameleoonClient.js +1 -1
- package/dist/kameleoonClient.js.map +1 -1
- package/dist/kameleoonData/dataManager.js +1 -1
- package/dist/kameleoonData/dataManager.js.map +1 -1
- package/dist/kameleoonData/dataProcessor.js +1 -1
- package/dist/kameleoonData/dataProcessor.js.map +1 -1
- package/dist/kameleoonError/constants.js +1 -1
- package/dist/kameleoonError/constants.js.map +1 -1
- package/dist/kameleoonUtils.js +1 -1
- package/dist/kameleoonUtils.js.map +1 -1
- package/dist/requester/constants.d.ts +3 -1
- 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 +4 -4
- package/dist/requester/requester.js +1 -1
- package/dist/requester/requester.js.map +1 -1
- package/dist/requester/types.d.ts +11 -7
- package/dist/requester/types.js +1 -1
- package/dist/requester/types.js.map +1 -1
- package/dist/storage/types.d.ts +5 -1
- package/dist/storage/types.js.map +1 -1
- package/dist/targeting/conditions/targetFeatureFlag.js +1 -1
- package/dist/targeting/conditions/targetFeatureFlag.js.map +1 -1
- package/dist/types.d.ts +26 -48
- package/dist/types.js.map +1 -1
- package/dist/utilities/types.d.ts +7 -0
- package/dist/utilities/types.js.map +1 -1
- package/dist/utilities/utilities.d.ts +5 -9
- package/dist/utilities/utilities.js +1 -1
- package/dist/utilities/utilities.js.map +1 -1
- package/dist/variationConfiguration/types.d.ts +6 -1
- package/dist/variationConfiguration/types.js.map +1 -1
- package/dist/variationConfiguration/variationConfiguration.d.ts +11 -1
- package/dist/variationConfiguration/variationConfiguration.js +1 -1
- package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
- package/dist/visitorCodeManager/index.d.ts +1 -0
- package/dist/visitorCodeManager/index.js +2 -0
- package/dist/visitorCodeManager/index.js.map +1 -0
- package/dist/visitorCodeManager/visitorCodeManager.d.ts +14 -0
- package/dist/visitorCodeManager/visitorCodeManager.js +2 -0
- package/dist/visitorCodeManager/visitorCodeManager.js.map +1 -0
- package/package.json +1 -1
- package/dist/cookieManager/cookieManager.d.ts +0 -16
- package/dist/cookieManager/cookieManager.js +0 -2
- package/dist/cookieManager/cookieManager.js.map +0 -1
- package/dist/cookieManager/index.d.ts +0 -1
- package/dist/cookieManager/index.js +0 -2
- package/dist/cookieManager/index.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VisitorCodeManager=void 0;var _tsRes=require("ts-res"),_constants=require("../constants"),_utilities=require("../utilities");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 _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _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 VisitorCodeManager=function(){function a(){_classCallCheck(this,a),_defineProperty(this,"isConsentRequired",!1)}return _createClass(a,[{key:"setConsentRequired",value:function setConsentRequired(a){this.isConsentRequired=a}},{key:"getConsentRequired",value:function getConsentRequired(){return this.isConsentRequired}},{key:"getVisitorCode",value:function getVisitorCode(a){var b=a.defaultVisitorCode,c=a.setData,d=a.getData,e=d();if(e)return e;var f=b;return f?_utilities.Utilities.validateVisitorCode(f).throw():f=_utilities.Utilities.generateRandomString(_constants.VISITOR_CODE_LENGTH),this.isConsentRequired||c(f),f}},{key:"getCookieVisitorCode",value:function getCookieVisitorCode(a){var b=a.split(_constants.CookieParameter.PairsDelimiter).find(function findCookieValue(a){var b=a.split(_constants.CookieParameter.KeyValueDelimiter),c=_slicedToArray(b,2),d=c[0],e=c[1];return d===_constants.KAMELEOON_COOKIE_KEY&&""!==e});if(b){var c=b.split(_constants.CookieParameter.KeyValueDelimiter),d=_slicedToArray(c,2),e=d[0],f=d[1];return(0,_tsRes.Ok)(f)}return(0,_tsRes.Err)()}},{key:"getResultCookie",value:function getResultCookie(a){var b=a.domain,c=a.visitorCode,d=c?31536000:0,e=[_constants.KAMELEOON_COOKIE_KEY+_constants.CookieParameter.KeyValueDelimiter+c,_constants.CookieParameter.MaxAge+_constants.CookieParameter.KeyValueDelimiter+d,_constants.CookieParameter.Path+_constants.CookieParameter.KeyValueDelimiter+"/"];return b&&e.push(_constants.CookieParameter.Domain+_constants.CookieParameter.KeyValueDelimiter+b),e.join(_constants.CookieParameter.PairsDelimiter)}}]),a}();exports.VisitorCodeManager=VisitorCodeManager;
|
|
2
|
+
//# sourceMappingURL=visitorCodeManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitorCodeManager.js","names":["VisitorCodeManager","a","_classCallCheck","_defineProperty","_createClass","key","value","setConsentRequired","consentRequired","isConsentRequired","getConsentRequired","getVisitorCode","defaultVisitorCode","setData","getData","existingVisitorCode","visitorCode","Utilities","validateVisitorCode","throw","generateRandomString","VISITOR_CODE_LENGTH","getCookieVisitorCode","cookie","cookiePair","split","Cookie","PairsDelimiter","find","findCookieValue","pair","b","KeyValueDelimiter","c","_slicedToArray","KAMELEOON_COOKIE_KEY","d","_","Ok","Err","getResultCookie","domain","maxAge","cookieArray","MaxAge","Path","push","Domain","join","exports"],"sources":["../../src/visitorCodeManager/visitorCodeManager.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport {\n CookieParameter as Cookie,\n KAMELEOON_COOKIE_KEY,\n VISITOR_CODE_LENGTH,\n} from 'src/constants';\nimport { Utilities } from 'src/utilities';\nimport {\n GetResultCookieParametersType,\n GetVisitorCodeParamtersType,\n} from 'src/types';\n\n/**\n * VisitorCodeManager - a class which manages visitor codes using cookies, offering functions to generate, retrieve,\n * and handle these codes while considering user consent.\n **/\nexport class VisitorCodeManager {\n private isConsentRequired: boolean = false;\n\n public setConsentRequired(consentRequired: boolean): void {\n this.isConsentRequired = consentRequired;\n }\n\n public getConsentRequired(): boolean {\n return this.isConsentRequired;\n }\n\n protected getVisitorCode({\n defaultVisitorCode,\n setData,\n getData,\n }: GetVisitorCodeParamtersType): string {\n const existingVisitorCode = getData();\n\n if (existingVisitorCode) {\n return existingVisitorCode;\n }\n\n let visitorCode = defaultVisitorCode;\n\n if (visitorCode) {\n Utilities.validateVisitorCode(visitorCode).throw();\n } else {\n visitorCode = Utilities.generateRandomString(VISITOR_CODE_LENGTH);\n }\n\n if (!this.isConsentRequired) {\n setData(visitorCode);\n }\n\n return visitorCode;\n }\n\n protected getCookieVisitorCode(cookie: string): Result<string, void> {\n const findCookieValue = (pair: string): boolean => {\n const [key, value] = pair.split(Cookie.KeyValueDelimiter);\n\n return key === KAMELEOON_COOKIE_KEY && value !== '';\n };\n\n const cookiePair = cookie\n .split(Cookie.PairsDelimiter)\n .find(findCookieValue);\n\n if (cookiePair) {\n const [_, value] = cookiePair.split(Cookie.KeyValueDelimiter);\n\n return Ok(value);\n }\n\n return Err();\n }\n\n protected getResultCookie({\n domain,\n visitorCode,\n }: GetResultCookieParametersType): string {\n const yearSeconds = 60 * 60 * 24 * 365;\n const maxAge = visitorCode ? yearSeconds : 0;\n\n const cookieArray = [\n KAMELEOON_COOKIE_KEY + Cookie.KeyValueDelimiter + visitorCode,\n Cookie.MaxAge + Cookie.KeyValueDelimiter + maxAge,\n Cookie.Path + Cookie.KeyValueDelimiter + '/',\n ];\n\n if (domain) {\n cookieArray.push(Cookie.Domain + Cookie.KeyValueDelimiter + domain);\n }\n\n return cookieArray.join(Cookie.PairsDelimiter);\n }\n}\n"],"mappings":"kqFAgBa,CAAAA,kBAAkB,qBAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,EAAAE,eAAA,qCAAAC,YAAA,CAAAH,CAAA,GAAAI,GAAA,sBAAAC,KAAA,CAG7B,SAAAC,mBAA0BC,CAAwB,CAAQ,CACxD,IAAI,CAACC,iBAAiB,CAAGD,CAC3B,CAAC,GAAAH,GAAA,sBAAAC,KAAA,CAED,SAAAI,mBAAA,CAAqC,CACnC,MAAO,KAAI,CAACD,iBACd,CAAC,GAAAJ,GAAA,kBAAAC,KAAA,CAED,SAAAK,eAAAV,CAAA,CAIwC,IAHtC,CAAAW,CAAkB,CAAAX,CAAA,CAAlBW,kBAAkB,CAClBC,CAAO,CAAAZ,CAAA,CAAPY,OAAO,CACPC,CAAO,CAAAb,CAAA,CAAPa,OAAO,CAEDC,CAAmB,CAAGD,CAAO,EAAE,CAErC,GAAIC,CAAmB,CACrB,MAAO,CAAAA,CAAmB,CAG5B,GAAI,CAAAC,CAAW,CAAGJ,CAAkB,CAYpC,MAVI,CAAAI,CAAW,CACbC,oBAAS,CAACC,mBAAmB,CAACF,CAAW,CAAC,CAACG,KAAK,EAAE,CAElDH,CAAW,CAAGC,oBAAS,CAACG,oBAAoB,CAACC,8BAAmB,CAAC,CAG9D,IAAI,CAACZ,iBAAiB,EACzBI,CAAO,CAACG,CAAW,CAAC,CAGfA,CACT,CAAC,GAAAX,GAAA,wBAAAC,KAAA,CAED,SAAAgB,qBAA+BC,CAAc,CAAwB,IAO7D,CAAAC,CAAU,CAAGD,CAAM,CACtBE,KAAK,CAACC,0BAAM,CAACC,cAAc,CAAC,CAC5BC,IAAI,CARiB,QAAlB,CAAAC,eAAeA,CAAIC,CAAY,CAAc,CACjD,IAAAC,CAAA,CAAqBD,CAAI,CAACL,KAAK,CAACC,0BAAM,CAACM,iBAAiB,CAAC,CAAAC,CAAA,CAAAC,cAAA,CAAAH,CAAA,IAAlD1B,CAAG,CAAA4B,CAAA,IAAE3B,CAAK,CAAA2B,CAAA,IAEjB,MAAO,CAAA5B,CAAG,GAAK8B,+BAAoB,EAAc,EAAE,GAAZ7B,CACzC,CAAC,CAIuB,CAExB,GAAIkB,CAAU,CAAE,CACd,IAAAS,CAAA,CAAmBT,CAAU,CAACC,KAAK,CAACC,0BAAM,CAACM,iBAAiB,CAAC,CAAAI,CAAA,CAAAF,cAAA,CAAAD,CAAA,IAAtDI,CAAC,CAAAD,CAAA,IAAE9B,CAAK,CAAA8B,CAAA,IAEf,MAAO,GAAAE,SAAE,EAAChC,CAAK,CACjB,CAEA,MAAO,GAAAiC,UAAG,GACZ,CAAC,GAAAlC,GAAA,mBAAAC,KAAA,CAED,SAAAkC,gBAAAvC,CAAA,CAG0C,IAFxC,CAAAwC,CAAM,CAAAxC,CAAA,CAANwC,MAAM,CACNzB,CAAW,CAAAf,CAAA,CAAXe,WAAW,CAGL0B,CAAM,CAAG1B,CAAW,UAAiB,CAAC,CAEtC2B,CAAW,CAAG,CAClBR,+BAAoB,CAAGT,0BAAM,CAACM,iBAAiB,CAAGhB,CAAW,CAC7DU,0BAAM,CAACkB,MAAM,CAAGlB,0BAAM,CAACM,iBAAiB,CAAGU,CAAM,CACjDhB,0BAAM,CAACmB,IAAI,CAAGnB,0BAAM,CAACM,iBAAiB,CAAG,GAAG,CAC7C,CAMD,MAJI,CAAAS,CAAM,EACRE,CAAW,CAACG,IAAI,CAACpB,0BAAM,CAACqB,MAAM,CAAGrB,0BAAM,CAACM,iBAAiB,CAAGS,CAAM,CAAC,CAG9DE,CAAW,CAACK,IAAI,CAACtB,0BAAM,CAACC,cAAc,CAC/C,CAAC,IAAA1B,CAAA,IAAAgD,OAAA,CAAAjD,kBAAA,CAAAA,kBAAA"}
|
package/package.json
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Result } from 'ts-res';
|
|
2
|
-
import { GetResultCookieParametersType, ClientGetVisitorCodeParametersType, ServerGetVisitorCodeParametersType, ServerSetCookieParametersType, ClientSetCookieParametersType } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* @abstract
|
|
5
|
-
* CookieManager - an abstract class for extending cookie manager with pre-defined method signatures
|
|
6
|
-
* */
|
|
7
|
-
export declare abstract class CookieManager {
|
|
8
|
-
private isConsentRequired;
|
|
9
|
-
abstract getCookie(params: ServerGetVisitorCodeParametersType | ClientGetVisitorCodeParametersType): string;
|
|
10
|
-
abstract setCookie(params: ServerSetCookieParametersType | ClientSetCookieParametersType): void;
|
|
11
|
-
getVisitorCode(params: ServerGetVisitorCodeParametersType | ClientGetVisitorCodeParametersType): string;
|
|
12
|
-
setConsentRequired(consentRequired: boolean): void;
|
|
13
|
-
getConsentRequired(): boolean;
|
|
14
|
-
protected getCookieVisitorCode(cookie: string): Result<string, void>;
|
|
15
|
-
protected getResultCookie({ domain, visitorCode, }: GetResultCookieParametersType): string;
|
|
16
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CookieManager=void 0;var _tsRes=require("ts-res"),_constants=require("../constants"),_utilities=require("../utilities");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 _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _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 CookieManager=function(){function a(){_classCallCheck(this,a),_defineProperty(this,"isConsentRequired",!1)}return _createClass(a,[{key:"getVisitorCode",value:function getVisitorCode(a){var b=this.getCookie(a);if(b)return b;var c=a.defaultVisitorCode,d=c;return d?_utilities.Utilities.validateVisitorCode(d).throw():d=_utilities.Utilities.generateRandomString(_constants.VISITOR_CODE_LENGTH),this.isConsentRequired||(_utilities.Utilities.isServerEnvironment(a)?this.setCookie({visitorCode:d,response:a.response}):this.setCookie({visitorCode:d})),d}},{key:"setConsentRequired",value:function setConsentRequired(a){this.isConsentRequired=a}},{key:"getConsentRequired",value:function getConsentRequired(){return this.isConsentRequired}},{key:"getCookieVisitorCode",value:function getCookieVisitorCode(a){var b=a.split(_constants.CookieParameter.PairsDelimiter).find(function findCookieValue(a){var b=a.split(_constants.CookieParameter.KeyValueDelimiter),c=_slicedToArray(b,2),d=c[0],e=c[1];return d===_constants.KAMELEOON_COOKIE_KEY&&""!==e});if(b){var c=b.split(_constants.CookieParameter.KeyValueDelimiter),d=_slicedToArray(c,2),e=d[0],f=d[1];return(0,_tsRes.Ok)(f)}return(0,_tsRes.Err)()}},{key:"getResultCookie",value:function getResultCookie(a){var b=a.domain,c=a.visitorCode,d=c?31536000:0,e=[_constants.KAMELEOON_COOKIE_KEY+_constants.CookieParameter.KeyValueDelimiter+c,_constants.CookieParameter.MaxAge+_constants.CookieParameter.KeyValueDelimiter+d,_constants.CookieParameter.Path+_constants.CookieParameter.KeyValueDelimiter+"/"];return b&&e.push(_constants.CookieParameter.Domain+_constants.CookieParameter.KeyValueDelimiter+b),e.join(_constants.CookieParameter.PairsDelimiter)}}]),a}();exports.CookieManager=CookieManager;
|
|
2
|
-
//# sourceMappingURL=cookieManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cookieManager.js","names":["CookieManager","a","_classCallCheck","_defineProperty","_createClass","key","value","getVisitorCode","params","visitorCodeCookie","getCookie","defaultVisitorCode","visitorCode","Utilities","validateVisitorCode","throw","generateRandomString","VISITOR_CODE_LENGTH","isConsentRequired","isServerEnvironment","setCookie","response","setConsentRequired","consentRequired","getConsentRequired","getCookieVisitorCode","cookie","cookiePair","split","Cookie","PairsDelimiter","find","findCookieValue","pair","b","KeyValueDelimiter","c","_slicedToArray","KAMELEOON_COOKIE_KEY","d","_","Ok","Err","getResultCookie","domain","maxAge","cookieArray","MaxAge","Path","push","Domain","join","exports"],"sources":["../../src/cookieManager/cookieManager.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport {\n CookieParameter as Cookie,\n KAMELEOON_COOKIE_KEY,\n VISITOR_CODE_LENGTH,\n} from 'src/constants';\nimport { Utilities } from 'src/utilities';\nimport {\n GetResultCookieParametersType,\n ClientGetVisitorCodeParametersType,\n ServerGetVisitorCodeParametersType,\n ServerSetCookieParametersType,\n ClientSetCookieParametersType,\n} from 'src/types';\n\n/**\n * @abstract\n * CookieManager - an abstract class for extending cookie manager with pre-defined method signatures\n * */\nexport abstract class CookieManager {\n private isConsentRequired: boolean = false;\n\n abstract getCookie(\n params:\n | ServerGetVisitorCodeParametersType\n | ClientGetVisitorCodeParametersType,\n ): string;\n\n abstract setCookie(\n params: ServerSetCookieParametersType | ClientSetCookieParametersType,\n ): void;\n\n public getVisitorCode(\n params:\n | ServerGetVisitorCodeParametersType\n | ClientGetVisitorCodeParametersType,\n ): string {\n const visitorCodeCookie = this.getCookie(params);\n\n if (visitorCodeCookie) {\n return visitorCodeCookie;\n }\n\n const { defaultVisitorCode } = params;\n\n let visitorCode = defaultVisitorCode;\n\n if (visitorCode) {\n Utilities.validateVisitorCode(visitorCode).throw();\n } else {\n visitorCode = Utilities.generateRandomString(VISITOR_CODE_LENGTH);\n }\n\n if (!this.isConsentRequired) {\n if (Utilities.isServerEnvironment(params)) {\n this.setCookie({\n visitorCode,\n response: params.response,\n });\n } else {\n this.setCookie({ visitorCode });\n }\n }\n\n return visitorCode;\n }\n\n public setConsentRequired(consentRequired: boolean): void {\n this.isConsentRequired = consentRequired;\n }\n\n public getConsentRequired(): boolean {\n return this.isConsentRequired;\n }\n\n protected getCookieVisitorCode(cookie: string): Result<string, void> {\n const findCookieValue = (pair: string): boolean => {\n const [key, value] = pair.split(Cookie.KeyValueDelimiter);\n\n return key === KAMELEOON_COOKIE_KEY && value !== '';\n };\n\n const cookiePair = cookie\n .split(Cookie.PairsDelimiter)\n .find(findCookieValue);\n\n if (cookiePair) {\n const [_, value] = cookiePair.split(Cookie.KeyValueDelimiter);\n\n return Ok(value);\n }\n\n return Err();\n }\n\n protected getResultCookie({\n domain,\n visitorCode,\n }: GetResultCookieParametersType): string {\n const yearSeconds = 60 * 60 * 24 * 365;\n const maxAge = visitorCode ? yearSeconds : 0;\n\n const cookieArray = [\n KAMELEOON_COOKIE_KEY + Cookie.KeyValueDelimiter + visitorCode,\n Cookie.MaxAge + Cookie.KeyValueDelimiter + maxAge,\n Cookie.Path + Cookie.KeyValueDelimiter + '/',\n ];\n\n if (domain) {\n cookieArray.push(Cookie.Domain + Cookie.KeyValueDelimiter + domain);\n }\n\n return cookieArray.join(Cookie.PairsDelimiter);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { CookieManager } from './cookieManager';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_cookieManager","require","Object","defineProperty","exports","value","enumerable","get","CookieManager"],"sources":["../../src/cookieManager/index.ts"],"sourcesContent":["export { CookieManager } from './cookieManager';\n"],"mappings":"aAAA,IAAAA,cAAA,CAAAC,OAAA,oBAAgDC,MAAA,CAAAC,cAAA,CAAAC,OAAA,eAAAC,KAAA,MAAAH,MAAA,CAAAC,cAAA,CAAAC,OAAA,kBAAAE,UAAA,IAAAC,GAAA,UAAAA,IAAA,SAAAP,cAAA,CAAAQ,aAAA"}
|