@kameleoon/javascript-sdk-core 2.10.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/cacheManager/cacheManager.js +1 -11
  2. package/dist/cacheManager/cacheManager.js.map +1 -1
  3. package/dist/clientConfiguration/clientConfiguration.d.ts +52 -0
  4. package/dist/clientConfiguration/clientConfiguration.js +2 -0
  5. package/dist/clientConfiguration/clientConfiguration.js.map +1 -0
  6. package/dist/clientConfiguration/constants.d.ts +2 -0
  7. package/dist/clientConfiguration/constants.js +2 -0
  8. package/dist/clientConfiguration/constants.js.map +1 -0
  9. package/dist/clientConfiguration/index.d.ts +2 -0
  10. package/dist/clientConfiguration/index.js +2 -0
  11. package/dist/clientConfiguration/index.js.map +1 -0
  12. package/dist/{campaignConfiguration → clientConfiguration}/types.d.ts +12 -53
  13. package/dist/clientConfiguration/types.js +2 -0
  14. package/dist/clientConfiguration/types.js.map +1 -0
  15. package/dist/clientSettings/clientSettings.js +1 -1
  16. package/dist/clientSettings/clientSettings.js.map +1 -1
  17. package/dist/constants.d.ts +3 -2
  18. package/dist/constants.js +1 -4
  19. package/dist/constants.js.map +1 -1
  20. package/dist/eventSource/externalEventSource.js +1 -1
  21. package/dist/eventSource/externalEventSource.js.map +1 -1
  22. package/dist/hasher/hasher.d.ts +2 -3
  23. package/dist/hasher/hasher.js +1 -6
  24. package/dist/hasher/hasher.js.map +1 -1
  25. package/dist/hasher/types.d.ts +3 -10
  26. package/dist/hasher/types.js.map +1 -1
  27. package/dist/index.d.ts +7 -6
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/kameleoonClient.d.ts +44 -80
  31. package/dist/kameleoonClient.js +1 -18
  32. package/dist/kameleoonClient.js.map +1 -1
  33. package/dist/kameleoonData/applicationVersion.d.ts +26 -0
  34. package/dist/kameleoonData/applicationVersion.js +2 -0
  35. package/dist/kameleoonData/applicationVersion.js.map +1 -0
  36. package/dist/kameleoonData/browser.d.ts +16 -1
  37. package/dist/kameleoonData/browser.js +1 -17
  38. package/dist/kameleoonData/browser.js.map +1 -1
  39. package/dist/kameleoonData/constants.d.ts +4 -0
  40. package/dist/kameleoonData/constants.js +2 -0
  41. package/dist/kameleoonData/constants.js.map +1 -0
  42. package/dist/kameleoonData/conversion.d.ts +14 -1
  43. package/dist/kameleoonData/conversion.js +1 -13
  44. package/dist/kameleoonData/conversion.js.map +1 -1
  45. package/dist/kameleoonData/cookie.d.ts +33 -0
  46. package/dist/kameleoonData/cookie.js +2 -0
  47. package/dist/kameleoonData/cookie.js.map +1 -0
  48. package/dist/kameleoonData/customData.d.ts +14 -1
  49. package/dist/kameleoonData/customData.js +1 -24
  50. package/dist/kameleoonData/customData.js.map +1 -1
  51. package/dist/kameleoonData/dataManager.d.ts +38 -0
  52. package/dist/kameleoonData/dataManager.js +2 -0
  53. package/dist/kameleoonData/dataManager.js.map +1 -0
  54. package/dist/kameleoonData/dataProcessor.d.ts +26 -0
  55. package/dist/kameleoonData/dataProcessor.js +2 -0
  56. package/dist/kameleoonData/dataProcessor.js.map +1 -0
  57. package/dist/kameleoonData/device.d.ts +14 -1
  58. package/dist/kameleoonData/device.js +1 -13
  59. package/dist/kameleoonData/device.js.map +1 -1
  60. package/dist/kameleoonData/geolocation.d.ts +52 -0
  61. package/dist/kameleoonData/geolocation.js +2 -0
  62. package/dist/kameleoonData/geolocation.js.map +1 -0
  63. package/dist/kameleoonData/helpers.d.ts +1 -0
  64. package/dist/kameleoonData/helpers.js +2 -0
  65. package/dist/kameleoonData/helpers.js.map +1 -0
  66. package/dist/kameleoonData/index.d.ts +10 -3
  67. package/dist/kameleoonData/index.js +1 -1
  68. package/dist/kameleoonData/index.js.map +1 -1
  69. package/dist/kameleoonData/operatingSystem.d.ts +34 -0
  70. package/dist/kameleoonData/operatingSystem.js +2 -0
  71. package/dist/kameleoonData/operatingSystem.js.map +1 -0
  72. package/dist/kameleoonData/pageView.d.ts +20 -1
  73. package/dist/kameleoonData/pageView.js +1 -13
  74. package/dist/kameleoonData/pageView.js.map +1 -1
  75. package/dist/kameleoonData/types.d.ts +118 -9
  76. package/dist/kameleoonData/types.js +1 -14
  77. package/dist/kameleoonData/types.js.map +1 -1
  78. package/dist/kameleoonData/userAgent.d.ts +6 -1
  79. package/dist/kameleoonData/userAgent.js +1 -8
  80. package/dist/kameleoonData/userAgent.js.map +1 -1
  81. package/dist/kameleoonData/visitsData.d.ts +34 -0
  82. package/dist/{variationConfiguration/variation.js → kameleoonData/visitsData.js} +2 -7
  83. package/dist/kameleoonData/visitsData.js.map +1 -0
  84. package/dist/kameleoonError/constants.d.ts +5 -4
  85. package/dist/kameleoonError/constants.js +1 -1
  86. package/dist/kameleoonError/constants.js.map +1 -1
  87. package/dist/kameleoonError/kameleoonError.d.ts +5 -4
  88. package/dist/kameleoonError/kameleoonError.js +1 -4
  89. package/dist/kameleoonError/kameleoonError.js.map +1 -1
  90. package/dist/kameleoonError/types.d.ts +8 -3
  91. package/dist/kameleoonError/types.js +1 -1
  92. package/dist/kameleoonError/types.js.map +1 -1
  93. package/dist/kameleoonUtils.js +1 -4
  94. package/dist/kameleoonUtils.js.map +1 -1
  95. package/dist/requester/constants.d.ts +2 -1
  96. package/dist/requester/constants.js +1 -1
  97. package/dist/requester/constants.js.map +1 -1
  98. package/dist/requester/index.d.ts +1 -1
  99. package/dist/requester/index.js +1 -1
  100. package/dist/requester/index.js.map +1 -1
  101. package/dist/requester/requester.d.ts +5 -4
  102. package/dist/requester/requester.js +1 -1
  103. package/dist/requester/requester.js.map +1 -1
  104. package/dist/requester/types.d.ts +73 -8
  105. package/dist/requester/types.js +1 -1
  106. package/dist/requester/types.js.map +1 -1
  107. package/dist/storage/constants.d.ts +1 -0
  108. package/dist/storage/constants.js +1 -4
  109. package/dist/storage/constants.js.map +1 -1
  110. package/dist/storage/index.d.ts +1 -1
  111. package/dist/storage/index.js +1 -1
  112. package/dist/storage/index.js.map +1 -1
  113. package/dist/storage/types.d.ts +5 -8
  114. package/dist/storage/types.js.map +1 -1
  115. package/dist/targeting/conditions/applicationVersion.d.ts +10 -0
  116. package/dist/targeting/conditions/applicationVersion.js +2 -0
  117. package/dist/targeting/conditions/applicationVersion.js.map +1 -0
  118. package/dist/targeting/conditions/{browserCondition.d.ts → browser.d.ts} +1 -1
  119. package/dist/targeting/conditions/browser.js +2 -0
  120. package/dist/targeting/conditions/browser.js.map +1 -0
  121. package/dist/targeting/conditions/conditionFactory.js +1 -1
  122. package/dist/targeting/conditions/conditionFactory.js.map +1 -1
  123. package/dist/targeting/conditions/{conversionCondition.d.ts → conversion.d.ts} +1 -2
  124. package/dist/targeting/conditions/conversion.js +2 -0
  125. package/dist/targeting/conditions/conversion.js.map +1 -0
  126. package/dist/targeting/conditions/cookie.d.ts +15 -0
  127. package/dist/targeting/conditions/cookie.js +2 -0
  128. package/dist/targeting/conditions/cookie.js.map +1 -0
  129. package/dist/targeting/conditions/{customDataCondition.d.ts → customData.d.ts} +1 -1
  130. package/dist/targeting/conditions/customData.js +2 -0
  131. package/dist/targeting/conditions/customData.js.map +1 -0
  132. package/dist/targeting/conditions/{deviceCondition.d.ts → device.d.ts} +1 -1
  133. package/dist/targeting/conditions/{targetExperimentCondition.js → device.js} +2 -2
  134. package/dist/targeting/conditions/device.js.map +1 -0
  135. package/dist/targeting/conditions/{exclusiveExperimentCondition.d.ts → exclusiveCampaign.d.ts} +2 -2
  136. package/dist/targeting/conditions/exclusiveCampaign.js +2 -0
  137. package/dist/targeting/conditions/exclusiveCampaign.js.map +1 -0
  138. package/dist/targeting/conditions/firstVisit.d.ts +12 -0
  139. package/dist/targeting/conditions/firstVisit.js +2 -0
  140. package/dist/targeting/conditions/firstVisit.js.map +1 -0
  141. package/dist/targeting/conditions/geolocation.d.ts +11 -0
  142. package/dist/targeting/conditions/geolocation.js +2 -0
  143. package/dist/targeting/conditions/geolocation.js.map +1 -0
  144. package/dist/targeting/conditions/index.d.ts +22 -10
  145. package/dist/targeting/conditions/index.js +1 -1
  146. package/dist/targeting/conditions/index.js.map +1 -1
  147. package/dist/targeting/conditions/lastVisit.d.ts +12 -0
  148. package/dist/targeting/conditions/lastVisit.js +2 -0
  149. package/dist/targeting/conditions/lastVisit.js.map +1 -0
  150. package/dist/targeting/conditions/newVisitor.d.ts +9 -0
  151. package/dist/targeting/conditions/newVisitor.js +2 -0
  152. package/dist/targeting/conditions/newVisitor.js.map +1 -0
  153. package/dist/targeting/conditions/operatingSystem.d.ts +9 -0
  154. package/dist/targeting/conditions/{deviceCondition.js → operatingSystem.js} +2 -2
  155. package/dist/targeting/conditions/operatingSystem.js.map +1 -0
  156. package/dist/targeting/conditions/{pageTitleCondition.d.ts → pageTitle.d.ts} +1 -1
  157. package/dist/targeting/conditions/pageTitle.js +2 -0
  158. package/dist/targeting/conditions/pageTitle.js.map +1 -0
  159. package/dist/targeting/conditions/{pageUrlCondition.d.ts → pageUrl.d.ts} +1 -1
  160. package/dist/targeting/conditions/pageUrl.js +2 -0
  161. package/dist/targeting/conditions/pageUrl.js.map +1 -0
  162. package/dist/targeting/conditions/previousPage.d.ts +12 -0
  163. package/dist/targeting/conditions/previousPage.js +2 -0
  164. package/dist/targeting/conditions/previousPage.js.map +1 -0
  165. package/dist/targeting/conditions/sameDayVisits.d.ts +11 -0
  166. package/dist/targeting/conditions/sameDayVisits.js +2 -0
  167. package/dist/targeting/conditions/sameDayVisits.js.map +1 -0
  168. package/dist/targeting/conditions/{sdkLanguageCondition.d.ts → sdkLanguage.d.ts} +1 -4
  169. package/dist/targeting/conditions/sdkLanguage.js +2 -0
  170. package/dist/targeting/conditions/sdkLanguage.js.map +1 -0
  171. package/dist/targeting/conditions/segment.d.ts +9 -0
  172. package/dist/targeting/conditions/segment.js +2 -0
  173. package/dist/targeting/conditions/segment.js.map +1 -0
  174. package/dist/targeting/conditions/targetFeatureFlag.d.ts +11 -0
  175. package/dist/targeting/conditions/targetFeatureFlag.js +2 -0
  176. package/dist/targeting/conditions/targetFeatureFlag.js.map +1 -0
  177. package/dist/targeting/conditions/types.d.ts +20 -13
  178. package/dist/targeting/conditions/types.js.map +1 -1
  179. package/dist/targeting/conditions/visitedPages.d.ts +11 -0
  180. package/dist/targeting/conditions/visitedPages.js +2 -0
  181. package/dist/targeting/conditions/visitedPages.js.map +1 -0
  182. package/dist/targeting/conditions/{visitorCodeCondition.d.ts → visitorCode.d.ts} +1 -1
  183. package/dist/targeting/conditions/visitorCode.js +2 -0
  184. package/dist/targeting/conditions/visitorCode.js.map +1 -0
  185. package/dist/targeting/conditions/visits.d.ts +11 -0
  186. package/dist/targeting/conditions/visits.js +2 -0
  187. package/dist/targeting/conditions/visits.js.map +1 -0
  188. package/dist/targeting/index.d.ts +3 -3
  189. package/dist/targeting/index.js +1 -1
  190. package/dist/targeting/index.js.map +1 -1
  191. package/dist/targeting/{targetingNode.d.ts → node.d.ts} +7 -7
  192. package/dist/targeting/node.js +2 -0
  193. package/dist/targeting/node.js.map +1 -0
  194. package/dist/targeting/{targetingTree.d.ts → tree.d.ts} +6 -3
  195. package/dist/targeting/tree.js +2 -0
  196. package/dist/targeting/tree.js.map +1 -0
  197. package/dist/targeting/types.d.ts +30 -8
  198. package/dist/targeting/types.js +1 -1
  199. package/dist/targeting/types.js.map +1 -1
  200. package/dist/types.d.ts +17 -6
  201. package/dist/types.js +1 -41
  202. package/dist/types.js.map +1 -1
  203. package/dist/utilities/index.d.ts +1 -0
  204. package/dist/utilities/index.js +1 -1
  205. package/dist/utilities/index.js.map +1 -1
  206. package/dist/utilities/types.d.ts +61 -6
  207. package/dist/utilities/types.js +1 -1
  208. package/dist/utilities/types.js.map +1 -1
  209. package/dist/utilities/utilities.d.ts +24 -11
  210. package/dist/utilities/utilities.js +1 -1
  211. package/dist/utilities/utilities.js.map +1 -1
  212. package/dist/variationConfiguration/index.d.ts +1 -1
  213. package/dist/variationConfiguration/index.js +1 -1
  214. package/dist/variationConfiguration/index.js.map +1 -1
  215. package/dist/variationConfiguration/types.d.ts +5 -12
  216. package/dist/variationConfiguration/types.js.map +1 -1
  217. package/dist/variationConfiguration/variationConfiguration.d.ts +13 -21
  218. package/dist/variationConfiguration/variationConfiguration.js +1 -65
  219. package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
  220. package/package.json +1 -1
  221. package/dist/campaignConfiguration/campaignConfiguration.d.ts +0 -71
  222. package/dist/campaignConfiguration/campaignConfiguration.js +0 -24
  223. package/dist/campaignConfiguration/campaignConfiguration.js.map +0 -1
  224. package/dist/campaignConfiguration/constants.d.ts +0 -6
  225. package/dist/campaignConfiguration/constants.js +0 -4
  226. package/dist/campaignConfiguration/constants.js.map +0 -1
  227. package/dist/campaignConfiguration/index.d.ts +0 -3
  228. package/dist/campaignConfiguration/index.js +0 -2
  229. package/dist/campaignConfiguration/index.js.map +0 -1
  230. package/dist/campaignConfiguration/types.js +0 -2
  231. package/dist/campaignConfiguration/types.js.map +0 -1
  232. package/dist/targeting/conditions/browserCondition.js +0 -2
  233. package/dist/targeting/conditions/browserCondition.js.map +0 -1
  234. package/dist/targeting/conditions/conversionCondition.js +0 -4
  235. package/dist/targeting/conditions/conversionCondition.js.map +0 -1
  236. package/dist/targeting/conditions/customDataCondition.js +0 -8
  237. package/dist/targeting/conditions/customDataCondition.js.map +0 -1
  238. package/dist/targeting/conditions/deviceCondition.js.map +0 -1
  239. package/dist/targeting/conditions/exclusiveExperimentCondition.js +0 -2
  240. package/dist/targeting/conditions/exclusiveExperimentCondition.js.map +0 -1
  241. package/dist/targeting/conditions/pageTitleCondition.js +0 -2
  242. package/dist/targeting/conditions/pageTitleCondition.js.map +0 -1
  243. package/dist/targeting/conditions/pageUrlCondition.js +0 -2
  244. package/dist/targeting/conditions/pageUrlCondition.js.map +0 -1
  245. package/dist/targeting/conditions/sdkLanguageCondition.js +0 -2
  246. package/dist/targeting/conditions/sdkLanguageCondition.js.map +0 -1
  247. package/dist/targeting/conditions/targetExperimentCondition.d.ts +0 -12
  248. package/dist/targeting/conditions/targetExperimentCondition.js.map +0 -1
  249. package/dist/targeting/conditions/visitorCodeCondition.js +0 -2
  250. package/dist/targeting/conditions/visitorCodeCondition.js.map +0 -1
  251. package/dist/targeting/targetingNode.js +0 -2
  252. package/dist/targeting/targetingNode.js.map +0 -1
  253. package/dist/targeting/targetingTree.js +0 -35
  254. package/dist/targeting/targetingTree.js.map +0 -1
  255. package/dist/variationConfiguration/variation.d.ts +0 -13
  256. package/dist/variationConfiguration/variation.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperatingSystem=void 0;var _requester=require("../requester"),_types=require("./types");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _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 OperatingSystem=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"operatingSystem",void 0),_defineProperty(this,"sent",void 0),this.operatingSystem=b,this.sent=!1}return _createClass(a,[{key:"url",get:function get(){return this.operatingSystem?_requester.UrlEventType.StaticData+_requester.UrlParameter.Os+this.operatingSystem+_requester.UrlParameter.OsIndex+_types.OperatingSystemIndexMap[this.operatingSystem]:""}},{key:"data",get:function get(){return{operatingSystem:this.operatingSystem,type:_types.KameleoonData.OperatingSystem,sent:this.sent}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}}],[{key:"_fromVisits",value:function _fromVisits(b){for(var c,d={},e=b.length-1;0<=e;e--)if(c=b[e],!!c.staticDataEvent){var f=c.staticDataEvent.data,g=f.os,h=f.osIndex;(g||null!==h)&&(d={operatingSystemType:g,osIndex:h})}var j=d,k=j.operatingSystemType,l=j.osIndex;if(k||"number"==typeof l){var m=k||_types.OperatingSystemTypeMap[l];return new a(m)}}}]),a}();exports.OperatingSystem=OperatingSystem;
