@kameleoon/javascript-sdk-core 2.10.0 → 2.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/cacheManager/cacheManager.d.ts +38 -0
  2. package/dist/cacheManager/cacheManager.js +12 -0
  3. package/dist/cacheManager/cacheManager.js.map +1 -0
  4. package/dist/cacheManager/index.d.ts +2 -0
  5. package/dist/cacheManager/index.js +2 -0
  6. package/dist/cacheManager/index.js.map +1 -0
  7. package/dist/cacheManager/types.d.ts +14 -0
  8. package/dist/cacheManager/types.js +2 -0
  9. package/dist/cacheManager/types.js.map +1 -0
  10. package/dist/campaignConfiguration/campaignConfiguration.d.ts +71 -0
  11. package/dist/campaignConfiguration/campaignConfiguration.js +24 -0
  12. package/dist/campaignConfiguration/campaignConfiguration.js.map +1 -0
  13. package/dist/campaignConfiguration/constants.d.ts +6 -0
  14. package/dist/campaignConfiguration/constants.js +4 -0
  15. package/dist/campaignConfiguration/constants.js.map +1 -0
  16. package/dist/campaignConfiguration/index.d.ts +3 -0
  17. package/dist/campaignConfiguration/index.js +2 -0
  18. package/dist/campaignConfiguration/index.js.map +1 -0
  19. package/dist/campaignConfiguration/types.d.ts +155 -0
  20. package/dist/campaignConfiguration/types.js +2 -0
  21. package/dist/campaignConfiguration/types.js.map +1 -0
  22. package/dist/clientSettings/clientSettings.d.ts +12 -0
  23. package/dist/clientSettings/clientSettings.js +2 -0
  24. package/dist/clientSettings/clientSettings.js.map +1 -0
  25. package/dist/clientSettings/index.d.ts +2 -0
  26. package/dist/clientSettings/index.js +2 -0
  27. package/dist/clientSettings/index.js.map +1 -0
  28. package/dist/clientSettings/types.d.ts +6 -0
  29. package/dist/clientSettings/types.js +2 -0
  30. package/dist/clientSettings/types.js.map +1 -0
  31. package/dist/constants.d.ts +33 -0
  32. package/dist/constants.js +5 -0
  33. package/dist/constants.js.map +1 -0
  34. package/dist/eventSource/constants.d.ts +1 -0
  35. package/dist/eventSource/constants.js +2 -0
  36. package/dist/eventSource/constants.js.map +1 -0
  37. package/dist/eventSource/externalEventSource.d.ts +12 -0
  38. package/dist/eventSource/externalEventSource.js +2 -0
  39. package/dist/eventSource/externalEventSource.js.map +1 -0
  40. package/dist/eventSource/index.d.ts +3 -0
  41. package/dist/eventSource/index.js +2 -0
  42. package/dist/eventSource/index.js.map +1 -0
  43. package/dist/eventSource/types.d.ts +47 -0
  44. package/dist/eventSource/types.js +2 -0
  45. package/dist/eventSource/types.js.map +1 -0
  46. package/dist/hasher/hasher.d.ts +6 -0
  47. package/dist/hasher/hasher.js +7 -0
  48. package/dist/hasher/hasher.js.map +1 -0
  49. package/dist/hasher/index.d.ts +1 -0
  50. package/dist/hasher/index.js +2 -0
  51. package/dist/hasher/index.js.map +1 -0
  52. package/dist/hasher/types.d.ts +12 -0
  53. package/dist/hasher/types.js +2 -0
  54. package/dist/hasher/types.js.map +1 -0
  55. package/dist/index.d.ts +12 -0
  56. package/dist/index.js +2 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/kameleoonClient.d.ts +267 -0
  59. package/dist/kameleoonClient.js +19 -0
  60. package/dist/kameleoonClient.js.map +1 -0
  61. package/dist/kameleoonData/browser.d.ts +26 -0
  62. package/dist/kameleoonData/browser.js +18 -0
  63. package/dist/kameleoonData/browser.js.map +1 -0
  64. package/dist/kameleoonData/conversion.d.ts +23 -0
  65. package/dist/kameleoonData/conversion.js +14 -0
  66. package/dist/kameleoonData/conversion.js.map +1 -0
  67. package/dist/kameleoonData/customData.d.ts +33 -0
  68. package/dist/kameleoonData/customData.js +25 -0
  69. package/dist/kameleoonData/customData.js.map +1 -0
  70. package/dist/kameleoonData/device.d.ts +21 -0
  71. package/dist/kameleoonData/device.js +14 -0
  72. package/dist/kameleoonData/device.js.map +1 -0
  73. package/dist/kameleoonData/index.d.ts +7 -0
  74. package/dist/kameleoonData/index.js +2 -0
  75. package/dist/kameleoonData/index.js.map +1 -0
  76. package/dist/kameleoonData/pageView.d.ts +23 -0
  77. package/dist/kameleoonData/pageView.js +14 -0
  78. package/dist/kameleoonData/pageView.js.map +1 -0
  79. package/dist/kameleoonData/types.d.ts +117 -0
  80. package/dist/kameleoonData/types.js +15 -0
  81. package/dist/kameleoonData/types.js.map +1 -0
  82. package/dist/kameleoonData/userAgent.d.ts +18 -0
  83. package/dist/kameleoonData/userAgent.js +9 -0
  84. package/dist/kameleoonData/userAgent.js.map +1 -0
  85. package/dist/kameleoonError/constants.d.ts +27 -0
  86. package/dist/kameleoonError/constants.js +2 -0
  87. package/dist/kameleoonError/constants.js.map +1 -0
  88. package/dist/kameleoonError/helpers.d.ts +1 -0
  89. package/dist/kameleoonError/helpers.js +2 -0
  90. package/dist/kameleoonError/helpers.js.map +1 -0
  91. package/dist/kameleoonError/index.d.ts +3 -0
  92. package/dist/kameleoonError/index.js +2 -0
  93. package/dist/kameleoonError/index.js.map +1 -0
  94. package/dist/kameleoonError/kameleoonError.d.ts +25 -0
  95. package/dist/kameleoonError/kameleoonError.js +5 -0
  96. package/dist/kameleoonError/kameleoonError.js.map +1 -0
  97. package/dist/kameleoonError/types.d.ts +25 -0
  98. package/dist/kameleoonError/types.js +2 -0
  99. package/dist/kameleoonError/types.js.map +1 -0
  100. package/dist/kameleoonUtils.d.ts +13 -0
  101. package/dist/kameleoonUtils.js +5 -0
  102. package/dist/kameleoonUtils.js.map +1 -0
  103. package/dist/requester/constants.d.ts +17 -0
  104. package/dist/requester/constants.js +2 -0
  105. package/dist/requester/constants.js.map +1 -0
  106. package/dist/requester/index.d.ts +3 -0
  107. package/dist/requester/index.js +2 -0
  108. package/dist/requester/index.js.map +1 -0
  109. package/dist/requester/requester.d.ts +23 -0
  110. package/dist/requester/requester.js +2 -0
  111. package/dist/requester/requester.js.map +1 -0
  112. package/dist/requester/types.d.ts +100 -0
  113. package/dist/requester/types.js +2 -0
  114. package/dist/requester/types.js.map +1 -0
  115. package/dist/storage/constants.d.ts +10 -0
  116. package/dist/storage/constants.js +5 -0
  117. package/dist/storage/constants.js.map +1 -0
  118. package/dist/storage/index.d.ts +2 -0
  119. package/dist/storage/index.js +2 -0
  120. package/dist/storage/index.js.map +1 -0
  121. package/dist/storage/types.d.ts +68 -0
  122. package/dist/storage/types.js +2 -0
  123. package/dist/storage/types.js.map +1 -0
  124. package/dist/targeting/conditions/browserCondition.d.ts +13 -0
  125. package/dist/targeting/conditions/browserCondition.js +2 -0
  126. package/dist/targeting/conditions/browserCondition.js.map +1 -0
  127. package/dist/targeting/conditions/conditionFactory.d.ts +6 -0
  128. package/dist/targeting/conditions/conditionFactory.js +2 -0
  129. package/dist/targeting/conditions/conditionFactory.js.map +1 -0
  130. package/dist/targeting/conditions/conversionCondition.d.ts +10 -0
  131. package/dist/targeting/conditions/conversionCondition.js +4 -0
  132. package/dist/targeting/conditions/conversionCondition.js.map +1 -0
  133. package/dist/targeting/conditions/customDataCondition.d.ts +14 -0
  134. package/dist/targeting/conditions/customDataCondition.js +8 -0
  135. package/dist/targeting/conditions/customDataCondition.js.map +1 -0
  136. package/dist/targeting/conditions/deviceCondition.d.ts +9 -0
  137. package/dist/targeting/conditions/deviceCondition.js +2 -0
  138. package/dist/targeting/conditions/deviceCondition.js.map +1 -0
  139. package/dist/targeting/conditions/exclusiveExperimentCondition.d.ts +7 -0
  140. package/dist/targeting/conditions/exclusiveExperimentCondition.js +2 -0
  141. package/dist/targeting/conditions/exclusiveExperimentCondition.js.map +1 -0
  142. package/dist/targeting/conditions/index.d.ts +12 -0
  143. package/dist/targeting/conditions/index.js +2 -0
  144. package/dist/targeting/conditions/index.js.map +1 -0
  145. package/dist/targeting/conditions/pageTitleCondition.d.ts +11 -0
  146. package/dist/targeting/conditions/pageTitleCondition.js +2 -0
  147. package/dist/targeting/conditions/pageTitleCondition.js.map +1 -0
  148. package/dist/targeting/conditions/pageUrlCondition.d.ts +11 -0
  149. package/dist/targeting/conditions/pageUrlCondition.js +2 -0
  150. package/dist/targeting/conditions/pageUrlCondition.js.map +1 -0
  151. package/dist/targeting/conditions/sdkLanguageCondition.d.ts +15 -0
  152. package/dist/targeting/conditions/sdkLanguageCondition.js +2 -0
  153. package/dist/targeting/conditions/sdkLanguageCondition.js.map +1 -0
  154. package/dist/targeting/conditions/targetExperimentCondition.d.ts +12 -0
  155. package/dist/targeting/conditions/targetExperimentCondition.js +2 -0
  156. package/dist/targeting/conditions/targetExperimentCondition.js.map +1 -0
  157. package/dist/targeting/conditions/types.d.ts +42 -0
  158. package/dist/targeting/conditions/types.js +2 -0
  159. package/dist/targeting/conditions/types.js.map +1 -0
  160. package/dist/targeting/conditions/visitorCodeCondition.d.ts +11 -0
  161. package/dist/targeting/conditions/visitorCodeCondition.js +2 -0
  162. package/dist/targeting/conditions/visitorCodeCondition.js.map +1 -0
  163. package/dist/targeting/index.d.ts +3 -0
  164. package/dist/targeting/index.js +2 -0
  165. package/dist/targeting/index.js.map +1 -0
  166. package/dist/targeting/targetingNode.d.ts +23 -0
  167. package/dist/targeting/targetingNode.js +2 -0
  168. package/dist/targeting/targetingNode.js.map +1 -0
  169. package/dist/targeting/targetingTree.d.ts +19 -0
  170. package/dist/targeting/targetingTree.js +35 -0
  171. package/dist/targeting/targetingTree.js.map +1 -0
  172. package/dist/targeting/types.d.ts +142 -0
  173. package/dist/targeting/types.js +2 -0
  174. package/dist/targeting/types.js.map +1 -0
  175. package/dist/types.d.ts +189 -0
  176. package/dist/types.js +42 -0
  177. package/dist/types.js.map +1 -0
  178. package/dist/utilities/constants.d.ts +2 -0
  179. package/dist/utilities/constants.js +2 -0
  180. package/dist/utilities/constants.js.map +1 -0
  181. package/dist/utilities/index.d.ts +2 -0
  182. package/dist/utilities/index.js +2 -0
  183. package/dist/utilities/index.js.map +1 -0
  184. package/dist/utilities/types.d.ts +64 -0
  185. package/dist/utilities/types.js +2 -0
  186. package/dist/utilities/types.js.map +1 -0
  187. package/dist/utilities/utilities.d.ts +27 -0
  188. package/dist/utilities/utilities.js +2 -0
  189. package/dist/utilities/utilities.js.map +1 -0
  190. package/dist/variationConfiguration/index.d.ts +2 -0
  191. package/dist/variationConfiguration/index.js +2 -0
  192. package/dist/variationConfiguration/index.js.map +1 -0
  193. package/dist/variationConfiguration/types.d.ts +28 -0
  194. package/dist/variationConfiguration/types.js +2 -0
  195. package/dist/variationConfiguration/types.js.map +1 -0
  196. package/dist/variationConfiguration/variation.d.ts +13 -0
  197. package/dist/variationConfiguration/variation.js +7 -0
  198. package/dist/variationConfiguration/variation.js.map +1 -0
  199. package/dist/variationConfiguration/variationConfiguration.d.ts +35 -0
  200. package/dist/variationConfiguration/variationConfiguration.js +66 -0
  201. package/dist/variationConfiguration/variationConfiguration.js.map +1 -0
  202. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ export declare enum KameleoonException {
2
+ ExperimentConfigurationNotFound = "ExperimentConfigurationNotFound",
3
+ EventSourceInitialization = "EventSourceInitialization",
4
+ VariationNotFound = "VariationNotFound",
5
+ FeatureFlagConfigurationNotFound = "FeatureFlagConfigurationNotFound",
6
+ FeatureFlagVariableNotFound = "FeatureFlagVariableNotFound",
7
+ NotTargeted = "NotTargeted",
8
+ NotAllocated = "NotAllocated",
9
+ VisitorCodeMaxLength = "VisitorCodeMaxLength",
10
+ VisitorCodeEmpty = "VisitorCodeEmpty",
11
+ StorageInitialization = "StorageInitialization",
12
+ StorageWrite = "StorageWrite",
13
+ StorageRead = "StorageRead",
14
+ StorageParse = "StorageParse",
15
+ ClientConfiguration = "ClientConfiguration",
16
+ TargetingCondition = "TargetingCondition",
17
+ AmongValuesCheck = "AmongValuesCheck",
18
+ Initialization = "Initialization",
19
+ JSONParse = "JSONParse",
20
+ NumberParse = "NumberParse",
21
+ VersionParse = "VersionParse",
22
+ SemanticVersionParse = "SemanticVersionParse",
23
+ RemoteData = "RemoteData",
24
+ MaximumRetriesReached = "MaximumRetriesReached"
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonException=void 0;var KameleoonException=/*#__PURE__*/function(a){return a.ExperimentConfigurationNotFound="ExperimentConfigurationNotFound",a.EventSourceInitialization="EventSourceInitialization",a.VariationNotFound="VariationNotFound",a.FeatureFlagConfigurationNotFound="FeatureFlagConfigurationNotFound",a.FeatureFlagVariableNotFound="FeatureFlagVariableNotFound",a.NotTargeted="NotTargeted",a.NotAllocated="NotAllocated",a.VisitorCodeMaxLength="VisitorCodeMaxLength",a.VisitorCodeEmpty="VisitorCodeEmpty",a.StorageInitialization="StorageInitialization",a.StorageWrite="StorageWrite",a.StorageRead="StorageRead",a.StorageParse="StorageParse",a.ClientConfiguration="ClientConfiguration",a.TargetingCondition="TargetingCondition",a.AmongValuesCheck="AmongValuesCheck",a.Initialization="Initialization",a.JSONParse="JSONParse",a.NumberParse="NumberParse",a.VersionParse="VersionParse",a.SemanticVersionParse="SemanticVersionParse",a.RemoteData="RemoteData",a.MaximumRetriesReached="MaximumRetriesReached",a}({});exports.KameleoonException=KameleoonException;
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["KameleoonException","ExperimentConfigurationNotFound","EventSourceInitialization","VariationNotFound","FeatureFlagConfigurationNotFound","FeatureFlagVariableNotFound","NotTargeted","NotAllocated","VisitorCodeMaxLength","VisitorCodeEmpty","StorageInitialization","StorageWrite","StorageRead","StorageParse","ClientConfiguration","TargetingCondition","AmongValuesCheck","Initialization","JSONParse","NumberParse","VersionParse","SemanticVersionParse","RemoteData","MaximumRetriesReached","exports"],"sources":["../../src/kameleoonError/types.ts"],"sourcesContent":["export enum KameleoonException {\n ExperimentConfigurationNotFound = 'ExperimentConfigurationNotFound',\n EventSourceInitialization = 'EventSourceInitialization',\n VariationNotFound = 'VariationNotFound',\n FeatureFlagConfigurationNotFound = 'FeatureFlagConfigurationNotFound',\n FeatureFlagVariableNotFound = 'FeatureFlagVariableNotFound',\n NotTargeted = 'NotTargeted',\n NotAllocated = 'NotAllocated',\n VisitorCodeMaxLength = 'VisitorCodeMaxLength',\n VisitorCodeEmpty = 'VisitorCodeEmpty',\n StorageInitialization = 'StorageInitialization',\n StorageWrite = 'StorageWrite',\n StorageRead = 'StorageRead',\n StorageParse = 'StorageParse',\n ClientConfiguration = 'ClientConfiguration',\n TargetingCondition = 'TargetingCondition',\n AmongValuesCheck = 'AmongValuesCheck',\n Initialization = 'Initialization',\n JSONParse = 'JSONParse',\n NumberParse = 'NumberParse',\n VersionParse = 'VersionParse',\n SemanticVersionParse = 'SemanticVersionParse',\n RemoteData = 'RemoteData',\n MaximumRetriesReached = 'MaximumRetriesReached',\n}\n"],"mappings":"yGAAY,CAAAA,kBAAkB,uBAAlBA,CAAkB,QAAlB,CAAAA,CAAkB,CAAAC,+BAAA,mCAAlBD,CAAkB,CAAAE,yBAAA,6BAAlBF,CAAkB,CAAAG,iBAAA,qBAAlBH,CAAkB,CAAAI,gCAAA,oCAAlBJ,CAAkB,CAAAK,2BAAA,+BAAlBL,CAAkB,CAAAM,WAAA,eAAlBN,CAAkB,CAAAO,YAAA,gBAAlBP,CAAkB,CAAAQ,oBAAA,wBAAlBR,CAAkB,CAAAS,gBAAA,oBAAlBT,CAAkB,CAAAU,qBAAA,yBAAlBV,CAAkB,CAAAW,YAAA,gBAAlBX,CAAkB,CAAAY,WAAA,eAAlBZ,CAAkB,CAAAa,YAAA,gBAAlBb,CAAkB,CAAAc,mBAAA,uBAAlBd,CAAkB,CAAAe,kBAAA,sBAAlBf,CAAkB,CAAAgB,gBAAA,oBAAlBhB,CAAkB,CAAAiB,cAAA,kBAAlBjB,CAAkB,CAAAkB,SAAA,aAAlBlB,CAAkB,CAAAmB,WAAA,eAAlBnB,CAAkB,CAAAoB,YAAA,gBAAlBpB,CAAkB,CAAAqB,oBAAA,wBAAlBrB,CAAkB,CAAAsB,UAAA,cAAlBtB,CAAkB,CAAAuB,qBAAA,yBAAlBvB,CAAkB,MAAAwB,OAAA,CAAAxB,kBAAA,CAAAA,kBAAA"}
@@ -0,0 +1,13 @@
1
+ import { Result } from 'ts-res';
2
+ import { GetResultCookieParametersType, ClientGetVisitorCodeParametersType, ServerGetVisitorCodeParametersType, MobileGetVisitorCodeParametersType } from './types';
3
+ /**
4
+ * @abstract
5
+ * KameleoonUtils - an abstract class for extending kameleoon utils with pre-defined method signatures
6
+ * */
7
+ export declare abstract class KameleoonUtils {
8
+ abstract getVisitorCode(param: ClientGetVisitorCodeParametersType | ServerGetVisitorCodeParametersType | MobileGetVisitorCodeParametersType): string;
9
+ protected generateRandomString(length: number): string;
10
+ protected getCookieVisitorCode(cookie: string): Result<string, void>;
11
+ protected getResultCookie({ domain, visitorCode, }: GetResultCookieParametersType): string;
12
+ protected getClientConfigurationUrl(siteCode: string): string;
13
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonUtils=void 0;var _tsRes=require("ts-res"),_requester=require("./requester"),_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 _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 _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)}/**
2
+ * @abstract
3
+ * KameleoonUtils - an abstract class for extending kameleoon utils with pre-defined method signatures
4
+ * */var KameleoonUtils=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"generateRandomString",value:function generateRandomString(a){var b="";if(0>a)return b;for(var c=0;c<a;c++)b+="abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(36*Math.random())];return b}},{key:"getCookieVisitorCode",value:function getCookieVisitorCode(a){var b=a.split(_constants.Cookie.PairsDelimiter),c=b.find(function(a){var b=a.split(_constants.Cookie.KeyValueDelimiter),c=_slicedToArray(b,2),d=c[0],e=c[1];return d===_constants.KAMELEOON_COOKIE_KEY});if(c){var d=c.split(_constants.Cookie.KeyValueDelimiter),e=_slicedToArray(d,2),f=e[0],g=e[1];return(0,_tsRes.Ok)(g)}return(0,_tsRes.Err)()}},{key:"getResultCookie",value:function getResultCookie(a){var b=a.domain,c=a.visitorCode,d=[_constants.KAMELEOON_COOKIE_KEY+_constants.Cookie.KeyValueDelimiter+c,_constants.Cookie.MaxAge+_constants.Cookie.KeyValueDelimiter+31536000,_constants.Cookie.Path+_constants.Cookie.KeyValueDelimiter+"/",_constants.Cookie.Domain+_constants.Cookie.KeyValueDelimiter+b];return d.join(_constants.Cookie.PairsDelimiter)}},{key:"getClientConfigurationUrl",value:function getClientConfigurationUrl(a){return _requester.URL.CLIENT_CONFIGURATION+_requester.UrlQuery.Mobile+a}}]),a}();exports.KameleoonUtils=KameleoonUtils;
5
+ //# sourceMappingURL=kameleoonUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kameleoonUtils.js","names":["KameleoonUtils","a","_classCallCheck","_createClass","key","value","generateRandomString","length","randomString","i","Math","floor","random","getCookieVisitorCode","cookie","pairs","split","Cookie","PairsDelimiter","pair","find","b","KeyValueDelimiter","c","_slicedToArray","_","KAMELEOON_COOKIE_KEY","d","e","Ok","Err","getResultCookie","domain","visitorCode","cookieArray","MaxAge","Path","Domain","join","getClientConfigurationUrl","siteCode","URL","CLIENT_CONFIGURATION","UrlQuery","Mobile","exports"],"sources":["../src/kameleoonUtils.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { URL, UrlQuery } from './requester';\nimport { Cookie, KAMELEOON_COOKIE_KEY } from './constants';\nimport {\n GetResultCookieParametersType,\n ClientGetVisitorCodeParametersType,\n ServerGetVisitorCodeParametersType,\n MobileGetVisitorCodeParametersType,\n} from './types';\n\n/**\n * @abstract\n * KameleoonUtils - an abstract class for extending kameleoon utils with pre-defined method signatures\n * */\nexport abstract class KameleoonUtils {\n abstract getVisitorCode(\n param:\n | ClientGetVisitorCodeParametersType\n | ServerGetVisitorCodeParametersType\n | MobileGetVisitorCodeParametersType,\n ): string;\n\n protected generateRandomString(length: number): string {\n const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';\n let randomString = '';\n\n if (length < 0) {\n return randomString;\n }\n\n for (let i = 0; i < length; i++) {\n randomString += characters[Math.floor(Math.random() * characters.length)];\n }\n\n return randomString;\n }\n\n protected getCookieVisitorCode(cookie: string): Result<string, void> {\n const pairs = cookie.split(Cookie.PairsDelimiter);\n const pair = pairs.find((pair) => {\n const [key, _] = pair.split(Cookie.KeyValueDelimiter) as [string, string];\n\n return key === KAMELEOON_COOKIE_KEY;\n });\n\n if (pair) {\n const [_, value] = pair.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 cookieArray = [\n KAMELEOON_COOKIE_KEY + Cookie.KeyValueDelimiter + visitorCode,\n Cookie.MaxAge + Cookie.KeyValueDelimiter + yearSeconds,\n Cookie.Path + Cookie.KeyValueDelimiter + '/',\n Cookie.Domain + Cookie.KeyValueDelimiter + domain,\n ];\n\n return cookieArray.join(Cookie.PairsDelimiter);\n }\n\n protected getClientConfigurationUrl(siteCode: string): string {\n return URL.CLIENT_CONFIGURATION + UrlQuery.Mobile + siteCode;\n }\n}\n"],"mappings":"+/EAUA;AACA;AACA;AACA,KAHA,GAIsB,CAAAA,cAAc,kCAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,YAAA,CAAAF,CAAA,GAAAG,GAAA,wBAAAC,KAAA,CAQlC,SAAAC,qBAA+BC,CAAc,CAAU,IAEjD,CAAAC,CAAY,CAAG,EAAE,CAErB,GAAa,CAAC,CAAVD,CAAU,CACZ,MAAO,CAAAC,CAAY,CAGrB,IAAK,GAAI,CAAAC,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGF,CAAM,CAAEE,CAAC,EAAE,CAC7BD,CAAY,EAAI,uCAAWE,IAAI,CAACC,KAAK,CAAC,GAAAD,IAAI,CAACE,MAAM,EAAsB,CAAC,CAAC,CAG3E,MAAO,CAAAJ,CACT,CAAC,GAAAJ,GAAA,wBAAAC,KAAA,CAED,SAAAQ,qBAA+BC,CAAc,CAAwB,IAC7D,CAAAC,CAAK,CAAGD,CAAM,CAACE,KAAK,CAACC,iBAAM,CAACC,cAAc,CAAC,CAC3CC,CAAI,CAAGJ,CAAK,CAACK,IAAI,CAAC,SAACD,CAAI,CAAK,CAChC,IAAAE,CAAA,CAAiBF,CAAI,CAACH,KAAK,CAACC,iBAAM,CAACK,iBAAiB,CAAC,CAAAC,CAAA,CAAAC,cAAA,CAAAH,CAAA,IAA9CjB,CAAG,CAAAmB,CAAA,IAAEE,CAAC,CAAAF,CAAA,IAEb,MAAO,CAAAnB,CAAG,GAAKsB,+BACjB,CAAC,CAAC,CAEF,GAAIP,CAAI,CAAE,CACR,IAAAQ,CAAA,CAAmBR,CAAI,CAACH,KAAK,CAACC,iBAAM,CAACK,iBAAiB,CAAC,CAAAM,CAAA,CAAAJ,cAAA,CAAAG,CAAA,IAAhDF,CAAC,CAAAG,CAAA,IAAEvB,CAAK,CAAAuB,CAAA,IAEf,MAAO,GAAAC,SAAE,EAACxB,CAAK,CACjB,CAEA,MAAO,GAAAyB,UAAG,GACZ,CAAC,GAAA1B,GAAA,mBAAAC,KAAA,CAED,SAAA0B,gBAAA9B,CAAA,CAG0C,IAFxC,CAAA+B,CAAM,CAAA/B,CAAA,CAAN+B,MAAM,CACNC,CAAW,CAAAhC,CAAA,CAAXgC,WAAW,CAGLC,CAAW,CAAG,CAClBR,+BAAoB,CAAGT,iBAAM,CAACK,iBAAiB,CAAGW,CAAW,CAC7DhB,iBAAM,CAACkB,MAAM,CAAGlB,iBAAM,CAACK,iBAAiB,SAAc,CACtDL,iBAAM,CAACmB,IAAI,CAAGnB,iBAAM,CAACK,iBAAiB,CAAG,GAAG,CAC5CL,iBAAM,CAACoB,MAAM,CAAGpB,iBAAM,CAACK,iBAAiB,CAAGU,CAAM,CAClD,CAED,MAAO,CAAAE,CAAW,CAACI,IAAI,CAACrB,iBAAM,CAACC,cAAc,CAC/C,CAAC,GAAAd,GAAA,6BAAAC,KAAA,CAED,SAAAkC,0BAAoCC,CAAgB,CAAU,CAC5D,MAAO,CAAAC,cAAG,CAACC,oBAAoB,CAAGC,mBAAQ,CAACC,MAAM,CAAGJ,CACtD,CAAC,IAAAvC,CAAA,IAAA4C,OAAA,CAAA7C,cAAA,CAAAA,cAAA"}
@@ -0,0 +1,17 @@
1
+ import { EventType, ParameterType, QueryType, StrictEventTypeRecord, StrictParameterRecord, StrictQueryRecord, StrictTrackingRecord, TrackingType } from './types';
2
+ export declare enum Header {
3
+ UserAgent = "User-Agent",
4
+ ContentType = "Content-Type",
5
+ Authorization = "Authorization"
6
+ }
7
+ export declare const UrlEventType: StrictEventTypeRecord<EventType>;
8
+ export declare const UrlParameter: StrictParameterRecord<ParameterType>;
9
+ export declare const UrlQuery: StrictQueryRecord<QueryType>;
10
+ export declare const UrlTracking: StrictTrackingRecord<TrackingType>;
11
+ export declare const URL: {
12
+ SERVER_SENT_EVENTS: string;
13
+ CLIENT_CONFIGURATION: string;
14
+ VISIT_EVENT: string;
15
+ VISIT_DATA: string;
16
+ DATA_MAP: string;
17
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UrlTracking=exports.UrlQuery=exports.UrlParameter=exports.UrlEventType=exports.URL=exports.Header=void 0;var Header=/*#__PURE__*/function(a){return a.UserAgent="User-Agent",a.ContentType="Content-Type",a.Authorization="Authorization",a}({});exports.Header=Header;var topLevelDomain="com",dataTopLevelDomain="io",UrlEventType={CustomData:"eventType=customData",StaticData:"eventType=staticData",Page:"eventType=page",Conversion:"eventType=conversion",Activity:"eventType=activity",Experiment:"eventType=experiment"};exports.UrlEventType=UrlEventType;var UrlParameter={Title:"&title=",ReferrersIndices:"&referrersIndices=",Negative:"&negative=",Revenue:"&revenue=",Overwrite:"&overwrite=",Index:"&index=",BrowserIndex:"&browserIndex=",BrowserVersion:"&browserVersion=",Href:"&href=",DeviceType:"&deviceType=",SiteCode:"&siteCode=",GoalId:"&goalId=",VisitorCode:"&visitorCode=",Environment:"&environment=",VariationId:"&variationId=",Ts:"&ts=",Key:"&key=",SdkName:"&sdkName=",SdkVersion:"&sdkVersion=",ValuesCountMap:"&valuesCountMap=",Nonce:"&nonce=",Id:"&id=",CustomData:"&customData=",CurrentVisit:"&currentVisit=",MaxNumberPreviousVisits:"&maxNumberPreviousVisits="};exports.UrlParameter=UrlParameter;var UrlQuery={Sse:"sse?siteCode=",Mobile:"mobile?siteCode=",Map:"map?siteCode=",Events:"events?siteCode=",Visitor:"visitor?siteCode="};exports.UrlQuery=UrlQuery;var UrlTracking={Visit:"visit/",Map:"map/"};exports.UrlTracking=UrlTracking;var URL_DATA_API="https://data.kameleoon.".concat(dataTopLevelDomain),URL={SERVER_SENT_EVENTS:"https://events.kameleoon.".concat("com",":8110/"),CLIENT_CONFIGURATION:"https://client-config.kameleoon.".concat("com","/"),VISIT_EVENT:"".concat(URL_DATA_API,"/").concat(UrlTracking.Visit+UrlQuery.Events),VISIT_DATA:"".concat(URL_DATA_API,"/").concat(UrlTracking.Visit+UrlQuery.Visitor),DATA_MAP:"".concat(URL_DATA_API,"/").concat(UrlTracking.Map+UrlQuery.Map)};exports.URL=URL;
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["Header","UserAgent","ContentType","Authorization","exports","topLevelDomain","dataTopLevelDomain","UrlEventType","CustomData","StaticData","Page","Conversion","Activity","Experiment","UrlParameter","Title","ReferrersIndices","Negative","Revenue","Overwrite","Index","BrowserIndex","BrowserVersion","Href","DeviceType","SiteCode","GoalId","VisitorCode","Environment","VariationId","Ts","Key","SdkName","SdkVersion","ValuesCountMap","Nonce","Id","CurrentVisit","MaxNumberPreviousVisits","UrlQuery","Sse","Mobile","Map","Events","Visitor","UrlTracking","Visit","URL_DATA_API","concat","URL","SERVER_SENT_EVENTS","CLIENT_CONFIGURATION","VISIT_EVENT","VISIT_DATA","DATA_MAP"],"sources":["../../src/requester/constants.ts"],"sourcesContent":["import {\n EventType,\n ParameterType,\n QueryType,\n StrictEventTypeRecord,\n StrictParameterRecord,\n StrictQueryRecord,\n StrictTrackingRecord,\n TrackingType,\n} from './types';\n\nexport enum Header {\n UserAgent = 'User-Agent',\n ContentType = 'Content-Type',\n Authorization = 'Authorization',\n}\n\nconst topLevelDomain = process.env.NODE_ENV === 'test' ? 'net' : 'com';\nconst dataTopLevelDomain = process.env.NODE_ENV === 'test' ? 'net' : 'io';\n\nexport const UrlEventType: StrictEventTypeRecord<EventType> = {\n CustomData: 'eventType=customData',\n StaticData: 'eventType=staticData',\n Page: 'eventType=page',\n Conversion: 'eventType=conversion',\n Activity: 'eventType=activity',\n Experiment: 'eventType=experiment',\n};\nexport const UrlParameter: StrictParameterRecord<ParameterType> = {\n Title: '&title=',\n ReferrersIndices: '&referrersIndices=',\n Negative: '&negative=',\n Revenue: '&revenue=',\n Overwrite: '&overwrite=',\n Index: '&index=',\n BrowserIndex: '&browserIndex=',\n BrowserVersion: '&browserVersion=',\n Href: '&href=',\n DeviceType: '&deviceType=',\n SiteCode: '&siteCode=',\n GoalId: '&goalId=',\n VisitorCode: '&visitorCode=',\n Environment: '&environment=',\n VariationId: '&variationId=',\n Ts: '&ts=',\n Key: '&key=',\n SdkName: '&sdkName=',\n SdkVersion: '&sdkVersion=',\n ValuesCountMap: '&valuesCountMap=',\n Nonce: '&nonce=',\n Id: '&id=',\n CustomData: '&customData=',\n CurrentVisit: '&currentVisit=',\n MaxNumberPreviousVisits: '&maxNumberPreviousVisits=',\n};\nexport const UrlQuery: StrictQueryRecord<QueryType> = {\n Sse: 'sse?siteCode=',\n Mobile: 'mobile?siteCode=',\n Map: 'map?siteCode=',\n Events: 'events?siteCode=',\n Visitor: 'visitor?siteCode=',\n};\nexport const UrlTracking: StrictTrackingRecord<TrackingType> = {\n Visit: 'visit/',\n Map: 'map/',\n};\n\nconst URL_DATA_API = `https://data.kameleoon.${dataTopLevelDomain}`;\n\nexport const URL = {\n SERVER_SENT_EVENTS: `https://events.kameleoon.${topLevelDomain}:8110/`,\n CLIENT_CONFIGURATION: `https://client-config.kameleoon.${topLevelDomain}/`,\n VISIT_EVENT: `${URL_DATA_API}/${UrlTracking.Visit + UrlQuery.Events}`,\n VISIT_DATA: `${URL_DATA_API}/${UrlTracking.Visit + UrlQuery.Visitor}`,\n DATA_MAP: `${URL_DATA_API}/${UrlTracking.Map + UrlQuery.Map}`,\n};\n"],"mappings":"wLAWY,CAAAA,MAAM,uBAANA,CAAM,QAAN,CAAAA,CAAM,CAAAC,SAAA,cAAND,CAAM,CAAAE,WAAA,gBAANF,CAAM,CAAAG,aAAA,iBAANH,CAAM,MAAAI,OAAA,CAAAJ,MAAA,CAAAA,MAAA,IAMZ,CAAAK,cAAc,CAA6C,KAAK,CAChEC,kBAAkB,CAA6C,IAAI,CAE5DC,YAA8C,CAAG,CAC5DC,UAAU,CAAE,sBAAsB,CAClCC,UAAU,CAAE,sBAAsB,CAClCC,IAAI,CAAE,gBAAgB,CACtBC,UAAU,CAAE,sBAAsB,CAClCC,QAAQ,CAAE,oBAAoB,CAC9BC,UAAU,CAAE,sBACd,CAAC,CAAAT,OAAA,CAAAG,YAAA,CAAAA,YAAA,CACM,GAAM,CAAAO,YAAkD,CAAG,CAChEC,KAAK,CAAE,SAAS,CAChBC,gBAAgB,CAAE,oBAAoB,CACtCC,QAAQ,CAAE,YAAY,CACtBC,OAAO,CAAE,WAAW,CACpBC,SAAS,CAAE,aAAa,CACxBC,KAAK,CAAE,SAAS,CAChBC,YAAY,CAAE,gBAAgB,CAC9BC,cAAc,CAAE,kBAAkB,CAClCC,IAAI,CAAE,QAAQ,CACdC,UAAU,CAAE,cAAc,CAC1BC,QAAQ,CAAE,YAAY,CACtBC,MAAM,CAAE,UAAU,CAClBC,WAAW,CAAE,eAAe,CAC5BC,WAAW,CAAE,eAAe,CAC5BC,WAAW,CAAE,eAAe,CAC5BC,EAAE,CAAE,MAAM,CACVC,GAAG,CAAE,OAAO,CACZC,OAAO,CAAE,WAAW,CACpBC,UAAU,CAAE,cAAc,CAC1BC,cAAc,CAAE,kBAAkB,CAClCC,KAAK,CAAE,SAAS,CAChBC,EAAE,CAAE,MAAM,CACV5B,UAAU,CAAE,cAAc,CAC1B6B,YAAY,CAAE,gBAAgB,CAC9BC,uBAAuB,CAAE,2BAC3B,CAAC,CAAClC,OAAA,CAAAU,YAAA,CAAAA,YAAA,CACK,GAAM,CAAAyB,QAAsC,CAAG,CACpDC,GAAG,CAAE,eAAe,CACpBC,MAAM,CAAE,kBAAkB,CAC1BC,GAAG,CAAE,eAAe,CACpBC,MAAM,CAAE,kBAAkB,CAC1BC,OAAO,CAAE,mBACX,CAAC,CAACxC,OAAA,CAAAmC,QAAA,CAAAA,QAAA,CACK,GAAM,CAAAM,WAA+C,CAAG,CAC7DC,KAAK,CAAE,QAAQ,CACfJ,GAAG,CAAE,MACP,CAAC,CAACtC,OAAA,CAAAyC,WAAA,CAAAA,WAAA,IAEI,CAAAE,YAAY,2BAAAC,MAAA,CAA6B1C,kBAAkB,CAAE,CAEtD2C,GAAG,CAAG,CACjBC,kBAAkB,6BAAAF,MAAA,gBAAoD,CACtEG,oBAAoB,oCAAAH,MAAA,WAAsD,CAC1EI,WAAW,IAAAJ,MAAA,CAAKD,YAAY,MAAAC,MAAA,CAAIH,WAAW,CAACC,KAAK,CAAGP,QAAQ,CAACI,MAAM,CAAE,CACrEU,UAAU,IAAAL,MAAA,CAAKD,YAAY,MAAAC,MAAA,CAAIH,WAAW,CAACC,KAAK,CAAGP,QAAQ,CAACK,OAAO,CAAE,CACrEU,QAAQ,IAAAN,MAAA,CAAKD,YAAY,MAAAC,MAAA,CAAIH,WAAW,CAACH,GAAG,CAAGH,QAAQ,CAACG,GAAG,CAC7D,CAAC,CAAAtC,OAAA,CAAA6C,GAAA,CAAAA,GAAA"}
@@ -0,0 +1,3 @@
1
+ export { Requester } from './requester';
2
+ export { URL, UrlQuery, UrlEventType, UrlParameter, Header } from './constants';
3
+ export { HttpMethod, VisitType, TrackParametersType, TrackExperimentParamsType, TrackDataParamsType, IExternalRequestDispatcher, GetVisitorDataResultType, GetClientConfigurationResultType, } from './types';
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"GetClientConfigurationResultType",{enumerable:!0,get:function get(){return _types.GetClientConfigurationResultType}}),Object.defineProperty(exports,"GetVisitorDataResultType",{enumerable:!0,get:function get(){return _types.GetVisitorDataResultType}}),Object.defineProperty(exports,"Header",{enumerable:!0,get:function get(){return _constants.Header}}),Object.defineProperty(exports,"HttpMethod",{enumerable:!0,get:function get(){return _types.HttpMethod}}),Object.defineProperty(exports,"IExternalRequestDispatcher",{enumerable:!0,get:function get(){return _types.IExternalRequestDispatcher}}),Object.defineProperty(exports,"Requester",{enumerable:!0,get:function get(){return _requester.Requester}}),Object.defineProperty(exports,"TrackDataParamsType",{enumerable:!0,get:function get(){return _types.TrackDataParamsType}}),Object.defineProperty(exports,"TrackExperimentParamsType",{enumerable:!0,get:function get(){return _types.TrackExperimentParamsType}}),Object.defineProperty(exports,"TrackParametersType",{enumerable:!0,get:function get(){return _types.TrackParametersType}}),Object.defineProperty(exports,"URL",{enumerable:!0,get:function get(){return _constants.URL}}),Object.defineProperty(exports,"UrlEventType",{enumerable:!0,get:function get(){return _constants.UrlEventType}}),Object.defineProperty(exports,"UrlParameter",{enumerable:!0,get:function get(){return _constants.UrlParameter}}),Object.defineProperty(exports,"UrlQuery",{enumerable:!0,get:function get(){return _constants.UrlQuery}}),Object.defineProperty(exports,"VisitType",{enumerable:!0,get:function get(){return _types.VisitType}});var _requester=require("./requester"),_constants=require("./constants"),_types=require("./types");
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/requester/index.ts"],"sourcesContent":["export { Requester } from './requester';\nexport { URL, UrlQuery, UrlEventType, UrlParameter, Header } from './constants';\nexport {\n HttpMethod,\n VisitType,\n TrackParametersType,\n TrackExperimentParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n GetClientConfigurationResultType,\n} from './types';\n"],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from '../kameleoonError';
3
+ import { JSONType } from '../campaignConfiguration';
4
+ import { GetClientConfigurationResultType, RequesterParamsType, TrackDataParamsType, TrackExperimentParamsType, GetVisitorDataResultType } from './types';
5
+ export interface IRequester {
6
+ getClientConfiguration: () => Promise<Result<GetClientConfigurationResultType, KameleoonError>>;
7
+ getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;
8
+ trackExperiment: ({ variationId, visitorCode, experimentId, isUnallocated, body, }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;
9
+ trackData: ({ visitorCode, body, }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;
10
+ }
11
+ export declare class Requester implements IRequester {
12
+ private siteCode;
13
+ private environment?;
14
+ private requestDispatcher;
15
+ private packageInfo;
16
+ constructor({ siteCode, environment, packageInfo, requestDispatcher, }: RequesterParamsType);
17
+ getClientConfiguration(timeStamp?: number): Promise<Result<GetClientConfigurationResultType, KameleoonError>>;
18
+ getRemoteData(key: string): Promise<Result<JSONType, KameleoonError>>;
19
+ getVisitorData(visitorCode: string): Promise<Result<GetVisitorDataResultType, KameleoonError>>;
20
+ trackExperiment({ variationId, visitorCode, experimentId, isUnallocated, body, userAgent, }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>>;
21
+ trackData({ visitorCode, body, userAgent, }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>>;
22
+ private getTrackingUrl;
23
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Requester=void 0;var _tsRes=require("ts-res"),_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";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */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=/*#__PURE__*/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(/*#__PURE__*/_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:return f=b.sent,b.abrupt("return",(0,_tsRes.Ok)(f));case 10:return b.prev=10,b.t0=b["catch"](3),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 13:case"end":return b.stop();}},b,this,[[3,10]])}));return a}()},{key:"getRemoteData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_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){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_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.VISIT_DATA+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.MaxNumberPreviousVisits+1+_constants.UrlParameter.CustomData+!0+_constants.UrlParameter.CurrentVisit+!0,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:"trackExperiment",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_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(/*#__PURE__*/_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
+ //# sourceMappingURL=requester.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requester.js","names":["a","b","c","Object","defineProperty","value","enumerable","configurable","writable","e","f","prototype","d","g","create","h","m","s","i","type","arg","call","forEach","_invoke","j","k","_typeof","r","resolve","__await","then","Error","o","method","delegate","x","sent","_sent","dispatchException","abrupt","done","iterator","return","TypeError","resultName","next","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","l","completion","reset","n","u","isNaN","length","_regeneratorRuntime","p","q","hasOwnProperty","t","Symbol","v","asyncIterator","w","toStringTag","wrap","y","z","getPrototypeOf","A","B","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","keys","reverse","pop","values","prev","charAt","slice","stop","rval","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","String","Number","Requester","siteCode","environment","packageInfo","requestDispatcher","timeStamp","environmentParam","UrlParameter","Environment","timeStampParam","Ts","requestUrl","URL","CLIENT_CONFIGURATION","UrlQuery","Mobile","getClientConfiguration","response","Ok","t0","Err","DATA_MAP","Key","encodeURI","getRemoteData","visitorCode","VISIT_DATA","VisitorCode","MaxNumberPreviousVisits","CustomData","CurrentVisit","variationId","experimentId","isUnallocated","body","userAgent","url","getTrackingUrl","unallocatedAddition","UrlEventType","Activity","Nonce","Utilities","getNonce","bodyAddition","Experiment","Id","VariationId","extendedBody","headers","Header","UserAgent","track","requestBody","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 } from 'src/kameleoonError';\nimport { JSONType } from 'src/campaignConfiguration';\nimport { Utilities } from 'src/utilities';\nimport { URL, UrlParameter, Header, UrlQuery, UrlEventType } from './constants';\nimport {\n GetClientConfigurationResultType,\n RequesterParamsType,\n TrackDataParamsType,\n TrackExperimentParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n} from './types';\n\nexport interface IRequester {\n getClientConfiguration: () => Promise<\n Result<GetClientConfigurationResultType, KameleoonError>\n >;\n getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;\n trackExperiment: ({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;\n trackData: ({\n visitorCode,\n body,\n }: TrackDataParamsType) => 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 return Ok(response as GetClientConfigurationResultType);\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 ): Promise<Result<GetVisitorDataResultType, KameleoonError>> {\n const requestUrl: string =\n URL.VISIT_DATA +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.MaxNumberPreviousVisits +\n 1 +\n UrlParameter.CustomData +\n true +\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":"6fACA,6JAAAA,GAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAC,MAAA,CAAAC,cAAA,CAAAJ,CAAA,CAAAC,CAAA,EAAAI,KAAA,CAAAH,CAAA,CAAAI,UAAA,IAAAC,YAAA,IAAAC,QAAA,MAAAR,CAAA,CAAAC,CAAA,WAAAA,EAAAD,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAO,CAAA,MAAAC,CAAA,CAAAT,CAAA,EAAAA,CAAA,CAAAU,SAAA,YAAAC,CAAA,CAAAX,CAAA,CAAAW,CAAA,CAAAC,CAAA,CAAAV,MAAA,CAAAW,MAAA,CAAAJ,CAAA,CAAAC,SAAA,EAAAI,CAAA,KAAAC,CAAA,CAAAP,CAAA,aAAAQ,CAAA,CAAAJ,CAAA,YAAAR,KAAA,CAAAa,CAAA,CAAAlB,CAAA,CAAAE,CAAA,CAAAa,CAAA,IAAAF,CAAA,UAAAX,EAAAF,CAAA,CAAAC,CAAA,CAAAC,CAAA,aAAAiB,IAAA,UAAAC,GAAA,CAAApB,CAAA,CAAAqB,IAAA,CAAApB,CAAA,CAAAC,CAAA,SAAAF,CAAA,SAAAmB,IAAA,SAAAC,GAAA,CAAApB,CAAA,YAAAY,EAAA,YAAAH,EAAA,YAAAC,EAAA,YAAAG,EAAAZ,CAAA,4BAAAqB,OAAA,UAAApB,CAAA,EAAAF,CAAA,CAAAC,CAAA,CAAAC,CAAA,UAAAF,CAAA,cAAAuB,OAAA,CAAArB,CAAA,CAAAF,CAAA,eAAAe,EAAAf,CAAA,CAAAC,CAAA,WAAAW,EAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,CAAAE,CAAA,MAAAG,CAAA,CAAAhB,CAAA,CAAAF,CAAA,CAAAS,CAAA,EAAAT,CAAA,CAAAU,CAAA,eAAAQ,CAAA,CAAAC,IAAA,MAAAK,CAAA,CAAAN,CAAA,CAAAE,GAAA,CAAAK,CAAA,CAAAD,CAAA,CAAAnB,KAAA,QAAAoB,CAAA,YAAAC,OAAA,CAAAD,CAAA,GAAAE,CAAA,CAAAN,IAAA,CAAAI,CAAA,YAAAxB,CAAA,CAAA2B,OAAA,CAAAH,CAAA,CAAAI,OAAA,EAAAC,IAAA,UAAA9B,CAAA,EAAAY,CAAA,QAAAZ,CAAA,CAAAa,CAAA,CAAAE,CAAA,YAAAf,CAAA,EAAAY,CAAA,SAAAZ,CAAA,CAAAa,CAAA,CAAAE,CAAA,IAAAd,CAAA,CAAA2B,OAAA,CAAAH,CAAA,EAAAK,IAAA,UAAA9B,CAAA,EAAAwB,CAAA,CAAAnB,KAAA,CAAAL,CAAA,CAAAa,CAAA,CAAAW,CAAA,YAAAxB,CAAA,SAAAY,CAAA,SAAAZ,CAAA,CAAAa,CAAA,CAAAE,CAAA,IAAAA,CAAA,CAAAG,CAAA,CAAAE,GAAA,MAAAX,CAAA,CAAAQ,CAAA,iBAAAZ,KAAA,UAAAA,MAAAL,CAAA,CAAAE,CAAA,WAAAQ,EAAA,aAAAT,CAAA,UAAAA,CAAA,CAAAQ,CAAA,EAAAG,CAAA,CAAAZ,CAAA,CAAAE,CAAA,CAAAD,CAAA,CAAAQ,CAAA,WAAAA,CAAA,CAAAA,CAAA,CAAAA,CAAA,CAAAqB,IAAA,CAAApB,CAAA,CAAAA,CAAA,EAAAA,CAAA,eAAAQ,EAAAlB,CAAA,CAAAC,CAAA,CAAAW,CAAA,MAAAH,CAAA,kCAAAC,CAAA,CAAAG,CAAA,kBAAAJ,CAAA,WAAAsB,KAAA,iDAAAtB,CAAA,eAAAC,CAAA,OAAAG,CAAA,QAAAmB,CAAA,OAAApB,CAAA,CAAAqB,MAAA,CAAAvB,CAAA,CAAAE,CAAA,CAAAQ,GAAA,CAAAP,CAAA,QAAAE,CAAA,CAAAH,CAAA,CAAAsB,QAAA,IAAAnB,CAAA,MAAAG,CAAA,CAAAM,CAAA,CAAAT,CAAA,CAAAH,CAAA,KAAAM,CAAA,KAAAA,CAAA,GAAAiB,CAAA,iBAAAjB,CAAA,cAAAN,CAAA,CAAAqB,MAAA,CAAArB,CAAA,CAAAwB,IAAA,CAAAxB,CAAA,CAAAyB,KAAA,CAAAzB,CAAA,CAAAQ,GAAA,mBAAAR,CAAA,CAAAqB,MAAA,uBAAAxB,CAAA,OAAAA,CAAA,aAAAG,CAAA,CAAAQ,GAAA,CAAAR,CAAA,CAAA0B,iBAAA,CAAA1B,CAAA,CAAAQ,GAAA,iBAAAR,CAAA,CAAAqB,MAAA,EAAArB,CAAA,CAAA2B,MAAA,UAAA3B,CAAA,CAAAQ,GAAA,EAAAX,CAAA,iBAAAgB,CAAA,CAAAvB,CAAA,CAAAF,CAAA,CAAAC,CAAA,CAAAW,CAAA,gBAAAa,CAAA,CAAAN,IAAA,KAAAV,CAAA,CAAAG,CAAA,CAAA4B,IAAA,8BAAAf,CAAA,CAAAL,GAAA,GAAAe,CAAA,iBAAA9B,KAAA,CAAAoB,CAAA,CAAAL,GAAA,CAAAoB,IAAA,CAAA5B,CAAA,CAAA4B,IAAA,YAAAf,CAAA,CAAAN,IAAA,GAAAV,CAAA,aAAAG,CAAA,CAAAqB,MAAA,SAAArB,CAAA,CAAAQ,GAAA,CAAAK,CAAA,CAAAL,GAAA,aAAAI,EAAAxB,CAAA,CAAAC,CAAA,MAAAW,CAAA,CAAAX,CAAA,CAAAgC,MAAA,CAAAxB,CAAA,CAAAT,CAAA,CAAAyC,QAAA,CAAA7B,CAAA,cAAAH,CAAA,QAAAR,CAAA,CAAAiC,QAAA,gBAAAtB,CAAA,EAAAZ,CAAA,CAAAyC,QAAA,CAAAC,MAAA,GAAAzC,CAAA,CAAAgC,MAAA,UAAAhC,CAAA,CAAAmB,GAAA,QAAAI,CAAA,CAAAxB,CAAA,CAAAC,CAAA,YAAAA,CAAA,CAAAgC,MAAA,cAAArB,CAAA,GAAAX,CAAA,CAAAgC,MAAA,SAAAhC,CAAA,CAAAmB,GAAA,KAAAuB,SAAA,qCAAA/B,CAAA,cAAAuB,CAAA,KAAAzB,CAAA,CAAAR,CAAA,CAAAO,CAAA,CAAAT,CAAA,CAAAyC,QAAA,CAAAxC,CAAA,CAAAmB,GAAA,eAAAV,CAAA,CAAAS,IAAA,QAAAlB,CAAA,CAAAgC,MAAA,SAAAhC,CAAA,CAAAmB,GAAA,CAAAV,CAAA,CAAAU,GAAA,CAAAnB,CAAA,CAAAiC,QAAA,MAAAC,CAAA,KAAAtB,CAAA,CAAAH,CAAA,CAAAU,GAAA,QAAAP,CAAA,CAAAA,CAAA,CAAA2B,IAAA,EAAAvC,CAAA,CAAAD,CAAA,CAAA4C,UAAA,EAAA/B,CAAA,CAAAR,KAAA,CAAAJ,CAAA,CAAA4C,IAAA,CAAA7C,CAAA,CAAA8C,OAAA,YAAA7C,CAAA,CAAAgC,MAAA,GAAAhC,CAAA,CAAAgC,MAAA,QAAAhC,CAAA,CAAAmB,GAAA,SAAAnB,CAAA,CAAAiC,QAAA,MAAAC,CAAA,EAAAtB,CAAA,EAAAZ,CAAA,CAAAgC,MAAA,SAAAhC,CAAA,CAAAmB,GAAA,KAAAuB,SAAA,qCAAA1C,CAAA,CAAAiC,QAAA,MAAAC,CAAA,WAAAV,EAAAzB,CAAA,MAAAC,CAAA,EAAA8C,MAAA,CAAA/C,CAAA,UAAAA,CAAA,GAAAC,CAAA,CAAA+C,QAAA,CAAAhD,CAAA,UAAAA,CAAA,GAAAC,CAAA,CAAAgD,UAAA,CAAAjD,CAAA,IAAAC,CAAA,CAAAiD,QAAA,CAAAlD,CAAA,UAAAmD,UAAA,CAAAC,IAAA,CAAAnD,CAAA,WAAAoD,EAAArD,CAAA,MAAAC,CAAA,CAAAD,CAAA,CAAAsD,UAAA,KAAArD,CAAA,CAAAkB,IAAA,iBAAAlB,CAAA,CAAAmB,GAAA,CAAApB,CAAA,CAAAsD,UAAA,CAAArD,CAAA,UAAAe,EAAAhB,CAAA,OAAAmD,UAAA,GAAAJ,MAAA,UAAA/C,CAAA,CAAAsB,OAAA,CAAAG,CAAA,YAAA8B,KAAA,cAAAC,EAAAxD,CAAA,KAAAA,CAAA,MAAAC,CAAA,CAAAD,CAAA,CAAAyD,CAAA,KAAAxD,CAAA,QAAAA,CAAA,CAAAoB,IAAA,CAAArB,CAAA,wBAAAA,CAAA,CAAA6C,IAAA,QAAA7C,CAAA,KAAA0D,KAAA,CAAA1D,CAAA,CAAA2D,MAAA,OAAAzD,CAAA,IAAAU,CAAA,UAAAX,EAAA,SAAAC,CAAA,CAAAF,CAAA,CAAA2D,MAAA,KAAAhC,CAAA,CAAAN,IAAA,CAAArB,CAAA,CAAAE,CAAA,SAAAD,CAAA,CAAAI,KAAA,CAAAL,CAAA,CAAAE,CAAA,EAAAD,CAAA,CAAAuC,IAAA,IAAAvC,CAAA,QAAAA,CAAA,CAAAI,KAAA,QAAAJ,CAAA,CAAAuC,IAAA,IAAAvC,CAAA,SAAAW,CAAA,CAAAiC,IAAA,CAAAjC,CAAA,SAAAiC,IAAA,CAAAb,CAAA,WAAAA,EAAA,SAAA3B,KAAA,QAAAmC,IAAA,KAAAoB,mBAAA,SAAAA,CAAA,SAAAC,CAAA,MAAAA,CAAA,IAAAC,CAAA,CAAA3D,MAAA,CAAAQ,SAAA,CAAAgB,CAAA,CAAAmC,CAAA,CAAAC,cAAA,CAAA9C,CAAA,CAAAd,MAAA,CAAAC,cAAA,WAAAJ,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAAAF,CAAA,CAAAC,CAAA,EAAAC,CAAA,CAAAG,KAAA,EAAA2D,CAAA,oBAAAC,MAAA,CAAAA,MAAA,IAAAR,CAAA,CAAAO,CAAA,CAAAvB,QAAA,eAAAyB,CAAA,CAAAF,CAAA,CAAAG,aAAA,oBAAAC,CAAA,CAAAJ,CAAA,CAAAK,WAAA,sBAAArE,CAAA,cAAAC,CAAA,EAAAD,CAAA,SAAAA,EAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAF,CAAA,CAAAC,CAAA,EAAAC,CAAA,EAAA2D,CAAA,CAAAS,IAAA,CAAArE,CAAA,KAAAkC,CAAA,IAAAoC,CAAA,IAAAvE,CAAA,CAAAuE,CAAA,CAAAd,CAAA,8BAAAe,CAAA,CAAArE,MAAA,CAAAsE,cAAA,CAAAC,CAAA,CAAAF,CAAA,EAAAA,CAAA,CAAAA,CAAA,CAAAhB,CAAA,OAAAkB,CAAA,EAAAA,CAAA,GAAAZ,CAAA,EAAAnC,CAAA,CAAAN,IAAA,CAAAqD,CAAA,CAAAjB,CAAA,IAAAc,CAAA,CAAAG,CAAA,MAAAC,CAAA,CAAAjE,CAAA,CAAAC,SAAA,CAAAC,CAAA,CAAAD,SAAA,CAAAR,MAAA,CAAAW,MAAA,CAAAyD,CAAA,SAAA9D,CAAA,CAAAE,SAAA,CAAAD,CAAA,CAAAO,CAAA,CAAA0D,CAAA,gBAAAtE,KAAA,CAAAK,CAAA,CAAAH,YAAA,MAAAU,CAAA,CAAAP,CAAA,gBAAAL,KAAA,CAAAI,CAAA,CAAAF,YAAA,MAAAE,CAAA,CAAAmE,WAAA,CAAA5E,CAAA,CAAAU,CAAA,CAAA0D,CAAA,sBAAAP,CAAA,CAAAgB,mBAAA,UAAA7E,CAAA,MAAAC,CAAA,oBAAAD,CAAA,EAAAA,CAAA,CAAA8E,WAAA,SAAA7E,CAAA,GAAAA,CAAA,GAAAQ,CAAA,yBAAAR,CAAA,CAAA2E,WAAA,EAAA3E,CAAA,CAAA8E,IAAA,IAAAlB,CAAA,CAAAmB,IAAA,UAAA/E,CAAA,SAAAE,MAAA,CAAA8E,cAAA,CAAA9E,MAAA,CAAA8E,cAAA,CAAAhF,CAAA,CAAAS,CAAA,GAAAT,CAAA,CAAAiF,SAAA,CAAAxE,CAAA,CAAAV,CAAA,CAAAC,CAAA,CAAAmE,CAAA,uBAAAnE,CAAA,CAAAU,SAAA,CAAAR,MAAA,CAAAW,MAAA,CAAA6D,CAAA,EAAA1E,CAAA,EAAA4D,CAAA,CAAAsB,KAAA,UAAAnF,CAAA,SAAA6B,OAAA,CAAA7B,CAAA,GAAAa,CAAA,CAAAE,CAAA,CAAAJ,SAAA,EAAAX,CAAA,CAAAe,CAAA,CAAAJ,SAAA,CAAAuD,CAAA,0BAAAL,CAAA,CAAAuB,aAAA,CAAArE,CAAA,CAAA8C,CAAA,CAAAwB,KAAA,UAAArF,CAAA,CAAAE,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAA,CAAA,CAAA4E,OAAA,MAAAzE,CAAA,KAAAE,CAAA,CAAAd,CAAA,CAAAD,CAAA,CAAAE,CAAA,CAAAU,CAAA,CAAAH,CAAA,EAAAC,CAAA,SAAAmD,CAAA,CAAAgB,mBAAA,CAAA3E,CAAA,EAAAW,CAAA,CAAAA,CAAA,CAAAgC,IAAA,GAAAf,IAAA,UAAA9B,CAAA,SAAAA,CAAA,CAAAwC,IAAA,CAAAxC,CAAA,CAAAK,KAAA,CAAAQ,CAAA,CAAAgC,IAAA,MAAAhC,CAAA,CAAA8D,CAAA,EAAA3E,CAAA,CAAA2E,CAAA,CAAAP,CAAA,cAAApE,CAAA,CAAA2E,CAAA,CAAAlB,CAAA,0BAAAzD,CAAA,CAAA2E,CAAA,oDAAAd,CAAA,CAAA0B,IAAA,UAAAvF,CAAA,MAAAC,CAAA,CAAAE,MAAA,CAAAH,CAAA,EAAAE,CAAA,YAAAU,CAAA,IAAAX,CAAA,CAAAC,CAAA,CAAAkD,IAAA,CAAAxC,CAAA,SAAAV,CAAA,CAAAsF,OAAA,YAAAxF,EAAA,OAAAE,CAAA,CAAAyD,MAAA,OAAA/C,CAAA,CAAAV,CAAA,CAAAuF,GAAA,MAAA7E,CAAA,IAAAX,CAAA,QAAAD,CAAA,CAAAK,KAAA,CAAAO,CAAA,CAAAZ,CAAA,CAAAwC,IAAA,IAAAxC,CAAA,QAAAA,CAAA,CAAAwC,IAAA,IAAAxC,CAAA,GAAA6D,CAAA,CAAA6B,MAAA,CAAAlC,CAAA,CAAAxC,CAAA,CAAAL,SAAA,EAAAmE,WAAA,CAAA9D,CAAA,CAAAuC,KAAA,UAAAA,MAAAvD,CAAA,UAAA2F,IAAA,QAAA9C,IAAA,QAAAT,IAAA,MAAAC,KAAA,aAAAG,IAAA,SAAAN,QAAA,WAAAD,MAAA,aAAAb,GAAA,aAAA+B,UAAA,CAAA7B,OAAA,CAAA+B,CAAA,GAAArD,CAAA,SAAAC,CAAA,eAAAA,CAAA,CAAA2F,MAAA,KAAAjE,CAAA,CAAAN,IAAA,MAAApB,CAAA,IAAAyD,KAAA,EAAAzD,CAAA,CAAA4F,KAAA,YAAA5F,CAAA,WAAA6F,IAAA,UAAAA,KAAA,OAAAtD,IAAA,QAAAxC,CAAA,MAAAmD,UAAA,IAAAG,UAAA,cAAAtD,CAAA,CAAAmB,IAAA,OAAAnB,CAAA,CAAAoB,GAAA,aAAA2E,IAAA,EAAAzD,iBAAA,UAAAA,kBAAAtC,CAAA,WAAAC,GAAA,CAAAW,CAAA,SAAAF,CAAA,CAAAS,IAAA,SAAAT,CAAA,CAAAU,GAAA,CAAApB,CAAA,CAAAE,CAAA,CAAA2C,IAAA,CAAA5C,CAAA,CAAAW,CAAA,GAAAV,CAAA,CAAA+B,MAAA,QAAA/B,CAAA,CAAAkB,GAAA,WAAAR,CAAA,SAAA4B,IAAA,OAAAxC,CAAA,SAAAE,CAAA,MAAAU,CAAA,MAAAuC,UAAA,CAAAQ,MAAA,MAAA/C,CAAA,GAAAA,CAAA,MAAAH,CAAA,MAAA0C,UAAA,CAAAvC,CAAA,EAAAF,CAAA,CAAAD,CAAA,CAAA6C,UAAA,aAAA7C,CAAA,CAAAsC,MAAA,QAAA9C,CAAA,WAAAQ,CAAA,CAAAsC,MAAA,OAAA4C,IAAA,MAAA9E,CAAA,CAAAc,CAAA,CAAAN,IAAA,CAAAZ,CAAA,aAAAM,CAAA,CAAAY,CAAA,CAAAN,IAAA,CAAAZ,CAAA,kBAAAI,CAAA,EAAAE,CAAA,UAAA4E,IAAA,CAAAlF,CAAA,CAAAuC,QAAA,QAAA/C,CAAA,CAAAQ,CAAA,CAAAuC,QAAA,aAAA2C,IAAA,CAAAlF,CAAA,CAAAwC,UAAA,QAAAhD,CAAA,CAAAQ,CAAA,CAAAwC,UAAA,WAAApC,CAAA,MAAAE,CAAA,WAAAgB,KAAA,mDAAA4D,IAAA,CAAAlF,CAAA,CAAAwC,UAAA,QAAAhD,CAAA,CAAAQ,CAAA,CAAAwC,UAAA,eAAA0C,IAAA,CAAAlF,CAAA,CAAAuC,QAAA,QAAA/C,CAAA,CAAAQ,CAAA,CAAAuC,QAAA,QAAAT,MAAA,UAAAA,OAAAvC,CAAA,CAAAC,CAAA,UAAAC,CAAA,CAAAU,CAAA,MAAAuC,UAAA,CAAAQ,MAAA,MAAA/C,CAAA,GAAAA,CAAA,IAAAV,CAAA,MAAAiD,UAAA,CAAAvC,CAAA,EAAAV,CAAA,CAAA6C,MAAA,OAAA4C,IAAA,EAAAhE,CAAA,CAAAN,IAAA,CAAAnB,CAAA,qBAAAyF,IAAA,CAAAzF,CAAA,CAAA+C,UAAA,MAAAxC,CAAA,CAAAP,CAAA,OAAAO,CAAA,aAAAT,CAAA,eAAAA,CAAA,GAAAS,CAAA,CAAAsC,MAAA,EAAA9C,CAAA,EAAAA,CAAA,EAAAQ,CAAA,CAAAwC,UAAA,GAAAxC,CAAA,WAAAC,CAAA,CAAAD,CAAA,CAAAA,CAAA,CAAA6C,UAAA,WAAA5C,CAAA,CAAAS,IAAA,CAAAnB,CAAA,CAAAU,CAAA,CAAAU,GAAA,CAAAnB,CAAA,CAAAQ,CAAA,OAAAwB,MAAA,aAAAY,IAAA,CAAApC,CAAA,CAAAwC,UAAA,CAAAd,CAAA,OAAA6D,QAAA,CAAAtF,CAAA,GAAAsF,QAAA,UAAAA,SAAAhG,CAAA,CAAAC,CAAA,eAAAD,CAAA,CAAAmB,IAAA,OAAAnB,CAAA,CAAAoB,GAAA,iBAAApB,CAAA,CAAAmB,IAAA,eAAAnB,CAAA,CAAAmB,IAAA,MAAA0B,IAAA,CAAA7C,CAAA,CAAAoB,GAAA,YAAApB,CAAA,CAAAmB,IAAA,OAAA4E,IAAA,MAAA3E,GAAA,CAAApB,CAAA,CAAAoB,GAAA,MAAAa,MAAA,eAAAY,IAAA,mBAAA7C,CAAA,CAAAmB,IAAA,EAAAlB,CAAA,QAAA4C,IAAA,CAAA5C,CAAA,EAAAkC,CAAA,EAAA8D,MAAA,UAAAA,OAAAjG,CAAA,UAAAC,CAAA,CAAAC,CAAA,MAAAiD,UAAA,CAAAQ,MAAA,MAAAzD,CAAA,GAAAA,CAAA,IAAAD,CAAA,MAAAkD,UAAA,CAAAjD,CAAA,EAAAD,CAAA,CAAAgD,UAAA,GAAAjD,CAAA,aAAAgG,QAAA,CAAA/F,CAAA,CAAAqD,UAAA,CAAArD,CAAA,CAAAiD,QAAA,EAAAG,CAAA,CAAApD,CAAA,EAAAkC,CAAA,EAAA+D,KAAA,UAAAC,OAAAnG,CAAA,UAAAC,CAAA,CAAAC,CAAA,MAAAiD,UAAA,CAAAQ,MAAA,MAAAzD,CAAA,GAAAA,CAAA,IAAAD,CAAA,MAAAkD,UAAA,CAAAjD,CAAA,EAAAD,CAAA,CAAA8C,MAAA,GAAA/C,CAAA,MAAAY,CAAA,CAAAX,CAAA,CAAAqD,UAAA,cAAA1C,CAAA,CAAAO,IAAA,MAAAV,CAAA,CAAAG,CAAA,CAAAQ,GAAA,CAAAiC,CAAA,CAAApD,CAAA,SAAAQ,CAAA,WAAAsB,KAAA,2BAAAqE,aAAA,UAAAA,cAAApG,CAAA,CAAAC,CAAA,CAAAC,CAAA,cAAAgC,QAAA,EAAAO,QAAA,CAAAe,CAAA,CAAAxD,CAAA,EAAA4C,UAAA,CAAA3C,CAAA,CAAA6C,OAAA,CAAA5C,CAAA,gBAAA+B,MAAA,QAAAb,GAAA,SAAAe,CAAA,GAAA0B,CAAA,UAAAwC,mBAAArG,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,UAAAE,CAAA,CAAAf,CAAA,CAAAU,CAAA,EAAAG,CAAA,EAAAK,CAAA,CAAAH,CAAA,CAAAV,KAAA,OAAAL,CAAA,cAAAE,CAAA,CAAAF,CAAA,EAAAe,CAAA,CAAAyB,IAAA,CAAAvC,CAAA,CAAAiB,CAAA,EAAAoE,OAAA,CAAA1D,OAAA,CAAAV,CAAA,EAAAY,IAAA,CAAAlB,CAAA,CAAAH,CAAA,WAAA6F,kBAAAtG,CAAA,wBAAAC,CAAA,MAAAC,CAAA,CAAAqG,SAAA,YAAAjB,OAAA,UAAA1E,CAAA,CAAAH,CAAA,WAAAC,EAAAV,CAAA,EAAAqG,kBAAA,CAAAtF,CAAA,CAAAH,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,QAAAb,CAAA,WAAAa,EAAAb,CAAA,EAAAqG,kBAAA,CAAAtF,CAAA,CAAAH,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,SAAAb,CAAA,MAAAe,CAAA,CAAAf,CAAA,CAAAwG,KAAA,CAAAvG,CAAA,CAAAC,CAAA,EAAAQ,CAAA,qBAAA+F,gBAAAzG,CAAA,CAAAC,CAAA,OAAAD,CAAA,YAAAC,CAAA,YAAA0C,SAAA,+CAAA+D,kBAAA1G,CAAA,CAAAC,CAAA,UAAAC,CAAA,CAAAU,CAAA,GAAAA,CAAA,CAAAX,CAAA,CAAA0D,MAAA,CAAA/C,CAAA,GAAAV,CAAA,CAAAD,CAAA,CAAAW,CAAA,EAAAV,CAAA,CAAAI,UAAA,CAAAJ,CAAA,CAAAI,UAAA,KAAAJ,CAAA,CAAAK,YAAA,cAAAL,CAAA,GAAAA,CAAA,CAAAM,QAAA,KAAAL,MAAA,CAAAC,cAAA,CAAAJ,CAAA,CAAA2G,cAAA,CAAAzG,CAAA,CAAA0G,GAAA,EAAA1G,CAAA,WAAA2G,aAAA7G,CAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAD,CAAA,EAAAyG,iBAAA,CAAA1G,CAAA,CAAAW,SAAA,CAAAV,CAAA,EAAAC,CAAA,EAAAwG,iBAAA,CAAA1G,CAAA,CAAAE,CAAA,EAAAC,MAAA,CAAAC,cAAA,CAAAJ,CAAA,cAAAQ,QAAA,MAAAR,CAAA,UAAA8G,gBAAA9G,CAAA,CAAAC,CAAA,CAAAC,CAAA,SAAAD,CAAA,CAAA0G,cAAA,CAAA1G,CAAA,EAAAA,CAAA,IAAAD,CAAA,CAAAG,MAAA,CAAAC,cAAA,CAAAJ,CAAA,CAAAC,CAAA,EAAAI,KAAA,CAAAH,CAAA,CAAAI,UAAA,IAAAC,YAAA,IAAAC,QAAA,MAAAR,CAAA,CAAAC,CAAA,EAAAC,CAAA,CAAAF,CAAA,UAAA2G,eAAA3G,CAAA,MAAAC,CAAA,CAAA8G,YAAA,CAAA/G,CAAA,4BAAA0B,OAAA,CAAAzB,CAAA,EAAAA,CAAA,CAAAA,CAAA,aAAA8G,aAAA/G,CAAA,CAAAC,CAAA,gBAAAyB,OAAA,CAAA1B,CAAA,UAAAA,CAAA,QAAAA,CAAA,KAAAE,CAAA,CAAAF,CAAA,CAAAiE,MAAA,CAAA+C,WAAA,KAAA9G,CAAA,eAAAU,CAAA,CAAAV,CAAA,CAAAmB,IAAA,CAAArB,CAAA,CAAAC,CAAA,2BAAAyB,OAAA,CAAAd,CAAA,SAAAA,CAAA,WAAA+B,SAAA,mEAAA1C,CAAA,CAAAgH,MAAA,CAAAC,MAAA,EAAAlH,CAAA,KAgCa,CAAAmH,SAAS,yBAMpB,SAAAnH,EAAAC,CAAA,CAKwB,IAJtB,CAAAmH,CAAQ,CAAAnH,CAAA,CAARmH,QAAQ,CACRC,CAAW,CAAApH,CAAA,CAAXoH,WAAW,CACXC,CAAW,CAAArH,CAAA,CAAXqH,WAAW,CACXC,CAAiB,CAAAtH,CAAA,CAAjBsH,iBAAiB,CAAAd,eAAA,MAAAzG,CAAA,EAAA8G,eAAA,yBAAAA,eAAA,4BAAAA,eAAA,kCAAAA,eAAA,4BAEjB,IAAI,CAACS,iBAAiB,CAAGA,CAAiB,CAC1C,IAAI,CAACH,QAAQ,CAAGA,CAAQ,CACxB,IAAI,CAACC,WAAW,CAAGA,CAAW,CAC9B,IAAI,CAACC,WAAW,CAAGA,CACrB,CAAC,OAAAT,YAAA,CAAA7G,CAAA,GAAA4G,GAAA,0BAAAvG,KAAA,qBAAAL,EAAA,SAAAC,CAAA,CAAAuG,KAAA,MAAAD,SAAA,MAAAtG,CAAA,CAAAqG,iBAAA,cAAA1C,mBAAA,GAAAoB,IAAA,CAED,SAAA/E,EACEuH,CAAkB,MAAAtH,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,QAAAkD,mBAAA,GAAAU,IAAA,UAAAzD,EAAAZ,CAAA,iBAAAA,CAAA,CAAA0F,IAAA,CAAA1F,CAAA,CAAA4C,IAAA,eAEZ,CAAA4E,CAAgB,CAAG,IAAI,CAACJ,WAAW,CACrCK,uBAAY,CAACC,WAAW,CAAG,IAAI,CAACN,WAAW,CAC3C,EAAE,CACAO,CAAc,CAAGJ,CAAS,CAAGE,uBAAY,CAACG,EAAE,CAAGL,CAAS,CAAG,EAAE,CAE7DM,CAAU,CACdC,cAAG,CAACC,oBAAoB,CACxBC,mBAAQ,CAACC,MAAM,CACf,IAAI,CAACd,QAAQ,CACbK,CAAgB,CAChBG,CAAc,CAAA3H,CAAA,CAAA0F,IAAA,GAAA1F,CAAA,CAAA4C,IAAA,GAGS,IAAI,CAAC0E,iBAAiB,CAACY,sBAAsB,CAClEL,CAAU,CACX,cAFK,CAAAM,CAAQ,CAAAnI,CAAA,CAAAmC,IAAA,CAAAnC,CAAA,CAAAsC,MAAA,UAIP,GAAA8F,SAAE,EAACD,CAAQ,CAAqC,iBAAAnI,CAAA,CAAA0F,IAAA,IAAA1F,CAAA,CAAAqI,EAAA,CAAArI,CAAA,aAAAA,CAAA,CAAAsC,MAAA,UAEhD,GAAAgG,UAAG,EAAAtI,CAAA,CAAAqI,EAAA,CAAyB,2BAAArI,CAAA,CAAA6F,IAAA,MAAA7F,CAAA,gBAEtC,UAAAD,CAAA,MAAA4G,GAAA,iBAAAvG,KAAA,qBAAAL,GAAA,SAAAC,CAAA,CAAAuG,KAAA,MAAAD,SAAA,MAAAtG,CAAA,CAAAqG,iBAAA,cAAA1C,mBAAA,GAAAoB,IAAA,CAED,SAAA/E,EACE2G,CAAW,MAAA1G,CAAA,CAAAU,CAAA,QAAAgD,mBAAA,GAAAU,IAAA,UAAA7D,EAAAR,CAAA,iBAAAA,CAAA,CAAA0F,IAAA,CAAA1F,CAAA,CAAA4C,IAAA,eAEL,CAAAiF,CAAkB,CACtBC,cAAG,CAACS,QAAQ,CAAG,IAAI,CAACpB,QAAQ,CAAGM,uBAAY,CAACe,GAAG,CAAGC,SAAS,CAAC9B,CAAG,CAAC,CAAA3G,CAAA,CAAA0F,IAAA,GAAA1F,CAAA,CAAA4C,IAAA,GAGzC,IAAI,CAAC0E,iBAAiB,CAACoB,aAAa,CAACb,CAAU,CAAC,cAAjE,CAAAM,CAAQ,CAAAnI,CAAA,CAAAmC,IAAA,CAAAnC,CAAA,CAAAsC,MAAA,UACP,GAAA8F,SAAE,EAACD,CAAQ,CAAC,gBAAAnI,CAAA,CAAA0F,IAAA,GAAA1F,CAAA,CAAAqI,EAAA,CAAArI,CAAA,aAAAA,CAAA,CAAAsC,MAAA,UAEZ,GAAAgG,UAAG,EAAAtI,CAAA,CAAAqI,EAAA,CAAyB,2BAAArI,CAAA,CAAA6F,IAAA,MAAA7F,CAAA,eAEtC,UAAAD,CAAA,MAAA4G,GAAA,kBAAAvG,KAAA,qBAAAL,GAAA,SAAAC,CAAA,CAAAuG,KAAA,MAAAD,SAAA,MAAAtG,CAAA,CAAAqG,iBAAA,cAAA1C,mBAAA,GAAAoB,IAAA,CAED,SAAA/E,EACE2I,CAAmB,MAAA1I,CAAA,CAAAU,CAAA,QAAAgD,mBAAA,GAAAU,IAAA,UAAA7D,EAAAR,CAAA,iBAAAA,CAAA,CAAA0F,IAAA,CAAA1F,CAAA,CAAA4C,IAAA,eAEb,CAAAiF,CAAkB,CACtBC,cAAG,CAACc,UAAU,CACd,IAAI,CAACzB,QAAQ,CACbM,uBAAY,CAACoB,WAAW,CACxBF,CAAW,CACXlB,uBAAY,CAACqB,uBAAuB,CACpC,CAAC,CACDrB,uBAAY,CAACsB,UAAU,GACnB,CACJtB,uBAAY,CAACuB,YAAY,GACrB,CAAAhJ,CAAA,CAAA0F,IAAA,GAAA1F,CAAA,CAAA4C,IAAA,GAGmB,IAAI,CAAC0E,iBAAiB,CAACoB,aAAa,CAACb,CAAU,CAAC,cAAjE,CAAAM,CAAQ,CAAAnI,CAAA,CAAAmC,IAAA,CAAAnC,CAAA,CAAAsC,MAAA,UACP,GAAA8F,SAAE,EAACD,CAAQ,CAA6B,gBAAAnI,CAAA,CAAA0F,IAAA,GAAA1F,CAAA,CAAAqI,EAAA,CAAArI,CAAA,aAAAA,CAAA,CAAAsC,MAAA,UAExC,GAAAgG,UAAG,EAAAtI,CAAA,CAAAqI,EAAA,CAAyB,2BAAArI,CAAA,CAAA6F,IAAA,MAAA7F,CAAA,eAEtC,UAAAD,CAAA,MAAA4G,GAAA,mBAAAvG,KAAA,qBAAAL,GAAA,SAAAC,CAAA,CAAAuG,KAAA,MAAAD,SAAA,MAAAtG,CAAA,CAAAqG,iBAAA,cAAA1C,mBAAA,GAAAoB,IAAA,CAED,SAAA/E,EAAAD,CAAA,MAAAE,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,CAAAE,CAAA,CAAAG,CAAA,CAAAM,CAAA,CAAAC,CAAA,CAAA4B,CAAA,CAAArC,CAAA,CAAAwC,CAAA,QAAAI,mBAAA,GAAAU,IAAA,UAAAtC,EAAA/B,CAAA,iBAAAA,CAAA,CAAA0F,IAAA,CAAA1F,CAAA,CAAA4C,IAAA,eACE,CAAAqG,CAAW,CAAAlJ,CAAA,CAAXkJ,WAAW,CACXN,CAAW,CAAA5I,CAAA,CAAX4I,WAAW,CACXO,CAAY,CAAAnJ,CAAA,CAAZmJ,YAAY,CACZC,CAAa,CAAApJ,CAAA,CAAboJ,aAAa,CACbC,CAAI,CAAArJ,CAAA,CAAJqJ,IAAI,CACJC,CAAS,CAAAtJ,CAAA,CAATsJ,SAAS,CAEHC,CAAG,CAAG,IAAI,CAACC,cAAc,CAACZ,CAAW,CAAC,CAEtCa,CAAmB,CAAIJ,CAAI,CAE7B,EAAE,CADFK,uBAAY,CAACC,QAAQ,CAAGjC,uBAAY,CAACkC,KAAK,CAAGC,oBAAS,CAACC,QAAQ,EAC7D,CACAC,CAAY,CAAGX,CAAa,CAC9BK,CAAmB,CACnBC,uBAAY,CAACM,UAAU,CACvBtC,uBAAY,CAACuC,EAAE,CACfd,CAAY,CACZzB,uBAAY,CAACwC,WAAW,CACxBhB,CAAW,CACXxB,uBAAY,CAACkC,KAAK,CAClBC,oBAAS,CAACC,QAAQ,EAAE,CAClBK,CAAY,CAAGJ,CAAY,CAAGV,CAAI,CAAG,IAAI,CAAGU,CAAY,CAAGV,CAAI,CAE/De,CAAO,CAAGd,CAAS,CAAAxC,eAAA,IAElBuD,iBAAM,CAACC,SAAS,CAAGhB,CAAS,QAEtB,CAAArJ,CAAA,CAAA0F,IAAA,GAAA1F,CAAA,CAAA4C,IAAA,GAGY,IAAI,CAAC0E,iBAAiB,CAACgD,KAAK,CAAC,CAClDhB,GAAG,CAAHA,CAAG,CACHa,OAAO,CAAPA,CAAO,CACPf,IAAI,CAAEc,CACR,CAAC,CAAC,cAJI,CAAA/B,CAAQ,CAAAnI,CAAA,CAAAmC,IAAA,CAAAnC,CAAA,CAAAsC,MAAA,UAMP,GAAA8F,SAAE,EAACD,CAAQ,CAAC,iBAAAnI,CAAA,CAAA0F,IAAA,IAAA1F,CAAA,CAAAqI,EAAA,CAAArI,CAAA,aAAAA,CAAA,CAAAsC,MAAA,UAEZ,GAAAgG,UAAG,EAAAtI,CAAA,CAAAqI,EAAA,CAAyB,2BAAArI,CAAA,CAAA6F,IAAA,MAAA7F,CAAA,gBAEtC,UAAAD,CAAA,MAAA4G,GAAA,aAAAvG,KAAA,qBAAAL,GAAA,SAAAC,CAAA,CAAAuG,KAAA,MAAAD,SAAA,MAAAtG,CAAA,CAAAqG,iBAAA,cAAA1C,mBAAA,GAAAoB,IAAA,CAED,SAAA/E,EAAAD,CAAA,MAAAE,CAAA,CAAAU,CAAA,CAAAH,CAAA,CAAAC,CAAA,CAAAG,CAAA,CAAAE,CAAA,CAAAG,CAAA,QAAA0C,mBAAA,GAAAU,IAAA,UAAA9C,EAAAvB,CAAA,iBAAAA,CAAA,CAAA0F,IAAA,CAAA1F,CAAA,CAAA4C,IAAA,eACE,CAAA+F,CAAW,CAAA5I,CAAA,CAAX4I,WAAW,CACXS,CAAI,CAAArJ,CAAA,CAAJqJ,IAAI,CACJC,CAAS,CAAAtJ,CAAA,CAATsJ,SAAS,CAEHC,CAAG,CAAG,IAAI,CAACC,cAAc,CAACZ,CAAW,CAAC,CAEtCwB,CAAO,CAAGd,CAAS,CAAAxC,eAAA,IAElBuD,iBAAM,CAACC,SAAS,CAAGhB,CAAS,QAEtB,CAEPkB,CAAW,CACfnB,CAAI,EAAIK,uBAAY,CAACC,QAAQ,CAAGjC,uBAAY,CAACkC,KAAK,CAAGC,oBAAS,CAACC,QAAQ,EAAE,CAAA7J,CAAA,CAAA0F,IAAA,GAAA1F,CAAA,CAAA4C,IAAA,GAGlD,IAAI,CAAC0E,iBAAiB,CAACgD,KAAK,CAAC,CAClDhB,GAAG,CAAHA,CAAG,CACHa,OAAO,CAAPA,CAAO,CACPf,IAAI,CAAEmB,CACR,CAAC,CAAC,cAJI,CAAApC,CAAQ,CAAAnI,CAAA,CAAAmC,IAAA,CAAAnC,CAAA,CAAAsC,MAAA,UAMP,GAAA8F,SAAE,EAACD,CAAQ,CAAC,iBAAAnI,CAAA,CAAA0F,IAAA,IAAA1F,CAAA,CAAAqI,EAAA,CAAArI,CAAA,aAAAA,CAAA,CAAAsC,MAAA,UAEZ,GAAAgG,UAAG,EAAAtI,CAAA,CAAAqI,EAAA,CAAyB,2BAAArI,CAAA,CAAA6F,IAAA,MAAA7F,CAAA,gBAEtC,UAAAD,CAAA,MAAA4G,GAAA,kBAAAvG,KAAA,CAED,SAAAmJ,eAAuBZ,CAAmB,CAAU,CAClD,IAAA3I,CAAA,CAA0B,IAAI,CAACqH,WAAW,CAAlCnG,CAAI,CAAAlB,CAAA,CAAJkB,IAAI,CAAEsJ,CAAO,CAAAxK,CAAA,CAAPwK,OAAO,CAErB,MACE,CAAA1C,cAAG,CAAC2C,WAAW,CACf,IAAI,CAACtD,QAAQ,CACbM,uBAAY,CAACoB,WAAW,CACxBF,CAAW,CACXlB,uBAAY,CAACiD,OAAO,CACpBxJ,CAAI,CAACyJ,WAAW,EAAE,CAClBlD,uBAAY,CAACmD,UAAU,CACvBJ,CAEJ,CAAC,IAAAzK,CAAA,IAAA8K,OAAA,CAAA3D,SAAA,CAAAA,SAAA"}
@@ -0,0 +1,100 @@
1
+ import { JSONType, FeatureFlagType, ConfigurationDataType } from '../campaignConfiguration';
2
+ import { Environment, ExternalPackageInfoType } from '../types';
3
+ import { Header } from './constants';
4
+ export type RequesterParamsType = {
5
+ siteCode: string;
6
+ environment?: Environment;
7
+ packageInfo: ExternalPackageInfoType;
8
+ requestDispatcher: IExternalRequestDispatcher;
9
+ };
10
+ export type TrackExperimentParamsType = {
11
+ body: string;
12
+ variationId: number;
13
+ visitorCode: string;
14
+ experimentId: number;
15
+ isUnallocated: boolean;
16
+ userAgent?: string;
17
+ };
18
+ export type TrackDataParamsType = {
19
+ visitorCode: string;
20
+ body: string;
21
+ userAgent?: string;
22
+ };
23
+ type CustomDataEventType = {
24
+ sdk: {
25
+ name: string;
26
+ version: string;
27
+ };
28
+ itp: boolean;
29
+ time: number;
30
+ data: {
31
+ index: number;
32
+ valuesCountMap: {
33
+ [value: string]: number;
34
+ };
35
+ overwrite: boolean;
36
+ mappingIdentifier: boolean;
37
+ };
38
+ };
39
+ export type VisitType = {
40
+ siteCode: string;
41
+ visitorCode: string;
42
+ customDataEvents: CustomDataEventType[];
43
+ };
44
+ export type GetVisitorDataResultType = {
45
+ previousVisits?: [VisitType];
46
+ currentVisit?: VisitType;
47
+ };
48
+ export type GetClientConfigurationResultType = Omit<ConfigurationDataType, 'featureFlags'> & {
49
+ featureFlagConfigurations: FeatureFlagType[];
50
+ };
51
+ export declare enum HttpMethod {
52
+ Get = "GET",
53
+ Post = "POST"
54
+ }
55
+ declare const EVENT_TYPE_KEYS: readonly ["customData", "staticData", "page", "conversion", "activity", "experiment"];
56
+ declare const PARAMETER_KEYS: readonly ["valuesCountMap", "id", "nonce", "sdkName", "sdkVersion", "browserIndex", "browserVersion", "siteCode", "environment", "visitorCode", "currentVisit", "maxNumberPreviousVisits", "customData", "negative", "revenue", "title", "referrersIndices", "overwrite", "index", "href", "variationId", "deviceType", "goalId", "ts", "key"];
57
+ declare const TRACKING_KEYS: readonly ["visit", "map"];
58
+ declare const QUERY_KEYS: readonly ["sse", "visitor", "mobile", "map", "events"];
59
+ export type TrackingType = Record<Capitalize<(typeof TRACKING_KEYS)[number]>, string>;
60
+ export type QueryType = Record<Capitalize<(typeof QUERY_KEYS)[number]>, string>;
61
+ export type ParameterType = Record<Capitalize<(typeof PARAMETER_KEYS)[number]>, string>;
62
+ export type EventType = Record<Capitalize<(typeof EVENT_TYPE_KEYS)[number]>, string>;
63
+ export type StrictTrackingRecord<T> = {
64
+ [K in keyof T]: `${Uncapitalize<K & string>}/`;
65
+ };
66
+ export type StrictQueryRecord<T> = {
67
+ [K in keyof T]: `${Uncapitalize<K & string>}?siteCode=`;
68
+ };
69
+ export type StrictEventTypeRecord<T> = {
70
+ [K in keyof T]: `eventType=${Uncapitalize<K & string>}`;
71
+ };
72
+ export type StrictParameterRecord<T> = {
73
+ [K in keyof T]: `&${Uncapitalize<K & string>}=`;
74
+ };
75
+ export type TrackParametersType = {
76
+ url: string;
77
+ headers?: Partial<Record<Header, string>>;
78
+ body: string;
79
+ };
80
+ /**
81
+ * @interface an interface of External Request Dispatcher which will be used to perform requests.
82
+ * */
83
+ export interface IExternalRequestDispatcher {
84
+ /**
85
+ * @method track - send a track request
86
+ * @param {TrackParametersType} parameters - track parameters
87
+ * */
88
+ track: (params: TrackParametersType) => Promise<boolean>;
89
+ /**
90
+ * @method getClientConfiguration - get client configuration
91
+ * @param {string} url - url address
92
+ * */
93
+ getClientConfiguration: (url: string) => Promise<JSONType>;
94
+ /**
95
+ * @method getRemoteData - get data from remote server of Kameleoon
96
+ * @param {string} url - url address
97
+ * */
98
+ getRemoteData: (url: string) => Promise<JSONType>;
99
+ }
100
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpMethod=void 0;var HttpMethod=/*#__PURE__*/function(a){return a.Get="GET",a.Post="POST",a}({});exports.HttpMethod=HttpMethod;var EVENT_TYPE_KEYS=["customData","staticData","page","conversion","activity","experiment"],PARAMETER_KEYS=["valuesCountMap","id","nonce","sdkName","sdkVersion","browserIndex","browserVersion","siteCode","environment","visitorCode","currentVisit","maxNumberPreviousVisits","customData","negative","revenue","title","referrersIndices","overwrite","index","href","variationId","deviceType","goalId","ts","key"],TRACKING_KEYS=["visit","map"],QUERY_KEYS=["sse","visitor","mobile","map","events"];
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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 {\n JSONType,\n FeatureFlagType,\n ConfigurationDataType,\n} from 'src/campaignConfiguration';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport { Header } from './constants';\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 userAgent?: string;\n};\n\nexport type TrackDataParamsType = {\n visitorCode: string;\n body: string;\n userAgent?: string;\n};\n\ntype CustomDataEventType = {\n sdk: {\n name: string;\n version: string;\n };\n itp: boolean;\n time: number;\n data: {\n index: number;\n valuesCountMap: {\n [value: string]: number;\n };\n overwrite: boolean;\n mappingIdentifier: boolean;\n };\n};\n\nexport type VisitType = {\n siteCode: string;\n visitorCode: string;\n customDataEvents: CustomDataEventType[];\n};\n\nexport type GetVisitorDataResultType = {\n previousVisits?: [VisitType];\n currentVisit?: VisitType;\n};\n\nexport type GetClientConfigurationResultType = Omit<\n ConfigurationDataType,\n 'featureFlags'\n> & { featureFlagConfigurations: FeatureFlagType[] };\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 'activity',\n 'experiment',\n] as const;\nconst PARAMETER_KEYS = [\n 'valuesCountMap',\n 'id',\n 'nonce',\n 'sdkName',\n 'sdkVersion',\n 'browserIndex',\n 'browserVersion',\n 'siteCode',\n 'environment',\n 'visitorCode',\n 'currentVisit',\n 'maxNumberPreviousVisits',\n 'customData',\n 'negative',\n 'revenue',\n 'title',\n 'referrersIndices',\n 'overwrite',\n 'index',\n 'href',\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', 'mobile', '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};\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":"iGA+DY,CAAAA,UAAU,uBAAVA,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,UAAU,CACV,YAAY,CACJ,CACJC,cAAc,CAAG,CACrB,gBAAgB,CAChB,IAAI,CACJ,OAAO,CACP,SAAS,CACT,YAAY,CACZ,cAAc,CACd,gBAAgB,CAChB,UAAU,CACV,aAAa,CACb,aAAa,CACb,cAAc,CACd,yBAAyB,CACzB,YAAY,CACZ,UAAU,CACV,SAAS,CACT,OAAO,CACP,kBAAkB,CAClB,WAAW,CACX,OAAO,CACP,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,QAAQ,CAAE,KAAK,CAAE,QAAQ,CAAU"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @readonly
3
+ * @enum {string} an Enum containing keys for Kameleoon SDK related data stored on storage
4
+ * */
5
+ export declare enum KameleoonStorageKey {
6
+ ClientData = "kameleoonClientData",
7
+ VariationData = "kameleoonVariationData",
8
+ VisitorCode = "kameleoonVisitorCode",
9
+ OfflineTracking = "kameleoonOfflineTracking"
10
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonStorageKey=void 0;/**
2
+ * @readonly
3
+ * @enum {string} an Enum containing keys for Kameleoon SDK related data stored on storage
4
+ * */var KameleoonStorageKey=/*#__PURE__*/function(a){return a.ClientData="kameleoonClientData",a.VariationData="kameleoonVariationData",a.VisitorCode="kameleoonVisitorCode",a.OfflineTracking="kameleoonOfflineTracking",a}({});exports.KameleoonStorageKey=KameleoonStorageKey;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["KameleoonStorageKey","ClientData","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 VariationData = 'kameleoonVariationData',\n VisitorCode = 'kameleoonVisitorCode',\n OfflineTracking = 'kameleoonOfflineTracking',\n}\n"],"mappings":"uGAAA;AACA;AACA;AACA,KAHA,GAIY,CAAAA,mBAAmB,uBAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,UAAA,uBAAnBD,CAAmB,CAAAE,aAAA,0BAAnBF,CAAmB,CAAAG,WAAA,wBAAnBH,CAAmB,CAAAI,eAAA,4BAAnBJ,CAAmB,MAAAK,OAAA,CAAAL,mBAAA,CAAAA,mBAAA"}
@@ -0,0 +1,2 @@
1
+ export { KameleoonStorageKey } from './constants';
2
+ export { ClientDataType, IExternalStorage, VariationDataType, StorageDataType, ExperimentVariationsType, IExternalStorageConstructor, } from './types';
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ClientDataType",{enumerable:!0,get:function get(){return _types.ClientDataType}}),Object.defineProperty(exports,"ExperimentVariationsType",{enumerable:!0,get:function get(){return _types.ExperimentVariationsType}}),Object.defineProperty(exports,"IExternalStorage",{enumerable:!0,get:function get(){return _types.IExternalStorage}}),Object.defineProperty(exports,"IExternalStorageConstructor",{enumerable:!0,get:function get(){return _types.IExternalStorageConstructor}}),Object.defineProperty(exports,"KameleoonStorageKey",{enumerable:!0,get:function get(){return _constants.KameleoonStorageKey}}),Object.defineProperty(exports,"StorageDataType",{enumerable:!0,get:function get(){return _types.StorageDataType}}),Object.defineProperty(exports,"VariationDataType",{enumerable:!0,get:function get(){return _types.VariationDataType}});var _constants=require("./constants"),_types=require("./types");
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/storage/index.ts"],"sourcesContent":["export { KameleoonStorageKey } from './constants';\nexport {\n ClientDataType,\n IExternalStorage,\n VariationDataType,\n StorageDataType,\n ExperimentVariationsType,\n IExternalStorageConstructor,\n} from './types';\n"],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { Result } from 'ts-res';
2
+ import { ConfigurationDataType } from '../campaignConfiguration';
3
+ import { KameleoonError } from '../kameleoonError';
4
+ import { VariationType } from '../variationConfiguration';
5
+ import { KameleoonStorageKey } from './constants';
6
+ import { TargetingDataType } from '../targeting';
7
+ import { TrackDataParamsType, TrackExperimentParamsType } from '../requester/types';
8
+ export type ClientDataType = {
9
+ kameleoonTargetingData: TargetingDataType;
10
+ kameleoonConfiguration: ConfigurationDataType;
11
+ lastUpdate: string;
12
+ };
13
+ export type ExperimentVariationsType = {
14
+ [experimentId: string]: VariationType;
15
+ };
16
+ export type VariationDataType = {
17
+ [visitorCode: string]: ExperimentVariationsType;
18
+ };
19
+ type OfflineTrackingParameters = TrackDataParamsType | TrackExperimentParamsType;
20
+ export type OfflineTracking = {
21
+ requestParameters?: Array<OfflineTrackingParameters & {
22
+ timestamp: number;
23
+ isExperiment: boolean;
24
+ }>;
25
+ };
26
+ /**
27
+ * @type StorageDataType - an enumeration type which represents a data stored on SDK storage
28
+ *
29
+ * `string` represents visitor code storage with only one string value
30
+ * */
31
+ export type StorageDataType = ClientDataType | VariationDataType | OfflineTracking | string;
32
+ /**
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
34
+ * */
35
+ export interface IExternalStorageConstructor {
36
+ /**
37
+ * @method initialize - creates and instance of `IExternalStorage<StorageDataType>` and returns it
38
+ *
39
+ * Generic needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant
40
+ * @param {KameleoonStorageKey} key - an enum variant containing keys for Kameleoon SDK related data stored on storage
41
+ * @returns {IExternalStorage<StorageDataType>} an initialized instance of `IExternalStorage<StorageDataType>`
42
+ * */
43
+ initialize: <T extends StorageDataType>(key: KameleoonStorageKey) => IExternalStorage<T>;
44
+ }
45
+ /**
46
+ * @interface an interface of External Storage which must be implemented to be used as external storage for initialized JS SDK Core.
47
+ *
48
+ * Generic `StorageDataType` needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant
49
+ * However it's not constrained strictly by `StorageDataType` to let implementer use storage as a generic for other types
50
+ * */
51
+ export interface IExternalStorage<T> {
52
+ /**
53
+ * @property key - an Enum `KameleoonStorageKey` variant containing a key for Kameleoon SDK related data stored on storage
54
+ * */
55
+ readonly key: KameleoonStorageKey;
56
+ /**
57
+ * @method read - reads data from the storage
58
+ * @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`
59
+ * */
60
+ read: () => Result<T, KameleoonError>;
61
+ /**
62
+ * @method write - writes data to storage
63
+ * @param {T} data - representation of any generic data type
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`
65
+ * */
66
+ write: (data: T) => Result<void, KameleoonError>;
67
+ }
68
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/storage/types.ts"],"sourcesContent":["import { Result } from 'ts-res';\nimport { ConfigurationDataType } from 'src/campaignConfiguration';\nimport { KameleoonError } from 'src/kameleoonError';\nimport { VariationType } from 'src/variationConfiguration';\nimport { KameleoonStorageKey } from './constants';\nimport { TargetingDataType } from 'src/targeting';\nimport {\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\n\nexport type ClientDataType = {\n kameleoonTargetingData: TargetingDataType;\n kameleoonConfiguration: ConfigurationDataType;\n lastUpdate: string;\n};\n\nexport type ExperimentVariationsType = {\n [experimentId: string]: VariationType;\n};\n\nexport type VariationDataType = {\n [visitorCode: string]: ExperimentVariationsType;\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":""}
@@ -0,0 +1,13 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from '../../kameleoonError';
3
+ import { EvaluationDataType } from '../../targeting/types';
4
+ import { ConditionDataType, ICondition } from './types';
5
+ export declare class BrowserCondition implements ICondition {
6
+ private browser?;
7
+ private version?;
8
+ private versionMatchType?;
9
+ private error?;
10
+ constructor({ browser, version, versionMatchType }: ConditionDataType);
11
+ evaluate({ targetingData, }: EvaluationDataType): Result<boolean, KameleoonError>;
12
+ private checkCondition;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BrowserCondition=void 0;var _tsRes=require("ts-res"),_kameleoonData=require("../../kameleoonData"),_kameleoonError=require("../../kameleoonError"),_types=require("../types");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _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 BrowserCondition=/*#__PURE__*/function(){function a(b){var c=b.browser,d=b.version,e=b.versionMatchType;_classCallCheck(this,a),_defineProperty(this,"browser",void 0),_defineProperty(this,"version",void 0),_defineProperty(this,"versionMatchType",void 0),_defineProperty(this,"error",void 0),this.browser=c,this.version=d,this.versionMatchType=e}return _createClass(a,[{key:"evaluate",value:function evaluate(a){var b=a.targetingData,c=null===b||void 0===b?void 0:b[_kameleoonData.KameleoonData.Browser];if(c){var d=this.checkCondition(c);return this.error?(0,_tsRes.Err)(this.error):(0,_tsRes.Ok)(d)}return(0,_tsRes.Ok)(!1)}},{key:"checkCondition",value:function checkCondition(a){var b=a.browser,c=a.version;if("string"!=typeof this.browser)return!1;if("string"!=typeof this.version)return b===this.browser;if(!this.versionMatchType||"number"!=typeof c)return!1;var d=parseFloat(this.version);switch(isNaN(d)&&(this.error=new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.VersionParse,this.version)),this.versionMatchType){case _types.VersionMatchType.EQUAL:return b===this.browser&&c===d;case _types.VersionMatchType.GREATER:return b===this.browser&&c>d;case _types.VersionMatchType.LOWER:return b===this.browser&&c<d;default:(0,_kameleoonError.exhaustCheck)(this.versionMatchType);}}}]),a}();exports.BrowserCondition=BrowserCondition;
2
+ //# sourceMappingURL=browserCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserCondition.js","names":["BrowserCondition","a","b","browser","version","versionMatchType","_classCallCheck","_defineProperty","_createClass","key","value","evaluate","targetingData","browserData","KameleoonData","Browser","result","checkCondition","error","Err","Ok","parsedVersion","parseFloat","isNaN","KameleoonError","KameleoonException","VersionParse","VersionMatchType","EQUAL","GREATER","LOWER","exhaustCheck","exports"],"sources":["../../../src/targeting/conditions/browserCondition.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { KameleoonData, BrowserType, BrowserDataType } from 'src/kameleoonData';\nimport {\n exhaustCheck,\n KameleoonError,\n KameleoonException,\n} from 'src/kameleoonError';\nimport { EvaluationDataType, VersionMatchType } from 'src/targeting/types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class BrowserCondition implements ICondition {\n private browser?: BrowserType | null;\n private version?: string | null;\n private versionMatchType?: VersionMatchType | null;\n private error?: KameleoonError;\n\n constructor({ browser, version, versionMatchType }: ConditionDataType) {\n this.browser = browser;\n this.version = version;\n this.versionMatchType = versionMatchType;\n }\n\n public evaluate({\n targetingData,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n const browserData = targetingData?.[KameleoonData.Browser];\n\n if (browserData) {\n const result = this.checkCondition(browserData);\n\n if (this.error) {\n return Err(this.error);\n }\n\n return Ok(result);\n }\n\n return Ok(false);\n }\n\n private checkCondition(browserData: BrowserDataType): boolean {\n const { browser, version } = browserData;\n\n if (typeof this.browser !== 'string') {\n return false;\n }\n\n if (typeof this.version !== 'string') {\n return browser === this.browser;\n }\n\n if (!this.versionMatchType || typeof version !== 'number') {\n return false;\n }\n\n const parsedVersion = parseFloat(this.version);\n\n if (isNaN(parsedVersion)) {\n this.error = new KameleoonError(\n KameleoonException.VersionParse,\n this.version,\n );\n }\n\n switch (this.versionMatchType) {\n case VersionMatchType.EQUAL:\n return browser === this.browser && version === parsedVersion;\n case VersionMatchType.GREATER:\n return browser === this.browser && version > parsedVersion;\n case VersionMatchType.LOWER:\n return browser === this.browser && version < parsedVersion;\n default:\n exhaustCheck(this.versionMatchType);\n }\n }\n}\n"],"mappings":"s+CAUa,CAAAA,gBAAgB,yBAM3B,SAAAC,EAAAC,CAAA,CAAuE,IAAzD,CAAAC,CAAO,CAAAD,CAAA,CAAPC,OAAO,CAAEC,CAAO,CAAAF,CAAA,CAAPE,OAAO,CAAEC,CAAgB,CAAAH,CAAA,CAAhBG,gBAAgB,CAAAC,eAAA,MAAAL,CAAA,EAAAM,eAAA,wBAAAA,eAAA,wBAAAA,eAAA,iCAAAA,eAAA,sBAC9C,IAAI,CAACJ,OAAO,CAAGA,CAAO,CACtB,IAAI,CAACC,OAAO,CAAGA,CAAO,CACtB,IAAI,CAACC,gBAAgB,CAAGA,CAC1B,CAAC,OAAAG,YAAA,CAAAP,CAAA,GAAAQ,GAAA,YAAAC,KAAA,CAED,SAAAC,SAAAV,CAAA,CAEwD,IADtD,CAAAW,CAAa,CAAAX,CAAA,CAAbW,aAAa,CAEPC,CAAW,QAAGD,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAGE,4BAAa,CAACC,OAAO,CAAC,CAE1D,GAAIF,CAAW,CAAE,CACf,GAAM,CAAAG,CAAM,CAAG,IAAI,CAACC,cAAc,CAACJ,CAAW,CAAC,CAAC,MAE5C,KAAI,CAACK,KAAK,CACL,GAAAC,UAAG,EAAC,IAAI,CAACD,KAAK,CAAC,CAGjB,GAAAE,SAAE,EAACJ,CAAM,CAClB,CAEA,MAAO,GAAAI,SAAE,KACX,CAAC,GAAAX,GAAA,kBAAAC,KAAA,CAED,SAAAO,eAAuBJ,CAA4B,CAAW,CAC5D,GAAQ,CAAAV,CAAO,CAAcU,CAAW,CAAhCV,OAAO,CAAEC,CAAO,CAAKS,CAAW,CAAvBT,OAAO,CAExB,GAA4B,QAAQ,EAAhC,MAAO,KAAI,CAACD,OAAoB,CAClC,SAGF,GAA4B,QAAQ,EAAhC,MAAO,KAAI,CAACC,OAAoB,CAClC,MAAO,CAAAD,CAAO,GAAK,IAAI,CAACA,OAAO,CAGjC,GAAI,CAAC,IAAI,CAACE,gBAAgB,EAAuB,QAAQ,EAA3B,MAAO,CAAAD,CAAoB,CACvD,SAGF,GAAM,CAAAiB,CAAa,CAAGC,UAAU,CAAC,IAAI,CAAClB,OAAO,CAAC,CAS9C,OAPImB,KAAK,CAACF,CAAa,CAAC,GACtB,IAAI,CAACH,KAAK,CAAG,GAAI,CAAAM,8BAAc,CAC7BC,kCAAkB,CAACC,YAAY,CAC/B,IAAI,CAACtB,OAAO,CACb,EAGK,IAAI,CAACC,gBAAgB,EAC3B,IAAK,CAAAsB,uBAAgB,CAACC,KAAK,CACzB,MAAO,CAAAzB,CAAO,GAAK,IAAI,CAACA,OAAO,EAAIC,CAAO,GAAKiB,CAAa,CAC9D,IAAK,CAAAM,uBAAgB,CAACE,OAAO,CAC3B,MAAO,CAAA1B,CAAO,GAAK,IAAI,CAACA,OAAO,EAAIC,CAAO,CAAGiB,CAAa,CAC5D,IAAK,CAAAM,uBAAgB,CAACG,KAAK,CACzB,MAAO,CAAA3B,CAAO,GAAK,IAAI,CAACA,OAAO,EAAIC,CAAO,CAAGiB,CAAa,CAC5D,QACE,GAAAU,4BAAY,EAAC,IAAI,CAAC1B,gBAAgB,CAAC,CAAC,CAE1C,CAAC,IAAAJ,CAAA,IAAA+B,OAAA,CAAAhC,gBAAA,CAAAA,gBAAA"}
@@ -0,0 +1,6 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from '../../kameleoonError';
3
+ import { ConditionDataType, ConditionType } from './types';
4
+ export declare class ConditionFactory {
5
+ static createCondition(data: ConditionDataType): Result<ConditionType, KameleoonError>;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConditionFactory=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../../kameleoonError"),_types=require("../types"),_browserCondition=require("./browserCondition"),_conversionCondition=require("./conversionCondition"),_customDataCondition=require("./customDataCondition"),_deviceCondition=require("./deviceCondition"),_exclusiveExperimentCondition=require("./exclusiveExperimentCondition"),_pageTitleCondition=require("./pageTitleCondition"),_pageUrlCondition=require("./pageUrlCondition"),_sdkLanguageCondition=require("./sdkLanguageCondition"),_targetExperimentCondition=require("./targetExperimentCondition"),_visitorCodeCondition=require("./visitorCodeCondition");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 _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}var ConditionFactory=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:"createCondition",value:function createCondition(a){var b=a.targetingType;return b===_types.TargetingType.CUSTOM_DATUM?(0,_tsRes.Ok)(new _customDataCondition.CustomDataCondition(a)):b===_types.TargetingType.EXCLUSIVE_EXPERIMENT?(0,_tsRes.Ok)(new _exclusiveExperimentCondition.ExclusiveExperimentCondition):b===_types.TargetingType.TARGET_EXPERIMENT?(0,_tsRes.Ok)(new _targetExperimentCondition.TargetExperimentCondition(a)):b===_types.TargetingType.DEVICE_TYPE?(0,_tsRes.Ok)(new _deviceCondition.DeviceCondition(a)):b===_types.TargetingType.BROWSER?(0,_tsRes.Ok)(new _browserCondition.BrowserCondition(a)):b===_types.TargetingType.PAGE_URL?(0,_tsRes.Ok)(new _pageUrlCondition.PageUrlCondition(a)):b===_types.TargetingType.PAGE_TITLE?(0,_tsRes.Ok)(new _pageTitleCondition.PageTitleCondition(a)):b===_types.TargetingType.CONVERSIONS?(0,_tsRes.Ok)(new _conversionCondition.ConversionCondition(a)):b===_types.TargetingType.VISITOR_CODE?(0,_tsRes.Ok)(new _visitorCodeCondition.VisitorCodeCondition(a)):b===_types.TargetingType.SDK_LANGUAGE?(0,_tsRes.Ok)(new _sdkLanguageCondition.SdkLanguageCondition(a)):(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.TargetingCondition,b))}}]),a}();exports.ConditionFactory=ConditionFactory;
2
+ //# sourceMappingURL=conditionFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditionFactory.js","names":["ConditionFactory","a","_classCallCheck","_createClass","key","value","createCondition","data","targetingType","TargetingType","CUSTOM_DATUM","Ok","CustomDataCondition","EXCLUSIVE_EXPERIMENT","ExclusiveExperimentCondition","TARGET_EXPERIMENT","TargetExperimentCondition","DEVICE_TYPE","DeviceCondition","BROWSER","BrowserCondition","PAGE_URL","PageUrlCondition","PAGE_TITLE","PageTitleCondition","CONVERSIONS","ConversionCondition","VISITOR_CODE","VisitorCodeCondition","SDK_LANGUAGE","SdkLanguageCondition","Err","KameleoonError","KameleoonException","TargetingCondition","exports"],"sources":["../../../src/targeting/conditions/conditionFactory.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { KameleoonError, KameleoonException } from 'src/kameleoonError';\nimport { TargetingType } from 'src/targeting/types';\nimport { BrowserCondition } from './browserCondition';\nimport { ConversionCondition } from './conversionCondition';\nimport { CustomDataCondition } from './customDataCondition';\nimport { DeviceCondition } from './deviceCondition';\nimport { ExclusiveExperimentCondition } from './exclusiveExperimentCondition';\nimport { PageTitleCondition } from './pageTitleCondition';\nimport { PageUrlCondition } from './pageUrlCondition';\nimport { SdkLanguageCondition } from './sdkLanguageCondition';\nimport { TargetExperimentCondition } from './targetExperimentCondition';\nimport { ConditionDataType, ConditionType } from './types';\nimport { VisitorCodeCondition } from './visitorCodeCondition';\n\nexport class ConditionFactory {\n static createCondition(\n data: ConditionDataType,\n ): Result<ConditionType, KameleoonError> {\n const { targetingType } = data;\n\n switch (targetingType) {\n case TargetingType.CUSTOM_DATUM:\n return Ok(new CustomDataCondition(data));\n case TargetingType.EXCLUSIVE_EXPERIMENT:\n return Ok(new ExclusiveExperimentCondition());\n case TargetingType.TARGET_EXPERIMENT:\n return Ok(new TargetExperimentCondition(data));\n case TargetingType.DEVICE_TYPE:\n return Ok(new DeviceCondition(data));\n case TargetingType.BROWSER:\n return Ok(new BrowserCondition(data));\n case TargetingType.PAGE_URL:\n return Ok(new PageUrlCondition(data));\n case TargetingType.PAGE_TITLE:\n return Ok(new PageTitleCondition(data));\n case TargetingType.CONVERSIONS:\n return Ok(new ConversionCondition(data));\n case TargetingType.VISITOR_CODE:\n return Ok(new VisitorCodeCondition(data));\n case TargetingType.SDK_LANGUAGE:\n return Ok(new SdkLanguageCondition(data));\n default:\n return Err(\n new KameleoonError(\n KameleoonException.TargetingCondition,\n targetingType,\n ),\n );\n }\n }\n}\n"],"mappings":"s0DAea,CAAAA,gBAAgB,kCAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,YAAA,CAAAF,CAAA,QAAAG,GAAA,mBAAAC,KAAA,CAC3B,SAAAC,gBACEC,CAAuB,CACgB,CACvC,GAAQ,CAAAC,CAAa,CAAKD,CAAI,CAAtBC,aAAa,CAAU,MAEvB,CAAAA,CAAa,GACdC,oBAAa,CAACC,YAAY,CACtB,GAAAC,SAAE,EAAC,GAAI,CAAAC,wCAAmB,CAACL,CAAI,CAAC,CAAC,CAFpCC,CAAa,GAGdC,oBAAa,CAACI,oBAAoB,CAC9B,GAAAF,SAAE,EAAC,GAAI,CAAAG,0DAA8B,CAAC,CAJzCN,CAAa,GAKdC,oBAAa,CAACM,iBAAiB,CAC3B,GAAAJ,SAAE,EAAC,GAAI,CAAAK,oDAAyB,CAACT,CAAI,CAAC,CAAC,CAN1CC,CAAa,GAOdC,oBAAa,CAACQ,WAAW,CACrB,GAAAN,SAAE,EAAC,GAAI,CAAAO,gCAAe,CAACX,CAAI,CAAC,CAAC,CARhCC,CAAa,GASdC,oBAAa,CAACU,OAAO,CACjB,GAAAR,SAAE,EAAC,GAAI,CAAAS,kCAAgB,CAACb,CAAI,CAAC,CAAC,CAVjCC,CAAa,GAWdC,oBAAa,CAACY,QAAQ,CAClB,GAAAV,SAAE,EAAC,GAAI,CAAAW,kCAAgB,CAACf,CAAI,CAAC,CAAC,CAZjCC,CAAa,GAadC,oBAAa,CAACc,UAAU,CACpB,GAAAZ,SAAE,EAAC,GAAI,CAAAa,sCAAkB,CAACjB,CAAI,CAAC,CAAC,CAdnCC,CAAa,GAedC,oBAAa,CAACgB,WAAW,CACrB,GAAAd,SAAE,EAAC,GAAI,CAAAe,wCAAmB,CAACnB,CAAI,CAAC,CAAC,CAhBpCC,CAAa,GAiBdC,oBAAa,CAACkB,YAAY,CACtB,GAAAhB,SAAE,EAAC,GAAI,CAAAiB,0CAAoB,CAACrB,CAAI,CAAC,CAAC,CAlBrCC,CAAa,GAmBdC,oBAAa,CAACoB,YAAY,CACtB,GAAAlB,SAAE,EAAC,GAAI,CAAAmB,0CAAoB,CAACvB,CAAI,CAAC,CAAC,CAElC,GAAAwB,UAAG,EACR,GAAI,CAAAC,8BAAc,CAChBC,kCAAkB,CAACC,kBAAkB,CACrC1B,CAAa,CACd,CAGT,CAAC,IAAAP,CAAA,IAAAkC,OAAA,CAAAnC,gBAAA,CAAAA,gBAAA"}
@@ -0,0 +1,10 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from '../../kameleoonError';
3
+ import { EvaluationDataType } from '../../targeting/types';
4
+ import { ConditionDataType, ICondition } from './types';
5
+ export declare class ConversionCondition implements ICondition {
6
+ private conditionValue?;
7
+ constructor({ goalId }: ConditionDataType);
8
+ evaluate({ targetingData, }: EvaluationDataType): Result<boolean, KameleoonError>;
9
+ private checkCondition;
10
+ }