@kameleoon/javascript-sdk-core 2.4.5 → 2.5.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 (190) hide show
  1. package/dist/cacheManager/cacheManager.js +3 -65
  2. package/dist/cacheManager/cacheManager.js.map +1 -1
  3. package/dist/cacheManager/index.js +1 -19
  4. package/dist/cacheManager/index.js.map +1 -1
  5. package/dist/cacheManager/types.js +1 -5
  6. package/dist/campaignConfiguration/campaignConfiguration.d.ts +7 -5
  7. package/dist/campaignConfiguration/campaignConfiguration.js +9 -283
  8. package/dist/campaignConfiguration/campaignConfiguration.js.map +1 -1
  9. package/dist/campaignConfiguration/constants.d.ts +2 -10
  10. package/dist/campaignConfiguration/constants.js +2 -21
  11. package/dist/campaignConfiguration/constants.js.map +1 -1
  12. package/dist/campaignConfiguration/index.js +1 -86
  13. package/dist/campaignConfiguration/index.js.map +1 -1
  14. package/dist/campaignConfiguration/types.d.ts +7 -6
  15. package/dist/campaignConfiguration/types.js +1 -54
  16. package/dist/campaignConfiguration/types.js.map +1 -1
  17. package/dist/clientSettings/clientSettings.d.ts +1 -1
  18. package/dist/clientSettings/clientSettings.js +1 -35
  19. package/dist/clientSettings/clientSettings.js.map +1 -1
  20. package/dist/clientSettings/index.js +1 -19
  21. package/dist/clientSettings/index.js.map +1 -1
  22. package/dist/clientSettings/types.d.ts +1 -1
  23. package/dist/clientSettings/types.js +1 -5
  24. package/dist/clientSettings/types.js.map +1 -1
  25. package/dist/constants.d.ts +13 -4
  26. package/dist/constants.js +2 -36
  27. package/dist/constants.js.map +1 -1
  28. package/dist/eventSource/constants.js +1 -8
  29. package/dist/eventSource/constants.js.map +1 -1
  30. package/dist/eventSource/externalEventSource.js +1 -33
  31. package/dist/eventSource/externalEventSource.js.map +1 -1
  32. package/dist/eventSource/index.js +1 -50
  33. package/dist/eventSource/index.js.map +1 -1
  34. package/dist/eventSource/types.js +1 -5
  35. package/dist/hasher/hasher.js +6 -44
  36. package/dist/hasher/hasher.js.map +1 -1
  37. package/dist/hasher/index.js +1 -12
  38. package/dist/hasher/index.js.map +1 -1
  39. package/dist/hasher/types.d.ts +1 -1
  40. package/dist/hasher/types.js +1 -5
  41. package/dist/hasher/types.js.map +1 -1
  42. package/dist/index.d.ts +3 -3
  43. package/dist/index.js +1 -310
  44. package/dist/index.js.map +1 -1
  45. package/dist/kameleoonClient.d.ts +16 -4
  46. package/dist/kameleoonClient.js +10 -384
  47. package/dist/kameleoonClient.js.map +1 -1
  48. package/dist/kameleoonData/browser.d.ts +8 -3
  49. package/dist/kameleoonData/browser.js +9 -40
  50. package/dist/kameleoonData/browser.js.map +1 -1
  51. package/dist/kameleoonData/conversion.d.ts +2 -2
  52. package/dist/kameleoonData/conversion.js +5 -50
  53. package/dist/kameleoonData/conversion.js.map +1 -1
  54. package/dist/kameleoonData/customData.d.ts +2 -2
  55. package/dist/kameleoonData/customData.js +5 -55
  56. package/dist/kameleoonData/customData.js.map +1 -1
  57. package/dist/kameleoonData/device.d.ts +2 -2
  58. package/dist/kameleoonData/device.js +5 -40
  59. package/dist/kameleoonData/device.js.map +1 -1
  60. package/dist/kameleoonData/index.d.ts +1 -1
  61. package/dist/kameleoonData/index.js +1 -102
  62. package/dist/kameleoonData/index.js.map +1 -1
  63. package/dist/kameleoonData/pageView.d.ts +2 -2
  64. package/dist/kameleoonData/pageView.js +5 -56
  65. package/dist/kameleoonData/pageView.js.map +1 -1
  66. package/dist/kameleoonData/types.d.ts +44 -27
  67. package/dist/kameleoonData/types.js +6 -42
  68. package/dist/kameleoonData/types.js.map +1 -1
  69. package/dist/kameleoonData/userAgent.d.ts +2 -2
  70. package/dist/kameleoonData/userAgent.js +4 -37
  71. package/dist/kameleoonData/userAgent.js.map +1 -1
  72. package/dist/kameleoonError/constants.d.ts +4 -2
  73. package/dist/kameleoonError/constants.js +1 -31
  74. package/dist/kameleoonError/constants.js.map +1 -1
  75. package/dist/kameleoonError/helpers.js +1 -9
  76. package/dist/kameleoonError/helpers.js.map +1 -1
  77. package/dist/kameleoonError/index.js +1 -26
  78. package/dist/kameleoonError/index.js.map +1 -1
  79. package/dist/kameleoonError/kameleoonError.d.ts +3 -3
  80. package/dist/kameleoonError/kameleoonError.js +2 -75
  81. package/dist/kameleoonError/kameleoonError.js.map +1 -1
  82. package/dist/kameleoonError/types.d.ts +2 -0
  83. package/dist/kameleoonError/types.js +1 -31
  84. package/dist/kameleoonError/types.js.map +1 -1
  85. package/dist/kameleoonUtils.js +2 -44
  86. package/dist/kameleoonUtils.js.map +1 -1
  87. package/dist/requester/constants.js +4 -73
  88. package/dist/requester/constants.js.map +1 -1
  89. package/dist/requester/index.js +1 -80
  90. package/dist/requester/index.js.map +1 -1
  91. package/dist/requester/requester.d.ts +4 -5
  92. package/dist/requester/requester.js +1 -106
  93. package/dist/requester/requester.js.map +1 -1
  94. package/dist/requester/types.d.ts +8 -7
  95. package/dist/requester/types.js +1 -16
  96. package/dist/requester/types.js.map +1 -1
  97. package/dist/storage/constants.js +2 -15
  98. package/dist/storage/constants.js.map +1 -1
  99. package/dist/storage/externalStorage.d.ts +1 -1
  100. package/dist/storage/externalStorage.js +1 -40
  101. package/dist/storage/externalStorage.js.map +1 -1
  102. package/dist/storage/index.js +1 -56
  103. package/dist/storage/index.js.map +1 -1
  104. package/dist/storage/types.d.ts +4 -4
  105. package/dist/storage/types.js +1 -5
  106. package/dist/storage/types.js.map +1 -1
  107. package/dist/targeting/conditions/browserCondition.d.ts +13 -0
  108. package/dist/targeting/conditions/browserCondition.js +2 -0
  109. package/dist/targeting/conditions/browserCondition.js.map +1 -0
  110. package/dist/targeting/conditions/conditionFactory.d.ts +1 -1
  111. package/dist/targeting/conditions/conditionFactory.js +1 -30
  112. package/dist/targeting/conditions/conditionFactory.js.map +1 -1
  113. package/dist/targeting/conditions/conversionCondition.d.ts +10 -0
  114. package/dist/targeting/conditions/conversionCondition.js +4 -0
  115. package/dist/targeting/conditions/conversionCondition.js.map +1 -0
  116. package/dist/targeting/conditions/customDataCondition.d.ts +5 -7
  117. package/dist/targeting/conditions/customDataCondition.js +7 -109
  118. package/dist/targeting/conditions/customDataCondition.js.map +1 -1
  119. package/dist/targeting/conditions/deviceCondition.d.ts +9 -0
  120. package/dist/targeting/conditions/deviceCondition.js +2 -0
  121. package/dist/targeting/conditions/deviceCondition.js.map +1 -0
  122. package/dist/targeting/conditions/exclusiveExperimentCondition.d.ts +3 -5
  123. package/dist/targeting/conditions/exclusiveExperimentCondition.js +1 -32
  124. package/dist/targeting/conditions/exclusiveExperimentCondition.js.map +1 -1
  125. package/dist/targeting/conditions/index.d.ts +7 -0
  126. package/dist/targeting/conditions/index.js +1 -46
  127. package/dist/targeting/conditions/index.js.map +1 -1
  128. package/dist/targeting/conditions/pageTitleCondition.d.ts +11 -0
  129. package/dist/targeting/conditions/pageTitleCondition.js +2 -0
  130. package/dist/targeting/conditions/pageTitleCondition.js.map +1 -0
  131. package/dist/targeting/conditions/pageUrlCondition.d.ts +11 -0
  132. package/dist/targeting/conditions/pageUrlCondition.js +2 -0
  133. package/dist/targeting/conditions/pageUrlCondition.js.map +1 -0
  134. package/dist/targeting/conditions/sdkLanguageCondition.d.ts +15 -0
  135. package/dist/targeting/conditions/sdkLanguageCondition.js +2 -0
  136. package/dist/targeting/conditions/sdkLanguageCondition.js.map +1 -0
  137. package/dist/targeting/conditions/targetExperimentCondition.d.ts +3 -4
  138. package/dist/targeting/conditions/targetExperimentCondition.js +1 -63
  139. package/dist/targeting/conditions/targetExperimentCondition.js.map +1 -1
  140. package/dist/targeting/conditions/types.d.ts +25 -6
  141. package/dist/targeting/conditions/types.js +1 -5
  142. package/dist/targeting/conditions/types.js.map +1 -1
  143. package/dist/targeting/conditions/visitorCodeCondition.d.ts +11 -0
  144. package/dist/targeting/conditions/visitorCodeCondition.js +2 -0
  145. package/dist/targeting/conditions/visitorCodeCondition.js.map +1 -0
  146. package/dist/targeting/index.d.ts +2 -2
  147. package/dist/targeting/index.js +1 -80
  148. package/dist/targeting/index.js.map +1 -1
  149. package/dist/targeting/targetingNode.d.ts +3 -1
  150. package/dist/targeting/targetingNode.js +1 -47
  151. package/dist/targeting/targetingNode.js.map +1 -1
  152. package/dist/targeting/targetingTree.d.ts +3 -1
  153. package/dist/targeting/targetingTree.js +34 -135
  154. package/dist/targeting/targetingTree.js.map +1 -1
  155. package/dist/targeting/types.d.ts +24 -9
  156. package/dist/targeting/types.js +1 -100
  157. package/dist/targeting/types.js.map +1 -1
  158. package/dist/types.d.ts +9 -4
  159. package/dist/types.js +12 -41
  160. package/dist/types.js.map +1 -1
  161. package/dist/utilities/constants.d.ts +1 -0
  162. package/dist/utilities/constants.js +1 -8
  163. package/dist/utilities/constants.js.map +1 -1
  164. package/dist/utilities/index.d.ts +1 -0
  165. package/dist/utilities/index.js +1 -12
  166. package/dist/utilities/index.js.map +1 -1
  167. package/dist/utilities/types.d.ts +14 -7
  168. package/dist/utilities/types.js +1 -5
  169. package/dist/utilities/types.js.map +1 -1
  170. package/dist/utilities/utilities.d.ts +12 -8
  171. package/dist/utilities/utilities.js +1 -216
  172. package/dist/utilities/utilities.js.map +1 -1
  173. package/dist/variationConfiguration/index.js +1 -25
  174. package/dist/variationConfiguration/index.js.map +1 -1
  175. package/dist/variationConfiguration/types.d.ts +5 -3
  176. package/dist/variationConfiguration/types.js +1 -5
  177. package/dist/variationConfiguration/types.js.map +1 -1
  178. package/dist/variationConfiguration/variation.d.ts +1 -1
  179. package/dist/variationConfiguration/variation.js +6 -44
  180. package/dist/variationConfiguration/variation.js.map +1 -1
  181. package/dist/variationConfiguration/variationConfiguration.d.ts +4 -4
  182. package/dist/variationConfiguration/variationConfiguration.js +65 -290
  183. package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
  184. package/package.json +1 -1
  185. package/dist/kameleoonData/constants.d.ts +0 -1
  186. package/dist/kameleoonData/constants.js +0 -9
  187. package/dist/kameleoonData/constants.js.map +0 -1
  188. package/dist/kameleoonData/nonce.d.ts +0 -5
  189. package/dist/kameleoonData/nonce.js +0 -32
  190. package/dist/kameleoonData/nonce.js.map +0 -1