2
+ //# sourceMappingURL=operatingSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operatingSystem.js","names":["OperatingSystem","a","operatingSystem","_classCallCheck","_defineProperty","sent","_createClass","key","get","UrlEventType","StaticData","UrlParameter","Os","OsIndex","OperatingSystemIndexMap","type","KameleoonData","set","value","_fromVisits","visits","visit","operatingSystemData","i","length","staticDataEvent","f","data","operatingSystemType","os","osIndex","j","OperatingSystemTypeMap","exports"],"sources":["../../src/kameleoonData/operatingSystem.ts"],"sourcesContent":["import { UrlEventType, UrlParameter, VisitType } from 'src/requester';\nimport {\n IKameleoonData,\n KameleoonData,\n OperatingSystemDataType,\n OperatingSystemIndexMap,\n OperatingSystemType,\n OperatingSystemTypeMap,\n} from './types';\n\n/**\n * @class\n * OperatingSystem - a class for creating an instance for Operating System of a certain type\n * */\nexport class OperatingSystem implements IKameleoonData {\n private operatingSystem: OperatingSystemType;\n private sent: boolean;\n\n /**\n * @param {OperatingSystemType} operatingSystem - one of the available operating system types from `OperatingSystemType` enum\n * */\n constructor(operatingSystem: OperatingSystemType) {\n this.operatingSystem = operatingSystem;\n this.sent = false;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n // --- Note ---\n // If SDK is used in vanilla JS codebase, then you're also able to create an instance\n // with no required data, we don't want send anything to tracking in that case\n if (!this.operatingSystem) {\n return '';\n }\n\n return (\n UrlEventType.StaticData +\n UrlParameter.Os +\n this.operatingSystem +\n UrlParameter.OsIndex +\n OperatingSystemIndexMap[this.operatingSystem]\n );\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): OperatingSystemDataType {\n return {\n operatingSystem: this.operatingSystem,\n type: KameleoonData.OperatingSystem,\n sent: this.sent,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n\n /**\n * @private\n * @method _fromVisits - a static method for creating an instance of OperatingSystem class from a list of visits\n * @param {VisitType[]} visits - a list of visits\n * @returns {OperatingSystem | undefined} an instance of OperatingSystem class or undefined\n * */\n public static _fromVisits(visits: VisitType[]): OperatingSystem | undefined {\n let operatingSystemData: {\n operatingSystemType?: OperatingSystemType | null;\n osIndex?: number | null;\n } = {};\n\n // --- Note ---\n // Going backwards to get the latest visit data\n for (let i = visits.length - 1; i >= 0; i--) {\n const visit = visits[i];\n\n if (!visit.staticDataEvent) {\n continue;\n }\n\n const { os: operatingSystemType, osIndex } = visit.staticDataEvent.data;\n\n if (operatingSystemType || osIndex !== null) {\n operatingSystemData = { operatingSystemType, osIndex };\n }\n }\n\n const { operatingSystemType, osIndex } = operatingSystemData;\n\n if (operatingSystemType || typeof osIndex === 'number') {\n const operatingSystem =\n operatingSystemType || OperatingSystemTypeMap[osIndex as number];\n\n return new OperatingSystem(operatingSystem);\n }\n }\n}\n"],"mappings":"g5CAca,CAAAA,eAAe,YAO1B,SAAAC,EAAYC,CAAoC,CAAE,CAAAC,eAAA,MAAAF,CAAA,EAAAG,eAAA,gCAAAA,eAAA,qBAChD,IAAI,CAACF,eAAe,CAAGA,CAAe,CACtC,IAAI,CAACG,IAAI,GACX,CAAC,OAAAC,YAAA,CAAAL,CAAA,GAAAM,GAAA,OAAAC,GAAA,CAKD,SAAAA,IAAA,CAAkB,OAIX,KAAI,CAACN,eAAe,CAKvBO,uBAAY,CAACC,UAAU,CACvBC,uBAAY,CAACC,EAAE,CACf,IAAI,CAACV,eAAe,CACpBS,uBAAY,CAACE,OAAO,CACpBC,8BAAuB,CAAC,IAAI,CAACZ,eAAe,CAAC,CARtC,EAUX,CAAC,GAAAK,GAAA,QAAAC,GAAA,CAKD,SAAAA,IAAA,CAAoC,CAClC,MAAO,CACLN,eAAe,CAAE,IAAI,CAACA,eAAe,CACrCa,IAAI,CAAEC,oBAAa,CAAChB,eAAe,CACnCK,IAAI,CAAE,IAAI,CAACA,IACb,CACF,CAAC,GAAAE,GAAA,UAAAC,GAAA,CAKD,SAAAA,IAAA,CAAsB,CACpB,MAAO,KAAI,CAACH,IACd,CAAC,CAAAY,GAAA,CAED,SAAAA,IAAWC,CAAc,CAAE,CACzB,IAAI,CAACb,IAAI,CAAGa,CACd,CAAC,KAAAX,GAAA,eAAAW,KAAA,CAQD,SAAAC,YAA0BC,CAAmB,CAA+B,CAQ1E,OACQ,CAAAC,CAAK,CARTC,CAGH,CAAG,CAAC,CAAC,CAIGC,CAAC,CAAGH,CAAM,CAACI,MAAM,CAAG,CAAC,CAAO,CAAC,EAAND,CAAM,CAAEA,CAAC,EAAE,CAGzC,GAFMF,CAAK,CAAGD,CAAM,CAACG,CAAC,CAAC,EAEnB,CAACF,CAAK,CAACI,eAAe,EAI1B,IAAAC,CAAA,CAA6CL,CAAK,CAACI,eAAe,CAACE,IAAI,CAA3DC,CAAmB,CAAAF,CAAA,CAAvBG,EAAE,CAAuBC,CAAO,CAAAJ,CAAA,CAAPI,OAAO,CAAgC,CAEpEF,CAAmB,EAAgB,IAAI,GAAhBE,CAAgB,IACzCR,CAAmB,CAAG,CAAEM,mBAAmB,CAAnBA,CAAmB,CAAEE,OAAO,CAAPA,CAAQ,CAAC,EAI1D,IAAAC,CAAA,CAAyCT,CAAmB,CAApDM,CAAmB,CAAAG,CAAA,CAAnBH,mBAAmB,CAAEE,CAAO,CAAAC,CAAA,CAAPD,OAAO,CAEpC,GAAIF,CAAmB,EAAuB,QAAQ,EAA3B,MAAO,CAAAE,CAAoB,CAAE,CACtD,GAAM,CAAA5B,CAAe,CACnB0B,CAAmB,EAAII,6BAAsB,CAACF,CAAO,CAAW,CAElE,MAAO,IAAI,CAAA9B,CAAe,CAACE,CAAe,CAC5C,CACF,CAAC,IAAAD,CAAA,IAAAgC,OAAA,CAAAjC,eAAA,CAAAA,eAAA"}
@@ -1,3 +1,4 @@
1
+ import { VisitType } from '../requester';
1
2
  import { IKameleoonData, PageViewDataType, PageViewParametersType } from './types';
