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,394 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.evaluateRule = exports.FlagApi = void 0;
51
+ var PromiseUtil_1 = require("../utils/PromiseUtil");
52
+ var FunctionUtil_1 = require("../utils/FunctionUtil");
53
+ var DecisionUtil_1 = require("../utils/DecisionUtil");
54
+ var CampaignModel_1 = require("../models/CampaignModel");
55
+ var campaignTypeEnum_1 = require("../enums/campaignTypeEnum");
56
+ var NetworkUtil_1 = require("../utils/NetworkUtil");
57
+ var EventEnum_1 = require("../enums/EventEnum");
58
+ var DataTypeUtil_1 = require("../utils/DataTypeUtil");
59
+ var logger_1 = require("../modules/logger");
60
+ var ApiEnum_1 = require("../enums/ApiEnum");
61
+ var StorageDecorator_1 = require("../decorators/StorageDecorator");
62
+ var StorageService_1 = require("../services/StorageService");
63
+ var VariableModel_1 = require("../models/VariableModel");
64
+ var CampaignUtil_1 = require("../utils/CampaignUtil");
65
+ var MegUtil_1 = require("../utils/MegUtil");
66
+ var FlagApi = /** @class */ (function () {
67
+ function FlagApi() {
68
+ }
69
+ FlagApi.prototype.get = function (featureKey, settings, context, hookManager) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var decision, isEnabled, rolloutVariationToReturn, experimentVariationToReturn, rulesInformation, deferredObject, evaluatedFeatureMap, shouldCheckForAbPersonalise, storageService, storedData, campArray, variation_1, variation, featureInfo, ruleToTrack, feature, rollOutRules, _i, rollOutRules_1, rule, _a, evaluateRuleResult, temp, tempCampArray, campaign, _b, variation, tempCampArray, allRules, listOfMegCampaignsGroups, ruleIndex, campaignToSkip, _loop_1, _c, allRules_1, rule, state_1, campaign, _d, variation, tempCampArray;
72
+ var _e, _f;
73
+ return __generator(this, function (_g) {
74
+ switch (_g.label) {
75
+ case 0:
76
+ decision = this.createDecision(settings, featureKey, context);
77
+ isEnabled = false;
78
+ rolloutVariationToReturn = null;
79
+ experimentVariationToReturn = null;
80
+ rulesInformation = {};
81
+ deferredObject = new PromiseUtil_1.Deferred();
82
+ evaluatedFeatureMap = new Map();
83
+ shouldCheckForAbPersonalise = false;
84
+ storageService = new StorageService_1.StorageService();
85
+ return [4 /*yield*/, new StorageDecorator_1.StorageDecorator().getFeatureFromStorage(featureKey, context.user, storageService)];
86
+ case 1:
87
+ storedData = _g.sent();
88
+ campArray = [];
89
+ if (storedData === null || storedData === void 0 ? void 0 : storedData.experimentVariationId) {
90
+ if (storedData.experimentKey) {
91
+ variation_1 = (0, CampaignUtil_1.getCampaignVariation)(settings, storedData.experimentKey, storedData.experimentVariationId);
92
+ if (variation_1) {
93
+ logger_1.LogManager.Instance.info("Variation ".concat(variation_1.getKey(), " found in storage for the user ").concat(context.user.id, " for the experiment campaign ").concat(storedData.experimentKey));
94
+ deferredObject.resolve({
95
+ isEnabled: function () { return true; },
96
+ getVariables: function () { return variation_1 === null || variation_1 === void 0 ? void 0 : variation_1.getVariables(); },
97
+ getVariable: function (key, defaultValue) {
98
+ var _a;
99
+ return ((_a = variation_1 === null || variation_1 === void 0 ? void 0 : variation_1.getVariables().find(function (variable) { return new VariableModel_1.VariableModel().modelFromDictionary(variable).getKey() === key; })) === null || _a === void 0 ? void 0 : _a.getValue()) || defaultValue;
100
+ },
101
+ });
102
+ return [2 /*return*/, deferredObject.promise];
103
+ }
104
+ }
105
+ }
106
+ else if ((storedData === null || storedData === void 0 ? void 0 : storedData.rolloutKey) && storedData.rolloutId) {
107
+ variation = (0, CampaignUtil_1.getRolloutVariation)(settings, storedData.rolloutKey, storedData.rolloutVariationId);
108
+ if (variation) {
109
+ logger_1.LogManager.Instance.info("Variation ".concat(variation.getKey(), " found in storage for the user ").concat(context.user.id, " for the rollout campaign ").concat(storedData.rolloutKey));
110
+ logger_1.LogManager.Instance.info("Evaluation experiement campaigns now for the user ".concat(context.user.id));
111
+ isEnabled = true;
112
+ rolloutVariationToReturn = variation;
113
+ featureInfo = {
114
+ rolloutId: storedData.rolloutId,
115
+ rolloutKey: storedData.rolloutKey,
116
+ rolloutVariationId: storedData.rolloutVariationId,
117
+ };
118
+ evaluatedFeatureMap.set(featureKey, featureInfo);
119
+ Object.assign(rulesInformation, featureInfo);
120
+ }
121
+ }
122
+ ruleToTrack = [];
123
+ feature = (0, FunctionUtil_1.getFeatureFromKey)(settings, featureKey);
124
+ if (!(0, DataTypeUtil_1.isObject)(feature) || feature === undefined) {
125
+ logger_1.LogManager.Instance.info("Feature not found for the key ".concat(featureKey));
126
+ deferredObject.resolve({
127
+ isEnabled: function () { return false; },
128
+ getVariables: function () { return []; },
129
+ getVariable: function (key, defaultValue) { return defaultValue; },
130
+ });
131
+ return [2 /*return*/, deferredObject.promise];
132
+ }
133
+ rollOutRules = (0, FunctionUtil_1.getSpecificRulesBasedOnType)(settings, featureKey, campaignTypeEnum_1.CampaignTypeEnum.ROLLOUT);
134
+ if (!(rollOutRules.length > 0 && !isEnabled)) return [3 /*break*/, 6];
135
+ _i = 0, rollOutRules_1 = rollOutRules;
136
+ _g.label = 2;
137
+ case 2:
138
+ if (!(_i < rollOutRules_1.length)) return [3 /*break*/, 5];
139
+ rule = rollOutRules_1[_i];
140
+ return [4 /*yield*/, (0, exports.evaluateRule)(settings, feature, rule, context, false, decision)];
141
+ case 3:
142
+ _a = _g.sent(), evaluateRuleResult = _a[0], temp = _a[1], tempCampArray = _a[2];
143
+ campArray = campArray.concat(tempCampArray);
144
+ if (evaluateRuleResult) {
145
+ ruleToTrack.push(rule);
146
+ evaluatedFeatureMap.set(featureKey, {
147
+ rolloutId: rule.id,
148
+ rolloutKey: rule.key,
149
+ rolloutVariationId: rule.variations[0].id,
150
+ });
151
+ return [3 /*break*/, 5];
152
+ }
153
+ return [3 /*break*/, 4]; // if rule does not satisfy, then check for other rule
154
+ case 4:
155
+ _i++;
156
+ return [3 /*break*/, 2];
157
+ case 5: return [3 /*break*/, 7];
158
+ case 6:
159
+ if (rollOutRules.length === 0) {
160
+ logger_1.LogManager.Instance.info('No Rollout rules present for the feature, checking rules for AB/Personalize');
161
+ shouldCheckForAbPersonalise = true;
162
+ }
163
+ _g.label = 7;
164
+ case 7:
165
+ if (ruleToTrack.length > 0) {
166
+ campaign = new CampaignModel_1.CampaignModel().modelFromDictionary(ruleToTrack.pop());
167
+ _b = this.trafficCheckAndReturnVariation(settings, feature, campaign, context, rulesInformation, decision), variation = _b[0], tempCampArray = _b[1];
168
+ campArray = campArray.concat(tempCampArray);
169
+ if ((0, DataTypeUtil_1.isObject)(variation) && Object.keys(variation).length > 0) {
170
+ isEnabled = true;
171
+ shouldCheckForAbPersonalise = true;
172
+ rolloutVariationToReturn = variation;
173
+ }
174
+ ruleToTrack = [];
175
+ }
176
+ if (!shouldCheckForAbPersonalise) return [3 /*break*/, 11];
177
+ allRules = (0, FunctionUtil_1.getAllAbAndPersonaliseRules)(settings, featureKey);
178
+ listOfMegCampaignsGroups = [];
179
+ ruleIndex = 0;
180
+ campaignToSkip = [];
181
+ _loop_1 = function (rule) {
182
+ var group, _h, megResult, whitelistedVariationInfoWithCampaign, winnerCampaign_1, winnerCampaignToPush, _j, megResult, whitelistedVariationInfoWithCampaign, winnerCampaign_2, winnerCampaignToPush, _k, abPersonalizeResult, whitelistedVariation, tempCampArray;
183
+ return __generator(this, function (_l) {
184
+ switch (_l.label) {
185
+ case 0:
186
+ // loop over all ab and personalize rules
187
+ ruleIndex++;
188
+ group = (0, CampaignUtil_1.isPartOfGroup)(settings, rule.id);
189
+ if (!((0, DataTypeUtil_1.isObject)(group) && Object.keys(group).length > 0)) return [3 /*break*/, 3];
190
+ if (listOfMegCampaignsGroups.indexOf(group.groupId) === -1) {
191
+ listOfMegCampaignsGroups.push(group.groupId);
192
+ }
193
+ if (!(ruleIndex === allRules.length)) return [3 /*break*/, 2];
194
+ // if last rule, then evaluate MEG campaigns
195
+ logger_1.LogManager.Instance.debug("Evaluating MEG campaigns for the user ".concat(context.user.id));
196
+ return [4 /*yield*/, (0, MegUtil_1.evaluateGroups)(settings, featureKey, feature, listOfMegCampaignsGroups, evaluatedFeatureMap, context, storageService, campaignToSkip, decision)];
197
+ case 1:
198
+ _h = _l.sent(), megResult = _h[0], whitelistedVariationInfoWithCampaign = _h[1], winnerCampaign_1 = _h[2];
199
+ if (megResult) {
200
+ // if MEG campaign passed
201
+ if (winnerCampaign_1 !== null) {
202
+ winnerCampaignToPush = allRules.find(function (rule) { return rule.id === winnerCampaign_1.id; });
203
+ ruleToTrack.push(winnerCampaignToPush);
204
+ }
205
+ else {
206
+ isEnabled = true;
207
+ experimentVariationToReturn = whitelistedVariationInfoWithCampaign.variation;
208
+ Object.assign(rulesInformation, {
209
+ experimentId: whitelistedVariationInfoWithCampaign.experimentId,
210
+ experimentKey: whitelistedVariationInfoWithCampaign.experimentKey,
211
+ experimentVariationId: whitelistedVariationInfoWithCampaign.variationId,
212
+ });
213
+ }
214
+ }
215
+ return [2 /*return*/, "break"];
216
+ case 2: return [2 /*return*/, "continue"];
217
+ case 3:
218
+ if (!(listOfMegCampaignsGroups.length > 0)) return [3 /*break*/, 5];
219
+ // if group is not present and MEG groups are present, then evaluate MEG campaigns
220
+ logger_1.LogManager.Instance.debug("Evaluating MEG campaigns for the user ".concat(context.user.id));
221
+ return [4 /*yield*/, (0, MegUtil_1.evaluateGroups)(settings, featureKey, feature, listOfMegCampaignsGroups, evaluatedFeatureMap, context, storageService, campaignToSkip, decision)];
222
+ case 4:
223
+ _j = _l.sent(), megResult = _j[0], whitelistedVariationInfoWithCampaign = _j[1], winnerCampaign_2 = _j[2];
224
+ if (megResult) {
225
+ if (winnerCampaign_2 !== null) {
226
+ winnerCampaignToPush = allRules.find(function (rule) { return rule.id === winnerCampaign_2.id; });
227
+ ruleToTrack.push(winnerCampaignToPush);
228
+ }
229
+ else {
230
+ isEnabled = true;
231
+ experimentVariationToReturn = whitelistedVariationInfoWithCampaign.variation;
232
+ Object.assign(rulesInformation, {
233
+ experimentId: whitelistedVariationInfoWithCampaign.experimentId,
234
+ experimentKey: whitelistedVariationInfoWithCampaign.experimentKey,
235
+ experimentVariationId: whitelistedVariationInfoWithCampaign.variationId,
236
+ });
237
+ }
238
+ return [2 /*return*/, "break"];
239
+ }
240
+ campaignToSkip.push(rule.id);
241
+ _l.label = 5;
242
+ case 5: return [4 /*yield*/, (0, exports.evaluateRule)(settings, feature, rule, context, false, decision)];
243
+ case 6:
244
+ _k = _l.sent(), abPersonalizeResult = _k[0], whitelistedVariation = _k[1], tempCampArray = _k[2];
245
+ campArray = campArray.concat(tempCampArray);
246
+ if (abPersonalizeResult) {
247
+ if (whitelistedVariation === null) {
248
+ // whitelistedVariation will be null if pre segment passed but whitelisting failed
249
+ ruleToTrack.push(rule);
250
+ }
251
+ else {
252
+ isEnabled = true;
253
+ experimentVariationToReturn = whitelistedVariation.variation;
254
+ Object.assign(rulesInformation, {
255
+ experimentId: rule.id,
256
+ experimentKey: whitelistedVariation.experimentKey,
257
+ experimentVariationId: whitelistedVariation.variationId,
258
+ });
259
+ }
260
+ return [2 /*return*/, "break"];
261
+ }
262
+ campaignToSkip.push(rule.id);
263
+ return [2 /*return*/, "continue"];
264
+ }
265
+ });
266
+ };
267
+ _c = 0, allRules_1 = allRules;
268
+ _g.label = 8;
269
+ case 8:
270
+ if (!(_c < allRules_1.length)) return [3 /*break*/, 11];
271
+ rule = allRules_1[_c];
272
+ return [5 /*yield**/, _loop_1(rule)];
273
+ case 9:
274
+ state_1 = _g.sent();
275
+ if (state_1 === "break")
276
+ return [3 /*break*/, 11];
277
+ _g.label = 10;
278
+ case 10:
279
+ _c++;
280
+ return [3 /*break*/, 8];
281
+ case 11:
282
+ if (ruleToTrack.length > 0) {
283
+ campaign = new CampaignModel_1.CampaignModel().modelFromDictionary(ruleToTrack.pop());
284
+ _d = this.trafficCheckAndReturnVariation(settings, feature, campaign, context, rulesInformation, decision), variation = _d[0], tempCampArray = _d[1];
285
+ campArray = campArray.concat(tempCampArray);
286
+ if ((0, DataTypeUtil_1.isObject)(variation) && Object.keys(variation).length > 0) {
287
+ isEnabled = true;
288
+ experimentVariationToReturn = variation;
289
+ }
290
+ }
291
+ if (isEnabled) {
292
+ // set storage data
293
+ new StorageDecorator_1.StorageDecorator().setDataInStorage(__assign({ featureKey: featureKey, user: context.user }, rulesInformation), storageService);
294
+ hookManager.set(decision);
295
+ hookManager.execute(hookManager.get());
296
+ }
297
+ if ((_e = feature.impactCampaign) === null || _e === void 0 ? void 0 : _e.campaignId) {
298
+ logger_1.LogManager.Instance.info("Sending data for Impact Campaign for the user ".concat(context.user.id));
299
+ campArray = campArray.concat(createImpressionForVariationShown(settings, feature, { id: (_f = feature.impactCampaign) === null || _f === void 0 ? void 0 : _f.campaignId }, context.user, { id: isEnabled ? 2 : 1 }, true));
300
+ }
301
+ deferredObject.resolve({
302
+ isEnabled: function () { return isEnabled; },
303
+ getVariables: function () { var _a, _b; return (_b = (_a = experimentVariationToReturn === null || experimentVariationToReturn === void 0 ? void 0 : experimentVariationToReturn.variables) !== null && _a !== void 0 ? _a : rolloutVariationToReturn === null || rolloutVariationToReturn === void 0 ? void 0 : rolloutVariationToReturn.variables) !== null && _b !== void 0 ? _b : []; },
304
+ getVariable: function (key, defaultValue) {
305
+ var _a, _b, _c;
306
+ var variables = (_b = (_a = experimentVariationToReturn === null || experimentVariationToReturn === void 0 ? void 0 : experimentVariationToReturn.variables) !== null && _a !== void 0 ? _a : rolloutVariationToReturn === null || rolloutVariationToReturn === void 0 ? void 0 : rolloutVariationToReturn.variables) !== null && _b !== void 0 ? _b : [];
307
+ var variable = variables.find(function (variable) { return variable.key === key; });
308
+ return (_c = variable === null || variable === void 0 ? void 0 : variable.value) !== null && _c !== void 0 ? _c : defaultValue;
309
+ },
310
+ campArray: campArray,
311
+ });
312
+ return [2 /*return*/, deferredObject.promise];
313
+ }
314
+ });
315
+ });
316
+ };
317
+ FlagApi.prototype.createDecision = function (settings, featureKey, context) {
318
+ return {
319
+ featureName: (0, FunctionUtil_1.getFeatureNameFromKey)(settings, featureKey),
320
+ featureId: (0, FunctionUtil_1.getFeatureIdFromKey)(settings, featureKey),
321
+ featureKey: featureKey,
322
+ userId: context.user.id,
323
+ api: ApiEnum_1.ApiEnum.GET_FLAG,
324
+ };
325
+ };
326
+ FlagApi.prototype.trafficCheckAndReturnVariation = function (settings, feature, campaign, context, rulesInformation, decision) {
327
+ var variation = (0, DecisionUtil_1.evaluateTrafficAndGetVariation)(settings, campaign, context.user.id);
328
+ var campArray = [];
329
+ if ((0, DataTypeUtil_1.isObject)(variation) && Object.keys(variation).length > 0) {
330
+ if (campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.ROLLOUT) {
331
+ Object.assign(rulesInformation, {
332
+ rolloutId: campaign.getId(),
333
+ rolloutKey: campaign.getKey(),
334
+ rolloutVariationId: variation.getId(),
335
+ });
336
+ }
337
+ else {
338
+ Object.assign(rulesInformation, {
339
+ experimentId: campaign.getId(),
340
+ experimentKey: campaign.getKey(),
341
+ experimentVariationId: variation.getId(),
342
+ });
343
+ }
344
+ Object.assign(decision, rulesInformation);
345
+ campArray = createImpressionForVariationShown(settings, feature, campaign, context.user, variation);
346
+ return [variation, campArray];
347
+ }
348
+ return [null, campArray];
349
+ };
350
+ return FlagApi;
351
+ }());
352
+ exports.FlagApi = FlagApi;
353
+ /**
354
+ * Evaluate the rule
355
+ * @param rule rule to evaluate
356
+ * @param user user object
357
+ * @returns
358
+ */
359
+ var evaluateRule = function (settings, feature, rule, context, isMegWinnerRule, decision) { return __awaiter(void 0, void 0, void 0, function () {
360
+ var campaign, campArray, _a, preSegmentationResult, whitelistedObject;
361
+ return __generator(this, function (_b) {
362
+ switch (_b.label) {
363
+ case 0:
364
+ campaign = new CampaignModel_1.CampaignModel();
365
+ campArray = [];
366
+ campaign.modelFromDictionary(rule);
367
+ return [4 /*yield*/, (0, DecisionUtil_1.checkWhitelistingAndPreSeg)(settings, campaign, context, isMegWinnerRule, decision)];
368
+ case 1:
369
+ _a = _b.sent(), preSegmentationResult = _a[0], whitelistedObject = _a[1];
370
+ // if pre segmentation result is true and whitelisted object is present, then send post call
371
+ if (preSegmentationResult && (0, DataTypeUtil_1.isObject)(whitelistedObject) && Object.keys(whitelistedObject).length > 0) {
372
+ Object.assign(decision, {
373
+ experimentId: campaign.getId(),
374
+ experimentKey: campaign.getKey(),
375
+ experimentVariationId: whitelistedObject.variationId,
376
+ });
377
+ campArray = createImpressionForVariationShown(settings, feature, campaign, context.user, whitelistedObject.variation);
378
+ }
379
+ return [2 /*return*/, [preSegmentationResult, whitelistedObject, campArray]];
380
+ }
381
+ });
382
+ }); };
383
+ exports.evaluateRule = evaluateRule;
384
+ var createImpressionForVariationShown = function (settings, feature, campaign, user, variation, isImpactCampaign) {
385
+ if (isImpactCampaign === void 0) { isImpactCampaign = false; }
386
+ var networkUtil = new NetworkUtil_1.NetworkUtil();
387
+ var campArray = [];
388
+ var properties = networkUtil.getEventsBaseProperties(settings, EventEnum_1.EventEnum.VWO_VARIATION_SHOWN, encodeURIComponent(user.userAgent), user.ipAddress);
389
+ var payload = networkUtil.getTrackUserPayloadData(settings, user.id, EventEnum_1.EventEnum.VWO_VARIATION_SHOWN, campaign.id, variation.id, user.userAgent, user.ipAddress);
390
+ campArray.push({ campaignId: campaign.id, variationId: variation.id });
391
+ networkUtil.sendPostApiRequest(properties, payload);
392
+ return campArray;
393
+ };
394
+ //# sourceMappingURL=GetFlag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetFlag.js","sourceRoot":"","sources":["../../lib/api/GetFlag.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=GetVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetVariable.js","sourceRoot":"","sources":["../../lib/api/GetVariable.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=GetVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetVariables.js","sourceRoot":"","sources":["../../lib/api/GetVariables.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ interface ISetAttribute {
2
+ setAttribute(settings: any, attributeKey: string, attributeValue: any, context: any): void;
3
+ }
4
+ export declare class SetAttributeApi implements ISetAttribute {
5
+ setAttribute(settings: any, attributeKey: string, attributeValue: any, context: any): void;
6
+ }
7
+ export {};
@@ -0,0 +1,62 @@
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.SetAttributeApi = void 0;
40
+ var NetworkUtil_1 = require("../utils/NetworkUtil");
41
+ var EventEnum_1 = require("../enums/EventEnum");
42
+ var SetAttributeApi = /** @class */ (function () {
43
+ function SetAttributeApi() {
44
+ }
45
+ SetAttributeApi.prototype.setAttribute = function (settings, attributeKey, attributeValue, context) {
46
+ createImpressionForAttribute(settings, attributeKey, attributeValue, context.user);
47
+ };
48
+ return SetAttributeApi;
49
+ }());
50
+ exports.SetAttributeApi = SetAttributeApi;
51
+ var createImpressionForAttribute = function (settings, attributeKey, attributeValue, user) { return __awaiter(void 0, void 0, void 0, function () {
52
+ var networkUtil, properties, payload;
53
+ return __generator(this, function (_a) {
54
+ networkUtil = new NetworkUtil_1.NetworkUtil();
55
+ properties = networkUtil.getEventsBaseProperties(settings, EventEnum_1.EventEnum.VWO_SYNC_VISITOR_PROP, user.userAgent, user.ipAddress);
56
+ payload = networkUtil.getAttributePayloadData(settings, user.id, EventEnum_1.EventEnum.VWO_SYNC_VISITOR_PROP, attributeKey, attributeValue, user.userAgent, user.ipAddress);
57
+ // console.log(' payload is ', JSON.stringify(payload));
58
+ networkUtil.sendPostApiRequest(properties, payload);
59
+ return [2 /*return*/];
60
+ });
61
+ }); };
62
+ //# sourceMappingURL=SetAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetAttribute.js","sourceRoot":"","sources":["../../lib/api/SetAttribute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAmD;AACnD,gDAA+C;AAM/C;IAAA;IAIA,CAAC;IAHC,sCAAY,GAAZ,UAAa,QAAa,EAAE,YAAoB,EAAE,cAAmB,EAAE,OAAY;QACjF,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IACH,sBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,0CAAe;AAM5B,IAAM,4BAA4B,GAAG,UAAO,QAAa,EAAE,YAAoB,EAAE,cAAmB,EAAE,IAAS;;;QACvG,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;QAChC,UAAU,GAAG,WAAW,CAAC,uBAAuB,CACpD,QAAQ,EACR,qBAAS,CAAC,qBAAqB,EAC/B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACf,CAAC;QACI,OAAO,GAAG,WAAW,CAAC,uBAAuB,CACjD,QAAQ,EACR,IAAI,CAAC,EAAE,EACP,qBAAS,CAAC,qBAAqB,EAC/B,YAAY,EACZ,cAAc,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACf,CAAC;QACF,wDAAwD;QACxD,WAAW,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;;;KACrD,CAAC"}
@@ -0,0 +1,76 @@
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.TrackApi = void 0;
40
+ var NetworkUtil_1 = require("../utils/NetworkUtil");
41
+ var FunctionUtil_1 = require("../utils/FunctionUtil");
42
+ var logger_1 = require("../modules/logger");
43
+ var ApiEnum_1 = require("../enums/ApiEnum");
44
+ var TrackApi = /** @class */ (function () {
45
+ function TrackApi() {
46
+ }
47
+ TrackApi.prototype.track = function (settings, eventName, eventProperties, context, hookManager) {
48
+ return __awaiter(this, void 0, void 0, function () {
49
+ var _a, _b;
50
+ return __generator(this, function (_c) {
51
+ if ((0, FunctionUtil_1.eventExists)(eventName, settings)) {
52
+ // create impression for track
53
+ createImpressionForTrack(settings, eventName, context.user, eventProperties);
54
+ // integeration callback for track
55
+ hookManager.set({ eventName: eventName, api: ApiEnum_1.ApiEnum.TRACK });
56
+ hookManager.execute(hookManager.get());
57
+ return [2 /*return*/, (_a = {}, _a[eventName] = true, _a)];
58
+ }
59
+ logger_1.LogManager.Instance.error("Event ".concat(eventName, " not found in any of the features"));
60
+ return [2 /*return*/, (_b = {}, _b[eventName] = false, _b)];
61
+ });
62
+ });
63
+ };
64
+ return TrackApi;
65
+ }());
66
+ exports.TrackApi = TrackApi;
67
+ var createImpressionForTrack = function (settings, eventName, user, eventProperties) { return __awaiter(void 0, void 0, void 0, function () {
68
+ var networkUtil, properties, payload;
69
+ return __generator(this, function (_a) {
70
+ networkUtil = new NetworkUtil_1.NetworkUtil();
71
+ properties = networkUtil.getEventsBaseProperties(settings, eventName, user.userAgent, user.userIpAddress);
72
+ payload = networkUtil.getTrackGoalPayloadData(settings, user.id, eventName, eventProperties);
73
+ return [2 /*return*/];
74
+ });
75
+ }); };
76
+ //# sourceMappingURL=Track.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Track.js","sourceRoot":"","sources":["../../lib/api/Track.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAmD;AACnD,sDAAoD;AAEpD,4CAA+C;AAE/C,4CAA2C;AAM3C;IAAA;IAaA,CAAC;IAZS,wBAAK,GAAX,UAAY,QAAa,EAAE,SAAiB,EAAE,eAAoB,EAAE,OAAY,EAAE,WAAyB;;;;gBACvG,IAAI,IAAA,0BAAW,EAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACnC,8BAA8B;oBAC9B,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAC7E,kCAAkC;oBAClC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAO,CAAC,KAAK,EAAC,CAAC,CAAC;oBAC7D,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;oBACvC,gCAAS,GAAC,SAAS,IAAG,IAAI,OAAG;gBACjC,CAAC;gBACD,mBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAS,SAAS,sCAAmC,CAAC,CAAC;gBACjF,gCAAS,GAAC,SAAS,IAAG,KAAK,OAAG;;;KACjC;IACL,eAAC;AAAD,CAAC,AAbD,IAaC;AAbY,4BAAQ;AAerB,IAAM,wBAAwB,GAAG,UAAO,QAAa,EAAE,SAAiB,EAAE,IAAS,EAAE,eAAoB;;;QAC/F,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;QAChC,UAAU,GAAE,WAAW,CAAC,uBAAuB,CACnD,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,CACnB,CAAC;QACI,OAAO,GAAG,WAAW,CAAC,uBAAuB,CACjD,QAAQ,EACR,IAAI,CAAC,EAAE,EACP,SAAS,EACT,eAAe,CAChB,CAAC;;;KAGH,CAAA"}
@@ -0,0 +1,8 @@
1
+ import HooksManager from '../services/HooksManager';
2
+ interface ITrack {
3
+ track(settings: any, eventName: string, eventProperties: any, context: any, hookManager: HooksManager): Promise<Record<string, boolean>>;
4
+ }
5
+ export declare class TrackApi implements ITrack {
6
+ track(settings: any, eventName: string, eventProperties: any, context: any, hookManager: HooksManager): Promise<Record<string, boolean>>;
7
+ }
8
+ export {};