@@ -1,33 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ExclusiveExperimentCondition = void 0;
7
- var _tsRes = require("ts-res");
8
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
10
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
- class ExclusiveExperimentCondition {
12
- constructor({
13
- isInclude
14
- }) {
15
- _defineProperty(this, "inverseResult", void 0);
16
- this.inverseResult = !(isInclude ?? true);
17
- }
18
- evaluate({
19
- experimentId,
20
- variationData
21
- }) {
22
- const keys = Object.keys(variationData);
23
- const isEmpty = !keys.length;
24
- // --- Note ---
25
- // Meaning the next variation assignment won't add new experiment
26
- // but rather overwrite the existing one
27
- const isExclusive = keys.length === 1 && keys[0] === String(experimentId);
28
- const isSatisfied = isEmpty || isExclusive;
29
- return (0, _tsRes.Ok)(this.inverseResult ? !isSatisfied : isSatisfied);
30
- }
31
- }
32
- exports.ExclusiveExperimentCondition = ExclusiveExperimentCondition;
1
+ "use strict";var _tsRes=require("ts-res");Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExclusiveExperimentCondition=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 _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 ExclusiveExperimentCondition=/*#__PURE__*/function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:"evaluate",value:function evaluate(a){var b=a.experimentId,c=a.variationData,d=Object.keys(c),e=!d.length,f=1===d.length&&d[0]===b+"";return(0,_tsRes.Ok)(e||f)}}]),a}();exports.ExclusiveExperimentCondition=ExclusiveExperimentCondition;
33
2
  //# sourceMappingURL=exclusiveExperimentCondition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exclusiveExperimentCondition.js","names":["_tsRes","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ExclusiveExperimentCondition","constructor","isInclude","inverseResult","evaluate","experimentId","variationData","keys","isEmpty","length","isExclusive","isSatisfied","Ok","exports"],"sources":["../../../src/targeting/conditions/exclusiveExperimentCondition.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonError } from '../../kameleoonError';\nimport { EvaluationDataType } from '../types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class ExclusiveExperimentCondition implements ICondition {\n private inverseResult: boolean;\n\n constructor({ isInclude }: ConditionDataType) {\n this.inverseResult = !(isInclude ?? true);\n }\n\n evaluate({\n experimentId,\n variationData,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n const keys = Object.keys(variationData);\n const isEmpty = !keys.length;\n // --- Note ---\n // Meaning the next variation assignment won't add new experiment\n // but rather overwrite the existing one\n const isExclusive = keys.length === 1 && keys[0] === String(experimentId);\n\n const isSatisfied = isEmpty || isExclusive;\n\n return Ok(this.inverseResult ? !isSatisfied : isSatisfied);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAoC,SAAAC,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAK7B,MAAMU,4BAA4B,CAAuB;EAG9DC,WAAWA,CAAC;IAAEC;EAA6B,CAAC,EAAE;IAAAzB,eAAA;IAC5C,IAAI,CAAC0B,aAAa,GAAG,EAAED,SAAS,IAAI,IAAI,CAAC;EAC3C;EAEAE,QAAQA,CAAC;IACPC,YAAY;IACZC;EACkB,CAAC,EAAmC;IACtD,MAAMC,IAAI,GAAGzB,MAAM,CAACyB,IAAI,CAACD,aAAa,CAAC;IACvC,MAAME,OAAO,GAAG,CAACD,IAAI,CAACE,MAAM;IAC5B;IACA;IACA;IACA,MAAMC,WAAW,GAAGH,IAAI,CAACE,MAAM,KAAK,CAAC,IAAIF,IAAI,CAAC,CAAC,CAAC,KAAKlB,MAAM,CAACgB,YAAY,CAAC;IAEzE,MAAMM,WAAW,GAAGH,OAAO,IAAIE,WAAW;IAE1C,OAAO,IAAAE,SAAE,EAAC,IAAI,CAACT,aAAa,GAAG,CAACQ,WAAW,GAAGA,WAAW,CAAC;EAC5D;AACF;AAACE,OAAA,CAAAb,4BAAA,GAAAA,4BAAA"}
1
+ {"version":3,"file":"exclusiveExperimentCondition.js","names":["_tsRes","require","Object","defineProperty","exports","value","ExclusiveExperimentCondition","_typeof","a","Symbol","iterator","constructor","prototype","_classCallCheck","b","TypeError","_defineProperties","c","d","length","enumerable","configurable","writable","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","call","String","Number","evaluate","experimentId","variationData","keys","isEmpty","isExclusive","Ok"],"sources":["../../../src/targeting/conditions/exclusiveExperimentCondition.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonError } from 'src/kameleoonError';\nimport { EvaluationDataType } from 'src/targeting/types';\nimport { ICondition } from './types';\n\nexport class ExclusiveExperimentCondition implements ICondition {\n evaluate({\n experimentId,\n variationData,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n const keys = Object.keys(variationData);\n const isEmpty = !keys.length;\n // --- Note ---\n // Meaning the next variation assignment won't add new experiment\n // but rather overwrite the existing one\n const isExclusive = keys.length === 1 && keys[0] === String(experimentId);\n const isSatisfied = isEmpty || isExclusive;\n\n return Ok(isSatisfied);\n }\n}\n"],"mappings":"aAAA,IAAAA,MAAA,CAAAC,OAAA,WAAoCC,MAAA,CAAAC,cAAA,CAAAC,OAAA,eAAAC,KAAA,MAAAD,OAAA,CAAAE,4BAAA,iBAAAC,QAAAC,CAAA,mCAAAD,OAAA,oBAAAE,MAAA,mBAAAA,MAAA,CAAAC,QAAA,UAAAF,CAAA,gBAAAA,CAAA,WAAAA,CAAA,SAAAA,CAAA,qBAAAC,MAAA,EAAAD,CAAA,CAAAG,WAAA,GAAAF,MAAA,EAAAD,CAAA,GAAAC,MAAA,CAAAG,SAAA,iBAAAJ,CAAA,EAAAD,OAAA,CAAAC,CAAA,WAAAK,gBAAAL,CAAA,CAAAM,CAAA,OAAAN,CAAA,YAAAM,CAAA,YAAAC,SAAA,+CAAAC,kBAAAR,CAAA,CAAAM,CAAA,UAAAG,CAAA,CAAAC,CAAA,GAAAA,CAAA,CAAAJ,CAAA,CAAAK,MAAA,CAAAD,CAAA,GAAAD,CAAA,CAAAH,CAAA,CAAAI,CAAA,EAAAD,CAAA,CAAAG,UAAA,CAAAH,CAAA,CAAAG,UAAA,KAAAH,CAAA,CAAAI,YAAA,cAAAJ,CAAA,GAAAA,CAAA,CAAAK,QAAA,KAAApB,MAAA,CAAAC,cAAA,CAAAK,CAAA,CAAAe,cAAA,CAAAN,CAAA,CAAAO,GAAA,EAAAP,CAAA,WAAAQ,aAAAjB,CAAA,CAAAM,CAAA,CAAAG,CAAA,SAAAH,CAAA,EAAAE,iBAAA,CAAAR,CAAA,CAAAI,SAAA,CAAAE,CAAA,EAAAG,CAAA,EAAAD,iBAAA,CAAAR,CAAA,CAAAS,CAAA,EAAAf,MAAA,CAAAC,cAAA,CAAAK,CAAA,cAAAc,QAAA,MAAAd,CAAA,UAAAe,eAAAf,CAAA,MAAAM,CAAA,CAAAY,YAAA,CAAAlB,CAAA,4BAAAD,OAAA,CAAAO,CAAA,EAAAA,CAAA,CAAAA,CAAA,aAAAY,aAAAlB,CAAA,CAAAM,CAAA,gBAAAP,OAAA,CAAAC,CAAA,UAAAA,CAAA,QAAAA,CAAA,KAAAS,CAAA,CAAAT,CAAA,CAAAC,MAAA,CAAAkB,WAAA,KAAAV,CAAA,eAAAC,CAAA,CAAAD,CAAA,CAAAW,IAAA,CAAApB,CAAA,CAAAM,CAAA,2BAAAP,OAAA,CAAAW,CAAA,SAAAA,CAAA,WAAAH,SAAA,mEAAAD,CAAA,CAAAe,MAAA,CAAAC,MAAA,EAAAtB,CAAA,KAKvB,CAAAF,4BAA4B,kCAAAE,EAAA,EAAAK,eAAA,MAAAL,CAAA,SAAAiB,YAAA,CAAAjB,CAAA,GAAAgB,GAAA,YAAAnB,KAAA,CACvC,SAAA0B,SAAAvB,CAAA,CAGwD,IAFtD,CAAAwB,CAAY,CAAAxB,CAAA,CAAZwB,YAAY,CACZC,CAAa,CAAAzB,CAAA,CAAbyB,aAAa,CAEPC,CAAI,CAAGhC,MAAM,CAACgC,IAAI,CAACD,CAAa,CAAC,CACjCE,CAAO,CAAG,CAACD,CAAI,CAACf,MAAM,CAItBiB,CAAW,CAAmB,CAAC,GAAjBF,CAAI,CAACf,MAAY,EAAIe,CAAI,CAAC,CAAC,CAAC,GAAYF,CAAY,GAAC,CAGzE,MAAO,GAAAK,SAAE,EAFWF,CAAO,EAAIC,CAAW,CAG5C,CAAC,IAAA5B,CAAA,IAAAJ,OAAA,CAAAE,4BAAA,CAAAA,4BAAA"}
@@ -1,5 +1,12 @@
1
+ export { DeviceCondition } from './deviceCondition';
1
2
  export { ConditionFactory } from './conditionFactory';