2
3
  /**
3
4
  * @class
@@ -6,8 +7,9 @@ import { IKameleoonData, PageViewDataType, PageViewParametersType } from './type
6
7
  export declare class PageView implements IKameleoonData {
7
8
  private urlAddress;
8
9
  private title;
9
- private nonce;
10
10
  private referrers?;
11
+ private sent;
12
+ private timestampList;
11
13
  /**
12
14
  * @param {PageViewParametersType} pageViewParameters - an object with page view parameters
13
15
  * */
@@ -20,4 +22,21 @@ export declare class PageView implements IKameleoonData {
20
22
  * @property data - data of the current class instance
21
23
  * */
22
24
  get data(): PageViewDataType;
25
+ /**
26
+ * @property isSent - signifying if the data was sent already tracked
27
+ * */
28
+ get isSent(): boolean;
29
+ set isSent(value: boolean);
30
+ /**
31
+ * @property timestamps - a list of timestamps for the current data type
32
+ * */
33
+ get timestamps(): number[];
34
+ set timestamps(value: number[]);
35
+ /**
36
+ * @private
37
+ * @method _listFromVisits - an internal method for creating a list of page view data from a list of visits
38
+ * @param {VisitType[]} visits - a list of visits
39
+ * @returns {PageView[]} a list of PageView instances
40
+ * */
41
+ static _listFromVisits(visits: VisitType[]): PageView[];
23
42
  }
@@ -1,14 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageView=void 0;var _requester=require("../requester"),_utilities=require("../utilities"),_types=require("./types");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _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)}/**
2
- * @class
3
- * PageView - a class for creating an instance of a page view data
4
- * */var PageView=/*#__PURE__*/function(){/**
5
- * @param {PageViewParametersType} pageViewParameters - an object with page view parameters
6
- * */function a(b){var c=b.urlAddress,d=b.title,e=b.referrers;_classCallCheck(this,a),_defineProperty(this,"urlAddress",void 0),_defineProperty(this,"title",void 0),_defineProperty(this,"nonce",void 0),_defineProperty(this,"referrers",void 0),this.urlAddress=c,this.title=d,this.referrers=e,this.nonce=_utilities.Utilities.getNonce()}/**
7
- * @property url - url for the current data type used for events tracking
8
- * */return _createClass(a,[{key:"url",get:function get(){var a;// --- Note ---
9
- // If SDK is used in vanilla JS codebase, then you're also able to create an instance
10
- // with no required data, we don't want send anything to tracking in that case
11
- if(!this.urlAddress)return"";var b=this.title?_requester.UrlParameter.Title+encodeURIComponent(this.title):"",c=null!==(a=this.referrers)&&void 0!==a&&a.length?_requester.UrlParameter.ReferrersIndices+JSON.stringify(this.referrers):"";return _requester.UrlEventType.Page+_requester.UrlParameter.Href+encodeURIComponent(this.urlAddress)+b+c+_requester.UrlParameter.Nonce+this.nonce}/**
12
- * @property data - data of the current class instance
13
- * */},{key:"data",get:function get(){return{urlAddress:this.urlAddress,title:this.title,referrers:this.referrers,type:_types.KameleoonData.PageView,nonce:this.nonce}}}]),a}();exports.PageView=PageView;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageView=void 0;var _requester=require("../requester"),_utilities=require("../utilities"),_types=require("../utilities/types"),_types2=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 _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function e(a){throw a},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function e(a){h=!0,f=a},f:function f(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}var PageView=function(){function a(b){var c=b.urlAddress,d=b.title,e=b.referrers;_classCallCheck(this,a),_defineProperty(this,"urlAddress",void 0),_defineProperty(this,"title",void 0),_defineProperty(this,"referrers",void 0),_defineProperty(this,"sent",void 0),_defineProperty(this,"timestampList",[]),this.urlAddress=c,this.title=d,this.referrers=e,this.sent=!1}return _createClass(a,[{key:"url",get:function get(){var a;if(!this.urlAddress)return"";var b=this.title?_requester.UrlParameter.Title+encodeURIComponent(this.title):"",c=null!==(a=this.referrers)&&void 0!==a&&a.length?_requester.UrlParameter.ReferrersIndices+JSON.stringify(this.referrers):"";return _requester.UrlEventType.Page+_requester.UrlParameter.Href+encodeURIComponent(this.urlAddress)+b+c}},{key:"data",get:function get(){return{urlAddress:this.urlAddress,title:this.title,referrers:this.referrers,type:_types2.KameleoonData.PageView,sent:this.sent,timestamps:this.timestampList}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}},{key:"timestamps",get:function get(){return this.timestampList},set:function set(a){var b=this;this.timestampList.length?a.forEach(function(a){_utilities.Utilities.insertInOrderedListMutably({list:b.timestampList,element:a,order:_types.Order.Ascending})}):this.timestampList=a}}],[{key:"_listFromVisits",value:function _listFromVisits(b){for(var c,d=[],e=new Map,f=b.length-1;0<=f;f--)if(c=b[f],!!c.pageEvents){var g,h=c.pageEvents,j=_createForOfIteratorHelper(h);try{for(j.s();!(g=j.n()).done;){var k=g.value,l=[],m=k.time,n=k.data,o=n.href,p=n.title,q=n.referrersIndices;"number"==typeof q[0]&&(l=q);var r=void 0;if(e.has(o)){var s=e.get(o).timestamps;r=new a({urlAddress:o,title:p,referrers:l}),r.timestamps=[].concat(_toConsumableArray(s),[m])}else r=new a({urlAddress:o,title:p,referrers:l}),r.timestamps=[m];e.set(o,r)}}catch(a){j.e(a)}finally{j.f()}}return e.forEach(function(a){a.isSent=!0,d.push(a)}),d}}]),a}();exports.PageView=PageView;
14
2
  //# sourceMappingURL=pageView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pageView.js","names":["PageView","a","b","urlAddress","title","referrers","_classCallCheck","_defineProperty","nonce","Utilities","getNonce","_createClass","key","get","titleParameter","UrlParameter","Title","encodeURIComponent","referrersParameter","length","ReferrersIndices","JSON","stringify","UrlEventType","Page","Href","Nonce","type","KameleoonData","exports"],"sources":["../../src/kameleoonData/pageView.ts"],"sourcesContent":["import { UrlEventType, UrlParameter } from 'src/requester';\nimport { Utilities } from 'src/utilities';\nimport {\n IKameleoonData,\n KameleoonData,\n PageViewDataType,\n PageViewParametersType,\n} from './types';\n\n/**\n * @class\n * PageView - a class for creating an instance of a page view data\n * */\nexport class PageView implements IKameleoonData {\n private urlAddress: string;\n private title: string;\n private nonce: string;\n private referrers?: number[];\n\n /**\n * @param {PageViewParametersType} pageViewParameters - an object with page view parameters\n * */\n constructor({ urlAddress, title, referrers }: PageViewParametersType) {\n this.urlAddress = urlAddress;\n this.title = title;\n this.referrers = referrers;\n this.nonce = Utilities.getNonce();\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n // --- Note ---\n // If SDK is used in vanilla JS codebase, then you're also able to create an instance\n // with no required data, we don't want send anything to tracking in that case\n if (!this.urlAddress) {\n return '';\n }\n\n const titleParameter = this.title\n ? UrlParameter.Title + encodeURIComponent(this.title)\n : '';\n\n const referrersParameter = this.referrers?.length\n ? UrlParameter.ReferrersIndices + JSON.stringify(this.referrers)\n : '';\n\n return (\n UrlEventType.Page +\n UrlParameter.Href +\n encodeURIComponent(this.urlAddress) +\n titleParameter +\n referrersParameter +\n UrlParameter.Nonce +\n this.nonce\n );\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): PageViewDataType {\n return {\n urlAddress: this.urlAddress,\n title: this.title,\n referrers: this.referrers,\n type: KameleoonData.PageView,\n nonce: this.nonce,\n };\n }\n}\n"],"mappings":"y6CASA;AACA;AACA;AACA,KAHA,GAIa,CAAAA,QAAQ,yBAMnB;AACF;AACA,OACE,SAAAC,EAAAC,CAAA,CAAsE,IAAxD,CAAAC,CAAU,CAAAD,CAAA,CAAVC,UAAU,CAAEC,CAAK,CAAAF,CAAA,CAALE,KAAK,CAAEC,CAAS,CAAAH,CAAA,CAATG,SAAS,CAAAC,eAAA,MAAAL,CAAA,EAAAM,eAAA,2BAAAA,eAAA,sBAAAA,eAAA,sBAAAA,eAAA,0BACxC,IAAI,CAACJ,UAAU,CAAGA,CAAU,CAC5B,IAAI,CAACC,KAAK,CAAGA,CAAK,CAClB,IAAI,CAACC,SAAS,CAAGA,CAAS,CAC1B,IAAI,CAACG,KAAK,CAAGC,oBAAS,CAACC,QAAQ,EACjC,CAEA;AACF;AACA,OAFE,OAAAC,YAAA,CAAAV,CAAA,GAAAW,GAAA,OAAAC,GAAA,CAGA,SAAAA,IAAA,CAAkB,KAAAZ,CAAA,CAChB;AACA;AACA;AACA,GAAI,CAAC,IAAI,CAACE,UAAU,CAClB,MAAO,EAAE,CACV,GAEK,CAAAW,CAAc,CAAG,IAAI,CAACV,KAAK,CAC7BW,uBAAY,CAACC,KAAK,CAAGC,kBAAkB,CAAC,IAAI,CAACb,KAAK,CAAC,CACnD,EAAE,CAEAc,CAAkB,CAAG,QAAAjB,CAAA,KAAI,CAACI,SAAS,YAAAJ,CAAA,EAAdA,CAAA,CAAgBkB,MAAM,CAC7CJ,uBAAY,CAACK,gBAAgB,CAAGC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACjB,SAAS,CAAC,CAC9D,EAAE,CAEN,MACE,CAAAkB,uBAAY,CAACC,IAAI,CACjBT,uBAAY,CAACU,IAAI,CACjBR,kBAAkB,CAAC,IAAI,CAACd,UAAU,CAAC,CACnCW,CAAc,CACdI,CAAkB,CAClBH,uBAAY,CAACW,KAAK,CAClB,IAAI,CAAClB,KAET,CAEA;AACF;AACA,OAFE,GAAAI,GAAA,QAAAC,GAAA,CAGA,SAAAA,IAAA,CAA6B,CAC3B,MAAO,CACLV,UAAU,CAAE,IAAI,CAACA,UAAU,CAC3BC,KAAK,CAAE,IAAI,CAACA,KAAK,CACjBC,SAAS,CAAE,IAAI,CAACA,SAAS,CACzBsB,IAAI,CAAEC,oBAAa,CAAC5B,QAAQ,CAC5BQ,KAAK,CAAE,IAAI,CAACA,KACd,CACF,CAAC,IAAAP,CAAA,IAAA4B,OAAA,CAAA7B,QAAA,CAAAA,QAAA"}
