vwo-fme-node-sdk 1.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 (385) hide show
  1. package/CONTRIBUTING.md +46 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +18 -0
  4. package/README.md +52 -0
  5. package/dist/VWO.d.ts +9 -0
  6. package/dist/VWO.js +100 -0
  7. package/dist/VWO.js.map +1 -0
  8. package/dist/VWOBuilder.d.ts +48 -0
  9. package/dist/VWOBuilder.js +173 -0
  10. package/dist/VWOBuilder.js.map +1 -0
  11. package/dist/VWOClient.d.ts +20 -0
  12. package/dist/VWOClient.js +249 -0
  13. package/dist/VWOClient.js.map +1 -0
  14. package/dist/api/GetFlag.d.ts +19 -0
  15. package/dist/api/GetFlag.js +394 -0
  16. package/dist/api/GetFlag.js.map +1 -0
  17. package/dist/api/GetVariable.d.ts +0 -0
  18. package/dist/api/GetVariable.js +1 -0
  19. package/dist/api/GetVariable.js.map +1 -0
  20. package/dist/api/GetVariables.d.ts +0 -0
  21. package/dist/api/GetVariables.js +1 -0
  22. package/dist/api/GetVariables.js.map +1 -0
  23. package/dist/api/SetAttribute.d.ts +7 -0
  24. package/dist/api/SetAttribute.js +62 -0
  25. package/dist/api/SetAttribute.js.map +1 -0
  26. package/dist/api/Track.js +76 -0
  27. package/dist/api/Track.js.map +1 -0
  28. package/dist/api/TrackEvent.d.ts +8 -0
  29. package/dist/api/TrackEvent.js +78 -0
  30. package/dist/api/TrackEvent.js.map +1 -0
  31. package/dist/constants/index.d.ts +24 -0
  32. package/dist/constants/index.js +31 -0
  33. package/dist/constants/index.js.map +1 -0
  34. package/dist/constants/url.d.ts +6 -0
  35. package/dist/constants/url.js +10 -0
  36. package/dist/constants/url.js.map +1 -0
  37. package/dist/decision-maker/index.js +75 -0
  38. package/dist/decision-maker/index.js.map +1 -0
  39. package/dist/decorators/StorageDecorator.d.ts +12 -0
  40. package/dist/decorators/StorageDecorator.js +119 -0
  41. package/dist/decorators/StorageDecorator.js.map +1 -0
  42. package/dist/enums/ApiEnum.d.ts +4 -0
  43. package/dist/enums/ApiEnum.js +9 -0
  44. package/dist/enums/ApiEnum.js.map +1 -0
  45. package/dist/enums/EventEnum.d.ts +4 -0
  46. package/dist/enums/EventEnum.js +9 -0
  47. package/dist/enums/EventEnum.js.map +1 -0
  48. package/dist/enums/HeadersEnum.d.ts +4 -0
  49. package/dist/enums/HeadersEnum.js +9 -0
  50. package/dist/enums/HeadersEnum.js.map +1 -0
  51. package/dist/enums/HooksEnum.d.ts +7 -0
  52. package/dist/enums/HooksEnum.js +8 -0
  53. package/dist/enums/HooksEnum.js.map +1 -0
  54. package/dist/enums/LogLevelEnum.d.ts +7 -0
  55. package/dist/enums/LogLevelEnum.js +12 -0
  56. package/dist/enums/LogLevelEnum.js.map +1 -0
  57. package/dist/enums/StatusEnum.d.ts +4 -0
  58. package/dist/enums/StorageEnum.d.ts +8 -0
  59. package/dist/enums/StorageEnum.js +13 -0
  60. package/dist/enums/StorageEnum.js.map +1 -0
  61. package/dist/enums/UrlEnum.d.ts +13 -0
  62. package/dist/enums/UrlEnum.js +18 -0
  63. package/dist/enums/UrlEnum.js.map +1 -0
  64. package/dist/enums/campaignTypeEnum.d.ts +5 -0
  65. package/dist/enums/campaignTypeEnum.js +10 -0
  66. package/dist/enums/campaignTypeEnum.js.map +1 -0
  67. package/dist/enums/logMessages/DbugLogMessageEnum.js +1 -0
  68. package/dist/enums/logMessages/DbugLogMessageEnum.js.map +1 -0
  69. package/dist/enums/logMessages/DebugLogMessageEnum.d.ts +3 -0
  70. package/dist/enums/logMessages/ErorLogMessageEnum.js +1 -0
  71. package/dist/enums/logMessages/ErorLogMessageEnum.js.map +1 -0
  72. package/dist/enums/logMessages/ErrorLogMessageEnum.d.ts +3 -0
  73. package/dist/enums/logMessages/debugLogMessageEnum.js +8 -0
  74. package/dist/enums/logMessages/debugLogMessageEnum.js.map +1 -0
  75. package/dist/enums/logMessages/errorLogMessageEnum.js +8 -0
  76. package/dist/enums/logMessages/errorLogMessageEnum.js.map +1 -0
  77. package/dist/enums/statusEnum.js +9 -0
  78. package/dist/enums/statusEnum.js.map +1 -0
  79. package/dist/index.d.ts +1 -0
  80. package/dist/index.js +7 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/logger/core/logManager.js +97 -0
  83. package/dist/logger/core/logManager.js.map +1 -0
  84. package/dist/logger/core/transportManager.js +60 -0
  85. package/dist/logger/core/transportManager.js.map +1 -0
  86. package/dist/logger/enums/logLevelEnum.js +12 -0
  87. package/dist/logger/enums/logLevelEnum.js.map +1 -0
  88. package/dist/logger/index.js +8 -0
  89. package/dist/logger/index.js.map +1 -0
  90. package/dist/logger/logMessageBuilder.js +43 -0
  91. package/dist/logger/logMessageBuilder.js.map +1 -0
  92. package/dist/logger/logger.js +10 -0
  93. package/dist/logger/logger.js.map +1 -0
  94. package/dist/logger/transports/consoleTransport.js +32 -0
  95. package/dist/logger/transports/consoleTransport.js.map +1 -0
  96. package/dist/models/CampaignModel.d.ts +32 -0
  97. package/dist/models/CampaignModel.js +149 -0
  98. package/dist/models/CampaignModel.js.map +1 -0
  99. package/dist/models/FeatureModel.d.ts +20 -0
  100. package/dist/models/FeatureModel.js +72 -0
  101. package/dist/models/FeatureModel.js.map +1 -0
  102. package/dist/models/ImpactCampaignModel.d.ts +7 -0
  103. package/dist/models/ImpactCampaignModel.js +21 -0
  104. package/dist/models/ImpactCampaignModel.js.map +1 -0
  105. package/dist/models/MetricModel.d.ts +12 -0
  106. package/dist/models/MetricModel.js +25 -0
  107. package/dist/models/MetricModel.js.map +1 -0
  108. package/dist/models/RuleModel.d.ts +11 -0
  109. package/dist/models/RuleModel.js +29 -0
  110. package/dist/models/RuleModel.js.map +1 -0
  111. package/dist/models/SettingsModel.d.ts +28 -0
  112. package/dist/models/SettingsModel.js +70 -0
  113. package/dist/models/SettingsModel.js.map +1 -0
  114. package/dist/models/VariableModel.d.ts +18 -0
  115. package/dist/models/VariableModel.js +38 -0
  116. package/dist/models/VariableModel.js.map +1 -0
  117. package/dist/models/VariationModel.d.ts +29 -0
  118. package/dist/models/VariationModel.js +80 -0
  119. package/dist/models/VariationModel.js.map +1 -0
  120. package/dist/models/schemas/SettingsSchemaValidation.d.ts +13 -0
  121. package/dist/models/schemas/SettingsSchemaValidation.js +70 -0
  122. package/dist/models/schemas/SettingsSchemaValidation.js.map +1 -0
  123. package/dist/modules/decision-maker/index.d.ts +38 -0
  124. package/dist/modules/decision-maker/index.js +67 -0
  125. package/dist/modules/decision-maker/index.js.map +1 -0
  126. package/dist/modules/logger/core/logManager.d.ts +40 -0
  127. package/dist/modules/logger/core/logManager.js +97 -0
  128. package/dist/modules/logger/core/logManager.js.map +1 -0
  129. package/dist/modules/logger/core/transportManager.d.ts +22 -0
  130. package/dist/modules/logger/core/transportManager.js +60 -0
  131. package/dist/modules/logger/core/transportManager.js.map +1 -0
  132. package/dist/modules/logger/enums/logLevelEnum.d.ts +7 -0
  133. package/dist/modules/logger/enums/logLevelEnum.js +12 -0
  134. package/dist/modules/logger/enums/logLevelEnum.js.map +1 -0
  135. package/dist/modules/logger/index.d.ts +2 -0
  136. package/dist/modules/logger/index.js +8 -0
  137. package/dist/modules/logger/index.js.map +1 -0
  138. package/dist/modules/logger/logMessageBuilder.d.ts +21 -0
  139. package/dist/modules/logger/logMessageBuilder.js +43 -0
  140. package/dist/modules/logger/logMessageBuilder.js.map +1 -0
  141. package/dist/modules/logger/logger.d.ts +7 -0
  142. package/dist/modules/logger/logger.js +10 -0
  143. package/dist/modules/logger/logger.js.map +1 -0
  144. package/dist/modules/logger/transports/consoleTransport.d.ts +12 -0
  145. package/dist/modules/logger/transports/consoleTransport.js +32 -0
  146. package/dist/modules/logger/transports/consoleTransport.js.map +1 -0
  147. package/dist/modules/networking/client/networkClient.d.ts +7 -0
  148. package/dist/modules/networking/client/networkClient.js +117 -0
  149. package/dist/modules/networking/client/networkClient.js.map +1 -0
  150. package/dist/modules/networking/client/networkClientInterface.d.ts +6 -0
  151. package/dist/modules/networking/client/networkClientInterface.js +3 -0
  152. package/dist/modules/networking/client/networkClientInterface.js.map +1 -0
  153. package/dist/modules/networking/handlers/requestHandler.d.ts +5 -0
  154. package/dist/modules/networking/handlers/requestHandler.js +29 -0
  155. package/dist/modules/networking/handlers/requestHandler.js.map +1 -0
  156. package/dist/modules/networking/index.d.ts +6 -0
  157. package/dist/modules/networking/index.js +14 -0
  158. package/dist/modules/networking/index.js.map +1 -0
  159. package/dist/modules/networking/manager/networkManager.d.ts +16 -0
  160. package/dist/modules/networking/manager/networkManager.js +72 -0
  161. package/dist/modules/networking/manager/networkManager.js.map +1 -0
  162. package/dist/modules/networking/models/globalRequestModel.d.ts +22 -0
  163. package/dist/modules/networking/models/globalRequestModel.js +51 -0
  164. package/dist/modules/networking/models/globalRequestModel.js.map +1 -0
  165. package/dist/modules/networking/models/requestModel.d.ts +32 -0
  166. package/dist/modules/networking/models/requestModel.js +128 -0
  167. package/dist/modules/networking/models/requestModel.js.map +1 -0
  168. package/dist/modules/networking/models/responseModel.d.ts +15 -0
  169. package/dist/modules/networking/models/responseModel.js +34 -0
  170. package/dist/modules/networking/models/responseModel.js.map +1 -0
  171. package/dist/modules/segmentor/core/segmentationManger.d.ts +10 -0
  172. package/dist/modules/segmentor/core/segmentationManger.js +68 -0
  173. package/dist/modules/segmentor/core/segmentationManger.js.map +1 -0
  174. package/dist/modules/segmentor/enums/segmentOperandRegexEnum.d.ts +10 -0
  175. package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js +15 -0
  176. package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js.map +1 -0
  177. package/dist/modules/segmentor/enums/segmentOperandValueEnum.d.ts +8 -0
  178. package/dist/modules/segmentor/enums/segmentOperandValueEnum.js +13 -0
  179. package/dist/modules/segmentor/enums/segmentOperandValueEnum.js.map +1 -0
  180. package/dist/modules/segmentor/enums/segmentOperatorValueEnum.d.ts +15 -0
  181. package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js +20 -0
  182. package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js.map +1 -0
  183. package/dist/modules/segmentor/evaluators/segmentEvaluator.d.ts +15 -0
  184. package/dist/modules/segmentor/evaluators/segmentEvaluator.js +379 -0
  185. package/dist/modules/segmentor/evaluators/segmentEvaluator.js.map +1 -0
  186. package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.d.ts +12 -0
  187. package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js +248 -0
  188. package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js.map +1 -0
  189. package/dist/modules/segmentor/index.d.ts +3 -0
  190. package/dist/modules/segmentor/index.js +8 -0
  191. package/dist/modules/segmentor/index.js.map +1 -0
  192. package/dist/modules/segmentor/segmentation.d.ts +5 -0
  193. package/dist/modules/segmentor/segmentation.js +3 -0
  194. package/dist/modules/segmentor/segmentation.js.map +1 -0
  195. package/dist/modules/segmentor/utils/SegmentUtil.d.ts +2 -0
  196. package/dist/modules/segmentor/utils/SegmentUtil.js +26 -0
  197. package/dist/modules/segmentor/utils/SegmentUtil.js.map +1 -0
  198. package/dist/modules/storage/connector.d.ts +14 -0
  199. package/dist/modules/storage/connector.js +10 -0
  200. package/dist/modules/storage/connector.js.map +1 -0
  201. package/dist/modules/storage/connectors/index.d.ts +0 -0
  202. package/dist/modules/storage/connectors/index.js +3 -0
  203. package/dist/modules/storage/connectors/index.js.map +1 -0
  204. package/dist/modules/storage/connectors/memoryConnector.d.ts +26 -0
  205. package/dist/modules/storage/connectors/memoryConnector.js +103 -0
  206. package/dist/modules/storage/connectors/memoryConnector.js.map +1 -0
  207. package/dist/modules/storage/connectors/redisConnector.d.ts +0 -0
  208. package/dist/modules/storage/connectors/redisConnector.js +181 -0
  209. package/dist/modules/storage/connectors/redisConnector.js.map +1 -0
  210. package/dist/modules/storage/index.d.ts +1 -0
  211. package/dist/modules/storage/index.js +6 -0
  212. package/dist/modules/storage/index.js.map +1 -0
  213. package/dist/modules/storage/storage.d.ts +10 -0
  214. package/dist/modules/storage/storage.js +50 -0
  215. package/dist/modules/storage/storage.js.map +1 -0
  216. package/dist/networking/client/networkClient.js +117 -0
  217. package/dist/networking/client/networkClient.js.map +1 -0
  218. package/dist/networking/client/networkClientInterface.js +3 -0
  219. package/dist/networking/client/networkClientInterface.js.map +1 -0
  220. package/dist/networking/handlers/requestHandler.js +29 -0
  221. package/dist/networking/handlers/requestHandler.js.map +1 -0
  222. package/dist/networking/index.js +14 -0
  223. package/dist/networking/index.js.map +1 -0
  224. package/dist/networking/manager/networkManager.js +72 -0
  225. package/dist/networking/manager/networkManager.js.map +1 -0
  226. package/dist/networking/models/globalRequestModel.js +51 -0
  227. package/dist/networking/models/globalRequestModel.js.map +1 -0
  228. package/dist/networking/models/requestModel.js +107 -0
  229. package/dist/networking/models/requestModel.js.map +1 -0
  230. package/dist/networking/models/responseModel.js +34 -0
  231. package/dist/networking/models/responseModel.js.map +1 -0
  232. package/dist/segmentor/core/segmentationManger.js +25 -0
  233. package/dist/segmentor/core/segmentationManger.js.map +1 -0
  234. package/dist/segmentor/enums/segmentOperandRegexEnum.js +15 -0
  235. package/dist/segmentor/enums/segmentOperandRegexEnum.js.map +1 -0
  236. package/dist/segmentor/enums/segmentOperandValueEnum.js +13 -0
  237. package/dist/segmentor/enums/segmentOperandValueEnum.js.map +1 -0
  238. package/dist/segmentor/enums/segmentOperatorValueEnum.js +12 -0
  239. package/dist/segmentor/enums/segmentOperatorValueEnum.js.map +1 -0
  240. package/dist/segmentor/evaluators/segmentEvaluator.js +52 -0
  241. package/dist/segmentor/evaluators/segmentEvaluator.js.map +1 -0
  242. package/dist/segmentor/evaluators/segmentOperandEvaluator.js +158 -0
  243. package/dist/segmentor/evaluators/segmentOperandEvaluator.js.map +1 -0
  244. package/dist/segmentor/index.js +8 -0
  245. package/dist/segmentor/index.js.map +1 -0
  246. package/dist/segmentor/segmentation.js +3 -0
  247. package/dist/segmentor/segmentation.js.map +1 -0
  248. package/dist/segmentor/utils/SegmentUtil.js +27 -0
  249. package/dist/segmentor/utils/SegmentUtil.js.map +1 -0
  250. package/dist/services/CampaignDecisionService.d.ts +44 -0
  251. package/dist/services/CampaignDecisionService.js +175 -0
  252. package/dist/services/CampaignDecisionService.js.map +1 -0
  253. package/dist/services/HooksManager.d.ts +27 -0
  254. package/dist/services/HooksManager.js +40 -0
  255. package/dist/services/HooksManager.js.map +1 -0
  256. package/dist/services/SettingsManager.d.ts +21 -0
  257. package/dist/services/SettingsManager.js +168 -0
  258. package/dist/services/SettingsManager.js.map +1 -0
  259. package/dist/services/StorageService.d.ts +5 -0
  260. package/dist/services/StorageService.js +94 -0
  261. package/dist/services/StorageService.js.map +1 -0
  262. package/dist/services/UrlService.d.ts +13 -0
  263. package/dist/services/UrlService.js +37 -0
  264. package/dist/services/UrlService.js.map +1 -0
  265. package/dist/types/common.d.ts +2 -0
  266. package/dist/types/common.js +3 -0
  267. package/dist/types/common.js.map +1 -0
  268. package/dist/utils/CampaignUtil.d.ts +23 -0
  269. package/dist/utils/CampaignUtil.js +228 -0
  270. package/dist/utils/CampaignUtil.js.map +1 -0
  271. package/dist/utils/DataTypeUtil.d.ts +17 -0
  272. package/dist/utils/DataTypeUtil.js +86 -0
  273. package/dist/utils/DataTypeUtil.js.map +1 -0
  274. package/dist/utils/DecisionUtil.d.ts +4 -0
  275. package/dist/utils/DecisionUtil.js +197 -0
  276. package/dist/utils/DecisionUtil.js.map +1 -0
  277. package/dist/utils/FunctionUtil.d.ts +13 -0
  278. package/dist/utils/FunctionUtil.js +121 -0
  279. package/dist/utils/FunctionUtil.js.map +1 -0
  280. package/dist/utils/LogMessageUtil.d.ts +16 -0
  281. package/dist/utils/LogMessageUtil.js +53 -0
  282. package/dist/utils/LogMessageUtil.js.map +1 -0
  283. package/dist/utils/MegUtil.d.ts +7 -0
  284. package/dist/utils/MegUtil.js +413 -0
  285. package/dist/utils/MegUtil.js.map +1 -0
  286. package/dist/utils/NetworkUtil.d.ts +140 -0
  287. package/dist/utils/NetworkUtil.js +238 -0
  288. package/dist/utils/NetworkUtil.js.map +1 -0
  289. package/dist/utils/PromiseUtil.d.ts +1 -0
  290. package/dist/utils/PromiseUtil.js +13 -0
  291. package/dist/utils/PromiseUtil.js.map +1 -0
  292. package/dist/utils/SettingsUtil.d.ts +2 -0
  293. package/dist/utils/SettingsUtil.js +17 -0
  294. package/dist/utils/SettingsUtil.js.map +1 -0
  295. package/dist/utils/UuidUtil.d.ts +2 -0
  296. package/dist/utils/UuidUtil.js +30 -0
  297. package/dist/utils/UuidUtil.js.map +1 -0
  298. package/dist/utils/WebServiceUtil.d.ts +4 -0
  299. package/dist/utils/WebServiceUtil.js +93 -0
  300. package/dist/utils/WebServiceUtil.js.map +1 -0
  301. package/dist/utils/logMessageBuilder.d.ts +21 -0
  302. package/dist/utils/logMessageBuilder.js +43 -0
  303. package/dist/utils/logMessageBuilder.js.map +1 -0
  304. package/lib/VWO.ts +55 -0
  305. package/lib/VWOBuilder.ts +237 -0
  306. package/lib/VWOClient.ts +321 -0
  307. package/lib/api/GetFlag.ts +458 -0
  308. package/lib/api/GetVariable.ts +0 -0
  309. package/lib/api/GetVariables.ts +0 -0
  310. package/lib/api/SetAttribute.ts +33 -0
  311. package/lib/api/TrackEvent.ts +52 -0
  312. package/lib/constants/index.ts +35 -0
  313. package/lib/constants/url.ts +7 -0
  314. package/lib/decorators/StorageDecorator.ts +98 -0
  315. package/lib/enums/ApiEnum.ts +4 -0
  316. package/lib/enums/EventEnum.ts +4 -0
  317. package/lib/enums/HeadersEnum.ts +4 -0
  318. package/lib/enums/HooksEnum.ts +11 -0
  319. package/lib/enums/LogLevelEnum.ts +7 -0
  320. package/lib/enums/StatusEnum.ts +4 -0
  321. package/lib/enums/StorageEnum.ts +8 -0
  322. package/lib/enums/UrlEnum.ts +13 -0
  323. package/lib/enums/campaignTypeEnum.ts +5 -0
  324. package/lib/enums/logMessages/DebugLogMessageEnum.ts +3 -0
  325. package/lib/enums/logMessages/ErrorLogMessageEnum.ts +3 -0
  326. package/lib/index.ts +1 -0
  327. package/lib/models/CampaignModel.ts +176 -0
  328. package/lib/models/FeatureModel.ts +81 -0
  329. package/lib/models/ImpactCampaignModel.ts +20 -0
  330. package/lib/models/MetricModel.ts +31 -0
  331. package/lib/models/RuleModel.ts +35 -0
  332. package/lib/models/SettingsModel.ts +95 -0
  333. package/lib/models/VariableModel.ts +51 -0
  334. package/lib/models/VariationModel.ts +101 -0
  335. package/lib/models/schemas/SettingsSchemaValidation.ts +83 -0
  336. package/lib/modules/decision-maker/index.ts +65 -0
  337. package/lib/modules/logger/core/logManager.ts +113 -0
  338. package/lib/modules/logger/core/transportManager.ts +76 -0
  339. package/lib/modules/logger/enums/logLevelEnum.ts +7 -0
  340. package/lib/modules/logger/index.ts +2 -0
  341. package/lib/modules/logger/logMessageBuilder.ts +60 -0
  342. package/lib/modules/logger/logger.ts +7 -0
  343. package/lib/modules/logger/transports/consoleTransport.ts +37 -0
  344. package/lib/modules/networking/client/networkClient.ts +128 -0
  345. package/lib/modules/networking/client/networkClientInterface.ts +8 -0
  346. package/lib/modules/networking/handlers/requestHandler.ts +28 -0
  347. package/lib/modules/networking/index.ts +6 -0
  348. package/lib/modules/networking/manager/networkManager.ts +77 -0
  349. package/lib/modules/networking/models/globalRequestModel.ts +69 -0
  350. package/lib/modules/networking/models/requestModel.ts +164 -0
  351. package/lib/modules/networking/models/responseModel.ts +40 -0
  352. package/lib/modules/segmentor/core/segmentationManger.ts +22 -0
  353. package/lib/modules/segmentor/enums/segmentOperandRegexEnum.ts +10 -0
  354. package/lib/modules/segmentor/enums/segmentOperandValueEnum.ts +8 -0
  355. package/lib/modules/segmentor/enums/segmentOperatorValueEnum.ts +15 -0
  356. package/lib/modules/segmentor/evaluators/segmentEvaluator.ts +239 -0
  357. package/lib/modules/segmentor/evaluators/segmentOperandEvaluator.ts +199 -0
  358. package/lib/modules/segmentor/index.ts +3 -0
  359. package/lib/modules/segmentor/segmentation.ts +6 -0
  360. package/lib/modules/segmentor/utils/SegmentUtil.ts +23 -0
  361. package/lib/modules/storage/connector.ts +25 -0
  362. package/lib/modules/storage/connectors/index.ts +2 -0
  363. package/lib/modules/storage/connectors/memoryConnector.ts +115 -0
  364. package/lib/modules/storage/connectors/redisConnector.ts +180 -0
  365. package/lib/modules/storage/index.ts +1 -0
  366. package/lib/modules/storage/storage.ts +48 -0
  367. package/lib/services/CampaignDecisionService.ts +160 -0
  368. package/lib/services/HooksManager.ts +50 -0
  369. package/lib/services/SettingsManager.ts +167 -0
  370. package/lib/services/StorageService.ts +53 -0
  371. package/lib/services/UrlService.ts +50 -0
  372. package/lib/types/common.ts +13 -0
  373. package/lib/utils/CampaignUtil.ts +236 -0
  374. package/lib/utils/DataTypeUtil.ts +87 -0
  375. package/lib/utils/DecisionUtil.ts +180 -0
  376. package/lib/utils/FunctionUtil.ts +105 -0
  377. package/lib/utils/LogMessageUtil.ts +52 -0
  378. package/lib/utils/MegUtil.ts +408 -0
  379. package/lib/utils/NetworkUtil.ts +262 -0
  380. package/lib/utils/PromiseUtil.ts +10 -0
  381. package/lib/utils/SettingsUtil.ts +18 -0
  382. package/lib/utils/UuidUtil.ts +33 -0
  383. package/lib/utils/WebServiceUtil.ts +60 -0
  384. package/lib/utils/logMessageBuilder.ts +60 -0
  385. package/package.json +70 -0
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SegmentOperandEvaluator = void 0;
4
+ var SegmentUtil_1 = require("../utils/SegmentUtil");
5
+ var segmentOperandValueEnum_1 = require("../enums/segmentOperandValueEnum");
6
+ var segmentOperandRegexEnum_1 = require("../enums/segmentOperandRegexEnum");
7
+ var DataTypeUtil_1 = require("../../utils/DataTypeUtil");
8
+ var SegmentOperandEvaluator = /** @class */ (function () {
9
+ function SegmentOperandEvaluator() {
10
+ }
11
+ SegmentOperandEvaluator.prototype.evaluateCustomVariableDSL = function (dslOperandValue, properties) {
12
+ var _a = (0, SegmentUtil_1.getKeyValue)(dslOperandValue), key = _a.key, value = _a.value;
13
+ var operandKey = key;
14
+ var operand = value;
15
+ if (!Object.prototype.hasOwnProperty.call(properties, operandKey)) {
16
+ return false;
17
+ }
18
+ var tagValue = properties[operandKey];
19
+ tagValue = this.preProcessTagValue(tagValue);
20
+ var _b = this.preProcessOperandValue(operand), operandType = _b.operandType, operandValue = _b.operandValue;
21
+ var processedValue = this.processValues(operandValue, tagValue);
22
+ tagValue = processedValue.tagValue;
23
+ return this.extractResult(operandType, processedValue.operandValue, tagValue);
24
+ };
25
+ SegmentOperandEvaluator.prototype.evaluateUserDSL = function (dslOperandValue, properties) {
26
+ var users = dslOperandValue.split(',');
27
+ for (var i = 0; i < users.length; i++) {
28
+ if (users[i].trim() === properties._vwoUserId) {
29
+ return true;
30
+ }
31
+ }
32
+ return false;
33
+ };
34
+ SegmentOperandEvaluator.prototype.preProcessTagValue = function (tagValue) {
35
+ if (tagValue === undefined) {
36
+ tagValue = '';
37
+ }
38
+ if ((0, DataTypeUtil_1.isBoolean)(tagValue)) {
39
+ if (tagValue) {
40
+ tagValue = true;
41
+ }
42
+ else {
43
+ tagValue = false;
44
+ }
45
+ }
46
+ if (tagValue !== null) {
47
+ tagValue = tagValue.toString();
48
+ }
49
+ return tagValue;
50
+ };
51
+ SegmentOperandEvaluator.prototype.preProcessOperandValue = function (operand) {
52
+ var operandType;
53
+ var operandValue;
54
+ // Pre process operand value
55
+ if ((0, SegmentUtil_1.matchWithRegex)(operand, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.LOWER_MATCH)) {
56
+ operandType = segmentOperandValueEnum_1.SegmentOperandValueEnum.LOWER_VALUE;
57
+ operandValue = this.extractOperandValue(operand, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.LOWER_MATCH);
58
+ }
59
+ else if ((0, SegmentUtil_1.matchWithRegex)(operand, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.WILDCARD_MATCH)) {
60
+ operandValue = this.extractOperandValue(operand, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.WILDCARD_MATCH);
61
+ var startingStar = (0, SegmentUtil_1.matchWithRegex)(operandValue, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.STARTING_STAR);
62
+ var endingStar = (0, SegmentUtil_1.matchWithRegex)(operandValue, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.ENDING_STAR);
63
+ // In case of wildcard, the operand type is further divided into contains, startswith and endswith
64
+ if (startingStar && endingStar) {
65
+ operandType = segmentOperandValueEnum_1.SegmentOperandValueEnum.STARTING_ENDING_STAR_VALUE;
66
+ }
67
+ else if (startingStar) {
68
+ operandType = segmentOperandValueEnum_1.SegmentOperandValueEnum.STARTING_STAR_VALUE;
69
+ }
70
+ else if (endingStar) {
71
+ operandType = segmentOperandValueEnum_1.SegmentOperandValueEnum.ENDING_STAR_VALUE;
72
+ }
73
+ operandValue = operandValue
74
+ .replace(new RegExp(segmentOperandRegexEnum_1.SegmentOperandRegexEnum.STARTING_STAR), '')
75
+ .replace(new RegExp(segmentOperandRegexEnum_1.SegmentOperandRegexEnum.ENDING_STAR), '');
76
+ }
77
+ else if ((0, SegmentUtil_1.matchWithRegex)(operand, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.REGEX_MATCH)) {
78
+ operandType = segmentOperandValueEnum_1.SegmentOperandValueEnum.REGEX_VALUE;
79
+ operandValue = this.extractOperandValue(operand, segmentOperandRegexEnum_1.SegmentOperandRegexEnum.REGEX_MATCH);
80
+ }
81
+ else {
82
+ operandType = segmentOperandValueEnum_1.SegmentOperandValueEnum.EQUAL_VALUE;
83
+ operandValue = operand;
84
+ }
85
+ return {
86
+ operandType: operandType,
87
+ operandValue: operandValue
88
+ };
89
+ };
90
+ SegmentOperandEvaluator.prototype.extractOperandValue = function (operand, regex) {
91
+ return (0, SegmentUtil_1.matchWithRegex)(operand, regex) && (0, SegmentUtil_1.matchWithRegex)(operand, regex)[1];
92
+ };
93
+ SegmentOperandEvaluator.prototype.processValues = function (operandValue, tagValue) {
94
+ // this is atomic, either both will be processed or none
95
+ var processedOperandValue = parseFloat(operandValue);
96
+ var processedTagValue = parseFloat(tagValue);
97
+ if (!processedOperandValue || !processedTagValue) {
98
+ return {
99
+ operandValue: operandValue,
100
+ tagValue: tagValue
101
+ };
102
+ }
103
+ // // now we have surity that both are numbers
104
+ // // now we can convert them independently to int type if they
105
+ // // are int rather than floats
106
+ // if (processedOperandValue === Math.floor(processedOperandValue)) {
107
+ // processedOperandValue = parseInt(processedOperandValue, 10);
108
+ // }
109
+ // if (processedTagValue === Math.floor(processedTagValue)) {
110
+ // processedTagValue = parseInt(processedTagValue, 10);
111
+ // }
112
+ // convert it back to string and return
113
+ return {
114
+ operandValue: processedOperandValue.toString(),
115
+ tagValue: processedTagValue.toString()
116
+ };
117
+ };
118
+ SegmentOperandEvaluator.prototype.extractResult = function (operandType, operandValue, tagValue) {
119
+ var result;
120
+ switch (operandType) {
121
+ case segmentOperandValueEnum_1.SegmentOperandValueEnum.LOWER_VALUE:
122
+ if (tagValue !== null) {
123
+ result = operandValue.toLowerCase() === tagValue.toLowerCase();
124
+ }
125
+ break;
126
+ case segmentOperandValueEnum_1.SegmentOperandValueEnum.STARTING_ENDING_STAR_VALUE:
127
+ if (tagValue !== null) {
128
+ result = tagValue.indexOf(operandValue) > -1;
129
+ }
130
+ break;
131
+ case segmentOperandValueEnum_1.SegmentOperandValueEnum.STARTING_STAR_VALUE:
132
+ if (tagValue !== null) {
133
+ result = tagValue.endsWith(operandValue);
134
+ }
135
+ break;
136
+ case segmentOperandValueEnum_1.SegmentOperandValueEnum.ENDING_STAR_VALUE:
137
+ if (tagValue !== null) {
138
+ result = tagValue.startsWith(operandValue);
139
+ }
140
+ break;
141
+ case segmentOperandValueEnum_1.SegmentOperandValueEnum.REGEX_VALUE:
142
+ try {
143
+ var pattern = new RegExp(operandValue, 'g');
144
+ result = !!pattern.test(tagValue);
145
+ }
146
+ catch (err) {
147
+ result = false;
148
+ }
149
+ break;
150
+ default:
151
+ result = tagValue === operandValue;
152
+ }
153
+ return result;
154
+ };
155
+ return SegmentOperandEvaluator;
156
+ }());
157
+ exports.SegmentOperandEvaluator = SegmentOperandEvaluator;
158
+ //# sourceMappingURL=segmentOperandEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentOperandEvaluator.js","sourceRoot":"","sources":["../../../lib/segmentor/evaluators/segmentOperandEvaluator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SegmentationManager = exports.SegmentEvaluator = void 0;
4
+ var segmentEvaluator_1 = require("./evaluators/segmentEvaluator");
5
+ Object.defineProperty(exports, "SegmentEvaluator", { enumerable: true, get: function () { return segmentEvaluator_1.SegmentEvaluator; } });
6
+ var segmentationManger_1 = require("./core/segmentationManger");
7
+ Object.defineProperty(exports, "SegmentationManager", { enumerable: true, get: function () { return segmentationManger_1.SegmentationManager; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/segmentor/index.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AAEzB,gEAAgE;AAAvD,yHAAA,mBAAmB,OAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=segmentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentation.js","sourceRoot":"","sources":["../../lib/segmentor/segmentation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchWithRegex = exports.getKeyValue = void 0;
4
+ var sdk_utils_1 = require("@wingify/sdk-utils");
5
+ var isObject = sdk_utils_1.dataTypeUtil.isObject;
6
+ function getKeyValue(obj) {
7
+ if (!isObject(obj)) {
8
+ return;
9
+ }
10
+ var key = Object.keys(obj)[0];
11
+ var value = obj[key];
12
+ return {
13
+ key: key,
14
+ value: value
15
+ };
16
+ }
17
+ exports.getKeyValue = getKeyValue;
18
+ function matchWithRegex(string, regex) {
19
+ try {
20
+ return string.match(new RegExp(regex));
21
+ }
22
+ catch (err) {
23
+ return null;
24
+ }
25
+ }
26
+ exports.matchWithRegex = matchWithRegex;
27
+ //# sourceMappingURL=SegmentUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentUtil.js","sourceRoot":"","sources":["../../../lib/segmentor/utils/SegmentUtil.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAG1C,IAAA,QAAQ,GAAK,wBAAY,SAAjB,CAAkB;AAElC,SAAgB,WAAW,CAAC,GAA4B;IACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO;QACL,GAAG,KAAA;QACH,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AAXD,kCAWC;AAED,SAAgB,cAAc,CAAC,MAAc,EAAE,KAAa;IAC1D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAND,wCAMC"}
@@ -0,0 +1,44 @@
1
+ import { VariationModel } from '../models/VariationModel';
2
+ import { CampaignModel } from '../models/CampaignModel';
3
+ import { SettingsModel } from '../models/SettingsModel';
4
+ interface ICampaignDecisionService {
5
+ isUserPartOfCampaign(userId: any, campaign: CampaignModel): boolean;
6
+ getVariation(variations: Array<VariationModel>, bucketValue: number): VariationModel;
7
+ checkInRange(variation: VariationModel, bucketValue: number): VariationModel;
8
+ bucketUserToVariation(userId: any, accountId: any, campaign: CampaignModel): VariationModel;
9
+ getDecision(campaign: CampaignModel, settings: SettingsModel, dsl: any, properties: any): Promise<any>;
10
+ getVariationAlloted(userId: any, accountId: any, campaign: CampaignModel): VariationModel;
11
+ }
12
+ export declare class CampaignDecisionService implements ICampaignDecisionService {
13
+ /**
14
+ * Calculate if this user should become part of the campaign or not
15
+ *
16
+ * @param {String} userId the unique ID assigned to a user
17
+ * @param {Object} campaign fot getting the value of traffic allotted to the campaign
18
+ *
19
+ * @return {Boolean} if User is a part of Campaign or not
20
+ */
21
+ isUserPartOfCampaign(userId: any, campaign: CampaignModel): boolean;
22
+ /**
23
+ * Returns the Variation by checking the Start and End Bucket Allocations of each Variation
24
+ *
25
+ * @param {Object} campaign which contains the variations
26
+ * @param {Number} bucketValue the bucket Value of the user
27
+ *
28
+ * @return {Object|null} variation data allotted to the user or null if not
29
+ */
30
+ getVariation(variations: Array<VariationModel>, bucketValue: number): VariationModel;
31
+ checkInRange(variation: VariationModel, bucketValue: number): VariationModel;
32
+ /**
33
+ * Validates the User ID and generates Variation into which the User is bucketed in.
34
+ *
35
+ * @param {String} userId the unique ID assigned to User
36
+ * @param {Object} campaign the Campaign of which User is a part of
37
+ *
38
+ * @return {Object|null} variation data into which user is bucketed in or null if not
39
+ */
40
+ bucketUserToVariation(userId: any, accountId: any, campaign: CampaignModel): VariationModel;
41
+ getDecision(campaign: CampaignModel, settings: SettingsModel, context: any): Promise<any>;
42
+ getVariationAlloted(userId: any, accountId: any, campaign: CampaignModel): VariationModel;
43
+ }
44
+ export {};
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.CampaignDecisionService = void 0;
40
+ var decision_maker_1 = require("../modules/decision-maker");
41
+ var logger_1 = require("../modules/logger");
42
+ var segmentor_1 = require("../modules/segmentor");
43
+ // import { Campaign } from '../adapters/campaign';
44
+ var constants_1 = require("../constants");
45
+ var DataTypeUtil_1 = require("../utils/DataTypeUtil");
46
+ var campaignTypeEnum_1 = require("../enums/campaignTypeEnum");
47
+ var CampaignDecisionService = /** @class */ (function () {
48
+ function CampaignDecisionService() {
49
+ }
50
+ /**
51
+ * Calculate if this user should become part of the campaign or not
52
+ *
53
+ * @param {String} userId the unique ID assigned to a user
54
+ * @param {Object} campaign fot getting the value of traffic allotted to the campaign
55
+ *
56
+ * @return {Boolean} if User is a part of Campaign or not
57
+ */
58
+ CampaignDecisionService.prototype.isUserPartOfCampaign = function (userId, campaign) {
59
+ // if (!ValidateUtil.isValidValue(userId) || !campaign) {
60
+ // return false;
61
+ // }
62
+ if (!campaign || !userId) {
63
+ return false;
64
+ }
65
+ var trafficAllocation;
66
+ if (campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.ROLLOUT || campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.PERSONALIZE) {
67
+ trafficAllocation = campaign.getVariations()[0].getWeight();
68
+ }
69
+ else {
70
+ trafficAllocation = campaign.getTraffic();
71
+ }
72
+ var valueAssignedToUser = new decision_maker_1.DecisionMaker().getBucketValueForUser("".concat(campaign.getId(), "_").concat(userId));
73
+ var isUserPart = valueAssignedToUser !== 0 && valueAssignedToUser <= trafficAllocation;
74
+ logger_1.LogManager.Instance.debug("user:".concat(userId, " part of campaign ").concat(campaign.getKey(), " ? ").concat(isUserPart));
75
+ return isUserPart;
76
+ };
77
+ /**
78
+ * Returns the Variation by checking the Start and End Bucket Allocations of each Variation
79
+ *
80
+ * @param {Object} campaign which contains the variations
81
+ * @param {Number} bucketValue the bucket Value of the user
82
+ *
83
+ * @return {Object|null} variation data allotted to the user or null if not
84
+ */
85
+ CampaignDecisionService.prototype.getVariation = function (variations, bucketValue) {
86
+ for (var i = 0; i < variations.length; i++) {
87
+ var variation = variations[i];
88
+ if (bucketValue >= variation.getStartRangeVariation() && bucketValue <= variation.getEndRangeVariation()) {
89
+ return variation;
90
+ }
91
+ }
92
+ return null;
93
+ };
94
+ CampaignDecisionService.prototype.checkInRange = function (variation, bucketValue) {
95
+ if (bucketValue >= variation.getStartRangeVariation() && bucketValue <= variation.getEndRangeVariation()) {
96
+ return variation;
97
+ }
98
+ };
99
+ /**
100
+ * Validates the User ID and generates Variation into which the User is bucketed in.
101
+ *
102
+ * @param {String} userId the unique ID assigned to User
103
+ * @param {Object} campaign the Campaign of which User is a part of
104
+ *
105
+ * @return {Object|null} variation data into which user is bucketed in or null if not
106
+ */
107
+ CampaignDecisionService.prototype.bucketUserToVariation = function (userId, accountId, campaign) {
108
+ var multiplier;
109
+ // if (!ValidateUtil.isValidValue(userId)) {
110
+ // return null;
111
+ // }
112
+ if (!campaign || !userId) {
113
+ return null;
114
+ }
115
+ if (campaign.getTraffic()) {
116
+ multiplier = 1;
117
+ }
118
+ var percentTraffic = campaign.getTraffic();
119
+ var hashValue = new decision_maker_1.DecisionMaker().generateHashValue("".concat(campaign.getId(), "_").concat(accountId, "_").concat(userId));
120
+ var bucketValue = new decision_maker_1.DecisionMaker().generateBucketValue(hashValue, constants_1.Constants.MAX_TRAFFIC_VALUE, multiplier);
121
+ logger_1.LogManager.Instance.debug("user:".concat(userId, " for campaign:").concat(campaign.getKey(), " having percenttraffic:").concat(percentTraffic, " got bucketValue as ").concat(bucketValue, " and hashvalue:").concat(hashValue));
122
+ return this.getVariation(campaign.getVariations(), bucketValue);
123
+ };
124
+ CampaignDecisionService.prototype.getDecision = function (campaign, settings, context) {
125
+ return __awaiter(this, void 0, void 0, function () {
126
+ var segments, preSegmentationResult;
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0:
130
+ segments = {};
131
+ if (campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.ROLLOUT || campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.PERSONALIZE) {
132
+ segments = campaign.getVariations()[0].getSegments();
133
+ }
134
+ else if (campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.AB) {
135
+ segments = campaign.getSegments();
136
+ }
137
+ if (!((0, DataTypeUtil_1.isObject)(segments) && !Object.keys(segments).length)) return [3 /*break*/, 1];
138
+ logger_1.LogManager.Instance.debug("For userId:".concat(context.user.id, " of Campaign:").concat(campaign.getKey(), ", segment was missing, hence skipping segmentation"));
139
+ return [2 /*return*/, true];
140
+ case 1: return [4 /*yield*/, segmentor_1.SegmentationManager.Instance.validateSegmentation(segments, context.user.customVariables, settings, context.user)];
141
+ case 2:
142
+ preSegmentationResult = _a.sent();
143
+ if (!preSegmentationResult) {
144
+ logger_1.LogManager.Instance.info("Segmentation failed for userId:".concat(context.user.id, " of Campaign:").concat(campaign.getKey()));
145
+ return [2 /*return*/, false];
146
+ }
147
+ logger_1.LogManager.Instance.info("Segmentation passed for userId:".concat(context.user.id, " of Campaign:").concat(campaign.getKey()));
148
+ return [2 /*return*/, true];
149
+ }
150
+ });
151
+ });
152
+ };
153
+ CampaignDecisionService.prototype.getVariationAlloted = function (userId, accountId, campaign) {
154
+ var isUserPart = this.isUserPartOfCampaign(userId, campaign);
155
+ if (campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.ROLLOUT || campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.PERSONALIZE) {
156
+ if (isUserPart) {
157
+ return campaign.getVariations()[0];
158
+ }
159
+ else {
160
+ return null;
161
+ }
162
+ }
163
+ else {
164
+ if (isUserPart) {
165
+ return this.bucketUserToVariation(userId, accountId, campaign);
166
+ }
167
+ else {
168
+ return null;
169
+ }
170
+ }
171
+ };
172
+ return CampaignDecisionService;
173
+ }());
174
+ exports.CampaignDecisionService = CampaignDecisionService;
175
+ //# sourceMappingURL=CampaignDecisionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CampaignDecisionService.js","sourceRoot":"","sources":["../../lib/services/CampaignDecisionService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ interface Options {
2
+ integrations?: {
3
+ callback?: (properties: Record<string, any>) => void;
4
+ };
5
+ }
6
+ declare class HooksManager {
7
+ private callback;
8
+ private isCallBackFunction;
9
+ private decision;
10
+ constructor(options?: Options);
11
+ /**
12
+ * Executes the callback
13
+ * @param {Record<string, any>} properties Properties from the callback
14
+ */
15
+ execute(properties: Record<string, any>): void;
16
+ /**
17
+ * Sets properties to the decision object
18
+ * @param {Record<string, any>} properties Properties to set
19
+ */
20
+ set(properties: Record<string, any>): void;
21
+ /**
22
+ * Retrieves the decision object
23
+ * @returns {Record<string, any>} The decision object
24
+ */
25
+ get(): Record<string, any>;
26
+ }
27
+ export default HooksManager;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var DataTypeUtil_1 = require("../utils/DataTypeUtil");
4
+ var HooksManager = /** @class */ (function () {
5
+ function HooksManager(options) {
6
+ if (options === void 0) { options = {}; }
7
+ var _a;
8
+ this.callback = (_a = options.integrations) === null || _a === void 0 ? void 0 : _a.callback;
9
+ this.isCallBackFunction = (0, DataTypeUtil_1.isFunction)(this.callback);
10
+ this.decision = {};
11
+ }
12
+ /**
13
+ * Executes the callback
14
+ * @param {Record<string, any>} properties Properties from the callback
15
+ */
16
+ HooksManager.prototype.execute = function (properties) {
17
+ if (this.isCallBackFunction) {
18
+ this.callback(properties);
19
+ }
20
+ };
21
+ /**
22
+ * Sets properties to the decision object
23
+ * @param {Record<string, any>} properties Properties to set
24
+ */
25
+ HooksManager.prototype.set = function (properties) {
26
+ if (this.isCallBackFunction) {
27
+ this.decision = properties;
28
+ }
29
+ };
30
+ /**
31
+ * Retrieves the decision object
32
+ * @returns {Record<string, any>} The decision object
33
+ */
34
+ HooksManager.prototype.get = function () {
35
+ return this.decision;
36
+ };
37
+ return HooksManager;
38
+ }());
39
+ exports.default = HooksManager;
40
+ //# sourceMappingURL=HooksManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HooksManager.js","sourceRoot":"","sources":["../../lib/services/HooksManager.ts"],"names":[],"mappings":";;AACA,sDAAmD;AAQnD;IAKE,sBAAY,OAAqB;QAArB,wBAAA,EAAA,YAAqB;;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,YAAY,0CAAE,QAAQ,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,8BAAO,GAAP,UAAQ,UAA+B;QACrC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,0BAAG,GAAH,UAAI,UAA+B;QACjC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,0BAAG,GAAH;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACH,mBAAC;AAAD,CAAC,AAtCD,IAsCC;AAED,kBAAe,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { dynamic } from '../types/common';
2
+ import { SettingsModel } from '../models/SettingsModel';
3
+ export declare class SettingsManager implements ISettingsManager {
4
+ sdkKey: string;
5
+ accountId: any;
6
+ expiry: number;
7
+ networkTimeout: number;
8
+ settingsFileUrl: string;
9
+ settingsFilePort: number;
10
+ constructor(options: Record<string, any>);
11
+ private setSettingsExpiry;
12
+ private fetchSettingsAndCacheInStorage;
13
+ fetchSettings(): Promise<SettingsModel>;
14
+ getSettings(forceFetch?: boolean): Promise<SettingsModel>;
15
+ }
16
+ interface ISettingsManager {
17
+ sdkKey: string;
18
+ getSettings(forceFetch: boolean): Promise<dynamic>;
19
+ fetchSettings(): Promise<dynamic>;
20
+ }
21
+ export {};