2
3
  export { ConditionDataType, ConditionType } from './types';
3
4
  export { CustomDataCondition } from './customDataCondition';
4
5
  export { TargetExperimentCondition } from './targetExperimentCondition';
5
6
  export { ExclusiveExperimentCondition } from './exclusiveExperimentCondition';
7
+ export { BrowserCondition } from './browserCondition';
8
+ export { PageUrlCondition } from './pageUrlCondition';
9
+ export { PageTitleCondition } from './pageTitleCondition';
10
+ export { ConversionCondition } from './conversionCondition';
11
+ export { VisitorCodeCondition } from './visitorCodeCondition';
12
+ export { SdkLanguageCondition } from './sdkLanguageCondition';
@@ -1,47 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "ConditionDataType", {
7
- enumerable: true,
8
- get: function () {
9
- return _types.ConditionDataType;
10
- }
11
- });
12
- Object.defineProperty(exports, "ConditionFactory", {
13
- enumerable: true,
14
- get: function () {
15
- return _conditionFactory.ConditionFactory;
16
- }
17
- });
18
- Object.defineProperty(exports, "ConditionType", {
19
- enumerable: true,
20
- get: function () {
21
- return _types.ConditionType;
22
- }
23
- });
24
- Object.defineProperty(exports, "CustomDataCondition", {
25
- enumerable: true,
26
- get: function () {
27
- return _customDataCondition.CustomDataCondition;
28
- }
29
- });
30
- Object.defineProperty(exports, "ExclusiveExperimentCondition", {
31
- enumerable: true,
32
- get: function () {
33
- return _exclusiveExperimentCondition.ExclusiveExperimentCondition;
34
- }
35
- });
36
- Object.defineProperty(exports, "TargetExperimentCondition", {
37
- enumerable: true,
38
- get: function () {
39
- return _targetExperimentCondition.TargetExperimentCondition;
40
- }
41
- });
42
- var _conditionFactory = require("./conditionFactory");
43
- var _types = require("./types");
44
- var _customDataCondition = require("./customDataCondition");
45
- var _targetExperimentCondition = require("./targetExperimentCondition");
46
- var _exclusiveExperimentCondition = require("./exclusiveExperimentCondition");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BrowserCondition",{enumerable:!0,get:function get(){return _browserCondition.BrowserCondition}}),Object.defineProperty(exports,"ConditionDataType",{enumerable:!0,get:function get(){return _types.ConditionDataType}}),Object.defineProperty(exports,"ConditionFactory",{enumerable:!0,get:function get(){return _conditionFactory.ConditionFactory}}),Object.defineProperty(exports,"ConditionType",{enumerable:!0,get:function get(){return _types.ConditionType}}),Object.defineProperty(exports,"ConversionCondition",{enumerable:!0,get:function get(){return _conversionCondition.ConversionCondition}}),Object.defineProperty(exports,"CustomDataCondition",{enumerable:!0,get:function get(){return _customDataCondition.CustomDataCondition}}),Object.defineProperty(exports,"DeviceCondition",{enumerable:!0,get:function get(){return _deviceCondition.DeviceCondition}}),Object.defineProperty(exports,"ExclusiveExperimentCondition",{enumerable:!0,get:function get(){return _exclusiveExperimentCondition.ExclusiveExperimentCondition}}),Object.defineProperty(exports,"PageTitleCondition",{enumerable:!0,get:function get(){return _pageTitleCondition.PageTitleCondition}}),Object.defineProperty(exports,"PageUrlCondition",{enumerable:!0,get:function get(){return _pageUrlCondition.PageUrlCondition}}),Object.defineProperty(exports,"SdkLanguageCondition",{enumerable:!0,get:function get(){return _sdkLanguageCondition.SdkLanguageCondition}}),Object.defineProperty(exports,"TargetExperimentCondition",{enumerable:!0,get:function get(){return _targetExperimentCondition.TargetExperimentCondition}}),Object.defineProperty(exports,"VisitorCodeCondition",{enumerable:!0,get:function get(){return _visitorCodeCondition.VisitorCodeCondition}});var _deviceCondition=require("./deviceCondition"),_conditionFactory=require("./conditionFactory"),_types=require("./types"),_customDataCondition=require("./customDataCondition"),_targetExperimentCondition=require("./targetExperimentCondition"),_exclusiveExperimentCondition=require("./exclusiveExperimentCondition"),_browserCondition=require("./browserCondition"),_pageUrlCondition=require("./pageUrlCondition"),_pageTitleCondition=require("./pageTitleCondition"),_conversionCondition=require("./conversionCondition"),_visitorCodeCondition=require("./visitorCodeCondition"),_sdkLanguageCondition=require("./sdkLanguageCondition");
47
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_conditionFactory","require","_types","_customDataCondition","_targetExperimentCondition","_exclusiveExperimentCondition"],"sources":["../../../src/targeting/conditions/index.ts"],"sourcesContent":["export { ConditionFactory } from './conditionFactory';\nexport { ConditionDataType, ConditionType } from './types';\nexport { CustomDataCondition } from './customDataCondition';\nexport { TargetExperimentCondition } from './targetExperimentCondition';\nexport { ExclusiveExperimentCondition } from './exclusiveExperimentCondition';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,6BAAA,GAAAJ,OAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/targeting/conditions/index.ts"],"sourcesContent":["export { DeviceCondition } from './deviceCondition';\nexport { ConditionFactory } from './conditionFactory';\nexport { ConditionDataType, ConditionType } from './types';\nexport { CustomDataCondition } from './customDataCondition';\nexport { TargetExperimentCondition } from './targetExperimentCondition';\nexport { ExclusiveExperimentCondition } from './exclusiveExperimentCondition';\nexport { BrowserCondition } from './browserCondition';\nexport { PageUrlCondition } from './pageUrlCondition';\nexport { PageTitleCondition } from './pageTitleCondition';\nexport { ConversionCondition } from './conversionCondition';\nexport { VisitorCodeCondition } from './visitorCodeCondition';\nexport { SdkLanguageCondition } from './sdkLanguageCondition';\n"],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from 'src/kameleoonError';
3
+ import { EvaluationDataType } from 'src/targeting/types';
4
+ import { ConditionDataType, ICondition } from './types';
5
+ export declare class PageTitleCondition implements ICondition {
6
+ private matchType?;
7
+ private conditionValue?;
8
+ constructor({ matchType, title }: ConditionDataType);
9
+ evaluate({ targetingData, }: EvaluationDataType): Result<boolean, KameleoonError>;
10
+ private checkCondition;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageTitleCondition=void 0;var _tsRes=require("ts-res"),_kameleoonData=require("../../kameleoonData"),_kameleoonError=require("../../kameleoonError"),_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)}var PageTitleCondition=/*#__PURE__*/function(){function a(b){var c=b.matchType,d=b.title;_classCallCheck(this,a),_defineProperty(this,"matchType",void 0),_defineProperty(this,"conditionValue",void 0),this.matchType=c,this.conditionValue=d}return _createClass(a,[{key:"evaluate",value:function evaluate(a){var b=a.targetingData,c=null===b||void 0===b?void 0:b[_kameleoonData.KameleoonData.PageView];if(c){var d=c.title;return(0,_tsRes.Ok)(this.checkCondition(d))}return(0,_tsRes.Ok)(!1)}},{key:"checkCondition",value:function checkCondition(a){if(!this.matchType||!this.conditionValue)return!1;switch(this.matchType){case _types.MatchType.CONTAINS:return a.includes(this.conditionValue);case _types.MatchType.EXACT:return a===this.conditionValue;case _types.MatchType.REGULAR_EXPRESSION:return _utilities.Utilities.parseRegExp(this.conditionValue).test(a);default:(0,_kameleoonError.exhaustCheck)(this.matchType);}}}]),a}();exports.PageTitleCondition=PageTitleCondition;
2
+ //# sourceMappingURL=pageTitleCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageTitleCondition.js","names":["PageTitleCondition","a","b","matchType","title","_classCallCheck","_defineProperty","conditionValue","_createClass","key","value","evaluate","targetingData","pageViewData","KameleoonData","PageView","Ok","checkCondition","MatchType","CONTAINS","includes","EXACT","REGULAR_EXPRESSION","Utilities","parseRegExp","test","exhaustCheck","exports"],"sources":["../../../src/targeting/conditions/pageTitleCondition.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonData } from 'src/kameleoonData';\nimport { exhaustCheck, KameleoonError } from 'src/kameleoonError';\nimport { Utilities } from 'src/utilities';\nimport { EvaluationDataType, MatchType } from 'src/targeting/types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class PageTitleCondition implements ICondition {\n private matchType?: MatchType | null;\n private conditionValue?: string | null;\n\n constructor({ matchType, title }: ConditionDataType) {\n this.matchType = matchType;\n this.conditionValue = title;\n }\n\n public evaluate({\n targetingData,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n const pageViewData = targetingData?.[KameleoonData.PageView];\n\n if (pageViewData) {\n const { title } = pageViewData;\n\n return Ok(this.checkCondition(title));\n }\n\n return Ok(false);\n }\n\n private checkCondition(title: string): boolean {\n if (!this.matchType || !this.conditionValue) {\n return false;\n }\n\n switch (this.matchType) {\n case MatchType.CONTAINS:\n return title.includes(this.conditionValue);\n case MatchType.EXACT:\n return title === this.conditionValue;\n case MatchType.REGULAR_EXPRESSION:\n return Utilities.parseRegExp(this.conditionValue).test(title);\n default:\n exhaustCheck(this.matchType);\n }\n }\n}\n"],"mappings":"8gDAOa,CAAAA,kBAAkB,yBAI7B,SAAAC,EAAAC,CAAA,CAAqD,IAAvC,CAAAC,CAAS,CAAAD,CAAA,CAATC,SAAS,CAAEC,CAAK,CAAAF,CAAA,CAALE,KAAK,CAAAC,eAAA,MAAAJ,CAAA,EAAAK,eAAA,0BAAAA,eAAA,+BAC5B,IAAI,CAACH,SAAS,CAAGA,CAAS,CAC1B,IAAI,CAACI,cAAc,CAAGH,CACxB,CAAC,OAAAI,YAAA,CAAAP,CAAA,GAAAQ,GAAA,YAAAC,KAAA,CAED,SAAAC,SAAAV,CAAA,CAEwD,IADtD,CAAAW,CAAa,CAAAX,CAAA,CAAbW,aAAa,CAEPC,CAAY,QAAGD,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAGE,4BAAa,CAACC,QAAQ,CAAC,CAE5D,GAAIF,CAAY,CAAE,CAChB,GAAQ,CAAAT,CAAK,CAAKS,CAAY,CAAtBT,KAAK,CAEb,MAAO,GAAAY,SAAE,EAAC,IAAI,CAACC,cAAc,CAACb,CAAK,CAAC,CACtC,CAEA,MAAO,GAAAY,SAAE,KACX,CAAC,GAAAP,GAAA,kBAAAC,KAAA,CAED,SAAAO,eAAuBb,CAAa,CAAW,CAC7C,GAAI,CAAC,IAAI,CAACD,SAAS,EAAI,CAAC,IAAI,CAACI,cAAc,CACzC,SAGF,OAAQ,IAAI,CAACJ,SAAS,EACpB,IAAK,CAAAe,gBAAS,CAACC,QAAQ,CACrB,MAAO,CAAAf,CAAK,CAACgB,QAAQ,CAAC,IAAI,CAACb,cAAc,CAAC,CAC5C,IAAK,CAAAW,gBAAS,CAACG,KAAK,CAClB,MAAO,CAAAjB,CAAK,GAAK,IAAI,CAACG,cAAc,CACtC,IAAK,CAAAW,gBAAS,CAACI,kBAAkB,CAC/B,MAAO,CAAAC,oBAAS,CAACC,WAAW,CAAC,IAAI,CAACjB,cAAc,CAAC,CAACkB,IAAI,CAACrB,CAAK,CAAC,CAC/D,QACE,GAAAsB,4BAAY,EAAC,IAAI,CAACvB,SAAS,CAAC,CAAC,CAEnC,CAAC,IAAAF,CAAA,IAAA0B,OAAA,CAAA3B,kBAAA,CAAAA,kBAAA"}
@@ -0,0 +1,11 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from 'src/kameleoonError';
3
+ import { EvaluationDataType } from 'src/targeting/types';
4
+ import { ConditionDataType, ICondition } from './types';
5
+ export declare class PageUrlCondition implements ICondition {
6
+ private matchType?;
7
+ private conditionValue?;
8
+ constructor({ matchType, url }: ConditionDataType);
9
+ evaluate({ targetingData, }: EvaluationDataType): Result<boolean, KameleoonError>;
10
+ private checkCondition;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageUrlCondition=void 0;var _tsRes=require("ts-res"),_kameleoonData=require("../../kameleoonData"),_kameleoonError=require("../../kameleoonError"),_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)}var PageUrlCondition=/*#__PURE__*/function(){function a(b){var c=b.matchType,d=b.url;_classCallCheck(this,a),_defineProperty(this,"matchType",void 0),_defineProperty(this,"conditionValue",void 0),this.matchType=c,this.conditionValue=d}return _createClass(a,[{key:"evaluate",value:function evaluate(a){var b=a.targetingData,c=null===b||void 0===b?void 0:b[_kameleoonData.KameleoonData.PageView];if(c){var d=c.urlAddress;return(0,_tsRes.Ok)(this.checkCondition(d))}return(0,_tsRes.Ok)(!1)}},{key:"checkCondition",value:function checkCondition(a){if(!this.matchType||!this.conditionValue)return!1;switch(this.matchType){case _types.MatchType.CONTAINS:return a.includes(this.conditionValue);case _types.MatchType.EXACT:return a===this.conditionValue;case _types.MatchType.REGULAR_EXPRESSION:return _utilities.Utilities.parseRegExp(this.conditionValue).test(a);default:(0,_kameleoonError.exhaustCheck)(this.matchType);}}}]),a}();exports.PageUrlCondition=PageUrlCondition;
2
+ //# sourceMappingURL=pageUrlCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageUrlCondition.js","names":["PageUrlCondition","a","b","matchType","url","_classCallCheck","_defineProperty","conditionValue","_createClass","key","value","evaluate","targetingData","pageViewData","KameleoonData","PageView","urlAddress","Ok","checkCondition","MatchType","CONTAINS","includes","EXACT","REGULAR_EXPRESSION","Utilities","parseRegExp","test","exhaustCheck","exports"],"sources":["../../../src/targeting/conditions/pageUrlCondition.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonData } from 'src/kameleoonData';\nimport { exhaustCheck, KameleoonError } from 'src/kameleoonError';\nimport { Utilities } from 'src/utilities';\nimport { EvaluationDataType, MatchType } from 'src/targeting/types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class PageUrlCondition implements ICondition {\n private matchType?: MatchType | null;\n private conditionValue?: string | null;\n\n constructor({ matchType, url }: ConditionDataType) {\n this.matchType = matchType;\n this.conditionValue = url;\n }\n\n public evaluate({\n targetingData,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n const pageViewData = targetingData?.[KameleoonData.PageView];\n\n if (pageViewData) {\n const { urlAddress } = pageViewData;\n\n return Ok(this.checkCondition(urlAddress));\n }\n\n return Ok(false);\n }\n\n private checkCondition(url: string): boolean {\n if (!this.matchType || !this.conditionValue) {\n return false;\n }\n\n switch (this.matchType) {\n case MatchType.CONTAINS:\n return url.includes(this.conditionValue);\n case MatchType.EXACT:\n return url === this.conditionValue;\n case MatchType.REGULAR_EXPRESSION:\n return Utilities.parseRegExp(this.conditionValue).test(url);\n default:\n exhaustCheck(this.matchType);\n }\n }\n}\n"],"mappings":"4gDAOa,CAAAA,gBAAgB,yBAI3B,SAAAC,EAAAC,CAAA,CAAmD,IAArC,CAAAC,CAAS,CAAAD,CAAA,CAATC,SAAS,CAAEC,CAAG,CAAAF,CAAA,CAAHE,GAAG,CAAAC,eAAA,MAAAJ,CAAA,EAAAK,eAAA,0BAAAA,eAAA,+BAC1B,IAAI,CAACH,SAAS,CAAGA,CAAS,CAC1B,IAAI,CAACI,cAAc,CAAGH,CACxB,CAAC,OAAAI,YAAA,CAAAP,CAAA,GAAAQ,GAAA,YAAAC,KAAA,CAED,SAAAC,SAAAV,CAAA,CAEwD,IADtD,CAAAW,CAAa,CAAAX,CAAA,CAAbW,aAAa,CAEPC,CAAY,QAAGD,CAAa,WAAbA,CAAa,QAAbA,CAAa,CAAGE,4BAAa,CAACC,QAAQ,CAAC,CAE5D,GAAIF,CAAY,CAAE,CAChB,GAAQ,CAAAG,CAAU,CAAKH,CAAY,CAA3BG,UAAU,CAElB,MAAO,GAAAC,SAAE,EAAC,IAAI,CAACC,cAAc,CAACF,CAAU,CAAC,CAC3C,CAEA,MAAO,GAAAC,SAAE,KACX,CAAC,GAAAR,GAAA,kBAAAC,KAAA,CAED,SAAAQ,eAAuBd,CAAW,CAAW,CAC3C,GAAI,CAAC,IAAI,CAACD,SAAS,EAAI,CAAC,IAAI,CAACI,cAAc,CACzC,SAGF,OAAQ,IAAI,CAACJ,SAAS,EACpB,IAAK,CAAAgB,gBAAS,CAACC,QAAQ,CACrB,MAAO,CAAAhB,CAAG,CAACiB,QAAQ,CAAC,IAAI,CAACd,cAAc,CAAC,CAC1C,IAAK,CAAAY,gBAAS,CAACG,KAAK,CAClB,MAAO,CAAAlB,CAAG,GAAK,IAAI,CAACG,cAAc,CACpC,IAAK,CAAAY,gBAAS,CAACI,kBAAkB,CAC/B,MAAO,CAAAC,oBAAS,CAACC,WAAW,CAAC,IAAI,CAAClB,cAAc,CAAC,CAACmB,IAAI,CAACtB,CAAG,CAAC,CAC7D,QACE,GAAAuB,4BAAY,EAAC,IAAI,CAACxB,SAAS,CAAC,CAAC,CAEnC,CAAC,IAAAF,CAAA,IAAA2B,OAAA,CAAA5B,gBAAA,CAAAA,gBAAA"}
@@ -0,0 +1,15 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from 'src/kameleoonError';
3
+ import { EvaluationDataType } from 'src/targeting/types';
4
+ import { ConditionDataType, ICondition } from './types';
5
+ export declare class SdkLanguageCondition implements ICondition {
6
+ private sdkLanguage?;
7
+ private conditionValue?;
8
+ private versionMatchType?;
9
+ private error?;
10
+ constructor({ sdkLanguage, version, versionMatchType }: ConditionDataType);
11
+ evaluate({ sdkInfo, }: EvaluationDataType): Result<boolean, KameleoonError>;
12
+ private checkCondition;
13
+ private compareSemVer;
14
+ private validateVersion;
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SdkLanguageCondition=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../../kameleoonError"),_types=require("../types");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _slicedToArray(a,b){return _arrayWithHoles(a)||_iterableToArrayLimit(a,b)||_unsupportedIterableToArray(a,b)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function _iterableToArrayLimit(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}function _arrayWithHoles(a){if(Array.isArray(a))return a}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}var SdkLanguageCondition=/*#__PURE__*/function(){function a(b){var c=b.sdkLanguage,d=b.version,e=b.versionMatchType;_classCallCheck(this,a),_defineProperty(this,"sdkLanguage",void 0),_defineProperty(this,"conditionValue",void 0),_defineProperty(this,"versionMatchType",void 0),_defineProperty(this,"error",void 0),this.sdkLanguage=c,this.conditionValue=d,this.versionMatchType=e}return _createClass(a,[{key:"evaluate",value:function evaluate(a){var b=a.sdkInfo,c=this.checkCondition(b);return this.error?(0,_tsRes.Err)(this.error):(0,_tsRes.Ok)(c)}},{key:"checkCondition",value:function checkCondition(a){var b=a.type,c=a.version;return!!this.sdkLanguage&&("string"==typeof this.conditionValue?!!this.versionMatchType&&b===this.sdkLanguage&&this.compareSemVer({version:c,compareVersion:this.conditionValue,operator:this.versionMatchType}):b===this.sdkLanguage)}},{key:"compareSemVer",value:function compareSemVer(a){var b=a.version,c=a.compareVersion,d=a.operator,e=this.validateVersion(b),f=_slicedToArray(e,3),g=f[0],h=f[1],i=f[2],j=this.validateVersion(c),k=_slicedToArray(j,3),l=k[0],m=k[1],n=k[2],o=g===l,p=h===m;switch(d){case _types.VersionMatchType.EQUAL:return o&&p&&i===n;case _types.VersionMatchType.GREATER:return g>l||o&&h>m||o&&p&&i>n;case _types.VersionMatchType.LOWER:return g<l||o&&h<m||o&&p&&i<n;default:(0,_kameleoonError.exhaustCheck)(d);}}},{key:"validateVersion",value:function validateVersion(a){var b=a.split(".");return b.some(function isBadVersion(a){return isNaN(parseInt(a))||0===a.length})||3!==b.length?(this.error=new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.SemanticVersionParse,a),[0,0,0]):b.map(function(a){return parseInt(a)})}}]),a}();exports.SdkLanguageCondition=SdkLanguageCondition;
2
+ //# sourceMappingURL=sdkLanguageCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdkLanguageCondition.js","names":["SdkLanguageCondition","a","b","sdkLanguage","version","versionMatchType","_classCallCheck","_defineProperty","conditionValue","_createClass","key","value","evaluate","sdkInfo","result","checkCondition","error","Err","Ok","sdkType","type","compareSemVer","compareVersion","operator","e","validateVersion","f","_slicedToArray","major","minor","patch","j","k","compareMajor","compareMinor","comparePatch","isMajorEqual","isMinorEqual","VersionMatchType","EQUAL","GREATER","LOWER","exhaustCheck","versionSplit","split","some","isBadVersion","item","isNaN","parseInt","length","KameleoonError","KameleoonException","SemanticVersionParse","map","exports"],"sources":["../../../src/targeting/conditions/sdkLanguageCondition.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { SdkLanguageType } from 'src/constants';\nimport {\n exhaustCheck,\n KameleoonError,\n KameleoonException,\n} from 'src/kameleoonError';\nimport { ExternalPackageInfoType } from 'src/types';\nimport { EvaluationDataType, VersionMatchType } from 'src/targeting/types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class SdkLanguageCondition implements ICondition {\n private sdkLanguage?: SdkLanguageType | null;\n private conditionValue?: string | null;\n private versionMatchType?: VersionMatchType | null;\n private error?: KameleoonError;\n\n constructor({ sdkLanguage, version, versionMatchType }: ConditionDataType) {\n this.sdkLanguage = sdkLanguage;\n this.conditionValue = version;\n this.versionMatchType = versionMatchType;\n }\n\n public evaluate({\n sdkInfo,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n const result = this.checkCondition(sdkInfo);\n\n if (this.error) {\n return Err(this.error);\n }\n\n return Ok(result);\n }\n\n private checkCondition(sdkInfo: ExternalPackageInfoType): boolean {\n const { type: sdkType, version } = sdkInfo;\n\n if (!this.sdkLanguage) {\n return false;\n }\n\n if (typeof this.conditionValue !== 'string') {\n return sdkType === this.sdkLanguage;\n }\n\n if (!this.versionMatchType) {\n return false;\n }\n\n return (\n sdkType === this.sdkLanguage &&\n this.compareSemVer({\n version,\n compareVersion: this.conditionValue,\n operator: this.versionMatchType,\n })\n );\n }\n\n private compareSemVer({\n version,\n compareVersion,\n operator,\n }: {\n version: string;\n compareVersion: string;\n operator: VersionMatchType;\n }): boolean {\n const [major, minor, patch] = this.validateVersion(version);\n const [compareMajor, compareMinor, comparePatch] =\n this.validateVersion(compareVersion);\n\n const [isMajorEqual, isMinorEqual, isPatchEqual] = [\n major === compareMajor,\n minor === compareMinor,\n patch === comparePatch,\n ];\n\n switch (operator) {\n case VersionMatchType.EQUAL:\n return isMajorEqual && isMinorEqual && isPatchEqual;\n case VersionMatchType.GREATER:\n return (\n major > compareMajor ||\n (isMajorEqual && minor > compareMinor) ||\n (isMajorEqual && isMinorEqual && patch > comparePatch)\n );\n case VersionMatchType.LOWER:\n return (\n major < compareMajor ||\n (isMajorEqual && minor < compareMinor) ||\n (isMajorEqual && isMinorEqual && patch < comparePatch)\n );\n default:\n exhaustCheck(operator);\n }\n }\n\n private validateVersion(version: string): [number, number, number] {\n const versionSplit = version.split('.');\n const isBadVersion = (item: string) =>\n isNaN(parseInt(item)) || item.length === 0;\n\n if (versionSplit.some(isBadVersion) || versionSplit.length !== 3) {\n this.error = new KameleoonError(\n KameleoonException.SemanticVersionParse,\n version,\n );\n\n return [0, 0, 0];\n }\n\n return versionSplit.map((item) => parseInt(item)) as [\n number,\n number,\n number,\n ];\n }\n}\n"],"mappings":"yqFAWa,CAAAA,oBAAoB,yBAM/B,SAAAC,EAAAC,CAAA,CAA2E,IAA7D,CAAAC,CAAW,CAAAD,CAAA,CAAXC,WAAW,CAAEC,CAAO,CAAAF,CAAA,CAAPE,OAAO,CAAEC,CAAgB,CAAAH,CAAA,CAAhBG,gBAAgB,CAAAC,eAAA,MAAAL,CAAA,EAAAM,eAAA,4BAAAA,eAAA,+BAAAA,eAAA,iCAAAA,eAAA,sBAClD,IAAI,CAACJ,WAAW,CAAGA,CAAW,CAC9B,IAAI,CAACK,cAAc,CAAGJ,CAAO,CAC7B,IAAI,CAACC,gBAAgB,CAAGA,CAC1B,CAAC,OAAAI,YAAA,CAAAR,CAAA,GAAAS,GAAA,YAAAC,KAAA,CAED,SAAAC,SAAAX,CAAA,CAEwD,IADtD,CAAAY,CAAO,CAAAZ,CAAA,CAAPY,OAAO,CAEDC,CAAM,CAAG,IAAI,CAACC,cAAc,CAACF,CAAO,CAAC,OAEvC,KAAI,CAACG,KAAK,CACL,GAAAC,UAAG,EAAC,IAAI,CAACD,KAAK,CAAC,CAGjB,GAAAE,SAAE,EAACJ,CAAM,CAClB,CAAC,GAAAJ,GAAA,kBAAAC,KAAA,CAED,SAAAI,eAAuBF,CAAgC,CAAW,CAChE,GAAc,CAAAM,CAAO,CAAcN,CAAO,CAAlCO,IAAI,CAAWhB,CAAO,CAAKS,CAAO,CAAnBT,OAAO,CAAa,QAEtC,IAAI,CAACD,WAAW,GAIc,QAAQ,EAAvC,MAAO,KAAI,CAACK,cAA2B,GAItC,IAAI,CAACH,gBAAgB,EAKxBc,CAAO,GAAK,IAAI,CAAChB,WAAW,EAC5B,IAAI,CAACkB,aAAa,CAAC,CACjBjB,OAAO,CAAPA,CAAO,CACPkB,cAAc,CAAE,IAAI,CAACd,cAAc,CACnCe,QAAQ,CAAE,IAAI,CAAClB,gBACjB,CAAC,CAAC,CAbKc,CAAO,GAAK,IAAI,CAAChB,WAAW,CAevC,CAAC,GAAAO,GAAA,iBAAAC,KAAA,CAED,SAAAU,cAAApB,CAAA,CAQY,IAPV,CAAAG,CAAO,CAAAH,CAAA,CAAPG,OAAO,CACPkB,CAAc,CAAArB,CAAA,CAAdqB,cAAc,CACdC,CAAQ,CAAAtB,CAAA,CAARsB,QAAQ,CAAAC,CAAA,CAMsB,IAAI,CAACC,eAAe,CAACrB,CAAO,CAAC,CAAAsB,CAAA,CAAAC,cAAA,CAAAH,CAAA,IAApDI,CAAK,CAAAF,CAAA,IAAEG,CAAK,CAAAH,CAAA,IAAEI,CAAK,CAAAJ,CAAA,IAAAK,CAAA,CAExB,IAAI,CAACN,eAAe,CAACH,CAAc,CAAC,CAAAU,CAAA,CAAAL,cAAA,CAAAI,CAAA,IAD/BE,CAAY,CAAAD,CAAA,IAAEE,CAAY,CAAAF,CAAA,IAAEG,CAAY,CAAAH,CAAA,IAGxCI,CAAY,CACjBR,CAAK,GAAKK,CAAY,CADHI,CAAY,CAE/BR,CAAK,GAAKK,CAAY,CAIxB,OAAQX,CAAQ,EACd,IAAK,CAAAe,uBAAgB,CAACC,KAAK,CACzB,MAAO,CAAAH,CAAY,EAAIC,CAAY,EALrCP,CAAK,GAAKK,CAK2C,CACrD,IAAK,CAAAG,uBAAgB,CAACE,OAAO,CAC3B,MACE,CAAAZ,CAAK,CAAGK,CAAY,EACnBG,CAAY,EAAIP,CAAK,CAAGK,CAAa,EACrCE,CAAY,EAAIC,CAAY,EAAIP,CAAK,CAAGK,CAAa,CAE1D,IAAK,CAAAG,uBAAgB,CAACG,KAAK,CACzB,MACE,CAAAb,CAAK,CAAGK,CAAY,EACnBG,CAAY,EAAIP,CAAK,CAAGK,CAAa,EACrCE,CAAY,EAAIC,CAAY,EAAIP,CAAK,CAAGK,CAAa,CAE1D,QACE,GAAAO,4BAAY,EAACnB,CAAQ,CAAC,CAAC,CAE7B,CAAC,GAAAb,GAAA,mBAAAC,KAAA,CAED,SAAAc,gBAAwBrB,CAAe,CAA4B,IAC3D,CAAAuC,CAAY,CAAGvC,CAAO,CAACwC,KAAK,CAAC,GAAG,CAAC,OAInC,CAAAD,CAAY,CAACE,IAAI,CAHA,QAAf,CAAAC,YAAYA,CAAIC,CAAY,QAChC,CAAAC,KAAK,CAACC,QAAQ,CAACF,CAAI,CAAC,CAAC,EAAoB,CAAC,GAAjBA,CAAI,CAACG,MAAY,EAET,EAA4B,CAAC,GAAzBP,CAAY,CAACO,MAAY,EAC9D,IAAI,CAAClC,KAAK,CAAG,GAAI,CAAAmC,8BAAc,CAC7BC,kCAAkB,CAACC,oBAAoB,CACvCjD,CAAO,CACR,CAEM,CAAC,CAAC,CAAE,CAAC,CAAE,CAAC,CAAC,EAGXuC,CAAY,CAACW,GAAG,CAAC,SAACP,CAAI,QAAK,CAAAE,QAAQ,CAACF,CAAI,CAAC,EAKlD,CAAC,IAAA9C,CAAA,IAAAsD,OAAA,CAAAvD,oBAAA,CAAAA,oBAAA"}
@@ -1,13 +1,12 @@
1
1
  import { Result } from 'ts-res';
2
- import { KameleoonError } from '../../kameleoonError';
3
- import { EvaluationDataType } from '../types';
2
+ import { KameleoonError } from 'src/kameleoonError';
3
+ import { EvaluationDataType } from 'src/targeting/types';
4
4
  import { ConditionDataType, ICondition } from './types';
5
5
  export declare class TargetExperimentCondition implements ICondition {
6
- private inverseResult;
7
6
  private experimentId?;
8
7
  private variationId?;
9
8
  private matchType?;
10
- constructor({ variation, experiment, isInclude, variationMatchType, }: ConditionDataType);
9
+ constructor({ variation, experiment, variationMatchType, }: ConditionDataType);
11
10
  evaluate({ variationData, }: EvaluationDataType): Result<boolean, KameleoonError>;
12
11
  private checkCondition;
13
12
  }
@@ -1,64 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TargetExperimentCondition = void 0;
7
- var _tsRes = require("ts-res");
8
- var _types = require("../types");
9
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
11
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12
- class TargetExperimentCondition {
13
- constructor({
14
- variation,
15
- experiment,
16
- isInclude,
17
- variationMatchType
18
- }) {
19
- _defineProperty(this, "inverseResult", void 0);
20
- _defineProperty(this, "experimentId", void 0);
21
- _defineProperty(this, "variationId", void 0);
22
- _defineProperty(this, "matchType", void 0);
23
- this.inverseResult = !(isInclude ?? true);
24
- this.experimentId = experiment;
25
- this.variationId = variation;
26
- this.matchType = variationMatchType;
27
- }
28
- evaluate({
29
- variationData
30
- }) {
31
- if (!this.experimentId) {
32
- return (0, _tsRes.Ok)(false);
33
- }
34
- if (this.matchType === _types.MatchTypeVariation.EXACT && !this.variationId) {
35
- (0, _tsRes.Ok)(false);
36
- }
37
- const result = this.checkCondition({
38
- variationId: this.variationId,
39
- experimentId: this.experimentId,
40
- variationData
41
- });
42
- return (0, _tsRes.Ok)(this.inverseResult ? !result : result);
43
- }
44
- checkCondition({
45
- variationId,
46
- experimentId,
47
- variationData
48
- }) {
49
- const experimentIdString = String(experimentId);
50
- const variation = variationData[experimentIdString];
51
- switch (this.matchType) {
52
- case _types.MatchTypeVariation.EXACT:
53
- {
54
- return variation?.variationId === variationId;
55
- }
56
- case _types.MatchTypeVariation.ANY:
57
- return Boolean(variation);
58
- default:
59
- return false;
60
- }
61
- }
62
- }
63
- exports.TargetExperimentCondition = TargetExperimentCondition;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TargetExperimentCondition=void 0;var _tsRes=require("ts-res"),_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 TargetExperimentCondition=/*#__PURE__*/function(){function a(b){var c=b.variation,d=b.experiment,e=b.variationMatchType;_classCallCheck(this,a),_defineProperty(this,"experimentId",void 0),_defineProperty(this,"variationId",void 0),_defineProperty(this,"matchType",void 0),this.experimentId=d,this.variationId=c,this.matchType=e}return _createClass(a,[{key:"evaluate",value:function evaluate(a){var b=a.variationData;if(!this.experimentId)return(0,_tsRes.Ok)(!1);this.matchType!==_types.MatchTypeVariation.EXACT||this.variationId||(0,_tsRes.Ok)(!1);var c=this.checkCondition({variationId:this.variationId,experimentId:this.experimentId,variationData:b});return(0,_tsRes.Ok)(c)}},{key:"checkCondition",value:function checkCondition(a){var b=a.variationId,c=a.experimentId,d=a.variationData,e=d[c+""];switch(this.matchType){case _types.MatchTypeVariation.EXACT:return(null===e||void 0===e?void 0:e.variationId)===b;case _types.MatchTypeVariation.ANY:return!!e;default:return!1;}}}]),a}();exports.TargetExperimentCondition=TargetExperimentCondition;
64
2
  //# sourceMappingURL=targetExperimentCondition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"targetExperimentCondition.js","names":["_tsRes","require","_types","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","TargetExperimentCondition","constructor","variation","experiment","isInclude","variationMatchType","inverseResult","experimentId","variationId","matchType","evaluate","variationData","Ok","MatchTypeVariation","EXACT","result","checkCondition","experimentIdString","ANY","Boolean","exports"],"sources":["../../../src/targeting/conditions/targetExperimentCondition.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonError } from '../../kameleoonError';\nimport { ExperimentVariationsType } from '../../storage';\nimport { EvaluationDataType, MatchTypeVariation } from '../types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class TargetExperimentCondition implements ICondition {\n private inverseResult: boolean;\n private experimentId?: number | null;\n private variationId?: number | null;\n private matchType?: MatchTypeVariation | null;\n\n constructor({\n variation,\n experiment,\n isInclude,\n variationMatchType,\n }: ConditionDataType) {\n this.inverseResult = !(isInclude ?? true);\n this.experimentId = experiment;\n this.variationId = variation;\n this.matchType = variationMatchType;\n }\n\n evaluate({\n variationData,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n if (!this.experimentId) {\n return Ok(false);\n }\n\n if (this.matchType === MatchTypeVariation.EXACT && !this.variationId) {\n Ok(false);\n }\n\n const result = this.checkCondition({\n variationId: this.variationId,\n experimentId: this.experimentId,\n variationData,\n });\n\n return Ok(this.inverseResult ? !result : result);\n }\n\n private checkCondition({\n variationId,\n experimentId,\n variationData,\n }: {\n variationId?: number | null;\n experimentId: number;\n variationData: ExperimentVariationsType;\n }): boolean {\n const experimentIdString = String(experimentId);\n const variation = variationData[experimentIdString];\n\n switch (this.matchType) {\n case MatchTypeVariation.EXACT: {\n return variation?.variationId === variationId;\n }\n case MatchTypeVariation.ANY:\n return Boolean(variation);\n default:\n return false;\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAAkE,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAG3D,MAAMU,yBAAyB,CAAuB;EAM3DC,WAAWA,CAAC;IACVC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC;EACiB,CAAC,EAAE;IAAA5B,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACpB,IAAI,CAAC6B,aAAa,GAAG,EAAEF,SAAS,IAAI,IAAI,CAAC;IACzC,IAAI,CAACG,YAAY,GAAGJ,UAAU;IAC9B,IAAI,CAACK,WAAW,GAAGN,SAAS;IAC5B,IAAI,CAACO,SAAS,GAAGJ,kBAAkB;EACrC;EAEAK,QAAQA,CAAC;IACPC;EACkB,CAAC,EAAmC;IACtD,IAAI,CAAC,IAAI,CAACJ,YAAY,EAAE;MACtB,OAAO,IAAAK,SAAE,EAAC,KAAK,CAAC;IAClB;IAEA,IAAI,IAAI,CAACH,SAAS,KAAKI,yBAAkB,CAACC,KAAK,IAAI,CAAC,IAAI,CAACN,WAAW,EAAE;MACpE,IAAAI,SAAE,EAAC,KAAK,CAAC;IACX;IAEA,MAAMG,MAAM,GAAG,IAAI,CAACC,cAAc,CAAC;MACjCR,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BD,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BI;IACF,CAAC,CAAC;IAEF,OAAO,IAAAC,SAAE,EAAC,IAAI,CAACN,aAAa,GAAG,CAACS,MAAM,GAAGA,MAAM,CAAC;EAClD;EAEQC,cAAcA,CAAC;IACrBR,WAAW;IACXD,YAAY;IACZI;EAKF,CAAC,EAAW;IACV,MAAMM,kBAAkB,GAAG5B,MAAM,CAACkB,YAAY,CAAC;IAC/C,MAAML,SAAS,GAAGS,aAAa,CAACM,kBAAkB,CAAC;IAEnD,QAAQ,IAAI,CAACR,SAAS;MACpB,KAAKI,yBAAkB,CAACC,KAAK;QAAE;UAC7B,OAAOZ,SAAS,EAAEM,WAAW,KAAKA,WAAW;QAC/C;MACA,KAAKK,yBAAkB,CAACK,GAAG;QACzB,OAAOC,OAAO,CAACjB,SAAS,CAAC;MAC3B;QACE,OAAO,KAAK;IAAC;EAEnB;AACF;AAACkB,OAAA,CAAApB,yBAAA,GAAAA,yBAAA"}
1
+ {"version":3,"file":"targetExperimentCondition.js","names":["TargetExperimentCondition","a","b","variation","experiment","variationMatchType","_classCallCheck","_defineProperty","experimentId","variationId","matchType","_createClass","key","value","evaluate","variationData","Ok","MatchTypeVariation","EXACT","result","checkCondition","ANY","exports"],"sources":["../../../src/targeting/conditions/targetExperimentCondition.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { KameleoonError } from 'src/kameleoonError';\nimport { ExperimentVariationsType } from 'src/storage';\nimport { EvaluationDataType, MatchTypeVariation } from 'src/targeting/types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class TargetExperimentCondition implements ICondition {\n private experimentId?: number | null;\n private variationId?: number | null;\n private matchType?: MatchTypeVariation | null;\n\n constructor({\n variation,\n experiment,\n variationMatchType,\n }: ConditionDataType) {\n this.experimentId = experiment;\n this.variationId = variation;\n this.matchType = variationMatchType;\n }\n\n public evaluate({\n variationData,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n if (!this.experimentId) {\n return Ok(false);\n }\n\n if (this.matchType === MatchTypeVariation.EXACT && !this.variationId) {\n Ok(false);\n }\n\n const result = this.checkCondition({\n variationId: this.variationId,\n experimentId: this.experimentId,\n variationData,\n });\n\n return Ok(result);\n }\n\n private checkCondition({\n variationId,\n experimentId,\n variationData,\n }: {\n variationId?: number | null;\n experimentId: number;\n variationData: ExperimentVariationsType;\n }): boolean {\n const experimentIdString = String(experimentId);\n const variation = variationData[experimentIdString];\n\n switch (this.matchType) {\n case MatchTypeVariation.EXACT: {\n return variation?.variationId === variationId;\n }\n case MatchTypeVariation.ANY:\n return Boolean(variation);\n default:\n return false;\n }\n }\n}\n"],"mappings":"i5CAMa,CAAAA,yBAAyB,yBAKpC,SAAAC,EAAAC,CAAA,CAIsB,IAHpB,CAAAC,CAAS,CAAAD,CAAA,CAATC,SAAS,CACTC,CAAU,CAAAF,CAAA,CAAVE,UAAU,CACVC,CAAkB,CAAAH,CAAA,CAAlBG,kBAAkB,CAAAC,eAAA,MAAAL,CAAA,EAAAM,eAAA,6BAAAA,eAAA,4BAAAA,eAAA,0BAElB,IAAI,CAACC,YAAY,CAAGJ,CAAU,CAC9B,IAAI,CAACK,WAAW,CAAGN,CAAS,CAC5B,IAAI,CAACO,SAAS,CAAGL,CACnB,CAAC,OAAAM,YAAA,CAAAV,CAAA,GAAAW,GAAA,YAAAC,KAAA,CAED,SAAAC,SAAAb,CAAA,CAEwD,IADtD,CAAAc,CAAa,CAAAd,CAAA,CAAbc,aAAa,CAEb,GAAI,CAAC,IAAI,CAACP,YAAY,CACpB,MAAO,GAAAQ,SAAE,KAAO,CAGd,IAAI,CAACN,SAAS,GAAKO,yBAAkB,CAACC,KAAK,EAAK,IAAI,CAACT,WAAW,EAClE,GAAAO,SAAE,KAAO,CAGX,GAAM,CAAAG,CAAM,CAAG,IAAI,CAACC,cAAc,CAAC,CACjCX,WAAW,CAAE,IAAI,CAACA,WAAW,CAC7BD,YAAY,CAAE,IAAI,CAACA,YAAY,CAC/BO,aAAa,CAAbA,CACF,CAAC,CAAC,CAEF,MAAO,GAAAC,SAAE,EAACG,CAAM,CAClB,CAAC,GAAAP,GAAA,kBAAAC,KAAA,CAED,SAAAO,eAAAnB,CAAA,CAQY,IAPV,CAAAQ,CAAW,CAAAR,CAAA,CAAXQ,WAAW,CACXD,CAAY,CAAAP,CAAA,CAAZO,YAAY,CACZO,CAAa,CAAAd,CAAA,CAAbc,aAAa,CAOPZ,CAAS,CAAGY,CAAa,CADGP,CAAY,IACK,CAEnD,OAAQ,IAAI,CAACE,SAAS,EACpB,IAAK,CAAAO,yBAAkB,CAACC,KAAK,CAC3B,MAAO,QAAAf,CAAS,WAATA,CAAS,QAATA,CAAS,CAAEM,WAAW,IAAKA,CAAW,CAE/C,IAAK,CAAAQ,yBAAkB,CAACI,GAAG,CACzB,QAAelB,CAAS,CAC1B,QACE,SAAa,CAEnB,CAAC,IAAAF,CAAA,IAAAqB,OAAA,CAAAtB,yBAAA,CAAAA,yBAAA"}
@@ -1,23 +1,42 @@
1
1
  import { Result } from 'ts-res';
2
- import { KameleoonError } from '../../kameleoonError';
3
- import { EvaluationDataType, MatchTypeCustomData, MatchTypeTest, MatchTypeVariation, TargetingType } from '../types';
2
+ import { SdkLanguageType } from 'src/constants';
3
+ import { BrowserType, DeviceType } from 'src/kameleoonData';
4
+ import { KameleoonError } from 'src/kameleoonError';
5
+ import { EvaluationDataType, MatchType, MatchTypeCustomData, MatchTypeTest, MatchTypeVariation, TargetingType, VersionMatchType } from 'src/targeting/types';
6
+ import { BrowserCondition } from './browserCondition';
7
+ import { ConversionCondition } from './conversionCondition';
4
8
  import { CustomDataCondition } from './customDataCondition';
9
+ import { DeviceCondition } from './deviceCondition';
5
10
  import { ExclusiveExperimentCondition } from './exclusiveExperimentCondition';
11
+ import { PageTitleCondition } from './pageTitleCondition';
12
+ import { PageUrlCondition } from './pageUrlCondition';
13
+ import { SdkLanguageCondition } from './sdkLanguageCondition';
6
14
  import { TargetExperimentCondition } from './targetExperimentCondition';
15
+ import { VisitorCodeCondition } from './visitorCodeCondition';
7
16
  export interface ICondition {
8
17
  evaluate: (data: EvaluationDataType) => Result<boolean, KameleoonError>;
9
18
  }
10
- export type ConditionType = CustomDataCondition | ExclusiveExperimentCondition | TargetExperimentCondition;
19
+ export type ConditionType = CustomDataCondition | ExclusiveExperimentCondition | TargetExperimentCondition | DeviceCondition | BrowserCondition | PageUrlCondition | PageTitleCondition | ConversionCondition | VisitorCodeCondition | SdkLanguageCondition;
11
20
  export type ConditionDataType = {
12
21
  id: number;
13
22
  targetingType: TargetingType;
14
23
  isInclude: boolean | null;
15
24
  weight: number;
16
- customDataIndex: string | null;
17
- value: string | null;
18
- valueMatchType: MatchTypeCustomData | null;
25
+ customDataIndex?: string | null;
26
+ value?: string | null;
27
+ valueMatchType?: MatchTypeCustomData | null;
19
28
  experiment?: number | null;
20
29
  variation?: number | null;
21
30
  variationMatchType?: MatchTypeVariation | null;
22
31
  testMatchType?: MatchTypeTest | null;
32
+ matchType?: MatchType | null;
33
+ device?: DeviceType | null;
34
+ browser?: BrowserType | null;
35
+ version?: string | null;
36
+ versionMatchType?: VersionMatchType | null;
37
+ title?: string | null;
38
+ url?: string | null;
39
+ goalId?: number | null;
40
+ sdkLanguage?: SdkLanguageType | null;
41
+ visitorCode?: string | null;
23
42
  };
@@ -1,6 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
6
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/targeting/conditions/types.ts"],"sourcesContent":["import { Result } from 'ts-res';\nimport { KameleoonError } from '../../kameleoonError';\nimport {\n EvaluationDataType,\n MatchTypeCustomData,\n MatchTypeTest,\n MatchTypeVariation,\n TargetingType,\n} from '../types';\nimport { CustomDataCondition } from './customDataCondition';\nimport { ExclusiveExperimentCondition } from './exclusiveExperimentCondition';\nimport { TargetExperimentCondition } from './targetExperimentCondition';\n\nexport interface ICondition {\n evaluate: (data: EvaluationDataType) => Result<boolean, KameleoonError>;\n}\n\nexport type ConditionType =\n | CustomDataCondition\n | ExclusiveExperimentCondition\n | TargetExperimentCondition;\n\nexport type ConditionDataType = {\n id: number;\n targetingType: TargetingType;\n isInclude: boolean | null;\n weight: number;\n customDataIndex: string | null;\n value: string | null;\n valueMatchType: MatchTypeCustomData | null;\n experiment?: number | null;\n variation?: number | null;\n variationMatchType?: MatchTypeVariation | null;\n testMatchType?: MatchTypeTest | null;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/targeting/conditions/types.ts"],"sourcesContent":["import { Result } from 'ts-res';\nimport { SdkLanguageType } from 'src/constants';\nimport { BrowserType, DeviceType } from 'src/kameleoonData';\nimport { KameleoonError } from 'src/kameleoonError';\nimport {\n EvaluationDataType,\n MatchType,\n MatchTypeCustomData,\n MatchTypeTest,\n MatchTypeVariation,\n TargetingType,\n VersionMatchType,\n} from 'src/targeting/types';\nimport { BrowserCondition } from './browserCondition';\nimport { ConversionCondition } from './conversionCondition';\nimport { CustomDataCondition } from './customDataCondition';\nimport { DeviceCondition } from './deviceCondition';\nimport { ExclusiveExperimentCondition } from './exclusiveExperimentCondition';\nimport { PageTitleCondition } from './pageTitleCondition';\nimport { PageUrlCondition } from './pageUrlCondition';\nimport { SdkLanguageCondition } from './sdkLanguageCondition';\nimport { TargetExperimentCondition } from './targetExperimentCondition';\nimport { VisitorCodeCondition } from './visitorCodeCondition';\n\nexport interface ICondition {\n evaluate: (data: EvaluationDataType) => Result<boolean, KameleoonError>;\n}\n\nexport type ConditionType =\n | CustomDataCondition\n | ExclusiveExperimentCondition\n | TargetExperimentCondition\n | DeviceCondition\n | BrowserCondition\n | PageUrlCondition\n | PageTitleCondition\n | ConversionCondition\n | VisitorCodeCondition\n | SdkLanguageCondition;\n\nexport type ConditionDataType = {\n id: number;\n targetingType: TargetingType;\n isInclude: boolean | null;\n weight: number;\n customDataIndex?: string | null;\n value?: string | null;\n valueMatchType?: MatchTypeCustomData | null;\n experiment?: number | null;\n variation?: number | null;\n variationMatchType?: MatchTypeVariation | null;\n testMatchType?: MatchTypeTest | null;\n matchType?: MatchType | null;\n device?: DeviceType | null;\n browser?: BrowserType | null;\n version?: string | null;\n versionMatchType?: VersionMatchType | null;\n title?: string | null;\n url?: string | null;\n goalId?: number | null;\n sdkLanguage?: SdkLanguageType | null;\n visitorCode?: string | null;\n};\n"],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Result } from 'ts-res';
2
+ import { KameleoonError } from 'src/kameleoonError';
3
+ import { EvaluationDataType } from 'src/targeting/types';
4
+ import { ConditionDataType, ICondition } from './types';
5
+ export declare class VisitorCodeCondition implements ICondition {
6
+ private matchType?;
7
+ private conditionValue?;
8
+ constructor({ visitorCode, matchType }: ConditionDataType);
9
+ evaluate({ visitorCode, }: EvaluationDataType): Result<boolean, KameleoonError>;
10
+ private checkCondition;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VisitorCodeCondition=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../../kameleoonError"),_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)}var VisitorCodeCondition=/*#__PURE__*/function(){function a(b){var c=b.visitorCode,d=b.matchType;_classCallCheck(this,a),_defineProperty(this,"matchType",void 0),_defineProperty(this,"conditionValue",void 0),this.matchType=d,this.conditionValue=c}return _createClass(a,[{key:"evaluate",value:function evaluate(a){var b=a.visitorCode;return(0,_tsRes.Ok)(this.checkCondition(b))}},{key:"checkCondition",value:function checkCondition(a){if(!this.matchType||!this.conditionValue)return!1;switch(this.matchType){case _types.MatchType.CONTAINS:return a.includes(this.conditionValue);case _types.MatchType.EXACT:return a===this.conditionValue;case _types.MatchType.REGULAR_EXPRESSION:return _utilities.Utilities.parseRegExp(this.conditionValue).test(a);default:(0,_kameleoonError.exhaustCheck)(this.matchType);}}}]),a}();exports.VisitorCodeCondition=VisitorCodeCondition;
2
+ //# sourceMappingURL=visitorCodeCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitorCodeCondition.js","names":["VisitorCodeCondition","a","b","visitorCode","matchType","_classCallCheck","_defineProperty","conditionValue","_createClass","key","value","evaluate","Ok","checkCondition","MatchType","CONTAINS","includes","EXACT","REGULAR_EXPRESSION","Utilities","parseRegExp","test","exhaustCheck","exports"],"sources":["../../../src/targeting/conditions/visitorCodeCondition.ts"],"sourcesContent":["import { Ok, Result } from 'ts-res';\nimport { exhaustCheck, KameleoonError } from 'src/kameleoonError';\nimport { Utilities } from 'src/utilities';\nimport { EvaluationDataType, MatchType } from 'src/targeting/types';\nimport { ConditionDataType, ICondition } from './types';\n\nexport class VisitorCodeCondition implements ICondition {\n private matchType?: MatchType | null;\n private conditionValue?: string | null;\n\n constructor({ visitorCode, matchType }: ConditionDataType) {\n this.matchType = matchType;\n this.conditionValue = visitorCode;\n }\n\n public evaluate({\n visitorCode,\n }: EvaluationDataType): Result<boolean, KameleoonError> {\n return Ok(this.checkCondition(visitorCode));\n }\n\n private checkCondition(visitorCode: string): boolean {\n if (!this.matchType || !this.conditionValue) {\n return false;\n }\n\n switch (this.matchType) {\n case MatchType.CONTAINS:\n return visitorCode.includes(this.conditionValue);\n case MatchType.EXACT:\n return visitorCode === this.conditionValue;\n case MatchType.REGULAR_EXPRESSION:\n return Utilities.parseRegExp(this.conditionValue).test(visitorCode);\n default:\n exhaustCheck(this.matchType);\n }\n }\n}\n"],"mappings":"k+CAMa,CAAAA,oBAAoB,yBAI/B,SAAAC,EAAAC,CAAA,CAA2D,IAA7C,CAAAC,CAAW,CAAAD,CAAA,CAAXC,WAAW,CAAEC,CAAS,CAAAF,CAAA,CAATE,SAAS,CAAAC,eAAA,MAAAJ,CAAA,EAAAK,eAAA,0BAAAA,eAAA,+BAClC,IAAI,CAACF,SAAS,CAAGA,CAAS,CAC1B,IAAI,CAACG,cAAc,CAAGJ,CACxB,CAAC,OAAAK,YAAA,CAAAP,CAAA,GAAAQ,GAAA,YAAAC,KAAA,CAED,SAAAC,SAAAV,CAAA,CAEwD,IADtD,CAAAE,CAAW,CAAAF,CAAA,CAAXE,WAAW,CAEX,MAAO,GAAAS,SAAE,EAAC,IAAI,CAACC,cAAc,CAACV,CAAW,CAAC,CAC5C,CAAC,GAAAM,GAAA,kBAAAC,KAAA,CAED,SAAAG,eAAuBV,CAAmB,CAAW,CACnD,GAAI,CAAC,IAAI,CAACC,SAAS,EAAI,CAAC,IAAI,CAACG,cAAc,CACzC,SAGF,OAAQ,IAAI,CAACH,SAAS,EACpB,IAAK,CAAAU,gBAAS,CAACC,QAAQ,CACrB,MAAO,CAAAZ,CAAW,CAACa,QAAQ,CAAC,IAAI,CAACT,cAAc,CAAC,CAClD,IAAK,CAAAO,gBAAS,CAACG,KAAK,CAClB,MAAO,CAAAd,CAAW,GAAK,IAAI,CAACI,cAAc,CAC5C,IAAK,CAAAO,gBAAS,CAACI,kBAAkB,CAC/B,MAAO,CAAAC,oBAAS,CAACC,WAAW,CAAC,IAAI,CAACb,cAAc,CAAC,CAACc,IAAI,CAAClB,CAAW,CAAC,CACrE,QACE,GAAAmB,4BAAY,EAAC,IAAI,CAAClB,SAAS,CAAC,CAAC,CAEnC,CAAC,IAAAH,CAAA,IAAAsB,OAAA,CAAAvB,oBAAA,CAAAA,oBAAA"}
@@ -1,3 +1,3 @@
1
1
  export { TargetingTree } from './targetingTree';
2
- export { Operator, TargetingType, SegmentType, TargetingDataType, EvaluationDataType, MatchTypeCustomData, MatchTypeVariation, TargetingDataItemType, } from './types';
3
- export { CustomDataCondition, TargetExperimentCondition, ExclusiveExperimentCondition, } from './conditions';
2
+ export { Operator, TargetingType, SegmentType, TargetingDataType, EvaluationDataType, MatchTypeCustomData, MatchTypeVariation, MatchType, VersionMatchType, } from './types';
3
+ export { CustomDataCondition, TargetExperimentCondition, ExclusiveExperimentCondition, BrowserCondition, PageUrlCondition, PageTitleCondition, ConversionCondition, VisitorCodeCondition, SdkLanguageCondition, DeviceCondition, ConditionFactory, } from './conditions';
@@ -1,81 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "CustomDataCondition", {
7
- enumerable: true,
8
- get: function () {
9
- return _conditions.CustomDataCondition;
10
- }
11
- });
12
- Object.defineProperty(exports, "EvaluationDataType", {
13
- enumerable: true,
14
- get: function () {
15
- return _types.EvaluationDataType;
16
- }
17
- });
18
- Object.defineProperty(exports, "ExclusiveExperimentCondition", {
19
- enumerable: true,
20
- get: function () {
21
- return _conditions.ExclusiveExperimentCondition;
22
- }
23
- });
24
- Object.defineProperty(exports, "MatchTypeCustomData", {
25
- enumerable: true,
26
- get: function () {
27
- return _types.MatchTypeCustomData;
28
- }
29
- });
30
- Object.defineProperty(exports, "MatchTypeVariation", {
31
- enumerable: true,
32
- get: function () {
33
- return _types.MatchTypeVariation;
34
- }
35
- });
36
- Object.defineProperty(exports, "Operator", {
37
- enumerable: true,
38
- get: function () {
39
- return _types.Operator;
40
- }
41
- });
42
- Object.defineProperty(exports, "SegmentType", {
43
- enumerable: true,
44
- get: function () {
45
- return _types.SegmentType;
46
- }
47
- });
48
- Object.defineProperty(exports, "TargetExperimentCondition", {
49
- enumerable: true,
50
- get: function () {
51
- return _conditions.TargetExperimentCondition;
52
- }
53
- });
54
- Object.defineProperty(exports, "TargetingDataItemType", {
55
- enumerable: true,
56
- get: function () {
57
- return _types.TargetingDataItemType;
58
- }
59
- });
60
- Object.defineProperty(exports, "TargetingDataType", {
61
- enumerable: true,
62
- get: function () {
63
- return _types.TargetingDataType;
64
- }
65
- });
66
- Object.defineProperty(exports, "TargetingTree", {
67
- enumerable: true,
68
- get: function () {
69
- return _targetingTree.TargetingTree;
70
- }
71
- });
72
- Object.defineProperty(exports, "TargetingType", {
73
- enumerable: true,
74
- get: function () {
75
- return _types.TargetingType;
76
- }
77
- });
78
- var _targetingTree = require("./targetingTree");
79
- var _types = require("./types");
80
- var _conditions = require("./conditions");
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BrowserCondition",{enumerable:!0,get:function get(){return _conditions.BrowserCondition}}),Object.defineProperty(exports,"ConditionFactory",{enumerable:!0,get:function get(){return _conditions.ConditionFactory}}),Object.defineProperty(exports,"ConversionCondition",{enumerable:!0,get:function get(){return _conditions.ConversionCondition}}),Object.defineProperty(exports,"CustomDataCondition",{enumerable:!0,get:function get(){return _conditions.CustomDataCondition}}),Object.defineProperty(exports,"DeviceCondition",{enumerable:!0,get:function get(){return _conditions.DeviceCondition}}),Object.defineProperty(exports,"EvaluationDataType",{enumerable:!0,get:function get(){return _types.EvaluationDataType}}),Object.defineProperty(exports,"ExclusiveExperimentCondition",{enumerable:!0,get:function get(){return _conditions.ExclusiveExperimentCondition}}),Object.defineProperty(exports,"MatchType",{enumerable:!0,get:function get(){return _types.MatchType}}),Object.defineProperty(exports,"MatchTypeCustomData",{enumerable:!0,get:function get(){return _types.MatchTypeCustomData}}),Object.defineProperty(exports,"MatchTypeVariation",{enumerable:!0,get:function get(){return _types.MatchTypeVariation}}),Object.defineProperty(exports,"Operator",{enumerable:!0,get:function get(){return _types.Operator}}),Object.defineProperty(exports,"PageTitleCondition",{enumerable:!0,get:function get(){return _conditions.PageTitleCondition}}),Object.defineProperty(exports,"PageUrlCondition",{enumerable:!0,get:function get(){return _conditions.PageUrlCondition}}),Object.defineProperty(exports,"SdkLanguageCondition",{enumerable:!0,get:function get(){return _conditions.SdkLanguageCondition}}),Object.defineProperty(exports,"SegmentType",{enumerable:!0,get:function get(){return _types.SegmentType}}),Object.defineProperty(exports,"TargetExperimentCondition",{enumerable:!0,get:function get(){return _conditions.TargetExperimentCondition}}),Object.defineProperty(exports,"TargetingDataType",{enumerable:!0,get:function get(){return _types.TargetingDataType}}),Object.defineProperty(exports,"TargetingTree",{enumerable:!0,get:function get(){return _targetingTree.TargetingTree}}),Object.defineProperty(exports,"TargetingType",{enumerable:!0,get:function get(){return _types.TargetingType}}),Object.defineProperty(exports,"VersionMatchType",{enumerable:!0,get:function get(){return _types.VersionMatchType}}),Object.defineProperty(exports,"VisitorCodeCondition",{enumerable:!0,get:function get(){return _conditions.VisitorCodeCondition}});var _targetingTree=require("./targetingTree"),_types=require("./types"),_conditions=require("./conditions");
81
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_targetingTree","require","_types","_conditions"],"sources":["../../src/targeting/index.ts"],"sourcesContent":["export { TargetingTree } from './targetingTree';\nexport {\n Operator,\n TargetingType,\n SegmentType,\n TargetingDataType,\n EvaluationDataType,\n MatchTypeCustomData,\n MatchTypeVariation,\n TargetingDataItemType,\n} from './types';\nexport {\n CustomDataCondition,\n TargetExperimentCondition,\n ExclusiveExperimentCondition,\n} from './conditions';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUA,IAAAE,WAAA,GAAAF,OAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/targeting/index.ts"],"sourcesContent":["export { TargetingTree } from './targetingTree';\nexport {\n Operator,\n TargetingType,\n SegmentType,\n TargetingDataType,\n EvaluationDataType,\n MatchTypeCustomData,\n MatchTypeVariation,\n MatchType,\n VersionMatchType,\n} from './types';\nexport {\n CustomDataCondition,\n TargetExperimentCondition,\n ExclusiveExperimentCondition,\n BrowserCondition,\n PageUrlCondition,\n PageTitleCondition,\n ConversionCondition,\n VisitorCodeCondition,\n SdkLanguageCondition,\n DeviceCondition,\n ConditionFactory,\n} from './conditions';\n"],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { KameleoonError } from '../kameleoonError';
1
+ import { KameleoonError } from 'src/kameleoonError';
2
2
  import { ConditionDataType } from './conditions';
3
3
  import { NodeValueType, Operator } from './types';
4
4
  export interface ITargetingNode {
@@ -12,10 +12,12 @@ export declare class TargetingNode implements ITargetingNode {
12
12
  private nodeError?;
13
13
  private leftChild?;
14
14
  private rightChild?;
15
+ private inverseResult;
15
16
  constructor(value: ConditionDataType | Operator, left?: ITargetingNode, right?: ITargetingNode);
16
17
  get value(): NodeValueType | undefined;
17
18
  get error(): KameleoonError | undefined;
18
19
  get left(): ITargetingNode | undefined;
19
20
  get right(): ITargetingNode | undefined;
21
+ get inverse(): boolean;
20
22
  private isOperator;
21
23
  }