1
+ {"version":3,"file":"pageView.js","names":["PageView","a","b","urlAddress","title","referrers","_classCallCheck","_defineProperty","sent","_createClass","key","get","titleParameter","UrlParameter","Title","encodeURIComponent","referrersParameter","length","ReferrersIndices","JSON","stringify","UrlEventType","Page","Href","type","KameleoonData","timestamps","timestampList","set","value","forEach","timestamp","Utilities","insertInOrderedListMutably","list","element","order","Order","Ascending","_listFromVisits","visits","visit","resultData","pageViewMap","Map","i","pageEvents","g","j","_createForOfIteratorHelper","s","n","done","pageEvent","time","data","href","referrersIndices","pageView","has","existingTimestamps","concat","_toConsumableArray","e","f","isSent","push","exports"],"sources":["../../src/kameleoonData/pageView.ts"],"sourcesContent":["import { UrlEventType, UrlParameter, VisitType } from 'src/requester';\nimport { Utilities } from 'src/utilities';\nimport { Order } from 'src/utilities/types';\nimport {\n IKameleoonData,\n KameleoonData,\n PageViewDataType,\n PageViewParametersType,\n} from './types';\n\n/**\n * @class\n * PageView - a class for creating an instance of a page view data\n * */\nexport class PageView implements IKameleoonData {\n private urlAddress: string;\n private title: string;\n private referrers?: number[];\n private sent: boolean;\n // --- Note ---\n // Ascending order\n private timestampList: number[] = [];\n\n /**\n * @param {PageViewParametersType} pageViewParameters - an object with page view parameters\n * */\n constructor({ urlAddress, title, referrers }: PageViewParametersType) {\n this.urlAddress = urlAddress;\n this.title = title;\n this.referrers = referrers;\n this.sent = false;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n // --- Note ---\n // If SDK is used in vanilla JS codebase, then you're also able to create an instance\n // with no required data, we don't want send anything to tracking in that case\n if (!this.urlAddress) {\n return '';\n }\n\n const titleParameter = this.title\n ? UrlParameter.Title + encodeURIComponent(this.title)\n : '';\n\n const referrersParameter = this.referrers?.length\n ? UrlParameter.ReferrersIndices + JSON.stringify(this.referrers)\n : '';\n\n return (\n UrlEventType.Page +\n UrlParameter.Href +\n encodeURIComponent(this.urlAddress) +\n titleParameter +\n referrersParameter\n );\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): PageViewDataType {\n return {\n urlAddress: this.urlAddress,\n title: this.title,\n referrers: this.referrers,\n type: KameleoonData.PageView,\n sent: this.sent,\n timestamps: this.timestampList,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n\n /**\n * @property timestamps - a list of timestamps for the current data type\n * */\n get timestamps(): number[] {\n return this.timestampList;\n }\n\n set timestamps(value: number[]) {\n if (this.timestampList.length) {\n // --- Note ---\n // We want to keep the list in ascending order\n value.forEach((timestamp) => {\n Utilities.insertInOrderedListMutably({\n list: this.timestampList,\n element: timestamp,\n order: Order.Ascending,\n });\n });\n } else {\n this.timestampList = value;\n }\n }\n\n /**\n * @private\n * @method _listFromVisits - an internal method for creating a list of page view data from a list of visits\n * @param {VisitType[]} visits - a list of visits\n * @returns {PageView[]} a list of PageView instances\n * */\n public static _listFromVisits(visits: VisitType[]): PageView[] {\n const resultData: PageView[] = [];\n const pageViewMap = new Map<string, PageView>();\n\n // --- Note ---\n // Going backwards to get the latest visit data\n for (let i = visits.length - 1; i >= 0; i--) {\n const visit = visits[i];\n\n if (!visit.pageEvents) {\n continue;\n }\n\n const pageEvents = visit.pageEvents;\n\n for (const pageEvent of pageEvents) {\n let referrers: number[] = [];\n\n const { time } = pageEvent;\n const { href, title, referrersIndices } = pageEvent.data;\n\n if (typeof referrersIndices[0] === 'number') {\n referrers = referrersIndices as number[];\n }\n\n let pageView: PageView;\n\n if (pageViewMap.has(href)) {\n const existingTimestamps = pageViewMap.get(href)!.timestamps;\n\n pageView = new PageView({\n urlAddress: href,\n title,\n referrers,\n });\n\n pageView.timestamps = [...existingTimestamps, time];\n } else {\n pageView = new PageView({\n urlAddress: href,\n title,\n referrers,\n });\n\n pageView.timestamps = [time];\n }\n\n pageViewMap.set(href, pageView);\n }\n }\n\n pageViewMap.forEach((value) => {\n // --- Note ---\n // We don't want to track collected pages again\n value.isSent = true;\n resultData.push(value);\n });\n\n return resultData;\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,34 @@
1
- import { Browser, Conversion, CustomData, Device, PageView, UserAgent } from './';
2
- export type KameleoonDataItemType = BrowserDataType | ConversionDataType | CustomDataType | DeviceDataType | PageViewDataType | UserAgentDataType;
1
+ import { TargetingDataType } from '../targeting';
2
+ import { IExternalStorage } from '../storage';
3
+ import { Browser, Conversion, Cookie, CustomData, Device, GeolocationData, OperatingSystem, PageView, UserAgent, ApplicationVersion, VisitsData } from '../kameleoonData';
4
+ export type UnsentVisitorTargetingDataType = Map<KameleoonData | number, KameleoonDataType | KameleoonDataType[]>;
5
+ export type UnsentTargetingDataType = {
6
+ [visitorCode: string]: UnsentVisitorTargetingDataType | undefined;
7
+ };
8
+ export type FieldParametersType = {
9
+ visitorCode: string;
10
+ key: KameleoonData;
11
+ value: BrowserDataType | CookieDataType | DeviceDataType | GeolocationDataType | OperatingSystemDataType | UserAgentDataType | VisitsDataType;
12
+ data: TargetingDataType;
13
+ };
14
+ export type ArrayFieldParametersType = {
15
+ visitorCode: string;
16
+ key: KameleoonData;
17
+ value: ConversionDataType;
18
+ data: TargetingDataType;
19
+ };
20
+ export type NestedFieldParametersType = {
21
+ visitorCode: string;
22
+ key: KameleoonData.CustomData | KameleoonData.PageView;
23
+ nestedKey: string;
24
+ value: CustomDataType | PageViewDataType;
25
+ data: TargetingDataType;
26
+ };
27
+ export type DataManagerParametersType = {
28
+ targetingCleanupInterval?: number;
29
+ storage: IExternalStorage<TargetingDataType>;
30
+ };
31
+ export type KameleoonDataItemType = BrowserDataType | ConversionDataType | CustomDataType | DeviceDataType | PageViewDataType | UserAgentDataType | CookieDataType | GeolocationDataType | OperatingSystemDataType | ApplicationVersionDataType | VisitsDataType;
3
32
  /**
4
33
  * @interface an interface of KameleoonData
5
34
  * each class instance will have url getter method
@@ -8,38 +37,56 @@ export type KameleoonDataItemType = BrowserDataType | ConversionDataType | Custo
8
37
  export interface IKameleoonData {
9
38
  readonly url: string;
10
39
  readonly data: KameleoonDataItemType;
40
+ isSent: boolean;
11
41
  }
12
42
  /**
13
43
  * @type a tuple of each possible type of data for `addData` method
14
44
  * of KameleoonClient
15
45
  * */
16
- export type KameleoonDataType = Browser | Conversion | CustomData | Device | PageView | UserAgent;
46
+ export type KameleoonDataType = Browser | Conversion | CustomData | Device | PageView | UserAgent | VisitsData | GeolocationData | OperatingSystem | Cookie | ApplicationVersion;
17
47
  export type ActivityTimePropertyType = {
18
48
  lastActivityTime: number;
19
49
  };
20
50
  export type ExistingCustomDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.CustomData]>;
51
+ export type ExistingPageViewDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.PageView]>;
52
+ export type ExistingNestedDataType = ExistingCustomDataType | ExistingPageViewDataType;
53
+ export type ExistingArrayDataType = ExistingConversionDataType;
54
+ export type ExistingConversionDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.Conversion]>;
55
+ export type ExistingVisitsDataType = NonNullable<KameleoonVisitorDataType[KameleoonData.VisitsData]>;
21
56
  export type ExistingDataType<T extends KameleoonData> = NonNullable<KameleoonVisitorDataType[T]>;
22
57
  export type KameleoonVisitorDataType<T = ActivityTimePropertyType> = {
23
58
  [KameleoonData.CustomData]?: {
24
- [index: number]: (CustomDataType & T) | undefined;
59
+ [index: string]: (CustomDataType & T) | undefined;
25
60
  };
26
- [KameleoonData.Conversion]?: ConversionDataType & T;
61
+ [KameleoonData.Conversion]?: (ConversionDataType & T)[];
62
+ [KameleoonData.GeolocationData]?: GeolocationDataType & T;
27
63
  [KameleoonData.UserAgent]?: UserAgentDataType & T;
28
- [KameleoonData.PageView]?: PageViewDataType & T;
64
+ [KameleoonData.PageView]?: {
65
+ [url: string]: PageViewDataType & T;
66
+ };
29
67
  [KameleoonData.Browser]?: BrowserDataType & T;
30
68
  [KameleoonData.Device]?: DeviceDataType & T;
69
+ [KameleoonData.Cookie]?: CookieDataType & T;
70
+ [KameleoonData.OperatingSystem]?: OperatingSystemDataType & T;
71
+ [KameleoonData.ApplicationVersion]?: ApplicationVersionDataType & T;
72
+ [KameleoonData.VisitsData]?: VisitsDataType & T;
31
73
  };
32
74
  export declare enum KameleoonData {
33
75
  CustomData = "customData",
34
76
  PageView = "pageView",
77
+ GeolocationData = "geolocation",
35
78
  Browser = "browser",
36
79
  Conversion = "conversion",
80
+ Cookie = "cookie",
37
81
  Device = "device",
38
- UserAgent = "userAgent"
82
+ OperatingSystem = "operatingSystem",
83
+ UserAgent = "userAgent",
84
+ ApplicationVersion = "applicationVersion",
85
+ VisitsData = "visitsData"
39
86
  }
40
87
  type SharedDataPropertiesType = {
41
88
  type: KameleoonData;
42
- nonce: string;
89
+ sent: boolean;
43
90
  };
44
91
  export type BrowserDataType = {
45
92
  browser: BrowserType;
@@ -52,19 +99,34 @@ export type ConversionDataType = {
52
99
  } & SharedDataPropertiesType;
53
100
  export type CustomDataType = {
54
101
  index: number;
55
- value: string | string[];
102
+ value: string[];
56
103
  } & SharedDataPropertiesType;
57
104
  export type DeviceDataType = {
58
105
  device: DeviceType;
59
106
  } & SharedDataPropertiesType;
107
+ export type VisitsDataType = {
108
+ previousVisits: number[];
109
+ currentVisit: number | null;
110
+ } & SharedDataPropertiesType;
111
+ export type OperatingSystemDataType = {
112
+ operatingSystem: OperatingSystemType;
113
+ } & SharedDataPropertiesType;
114
+ export type CookieDataType = {
115
+ cookie: CookieType[];
116
+ } & SharedDataPropertiesType;
117
+ export type GeolocationDataType = GeolocationInfoType & SharedDataPropertiesType;
60
118
  export type PageViewDataType = {
61
119
  urlAddress: string;
62
120
  title: string;
63
121
  referrers?: number[];
122
+ timestamps: number[];
64
123
  } & SharedDataPropertiesType;
65
124
  export type UserAgentDataType = {
66
125
  value: string;
67
126
  } & SharedDataPropertiesType;
127
+ export type ApplicationVersionDataType = {
128
+ version: string;
129
+ } & SharedDataPropertiesType;
68
130
  /**
69
131
  * @param {number} goalId - an id of a goal to track
70
132
  * @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`
@@ -94,6 +156,43 @@ export declare enum DeviceType {
94
156
  Tablet = "TABLET",
95
157
  Desktop = "DESKTOP"
96
158
  }
159
+ /**
160
+ * @readonly
161
+ * @enum {string} an Enum containing all possible variants for operating system type
162
+ * */
163
+ export declare enum OperatingSystemType {
164
+ WindowsPhone = "WINDOWS_PHONE",
165
+ Windows = "WINDOWS",
166
+ Android = "ANDROID",
167
+ Linux = "LINUX",
168
+ Mac = "MAC",
169
+ IOS = "IOS"
170
+ }
171
+ /**
172
+ * @param {string} country - a country of a visitor
173
+ * @param {string | undefined} region - an optional parameter containing a region of a visitor, has no default value
174
+ * @param {string | undefined} city - an optional parameter containing a city of a visitor, has no default value
175
+ * @param {string | undefined} postalCode - an optional parameter containing a postal code of a visitor, has no default value
176
+ * @param {[number, number] | undefined} coordinates - an optional parameter containing a pair of coordinates (longitude and latitude) of a visitor, has no default value. Coordinate `number` represents decimal degrees (double that can be negative)
177
+ * */
178
+ export type GeolocationInfoType = {
179
+ country: string;
180
+ region?: string;
181
+ city?: string;
182
+ postalCode?: string;
183
+ coordinates?: [number, number];
184
+ };
185
+ /**
186
+ * @param {string} key - a key of a cookie
187
+ * @param {string} value - a value of a cookie
188
+ * */
189
+ export type CookieType = {
190
+ key: string;
191
+ value: string;
192
+ };
193
+ export type OptionalCookieType = Omit<CookieType, 'key'> & {
194
+ key?: string;
195
+ };
97
196
  /**
98
197
  * @readonly
99
198
  * @enum {string} an Enum containing all possible variants for browser type
@@ -106,6 +205,15 @@ export declare enum BrowserType {
106
205
  Opera = "OPERA",
107
206
  Other = "OTHER"
108
207
  }
208
+ export declare const OperatingSystemIndexMap: {
209
+ readonly WINDOWS: 0;
210
+ readonly MAC: 1;
211
+ readonly IOS: 2;
212
+ readonly LINUX: 3;
213
+ readonly ANDROID: 4;
214
+ readonly WINDOWS_PHONE: 5;
215
+ };
216
+ export declare const OperatingSystemTypeMap: Record<number, OperatingSystemType>;
109
217
  export declare const BrowserIndexMap: {
110
218
  readonly CHROME: 0;
111
219
  readonly IE: 1;
@@ -114,4 +222,5 @@ export declare const BrowserIndexMap: {
114
222
  readonly OPERA: 4;
115
223
  readonly OTHER: 5;
116
224
  };
225
+ export declare const BrowserTypeMap: Record<number, BrowserType>;
117
226
  export {};
@@ -1,15 +1,2 @@
1
- "use strict";var _BrowserIndexMap;Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonData=exports.DeviceType=exports.BrowserType=exports.BrowserIndexMap=void 0;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 _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)}/**
2
- * @interface an interface of KameleoonData
3
- * each class instance will have url getter method
4
- * for handling url of different data types
5
- * */ /**
6
- * @type a tuple of each possible type of data for `addData` method
7
- * of KameleoonClient
8
- * */var KameleoonData=/*#__PURE__*/function(a){return a.CustomData="customData",a.PageView="pageView",a.Browser="browser",a.Conversion="conversion",a.Device="device",a.UserAgent="userAgent",a}({});exports.KameleoonData=KameleoonData;/**
9
- * @readonly
10
- * @enum {string} an Enum containing all possible variants for device type
11
- * */var DeviceType=/*#__PURE__*/function(a){return a.Phone="PHONE",a.Tablet="TABLET",a.Desktop="DESKTOP",a}({});/**
12
- * @readonly
13
- * @enum {string} an Enum containing all possible variants for browser type
14
- * */exports.DeviceType=DeviceType;var BrowserType=/*#__PURE__*/function(a){return a.Chrome="CHROME",a.InternetExplorer="IE",a.Firefox="FIREFOX",a.Safari="SAFARI",a.Opera="OPERA",a.Other="OTHER",a}({});exports.BrowserType=BrowserType;var BrowserIndexMap=(_BrowserIndexMap={},_defineProperty(_BrowserIndexMap,BrowserType.Chrome,0),_defineProperty(_BrowserIndexMap,BrowserType.InternetExplorer,1),_defineProperty(_BrowserIndexMap,BrowserType.Firefox,2),_defineProperty(_BrowserIndexMap,BrowserType.Safari,3),_defineProperty(_BrowserIndexMap,BrowserType.Opera,4),_defineProperty(_BrowserIndexMap,BrowserType.Other,5),_BrowserIndexMap);exports.BrowserIndexMap=BrowserIndexMap;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperatingSystemTypeMap=exports.OperatingSystemType=exports.OperatingSystemIndexMap=exports.KameleoonData=exports.DeviceType=exports.BrowserTypeMap=exports.BrowserType=exports.BrowserIndexMap=void 0;var _OperatingSystemIndex,_BrowserIndexMap,_helpers=require("./helpers");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 _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 KameleoonData=function(a){return a.CustomData="customData",a.PageView="pageView",a.GeolocationData="geolocation",a.Browser="browser",a.Conversion="conversion",a.Cookie="cookie",a.Device="device",a.OperatingSystem="operatingSystem",a.UserAgent="userAgent",a.ApplicationVersion="applicationVersion",a.VisitsData="visitsData",a}({});exports.KameleoonData=KameleoonData;var DeviceType=function(a){return a.Phone="PHONE",a.Tablet="TABLET",a.Desktop="DESKTOP",a}({});exports.DeviceType=DeviceType;var OperatingSystemType=function(a){return a.WindowsPhone="WINDOWS_PHONE",a.Windows="WINDOWS",a.Android="ANDROID",a.Linux="LINUX",a.Mac="MAC",a.IOS="IOS",a}({});exports.OperatingSystemType=OperatingSystemType;var BrowserType=function(a){return a.Chrome="CHROME",a.InternetExplorer="IE",a.Firefox="FIREFOX",a.Safari="SAFARI",a.Opera="OPERA",a.Other="OTHER",a}({});exports.BrowserType=BrowserType;var OperatingSystemIndexMap=(_OperatingSystemIndex={},_defineProperty(_OperatingSystemIndex,OperatingSystemType.Windows,0),_defineProperty(_OperatingSystemIndex,OperatingSystemType.Mac,1),_defineProperty(_OperatingSystemIndex,OperatingSystemType.IOS,2),_defineProperty(_OperatingSystemIndex,OperatingSystemType.Linux,3),_defineProperty(_OperatingSystemIndex,OperatingSystemType.Android,4),_defineProperty(_OperatingSystemIndex,OperatingSystemType.WindowsPhone,5),_OperatingSystemIndex);exports.OperatingSystemIndexMap=OperatingSystemIndexMap;var OperatingSystemTypeMap=(0,_helpers.constructTypeMap)(OperatingSystemIndexMap);exports.OperatingSystemTypeMap=OperatingSystemTypeMap;var BrowserIndexMap=(_BrowserIndexMap={},_defineProperty(_BrowserIndexMap,BrowserType.Chrome,0),_defineProperty(_BrowserIndexMap,BrowserType.InternetExplorer,1),_defineProperty(_BrowserIndexMap,BrowserType.Firefox,2),_defineProperty(_BrowserIndexMap,BrowserType.Safari,3),_defineProperty(_BrowserIndexMap,BrowserType.Opera,4),_defineProperty(_BrowserIndexMap,BrowserType.Other,5),_BrowserIndexMap);exports.BrowserIndexMap=BrowserIndexMap;var BrowserTypeMap=(0,_helpers.constructTypeMap)(BrowserIndexMap);exports.BrowserTypeMap=BrowserTypeMap;
15
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["KameleoonData","CustomData","PageView","Browser","Conversion","Device","UserAgent","exports","DeviceType","Phone","Tablet","Desktop","BrowserType","Chrome","InternetExplorer","Firefox","Safari","Opera","Other","BrowserIndexMap","_BrowserIndexMap","_defineProperty"],"sources":["../../src/kameleoonData/types.ts"],"sourcesContent":["import {\n Browser,\n Conversion,\n CustomData,\n Device,\n PageView,\n UserAgent,\n} from './';\n\nexport type KameleoonDataItemType =\n | BrowserDataType\n | ConversionDataType\n | CustomDataType\n | DeviceDataType\n | PageViewDataType\n | UserAgentDataType;\n\n/**\n * @interface an interface of KameleoonData\n * each class instance will have url getter method\n * for handling url of different data types\n * */\nexport interface IKameleoonData {\n readonly url: string;\n readonly data: KameleoonDataItemType;\n}\n\n/**\n * @type a tuple of each possible type of data for `addData` method\n * of KameleoonClient\n * */\nexport type KameleoonDataType =\n | Browser\n | Conversion\n | CustomData\n | Device\n | PageView\n | UserAgent;\n\nexport type ActivityTimePropertyType = {\n lastActivityTime: number;\n};\n\nexport type ExistingCustomDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.CustomData]\n>;\n\nexport type ExistingDataType<T extends KameleoonData> = NonNullable<\n KameleoonVisitorDataType[T]\n>;\n\nexport type KameleoonVisitorDataType<T = ActivityTimePropertyType> = {\n [KameleoonData.CustomData]?: {\n [index: number]: (CustomDataType & T) | undefined;\n };\n [KameleoonData.Conversion]?: ConversionDataType & T;\n [KameleoonData.UserAgent]?: UserAgentDataType & T;\n [KameleoonData.PageView]?: PageViewDataType & T;\n [KameleoonData.Browser]?: BrowserDataType & T;\n [KameleoonData.Device]?: DeviceDataType & T;\n};\n\nexport enum KameleoonData {\n CustomData = 'customData',\n PageView = 'pageView',\n Browser = 'browser',\n Conversion = 'conversion',\n Device = 'device',\n UserAgent = 'userAgent',\n}\n\ntype SharedDataPropertiesType = {\n type: KameleoonData;\n nonce: string;\n};\n\nexport type BrowserDataType = {\n browser: BrowserType;\n version?: number;\n} & SharedDataPropertiesType;\n\nexport type ConversionDataType = {\n goalId: number;\n revenue: number;\n negative: boolean;\n} & SharedDataPropertiesType;\n\nexport type CustomDataType = {\n index: number;\n value: string | string[];\n} & SharedDataPropertiesType;\n\nexport type DeviceDataType = {\n device: DeviceType;\n} & SharedDataPropertiesType;\n\nexport type PageViewDataType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n} & SharedDataPropertiesType;\n\nexport type UserAgentDataType = {\n value: string;\n} & SharedDataPropertiesType;\n\n/**\n * @param {number} goalId - an id of a goal to track\n * @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`\n * @param {boolean | undefined} negative - an optional parameter identifying whether the conversion should be removed, default value is `false`\n * */\nexport type ConversionParametersType = {\n goalId: number;\n revenue?: number;\n negative?: boolean;\n};\n\n/**\n * @param {string} urlAddress - url address of the page to track\n * @param {string} title - title of the web page\n * @param {number[] | undefined} referrers - an optional parameter containing a list of referrersIndices, has no default value\n * */\nexport type PageViewParametersType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for device type\n * */\nexport enum DeviceType {\n Phone = 'PHONE',\n Tablet = 'TABLET',\n Desktop = 'DESKTOP',\n}\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for browser type\n * */\nexport enum BrowserType {\n Chrome = 'CHROME',\n InternetExplorer = 'IE',\n Firefox = 'FIREFOX',\n Safari = 'SAFARI',\n Opera = 'OPERA',\n Other = 'OTHER',\n}\n\nexport const BrowserIndexMap = {\n [BrowserType.Chrome]: 0,\n [BrowserType.InternetExplorer]: 1,\n [BrowserType.Firefox]: 2,\n [BrowserType.Safari]: 3,\n [BrowserType.Opera]: 4,\n [BrowserType.Other]: 5,\n} as const;\n"],"mappings":"y9BAiBA;AACA;AACA;AACA;AACA,KAJA,CAUA;AACA;AACA;AACA,KAHA,GAmCY,CAAAA,aAAa,uBAAbA,CAAa,QAAb,CAAAA,CAAa,CAAAC,UAAA,cAAbD,CAAa,CAAAE,QAAA,YAAbF,CAAa,CAAAG,OAAA,WAAbH,CAAa,CAAAI,UAAA,cAAbJ,CAAa,CAAAK,MAAA,UAAbL,CAAa,CAAAM,SAAA,aAAbN,CAAa,MAAAO,OAAA,CAAAP,aAAA,CAAAA,aAAA,CAkEzB;AACA;AACA;AACA,KAHA,GAIY,CAAAQ,UAAU,uBAAVA,CAAU,QAAV,CAAAA,CAAU,CAAAC,KAAA,SAAVD,CAAU,CAAAE,MAAA,UAAVF,CAAU,CAAAG,OAAA,WAAVH,CAAU,MAMtB;AACA;AACA;AACA,KAHAD,OAAA,CAAAC,UAAA,CAAAA,UAAA,IAIY,CAAAI,WAAW,uBAAXA,CAAW,QAAX,CAAAA,CAAW,CAAAC,MAAA,UAAXD,CAAW,CAAAE,gBAAA,MAAXF,CAAW,CAAAG,OAAA,WAAXH,CAAW,CAAAI,MAAA,UAAXJ,CAAW,CAAAK,KAAA,SAAXL,CAAW,CAAAM,KAAA,SAAXN,CAAW,MAAAL,OAAA,CAAAK,WAAA,CAAAA,WAAA,CAShB,GAAM,CAAAO,eAAe,EAAAC,gBAAA,IAAAC,eAAA,CAAAD,gBAAA,CACzBR,WAAW,CAACC,MAAM,CAAG,CAAC,EAAAQ,eAAA,CAAAD,gBAAA,CACtBR,WAAW,CAACE,gBAAgB,CAAG,CAAC,EAAAO,eAAA,CAAAD,gBAAA,CAChCR,WAAW,CAACG,OAAO,CAAG,CAAC,EAAAM,eAAA,CAAAD,gBAAA,CACvBR,WAAW,CAACI,MAAM,CAAG,CAAC,EAAAK,eAAA,CAAAD,gBAAA,CACtBR,WAAW,CAACK,KAAK,CAAG,CAAC,EAAAI,eAAA,CAAAD,gBAAA,CACrBR,WAAW,CAACM,KAAK,CAAG,CAAC,EAAAE,gBAAA,CACd,CAACb,OAAA,CAAAY,eAAA,CAAAA,eAAA"}
1
+ {"version":3,"file":"types.js","names":["KameleoonData","CustomData","PageView","GeolocationData","Browser","Conversion","Cookie","Device","OperatingSystem","UserAgent","ApplicationVersion","VisitsData","exports","DeviceType","Phone","Tablet","Desktop","OperatingSystemType","WindowsPhone","Windows","Android","Linux","Mac","IOS","BrowserType","Chrome","InternetExplorer","Firefox","Safari","Opera","Other","OperatingSystemIndexMap","_OperatingSystemIndex","_defineProperty","OperatingSystemTypeMap","constructTypeMap","BrowserIndexMap","_BrowserIndexMap","BrowserTypeMap"],"sources":["../../src/kameleoonData/types.ts"],"sourcesContent":["import { TargetingDataType } from 'src/targeting';\nimport { IExternalStorage } from 'src/storage';\nimport {\n Browser,\n Conversion,\n Cookie,\n CustomData,\n Device,\n GeolocationData,\n OperatingSystem,\n PageView,\n UserAgent,\n ApplicationVersion,\n VisitsData,\n} from 'src/kameleoonData';\nimport { constructTypeMap } from './helpers';\n\n// --- Note ---\n// -- `Conversion`s are stored by `KameleoonData.Conversion` key in a form of an `KameleoonDataType[]` array\n// -- `PageView`s are store by `timestamp` (number) key in a form of `KameleoonDataType`\n// -- All the other unsent data types are stored in a form of `KameleoonData` key and `KameleoonDataType` value\nexport type UnsentVisitorTargetingDataType = Map<\n KameleoonData | number,\n KameleoonDataType | KameleoonDataType[]\n>;\n\nexport type UnsentTargetingDataType = {\n [visitorCode: string]: UnsentVisitorTargetingDataType | undefined;\n};\n\nexport type FieldParametersType = {\n visitorCode: string;\n key: KameleoonData;\n value:\n | BrowserDataType\n | CookieDataType\n | DeviceDataType\n | GeolocationDataType\n | OperatingSystemDataType\n | UserAgentDataType\n | VisitsDataType;\n data: TargetingDataType;\n};\n\nexport type ArrayFieldParametersType = {\n visitorCode: string;\n key: KameleoonData;\n value: ConversionDataType;\n data: TargetingDataType;\n};\nexport type NestedFieldParametersType = {\n visitorCode: string;\n key: KameleoonData.CustomData | KameleoonData.PageView;\n nestedKey: string;\n value: CustomDataType | PageViewDataType;\n data: TargetingDataType;\n};\n\nexport type DataManagerParametersType = {\n targetingCleanupInterval?: number;\n storage: IExternalStorage<TargetingDataType>;\n};\n\nexport type KameleoonDataItemType =\n | BrowserDataType\n | ConversionDataType\n | CustomDataType\n | DeviceDataType\n | PageViewDataType\n | UserAgentDataType\n | CookieDataType\n | GeolocationDataType\n | OperatingSystemDataType\n | ApplicationVersionDataType\n | VisitsDataType;\n\n/**\n * @interface an interface of KameleoonData\n * each class instance will have url getter method\n * for handling url of different data types\n * */\nexport interface IKameleoonData {\n readonly url: string;\n readonly data: KameleoonDataItemType;\n isSent: boolean;\n}\n\n/**\n * @type a tuple of each possible type of data for `addData` method\n * of KameleoonClient\n * */\nexport type KameleoonDataType =\n | Browser\n | Conversion\n | CustomData\n | Device\n | PageView\n | UserAgent\n | VisitsData\n | GeolocationData\n | OperatingSystem\n | Cookie\n | ApplicationVersion;\n\nexport type ActivityTimePropertyType = {\n lastActivityTime: number;\n};\n\nexport type ExistingCustomDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.CustomData]\n>;\n\nexport type ExistingPageViewDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.PageView]\n>;\n\nexport type ExistingNestedDataType =\n | ExistingCustomDataType\n | ExistingPageViewDataType;\n\nexport type ExistingArrayDataType = ExistingConversionDataType;\n\nexport type ExistingConversionDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.Conversion]\n>;\n\nexport type ExistingVisitsDataType = NonNullable<\n KameleoonVisitorDataType[KameleoonData.VisitsData]\n>;\n\nexport type ExistingDataType<T extends KameleoonData> = NonNullable<\n KameleoonVisitorDataType[T]\n>;\n\nexport type KameleoonVisitorDataType<T = ActivityTimePropertyType> = {\n [KameleoonData.CustomData]?: {\n [index: string]: (CustomDataType & T) | undefined;\n };\n [KameleoonData.Conversion]?: (ConversionDataType & T)[];\n [KameleoonData.GeolocationData]?: GeolocationDataType & T;\n [KameleoonData.UserAgent]?: UserAgentDataType & T;\n [KameleoonData.PageView]?: { [url: string]: PageViewDataType & T };\n [KameleoonData.Browser]?: BrowserDataType & T;\n [KameleoonData.Device]?: DeviceDataType & T;\n [KameleoonData.Cookie]?: CookieDataType & T;\n [KameleoonData.OperatingSystem]?: OperatingSystemDataType & T;\n [KameleoonData.ApplicationVersion]?: ApplicationVersionDataType & T;\n [KameleoonData.VisitsData]?: VisitsDataType & T;\n};\n\nexport enum KameleoonData {\n CustomData = 'customData',\n PageView = 'pageView',\n GeolocationData = 'geolocation',\n Browser = 'browser',\n Conversion = 'conversion',\n Cookie = 'cookie',\n Device = 'device',\n OperatingSystem = 'operatingSystem',\n UserAgent = 'userAgent',\n ApplicationVersion = 'applicationVersion',\n VisitsData = 'visitsData',\n}\n\ntype SharedDataPropertiesType = {\n type: KameleoonData;\n sent: boolean;\n};\n\nexport type BrowserDataType = {\n browser: BrowserType;\n version?: number;\n} & SharedDataPropertiesType;\n\nexport type ConversionDataType = {\n goalId: number;\n revenue: number;\n negative: boolean;\n} & SharedDataPropertiesType;\n\nexport type CustomDataType = {\n index: number;\n value: string[];\n} & SharedDataPropertiesType;\n\nexport type DeviceDataType = {\n device: DeviceType;\n} & SharedDataPropertiesType;\n\nexport type VisitsDataType = {\n previousVisits: number[];\n currentVisit: number | null;\n} & SharedDataPropertiesType;\n\nexport type OperatingSystemDataType = {\n operatingSystem: OperatingSystemType;\n} & SharedDataPropertiesType;\n\nexport type CookieDataType = {\n cookie: CookieType[];\n} & SharedDataPropertiesType;\n\nexport type GeolocationDataType = GeolocationInfoType &\n SharedDataPropertiesType;\n\nexport type PageViewDataType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n timestamps: number[];\n} & SharedDataPropertiesType;\n\nexport type UserAgentDataType = {\n value: string;\n} & SharedDataPropertiesType;\n\nexport type ApplicationVersionDataType = {\n version: string;\n} & SharedDataPropertiesType;\n\n/**\n * @param {number} goalId - an id of a goal to track\n * @param {number | undefined} revenue - an optional parameter for revenue, default value is `0`\n * @param {boolean | undefined} negative - an optional parameter identifying whether the conversion should be removed, default value is `false`\n * */\nexport type ConversionParametersType = {\n goalId: number;\n revenue?: number;\n negative?: boolean;\n};\n\n/**\n * @param {string} urlAddress - url address of the page to track\n * @param {string} title - title of the web page\n * @param {number[] | undefined} referrers - an optional parameter containing a list of referrersIndices, has no default value\n * */\nexport type PageViewParametersType = {\n urlAddress: string;\n title: string;\n referrers?: number[];\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for device type\n * */\nexport enum DeviceType {\n Phone = 'PHONE',\n Tablet = 'TABLET',\n Desktop = 'DESKTOP',\n}\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for operating system type\n * */\nexport enum OperatingSystemType {\n WindowsPhone = 'WINDOWS_PHONE',\n Windows = 'WINDOWS',\n Android = 'ANDROID',\n Linux = 'LINUX',\n Mac = 'MAC',\n IOS = 'IOS',\n}\n\n/**\n * @param {string} country - a country of a visitor\n * @param {string | undefined} region - an optional parameter containing a region of a visitor, has no default value\n * @param {string | undefined} city - an optional parameter containing a city of a visitor, has no default value\n * @param {string | undefined} postalCode - an optional parameter containing a postal code of a visitor, has no default value\n * @param {[number, number] | undefined} coordinates - an optional parameter containing a pair of coordinates (longitude and latitude) of a visitor, has no default value. Coordinate `number` represents decimal degrees (double that can be negative)\n * */\nexport type GeolocationInfoType = {\n country: string;\n region?: string;\n city?: string;\n postalCode?: string;\n coordinates?: [number, number];\n};\n\n/**\n * @param {string} key - a key of a cookie\n * @param {string} value - a value of a cookie\n * */\nexport type CookieType = {\n key: string;\n value: string;\n};\n\nexport type OptionalCookieType = Omit<CookieType, 'key'> & {\n key?: string;\n};\n\n/**\n * @readonly\n * @enum {string} an Enum containing all possible variants for browser type\n * */\nexport enum BrowserType {\n Chrome = 'CHROME',\n InternetExplorer = 'IE',\n Firefox = 'FIREFOX',\n Safari = 'SAFARI',\n Opera = 'OPERA',\n Other = 'OTHER',\n}\n\nexport const OperatingSystemIndexMap = {\n [OperatingSystemType.Windows]: 0,\n [OperatingSystemType.Mac]: 1,\n [OperatingSystemType.IOS]: 2,\n [OperatingSystemType.Linux]: 3,\n [OperatingSystemType.Android]: 4,\n [OperatingSystemType.WindowsPhone]: 5,\n} as const;\n\nexport const OperatingSystemTypeMap = constructTypeMap<OperatingSystemType>(\n OperatingSystemIndexMap,\n);\n\nexport const BrowserIndexMap = {\n [BrowserType.Chrome]: 0,\n [BrowserType.InternetExplorer]: 1,\n [BrowserType.Firefox]: 2,\n [BrowserType.Safari]: 3,\n [BrowserType.Opera]: 4,\n [BrowserType.Other]: 5,\n} as const;\n\nexport const BrowserTypeMap = constructTypeMap<BrowserType>(BrowserIndexMap);\n"],"mappings":"koCAsJY,CAAAA,aAAa,UAAbA,CAAa,QAAb,CAAAA,CAAa,CAAAC,UAAA,cAAbD,CAAa,CAAAE,QAAA,YAAbF,CAAa,CAAAG,eAAA,eAAbH,CAAa,CAAAI,OAAA,WAAbJ,CAAa,CAAAK,UAAA,cAAbL,CAAa,CAAAM,MAAA,UAAbN,CAAa,CAAAO,MAAA,UAAbP,CAAa,CAAAQ,eAAA,mBAAbR,CAAa,CAAAS,SAAA,aAAbT,CAAa,CAAAU,kBAAA,sBAAbV,CAAa,CAAAW,UAAA,cAAbX,CAAa,MAAAY,OAAA,CAAAZ,aAAA,CAAAA,aAAA,IAgGb,CAAAa,UAAU,UAAVA,CAAU,QAAV,CAAAA,CAAU,CAAAC,KAAA,SAAVD,CAAU,CAAAE,MAAA,UAAVF,CAAU,CAAAG,OAAA,WAAVH,CAAU,MAAAD,OAAA,CAAAC,UAAA,CAAAA,UAAA,IAUV,CAAAI,mBAAmB,UAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,YAAA,iBAAnBD,CAAmB,CAAAE,OAAA,WAAnBF,CAAmB,CAAAG,OAAA,WAAnBH,CAAmB,CAAAI,KAAA,SAAnBJ,CAAmB,CAAAK,GAAA,OAAnBL,CAAmB,CAAAM,GAAA,OAAnBN,CAAmB,MAAAL,OAAA,CAAAK,mBAAA,CAAAA,mBAAA,IAyCnB,CAAAO,WAAW,UAAXA,CAAW,QAAX,CAAAA,CAAW,CAAAC,MAAA,UAAXD,CAAW,CAAAE,gBAAA,MAAXF,CAAW,CAAAG,OAAA,WAAXH,CAAW,CAAAI,MAAA,UAAXJ,CAAW,CAAAK,KAAA,SAAXL,CAAW,CAAAM,KAAA,SAAXN,CAAW,MAAAZ,OAAA,CAAAY,WAAA,CAAAA,WAAA,CAShB,GAAM,CAAAO,uBAAuB,EAAAC,qBAAA,IAAAC,eAAA,CAAAD,qBAAA,CACjCf,mBAAmB,CAACE,OAAO,CAAG,CAAC,EAAAc,eAAA,CAAAD,qBAAA,CAC/Bf,mBAAmB,CAACK,GAAG,CAAG,CAAC,EAAAW,eAAA,CAAAD,qBAAA,CAC3Bf,mBAAmB,CAACM,GAAG,CAAG,CAAC,EAAAU,eAAA,CAAAD,qBAAA,CAC3Bf,mBAAmB,CAACI,KAAK,CAAG,CAAC,EAAAY,eAAA,CAAAD,qBAAA,CAC7Bf,mBAAmB,CAACG,OAAO,CAAG,CAAC,EAAAa,eAAA,CAAAD,qBAAA,CAC/Bf,mBAAmB,CAACC,YAAY,CAAG,CAAC,EAAAc,qBAAA,CAC7B,CAACpB,OAAA,CAAAmB,uBAAA,CAAAA,uBAAA,CAEJ,GAAM,CAAAG,sBAAsB,CAAG,GAAAC,yBAAgB,EACpDJ,uBAAuB,CACxB,CAACnB,OAAA,CAAAsB,sBAAA,CAAAA,sBAAA,CAEK,GAAM,CAAAE,eAAe,EAAAC,gBAAA,IAAAJ,eAAA,CAAAI,gBAAA,CACzBb,WAAW,CAACC,MAAM,CAAG,CAAC,EAAAQ,eAAA,CAAAI,gBAAA,CACtBb,WAAW,CAACE,gBAAgB,CAAG,CAAC,EAAAO,eAAA,CAAAI,gBAAA,CAChCb,WAAW,CAACG,OAAO,CAAG,CAAC,EAAAM,eAAA,CAAAI,gBAAA,CACvBb,WAAW,CAACI,MAAM,CAAG,CAAC,EAAAK,eAAA,CAAAI,gBAAA,CACtBb,WAAW,CAACK,KAAK,CAAG,CAAC,EAAAI,eAAA,CAAAI,gBAAA,CACrBb,WAAW,CAACM,KAAK,CAAG,CAAC,EAAAO,gBAAA,CACd,CAACzB,OAAA,CAAAwB,eAAA,CAAAA,eAAA,CAEJ,GAAM,CAAAE,cAAc,CAAG,GAAAH,yBAAgB,EAAcC,eAAe,CAAC,CAACxB,OAAA,CAAA0B,cAAA,CAAAA,cAAA"}
@@ -5,7 +5,7 @@ import { UserAgentDataType, IKameleoonData } from './types';
5
5
  * */
6
6
  export declare class UserAgent implements IKameleoonData {
7
7
  private value;
8
- private nonce;
8
+ private sent;
9
9
  constructor(value: string);
10
10
  /**
11
11
  * @property url - url for the current data type used for events tracking
@@ -15,4 +15,9 @@ export declare class UserAgent implements IKameleoonData {
15
15
  * @property data - data of the current class instance
16
16
  * */
17
17
  get data(): UserAgentDataType;
18
+ /**
19
+ * @property isSent - signifying if the data was sent already tracked
20
+ * */
21
+ get isSent(): boolean;
22
+ set isSent(value: boolean);
18
23
  }
@@ -1,9 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserAgent=void 0;var _utilities=require("../utilities"),_types=require("./types");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _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)}/**
2
- * @class
3
- * UserAgent - a class for creating an instance for user agent
4
- * */var UserAgent=/*#__PURE__*/function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"value",void 0),_defineProperty(this,"nonce",void 0),this.value=b,this.nonce=_utilities.Utilities.getNonce()}/**
5
- * @property url - url for the current data type used for events tracking
6
- * */return _createClass(a,[{key:"url",get:function get(){return""}/**
7
- * @property data - data of the current class instance
8
- * */},{key:"data",get:function get(){return{value:this.value,type:_types.KameleoonData.UserAgent,nonce:this.nonce}}}]),a}();exports.UserAgent=UserAgent;
1
+ "use strict";var _types=require("./types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserAgent=void 0;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 UserAgent=function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"value",void 0),_defineProperty(this,"sent",void 0),this.value=b,this.sent=!1}return _createClass(a,[{key:"url",get:function get(){return""}},{key:"data",get:function get(){return{value:this.value,type:_types.KameleoonData.UserAgent,sent:this.sent}}},{key:"isSent",get:function get(){return this.sent},set:function set(a){this.sent=a}}]),a}();exports.UserAgent=UserAgent;
9
2
  //# sourceMappingURL=userAgent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"userAgent.js","names":["UserAgent","a","value","_classCallCheck","_defineProperty","nonce","Utilities","getNonce","_createClass","key","get","type","KameleoonData","exports"],"sources":["../../src/kameleoonData/userAgent.ts"],"sourcesContent":["import { Utilities } from 'src/utilities';\nimport { UserAgentDataType, IKameleoonData, KameleoonData } from './types';\n\n/**\n * @class\n * UserAgent - a class for creating an instance for user agent\n * */\nexport class UserAgent implements IKameleoonData {\n private value: string;\n private nonce: string;\n\n constructor(value: string) {\n this.value = value;\n this.nonce = Utilities.getNonce();\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n return '';\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): UserAgentDataType {\n return {\n value: this.value,\n type: KameleoonData.UserAgent,\n nonce: this.nonce,\n };\n }\n}\n"],"mappings":"u4CAGA;AACA;AACA;AACA,KAHA,GAIa,CAAAA,SAAS,yBAIpB,SAAAC,EAAYC,CAAa,CAAE,CAAAC,eAAA,MAAAF,CAAA,EAAAG,eAAA,sBAAAA,eAAA,sBACzB,IAAI,CAACF,KAAK,CAAGA,CAAK,CAClB,IAAI,CAACG,KAAK,CAAGC,oBAAS,CAACC,QAAQ,EACjC,CAEA;AACF;AACA,OAFE,OAAAC,YAAA,CAAAP,CAAA,GAAAQ,GAAA,OAAAC,GAAA,CAGA,SAAAA,IAAA,CAAkB,CAChB,MAAO,EACT,CAEA;AACF;AACA,OAFE,GAAAD,GAAA,QAAAC,GAAA,CAGA,SAAAA,IAAA,CAA8B,CAC5B,MAAO,CACLR,KAAK,CAAE,IAAI,CAACA,KAAK,CACjBS,IAAI,CAAEC,oBAAa,CAACZ,SAAS,CAC7BK,KAAK,CAAE,IAAI,CAACA,KACd,CACF,CAAC,IAAAJ,CAAA,IAAAY,OAAA,CAAAb,SAAA,CAAAA,SAAA"}
1
+ {"version":3,"file":"userAgent.js","names":["_types","require","Object","defineProperty","exports","value","UserAgent","_typeof","a","Symbol","iterator","constructor","prototype","_classCallCheck","b","TypeError","_defineProperties","c","d","length","enumerable","configurable","writable","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","call","String","Number","sent","get","type","KameleoonData","set"],"sources":["../../src/kameleoonData/userAgent.ts"],"sourcesContent":["import { UserAgentDataType, IKameleoonData, KameleoonData } from './types';\n\n/**\n * @class\n * UserAgent - a class for creating an instance for user agent\n * */\nexport class UserAgent implements IKameleoonData {\n private value: string;\n private sent: boolean;\n\n constructor(value: string) {\n this.value = value;\n this.sent = false;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n return '';\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): UserAgentDataType {\n return {\n value: this.value,\n type: KameleoonData.UserAgent,\n sent: this.sent,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return this.sent;\n }\n\n set isSent(value: boolean) {\n this.sent = value;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { VisitType } from '../requester';
2
+ import { IKameleoonData, VisitsDataType } from './types';
3
+ /**
4
+ * @class
5
+ * Visits - a class for creating an instance of a stored visits data
6
+ * */
7
+ export declare class VisitsData implements IKameleoonData {
8
+ private previousVisits;
9
+ private currentVisit;
10
+ /**
11
+ * @param {number} currentVisit - a current visit
12
+ * @param {number[]} previousVisits - a list of previous visits
13
+ * */
14
+ constructor(currentVisit: number | null, previousVisits: number[]);
15
+ /**
16
+ * @property url - url for the current data type used for events tracking
17
+ * */
18
+ get url(): string;
19
+ /**
20
+ * @property data - data of the current class instance
21
+ * */
22
+ get data(): VisitsDataType;
23
+ /**
24
+ * @property isSent - signifying if the data was sent already tracked
25
+ * */
26
+ get isSent(): boolean;
27
+ /**
28
+ * @private
29
+ * @method _fromRemoteVisits - an internal method for creating an instance of Visits class from a list of visits
30
+ * @param {VisitType[]} visits - a list of visits
31
+ * @returns {VisitsData | undefined} an instance of Visits class or undefined if there were not any visits
32
+ * */
33
+ static _fromRemoteVisits(visits: VisitType[], hasCurrent: boolean): VisitsData | undefined;
34
+ }
@@ -1,7 +1,2 @@
1
- "use strict";var _types=require("../types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.Variation=void 0;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 Variation=/*#__PURE__*/function(){function a(b){_classCallCheck(this,a),_defineProperty(this,"variationData",void 0),this.variationData=b}return _createClass(a,[{key:"id",get:function get(){if(!this.variationData)throw new Error("Internal usage error: Check if the variation `isValid`, before getting it's `id`");return this.variationData.variationId}},{key:"isValid",value:function isValid(a){var b=this.variationData;if(!b)return!1;// --- Note ---
2
- // - Respool is a kind of shuffle parameter
3
- // it's presence indicates that variations assigned to
4
- // user has changed at certain time (time is the value of `respoolTime` in seconds)
5
- // - So the variation is valid unless it has been shuffled after it's assignment
6
- if(null!==a&&void 0!==a&&a.length){var c=new Date(Date.parse(b.assignmentDate)).getTime()/_types.Milliseconds.Second,d=a.find(function(a){return a.variationId===b.variationId+""});return!d||c>d.value}return!0}}]),a}();exports.Variation=Variation;
7
- //# sourceMappingURL=variation.js.map
1
+ "use strict";var _types=require("./types");Object.defineProperty(exports,"__esModule",{value:!0}),exports.VisitsData=void 0;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 VisitsData=function(){function a(b,c){_classCallCheck(this,a),_defineProperty(this,"previousVisits",void 0),_defineProperty(this,"currentVisit",void 0),this.previousVisits=c,this.currentVisit=b}return _createClass(a,[{key:"url",get:function get(){return""}},{key:"data",get:function get(){return{currentVisit:this.currentVisit,previousVisits:this.previousVisits,type:_types.KameleoonData.VisitsData,sent:!0}}},{key:"isSent",get:function get(){return!0}}],[{key:"_fromRemoteVisits",value:function _fromRemoteVisits(b,c){for(var d,e=[],f=c?1:0,g=c?b[0].timeStarted:null,h=b.length-1;h>=f;h--)d=b[h],e.push(d.timeStarted);if(e.length||g)return new a(g,e)}}]),a}();exports.VisitsData=VisitsData;
2
+ //# sourceMappingURL=visitsData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitsData.js","names":["_types","require","Object","defineProperty","exports","value","VisitsData","_typeof","a","Symbol","iterator","constructor","prototype","_classCallCheck","b","TypeError","_defineProperties","c","d","length","enumerable","configurable","writable","_toPropertyKey","key","_createClass","_defineProperty","_toPrimitive","toPrimitive","call","String","Number","currentVisit","previousVisits","get","type","KameleoonData","sent","_fromRemoteVisits","visits","hasCurrent","visit","visitsList","limit","timeStarted","i","push"],"sources":["../../src/kameleoonData/visitsData.ts"],"sourcesContent":["import { VisitType } from 'src/requester';\nimport { IKameleoonData, KameleoonData, VisitsDataType } from './types';\n\n/**\n * @class\n * Visits - a class for creating an instance of a stored visits data\n * */\nexport class VisitsData implements IKameleoonData {\n // --- Note ---\n // Ascending order\n private previousVisits: number[];\n private currentVisit: number | null;\n\n /**\n * @param {number} currentVisit - a current visit\n * @param {number[]} previousVisits - a list of previous visits\n * */\n constructor(currentVisit: number | null, previousVisits: number[]) {\n this.previousVisits = previousVisits;\n this.currentVisit = currentVisit;\n }\n\n /**\n * @property url - url for the current data type used for events tracking\n * */\n get url(): string {\n return '';\n }\n\n /**\n * @property data - data of the current class instance\n * */\n get data(): VisitsDataType {\n return {\n currentVisit: this.currentVisit,\n previousVisits: this.previousVisits,\n type: KameleoonData.VisitsData,\n sent: true,\n };\n }\n\n /**\n * @property isSent - signifying if the data was sent already tracked\n * */\n get isSent(): boolean {\n return true;\n }\n\n /**\n * @private\n * @method _fromRemoteVisits - an internal method for creating an instance of Visits class from a list of visits\n * @param {VisitType[]} visits - a list of visits\n * @returns {VisitsData | undefined} an instance of Visits class or undefined if there were not any visits\n * */\n public static _fromRemoteVisits(\n visits: VisitType[],\n hasCurrent: boolean,\n ): VisitsData | undefined {\n const visitsList: number[] = [];\n const limit = hasCurrent ? 1 : 0;\n const currentVisit = hasCurrent ? visits[0].timeStarted : null;\n\n // --- Note ---\n // Going backwards to get the latest visit data\n for (let i = visits.length - 1; i >= limit; i--) {\n const visit = visits[i];\n\n visitsList.push(visit.timeStarted);\n }\n\n if (visitsList.length || currentVisit) {\n return new VisitsData(currentVisit, visitsList);\n }\n }\n}\n"],"mappings":"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"}
@@ -1,19 +1,20 @@
1
1
  import { KameleoonStorageKey } from '../storage';
2
2
  import { TargetingType } from '../targeting';
3
3
  export declare const ERROR_MESSAGES: {
4
+ CookieParse: (reason: string) => string;
4
5
  JSONParse: (err: unknown) => string;
5
6
  NumberParse: (value: string) => string;
6
7
  VersionParse: (value: string) => string;
7
8
  SemanticVersionParse: (value: string) => string;
8
9
  Initialization: () => string;
10
+ Credentials: () => string;
9
11
  StorageInitialization: () => string;
10
12
  EventSourceInitialization: () => string;
11
- VariationNotFound: () => string;
12
- FeatureFlagConfigurationNotFound: (featureKey: string, visitorCode: string) => string;
13
+ FeatureFlagConfigurationNotFound: (featureKey: string) => string;
13
14
  FeatureFlagVariableNotFound: (variableKey: string, visitorCode: string) => string;
14
- ExperimentConfigurationNotFound: (experimentId: number, visitorCode: string) => string;
15
+ FeatureFlagVariationNotFound: (variationKey: string, visitorCode: string) => string;
15
16
  NotTargeted: (visitorCode: string) => string;
16
- NotAllocated: (visitorCode: string) => string;
17
+ VisitAmount: () => string;
17
18
  VisitorCodeMaxLength: () => string;
18
19
  VisitorCodeEmpty: () => string;
19
20
  StorageWrite: (err: unknown) => string;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ERROR_MESSAGES=void 0;var _ERROR_MESSAGES,_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 _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 ERROR_MESSAGES=(_ERROR_MESSAGES={},_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.JSONParse,function(a){return"Couldn't parse JSON variable: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.NumberParse,function(a){return"It's not possible to parse value ".concat(a," to Number")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VersionParse,function(a){return"It's not possible to parse a version value ".concat(a," to Number, version should be in format x.x")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.SemanticVersionParse,function(a){return"It's not possible to parse a version value ".concat(a," to Number, version should be in format x.x.x")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.Initialization,function(){return"It seems that the client wasn't properly initialized, make sure to run `initialize` method before invoking other methods"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageInitialization,function(){return"There was an error while initializing React Native SDK storage, it seems that the storage library dependency wasn't installed"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.EventSourceInitialization,function(){return"There was an error while initializing Real Time Update service, it seems that the event source library dependency wasn't installed"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VariationNotFound,function(){return"Couldn't find experiment variation"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagConfigurationNotFound,function(a,b){return"No feature flag with key ".concat(a," was found for ").concat(b," visitorCode.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagVariableNotFound,function(a,b){return"No feature flag variable with key ".concat(a," was found for ").concat(b," visitorCode.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.ExperimentConfigurationNotFound,function(a,b){return"No experiment with id ".concat(a," was found for ").concat(b," visitorCode.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.NotTargeted,function(a){return"Visitor code ".concat(a," is not targeted")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.NotAllocated,function(a){return"Visitor with visitor code ".concat(a," is in unallocated traffic, there is no variation id to be assigned to the visitor.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitorCodeMaxLength,function(){return"Visitor code can not be more than 255 characters long"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitorCodeEmpty,function(){return"Visitor code can not be empty"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageWrite,function(a){return"Couldn't update storage for kameleoonClient: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageRead,function(a){return"No data found in storage under ".concat(a," key")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageParse,function(a,b){return"Couldn't parse ".concat(b," storage data, the data may be corrupted. Error: ").concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.ClientConfiguration,function(){return"Couldn't retrieve client configuration from Kameleoon Api"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.TargetingCondition,function(a){return"".concat(a," targeting condition is not yet supported.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.AmongValuesCheck,function(a,b){return"Couldn't parse value \"".concat(b,"\": ").concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.RemoteData,function(){return"Couldn't retrieve data from Kameleoon server"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.MaximumRetriesReached,function(){return"Maximum retries reached, request failed"}),_ERROR_MESSAGES);exports.ERROR_MESSAGES=ERROR_MESSAGES;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ERROR_MESSAGES=void 0;var _ERROR_MESSAGES,_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 _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 ERROR_MESSAGES=(_ERROR_MESSAGES={},_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.CookieParse,function(a){return"Couldn't parse cookie string: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.JSONParse,function(a){return"Couldn't parse JSON variable: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.NumberParse,function(a){return"It's not possible to parse value ".concat(a," to Number")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VersionParse,function(a){return"It's not possible to parse a version value ".concat(a," to Number, version should be in format x.x")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.SemanticVersionParse,function(a){return"It's not possible to parse a version value ".concat(a," to Number, version should be in format x.x.x")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.Initialization,function(){return"It seems that the client wasn't properly initialized, make sure to run `initialize` method before invoking other methods"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.Credentials,function(){return"KameleoonClient can not be created without credentials"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageInitialization,function(){return"There was an error while initializing React Native SDK storage, it seems that the storage library dependency wasn't installed"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.EventSourceInitialization,function(){return"There was an error while initializing Real Time Update service, it seems that the event source library dependency wasn't installed"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagConfigurationNotFound,function(a){return"No feature flag with key ".concat(a," was found.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagVariableNotFound,function(a,b){return"No feature flag variable with key ".concat(a," was found for ").concat(b," visitorCode.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.FeatureFlagVariationNotFound,function(a,b){return"No feature flag variation with key ".concat(a," was found for ").concat(b," visitorCode.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.NotTargeted,function(a){return"Visitor code ".concat(a," is not targeted")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitAmount,function(){return"Visit amount must be a number between 1 and 25"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitorCodeMaxLength,function(){return"Visitor code can not be more than 255 characters long"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.VisitorCodeEmpty,function(){return"Visitor code can not be empty"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageWrite,function(a){return"Couldn't update storage for kameleoonClient: ".concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageRead,function(a){return"No data found in storage under ".concat(a," key")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.StorageParse,function(a,b){return"Couldn't parse ".concat(b," storage data, the data may be corrupted. Error: ").concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.ClientConfiguration,function(){return"Couldn't retrieve client configuration from Kameleoon Api"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.TargetingCondition,function(a){return"".concat(a," targeting condition is not yet supported.")}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.AmongValuesCheck,function(a,b){return"Couldn't parse value \"".concat(b,"\": ").concat(a)}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.RemoteData,function(){return"Couldn't retrieve data from Kameleoon server"}),_defineProperty(_ERROR_MESSAGES,_types.KameleoonException.MaximumRetriesReached,function(){return"Maximum retries reached, request failed"}),_ERROR_MESSAGES);exports.ERROR_MESSAGES=ERROR_MESSAGES;
2
2
  //# sourceMappingURL=constants.js.map