vwo-fme-node-sdk 1.0.1 → 1.2.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 (565) hide show
  1. package/README.md +37 -7
  2. package/dist/VWO.d.ts +34 -3
  3. package/dist/VWO.js +148 -33
  4. package/dist/VWO.js.map +1 -1
  5. package/dist/VWOBuilder.d.ts +87 -21
  6. package/dist/VWOBuilder.js +190 -88
  7. package/dist/VWOBuilder.js.map +1 -1
  8. package/dist/VWOClient.d.ts +40 -14
  9. package/dist/VWOClient.js +171 -187
  10. package/dist/VWOClient.js.map +1 -1
  11. package/dist/api/GetFlag.d.ts +20 -13
  12. package/dist/api/GetFlag.js +179 -261
  13. package/dist/api/GetFlag.js.map +1 -1
  14. package/dist/api/SetAttribute.d.ts +33 -2
  15. package/dist/api/SetAttribute.js +22 -9
  16. package/dist/api/SetAttribute.js.map +1 -1
  17. package/dist/api/TrackEvent.d.ts +17 -2
  18. package/dist/api/TrackEvent.js +45 -15
  19. package/dist/api/TrackEvent.js.map +1 -1
  20. package/dist/constants/index.js +19 -4
  21. package/dist/constants/index.js.map +1 -1
  22. package/dist/constants/url.d.ts +15 -0
  23. package/dist/constants/url.js +16 -1
  24. package/dist/constants/url.js.map +1 -1
  25. package/dist/decorators/StorageDecorator.d.ts +31 -4
  26. package/dist/decorators/StorageDecorator.js +46 -19
  27. package/dist/decorators/StorageDecorator.js.map +1 -1
  28. package/dist/enums/ApiEnum.d.ts +15 -0
  29. package/dist/enums/ApiEnum.js +15 -0
  30. package/dist/enums/ApiEnum.js.map +1 -1
  31. package/dist/enums/EventEnum.d.ts +15 -0
  32. package/dist/enums/EventEnum.js +15 -0
  33. package/dist/enums/EventEnum.js.map +1 -1
  34. package/dist/enums/HeadersEnum.d.ts +15 -0
  35. package/dist/enums/HeadersEnum.js +15 -0
  36. package/dist/enums/HeadersEnum.js.map +1 -1
  37. package/dist/enums/HooksEnum.d.ts +15 -0
  38. package/dist/enums/HooksEnum.js +15 -0
  39. package/dist/enums/HooksEnum.js.map +1 -1
  40. package/dist/enums/LogLevelEnum.d.ts +15 -0
  41. package/dist/enums/LogLevelEnum.js +15 -0
  42. package/dist/enums/LogLevelEnum.js.map +1 -1
  43. package/dist/enums/StatusEnum.d.ts +15 -0
  44. package/dist/enums/StorageEnum.d.ts +15 -0
  45. package/dist/enums/StorageEnum.js +15 -0
  46. package/dist/enums/StorageEnum.js.map +1 -1
  47. package/dist/enums/UrlEnum.d.ts +16 -2
  48. package/dist/enums/UrlEnum.js +16 -2
  49. package/dist/enums/UrlEnum.js.map +1 -1
  50. package/dist/enums/campaignTypeEnum.d.ts +15 -0
  51. package/dist/enums/campaignTypeEnum.js +16 -1
  52. package/dist/enums/campaignTypeEnum.js.map +1 -1
  53. package/dist/enums/log-messages/DebugLogMessageEnum.d.ts +18 -0
  54. package/dist/enums/log-messages/DebugLogMessageEnum.js +23 -0
  55. package/dist/enums/log-messages/DebugLogMessageEnum.js.map +1 -0
  56. package/dist/enums/log-messages/DebugLogMessagesEnum.d.ts +25 -0
  57. package/dist/enums/log-messages/DebugLogMessagesEnum.js +30 -0
  58. package/dist/enums/log-messages/DebugLogMessagesEnum.js.map +1 -0
  59. package/dist/enums/log-messages/ErrorLogMessageEnum.d.ts +18 -0
  60. package/dist/enums/log-messages/ErrorLogMessageEnum.js +23 -0
  61. package/dist/enums/log-messages/ErrorLogMessageEnum.js.map +1 -0
  62. package/dist/enums/log-messages/ErrorLogMessagesEnum.d.ts +33 -0
  63. package/dist/enums/log-messages/ErrorLogMessagesEnum.js +39 -0
  64. package/dist/enums/log-messages/ErrorLogMessagesEnum.js.map +1 -0
  65. package/dist/enums/log-messages/InfoLogMessagesEnum.d.ts +36 -0
  66. package/dist/enums/log-messages/InfoLogMessagesEnum.js +41 -0
  67. package/dist/enums/log-messages/InfoLogMessagesEnum.js.map +1 -0
  68. package/dist/enums/log-messages/index.d.ts +4 -0
  69. package/dist/enums/log-messages/index.js +11 -0
  70. package/dist/enums/log-messages/index.js.map +1 -0
  71. package/dist/enums/statusEnum.js +15 -0
  72. package/dist/enums/statusEnum.js.map +1 -1
  73. package/dist/index.d.ts +16 -1
  74. package/dist/index.js +20 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/interfaces/IVWOBuilder.js +1 -0
  77. package/dist/interfaces/IVWOBuilder.js.map +1 -0
  78. package/dist/models/CampaignModel.d.ts +17 -2
  79. package/dist/models/CampaignModel.js +1 -1
  80. package/dist/models/CampaignModel.js.map +1 -1
  81. package/dist/models/FeatureModel.d.ts +1 -1
  82. package/dist/models/FeatureModel.js +17 -2
  83. package/dist/models/FeatureModel.js.map +1 -1
  84. package/dist/models/GatewayServiceModel.d.ts +29 -0
  85. package/dist/models/GatewayServiceModel.js +36 -0
  86. package/dist/models/GatewayServiceModel.js.map +1 -0
  87. package/dist/models/ImpactCampaignModel.d.ts +15 -0
  88. package/dist/models/ImpactCampaignModel.js +15 -0
  89. package/dist/models/ImpactCampaignModel.js.map +1 -1
  90. package/dist/models/MetricModel.d.ts +15 -0
  91. package/dist/models/MetricModel.js +15 -0
  92. package/dist/models/MetricModel.js.map +1 -1
  93. package/dist/models/RuleModel.d.ts +15 -0
  94. package/dist/models/RuleModel.js +15 -0
  95. package/dist/models/RuleModel.js.map +1 -1
  96. package/dist/models/SettingsModel.d.ts +16 -1
  97. package/dist/models/SettingsModel.js +16 -1
  98. package/dist/models/SettingsModel.js.map +1 -1
  99. package/dist/models/VWOOptionsModel.d.ts +65 -0
  100. package/dist/models/VWOOptionsModel.js +85 -0
  101. package/dist/models/VWOOptionsModel.js.map +1 -0
  102. package/dist/models/VariableModel.d.ts +16 -1
  103. package/dist/models/VariableModel.js.map +1 -1
  104. package/dist/models/VariationModel.d.ts +16 -1
  105. package/dist/models/VariationModel.js.map +1 -1
  106. package/dist/models/campaign/CampaignModel.d.ts +51 -0
  107. package/dist/models/campaign/CampaignModel.js +120 -0
  108. package/dist/models/campaign/CampaignModel.js.map +1 -0
  109. package/dist/models/campaign/FeatureModel.d.ts +43 -0
  110. package/dist/models/campaign/FeatureModel.js +89 -0
  111. package/dist/models/campaign/FeatureModel.js.map +1 -0
  112. package/dist/models/campaign/ImpactCampaignModel.d.ts +22 -0
  113. package/dist/models/campaign/ImpactCampaignModel.js +36 -0
  114. package/dist/models/campaign/ImpactCampaignModel.js.map +1 -0
  115. package/dist/models/campaign/MetricModel.d.ts +27 -0
  116. package/dist/models/campaign/MetricModel.js +40 -0
  117. package/dist/models/campaign/MetricModel.js.map +1 -0
  118. package/dist/models/campaign/RuleModel.d.ts +28 -0
  119. package/dist/models/campaign/RuleModel.js +48 -0
  120. package/dist/models/campaign/RuleModel.js.map +1 -0
  121. package/dist/models/campaign/VariableModel.d.ts +33 -0
  122. package/dist/models/campaign/VariableModel.js +38 -0
  123. package/dist/models/campaign/VariableModel.js.map +1 -0
  124. package/dist/models/campaign/VariationModel.d.ts +44 -0
  125. package/dist/models/campaign/VariationModel.js +80 -0
  126. package/dist/models/campaign/VariationModel.js.map +1 -0
  127. package/dist/models/schemas/SettingsSchemaValidation.d.ts +5 -5
  128. package/dist/models/schemas/SettingsSchemaValidation.js +51 -22
  129. package/dist/models/schemas/SettingsSchemaValidation.js.map +1 -1
  130. package/dist/models/settings/SettingsModel.d.ts +43 -0
  131. package/dist/models/settings/SettingsModel.js +85 -0
  132. package/dist/models/settings/SettingsModel.js.map +1 -0
  133. package/dist/models/storage/StorageDataModel.d.ts +43 -0
  134. package/dist/models/storage/StorageDataModel.js +69 -0
  135. package/dist/models/storage/StorageDataModel.js.map +1 -0
  136. package/dist/models/user/ContextModel.d.ts +35 -0
  137. package/dist/models/user/ContextModel.js +54 -0
  138. package/dist/models/user/ContextModel.js.map +1 -0
  139. package/dist/models/user/ContextVWOModel.d.ts +22 -0
  140. package/dist/models/user/ContextVWOModel.js +40 -0
  141. package/dist/models/user/ContextVWOModel.js.map +1 -0
  142. package/dist/modules/decision-maker/index.d.ts +24 -12
  143. package/dist/modules/decision-maker/index.js +34 -20
  144. package/dist/modules/decision-maker/index.js.map +1 -1
  145. package/dist/modules/logger/core/logManager.d.ts +65 -4
  146. package/dist/modules/logger/core/logManager.js +78 -19
  147. package/dist/modules/logger/core/logManager.js.map +1 -1
  148. package/dist/modules/logger/core/transportManager.d.ts +60 -2
  149. package/dist/modules/logger/core/transportManager.js +70 -9
  150. package/dist/modules/logger/core/transportManager.js.map +1 -1
  151. package/dist/modules/logger/enums/logLevelEnum.d.ts +15 -0
  152. package/dist/modules/logger/enums/logLevelEnum.js +16 -1
  153. package/dist/modules/logger/enums/logLevelEnum.js.map +1 -1
  154. package/dist/modules/logger/index.d.ts +17 -2
  155. package/dist/modules/logger/index.js +19 -4
  156. package/dist/modules/logger/index.js.map +1 -1
  157. package/dist/modules/logger/logMessageBuilder.d.ts +42 -1
  158. package/dist/modules/logger/logMessageBuilder.js +32 -7
  159. package/dist/modules/logger/logMessageBuilder.js.map +1 -1
  160. package/dist/modules/logger/logger.d.ts +39 -0
  161. package/dist/modules/logger/logger.js +20 -1
  162. package/dist/modules/logger/logger.js.map +1 -1
  163. package/dist/modules/logger/transports/consoleTransport.d.ts +34 -1
  164. package/dist/modules/logger/transports/consoleTransport.js +58 -10
  165. package/dist/modules/logger/transports/consoleTransport.js.map +1 -1
  166. package/dist/modules/network-layer/client/NetworkClient.d.ts +20 -0
  167. package/dist/modules/network-layer/client/NetworkClient.js +156 -0
  168. package/dist/modules/network-layer/client/NetworkClient.js.map +1 -0
  169. package/dist/modules/network-layer/client/NetworkClientInterface.d.ts +31 -0
  170. package/dist/modules/network-layer/client/NetworkClientInterface.js +3 -0
  171. package/dist/modules/network-layer/client/NetworkClientInterface.js.map +1 -0
  172. package/dist/modules/network-layer/handlers/RequestHandler.d.ts +17 -0
  173. package/dist/modules/network-layer/handlers/RequestHandler.js +50 -0
  174. package/dist/modules/network-layer/handlers/RequestHandler.js.map +1 -0
  175. package/dist/modules/network-layer/index.d.ts +21 -0
  176. package/dist/modules/network-layer/index.js +29 -0
  177. package/dist/modules/network-layer/index.js.map +1 -0
  178. package/dist/modules/network-layer/manager/NetworkManager.d.ts +47 -0
  179. package/dist/modules/network-layer/manager/NetworkManager.js +118 -0
  180. package/dist/modules/network-layer/manager/NetworkManager.js.map +1 -0
  181. package/dist/modules/network-layer/models/GlobalRequestModel.d.ts +97 -0
  182. package/dist/modules/network-layer/models/GlobalRequestModel.js +111 -0
  183. package/dist/modules/network-layer/models/GlobalRequestModel.js.map +1 -0
  184. package/dist/modules/network-layer/models/RequestModel.d.ts +140 -0
  185. package/dist/modules/network-layer/models/RequestModel.js +221 -0
  186. package/dist/modules/network-layer/models/RequestModel.js.map +1 -0
  187. package/dist/modules/network-layer/models/ResponseModel.d.ts +66 -0
  188. package/dist/modules/network-layer/models/ResponseModel.js +70 -0
  189. package/dist/modules/network-layer/models/ResponseModel.js.map +1 -0
  190. package/dist/modules/networking/client/networkClient.d.ts +16 -3
  191. package/dist/modules/networking/client/networkClient.js +49 -10
  192. package/dist/modules/networking/client/networkClient.js.map +1 -1
  193. package/dist/modules/networking/client/networkClientInterface.d.ts +27 -2
  194. package/dist/modules/networking/client/networkClientInterface.js +1 -1
  195. package/dist/modules/networking/client/networkClientInterface.js.map +1 -1
  196. package/dist/modules/networking/handlers/requestHandler.d.ts +14 -2
  197. package/dist/modules/networking/handlers/requestHandler.js +24 -3
  198. package/dist/modules/networking/handlers/requestHandler.js.map +1 -1
  199. package/dist/modules/networking/index.d.ts +21 -6
  200. package/dist/modules/networking/index.js +26 -11
  201. package/dist/modules/networking/index.js.map +1 -1
  202. package/dist/modules/networking/manager/networkManager.d.ts +35 -4
  203. package/dist/modules/networking/manager/networkManager.js +70 -24
  204. package/dist/modules/networking/manager/networkManager.js.map +1 -1
  205. package/dist/modules/networking/models/globalRequestModel.d.ts +76 -1
  206. package/dist/modules/networking/models/globalRequestModel.js +62 -2
  207. package/dist/modules/networking/models/globalRequestModel.js.map +1 -1
  208. package/dist/modules/networking/models/requestModel.d.ts +110 -2
  209. package/dist/modules/networking/models/requestModel.js +97 -4
  210. package/dist/modules/networking/models/requestModel.js.map +1 -1
  211. package/dist/modules/networking/models/responseModel.d.ts +52 -1
  212. package/dist/modules/networking/models/responseModel.js +37 -1
  213. package/dist/modules/networking/models/responseModel.js.map +1 -1
  214. package/dist/modules/segmentor/core/segmentationManger.d.ts +44 -4
  215. package/dist/modules/segmentor/core/segmentationManger.js +83 -7
  216. package/dist/modules/segmentor/core/segmentationManger.js.map +1 -1
  217. package/dist/modules/segmentor/enums/segmentOperandRegexEnum.d.ts +20 -1
  218. package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js +20 -1
  219. package/dist/modules/segmentor/enums/segmentOperandRegexEnum.js.map +1 -1
  220. package/dist/modules/segmentor/enums/segmentOperandValueEnum.d.ts +20 -1
  221. package/dist/modules/segmentor/enums/segmentOperandValueEnum.js +20 -1
  222. package/dist/modules/segmentor/enums/segmentOperandValueEnum.js.map +1 -1
  223. package/dist/modules/segmentor/enums/segmentOperatorValueEnum.d.ts +15 -0
  224. package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js +16 -1
  225. package/dist/modules/segmentor/enums/segmentOperatorValueEnum.js.map +1 -1
  226. package/dist/modules/segmentor/evaluators/segmentEvaluator.d.ts +71 -9
  227. package/dist/modules/segmentor/evaluators/segmentEvaluator.js +157 -96
  228. package/dist/modules/segmentor/evaluators/segmentEvaluator.js.map +1 -1
  229. package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.d.ts +55 -3
  230. package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js +172 -42
  231. package/dist/modules/segmentor/evaluators/segmentOperandEvaluator.js.map +1 -1
  232. package/dist/modules/segmentor/index.d.ts +18 -3
  233. package/dist/modules/segmentor/index.js +20 -5
  234. package/dist/modules/segmentor/index.js.map +1 -1
  235. package/dist/modules/segmentor/segmentation.d.ts +29 -2
  236. package/dist/modules/segmentor/segmentation.js +1 -1
  237. package/dist/modules/segmentor/segmentation.js.map +1 -1
  238. package/dist/modules/segmentor/utils/SegmentUtil.d.ts +13 -2
  239. package/dist/modules/segmentor/utils/SegmentUtil.js +32 -0
  240. package/dist/modules/segmentor/utils/SegmentUtil.js.map +1 -1
  241. package/dist/modules/storage/connector.d.ts +17 -11
  242. package/dist/modules/storage/connector.js +1 -1
  243. package/dist/modules/storage/connector.js.map +1 -1
  244. package/dist/modules/storage/connectors/index.d.ts +15 -0
  245. package/dist/modules/storage/connectors/index.js +15 -0
  246. package/dist/modules/storage/connectors/index.js.map +1 -1
  247. package/dist/modules/storage/connectors/memoryConnector.d.ts +6 -25
  248. package/dist/modules/storage/connectors/memoryConnector.js +50 -74
  249. package/dist/modules/storage/connectors/memoryConnector.js.map +1 -1
  250. package/dist/modules/storage/connectors/redisConnector.d.ts +15 -0
  251. package/dist/modules/storage/connectors/redisConnector.js +16 -1
  252. package/dist/modules/storage/connectors/redisConnector.js.map +1 -1
  253. package/dist/modules/storage/index.d.ts +16 -1
  254. package/dist/modules/storage/index.js +17 -2
  255. package/dist/modules/storage/index.js.map +1 -1
  256. package/dist/modules/storage/storage.d.ts +17 -4
  257. package/dist/modules/storage/storage.js +9 -21
  258. package/dist/modules/storage/storage.js.map +1 -1
  259. package/dist/packages/decision-maker/index.d.ts +50 -0
  260. package/dist/packages/decision-maker/index.js +81 -0
  261. package/dist/packages/decision-maker/index.js.map +1 -0
  262. package/dist/packages/logger/LogMessageBuilder.d.ts +63 -0
  263. package/dist/packages/logger/LogMessageBuilder.js +71 -0
  264. package/dist/packages/logger/LogMessageBuilder.js.map +1 -0
  265. package/dist/packages/logger/Logger.d.ts +46 -0
  266. package/dist/packages/logger/Logger.js +29 -0
  267. package/dist/packages/logger/Logger.js.map +1 -0
  268. package/dist/packages/logger/core/LogManager.d.ts +100 -0
  269. package/dist/packages/logger/core/LogManager.js +157 -0
  270. package/dist/packages/logger/core/LogManager.js.map +1 -0
  271. package/dist/packages/logger/core/TransportManager.d.ts +80 -0
  272. package/dist/packages/logger/core/TransportManager.js +121 -0
  273. package/dist/packages/logger/core/TransportManager.js.map +1 -0
  274. package/dist/packages/logger/enums/LogLevelEnum.d.ts +22 -0
  275. package/dist/packages/logger/enums/LogLevelEnum.js +27 -0
  276. package/dist/packages/logger/enums/LogLevelEnum.js.map +1 -0
  277. package/dist/packages/logger/index.d.ts +17 -0
  278. package/dist/packages/logger/index.js +23 -0
  279. package/dist/packages/logger/index.js.map +1 -0
  280. package/dist/packages/logger/transports/ConsoleTransport.d.ts +45 -0
  281. package/dist/packages/logger/transports/ConsoleTransport.js +80 -0
  282. package/dist/packages/logger/transports/ConsoleTransport.js.map +1 -0
  283. package/dist/packages/network-layer/client/NetworkClient.d.ts +20 -0
  284. package/dist/packages/network-layer/client/NetworkClient.js +160 -0
  285. package/dist/packages/network-layer/client/NetworkClient.js.map +1 -0
  286. package/dist/packages/network-layer/client/NetworkClientInterface.d.ts +31 -0
  287. package/dist/packages/network-layer/client/NetworkClientInterface.js +3 -0
  288. package/dist/packages/network-layer/client/NetworkClientInterface.js.map +1 -0
  289. package/dist/packages/network-layer/handlers/RequestHandler.d.ts +17 -0
  290. package/dist/packages/network-layer/handlers/RequestHandler.js +50 -0
  291. package/dist/packages/network-layer/handlers/RequestHandler.js.map +1 -0
  292. package/dist/packages/network-layer/index.d.ts +21 -0
  293. package/dist/packages/network-layer/index.js +29 -0
  294. package/dist/packages/network-layer/index.js.map +1 -0
  295. package/dist/packages/network-layer/manager/NetworkManager.d.ts +47 -0
  296. package/dist/packages/network-layer/manager/NetworkManager.js +118 -0
  297. package/dist/packages/network-layer/manager/NetworkManager.js.map +1 -0
  298. package/dist/packages/network-layer/models/GlobalRequestModel.d.ts +97 -0
  299. package/dist/packages/network-layer/models/GlobalRequestModel.js +111 -0
  300. package/dist/packages/network-layer/models/GlobalRequestModel.js.map +1 -0
  301. package/dist/packages/network-layer/models/RequestModel.d.ts +140 -0
  302. package/dist/packages/network-layer/models/RequestModel.js +220 -0
  303. package/dist/packages/network-layer/models/RequestModel.js.map +1 -0
  304. package/dist/packages/network-layer/models/ResponseModel.d.ts +66 -0
  305. package/dist/packages/network-layer/models/ResponseModel.js +70 -0
  306. package/dist/packages/network-layer/models/ResponseModel.js.map +1 -0
  307. package/dist/packages/segmentation-evaluator/Segmentation.d.ts +32 -0
  308. package/dist/packages/segmentation-evaluator/Segmentation.js +3 -0
  309. package/dist/packages/segmentation-evaluator/Segmentation.js.map +1 -0
  310. package/dist/packages/segmentation-evaluator/core/SegmentationManger.d.ts +50 -0
  311. package/dist/packages/segmentation-evaluator/core/SegmentationManger.js +148 -0
  312. package/dist/packages/segmentation-evaluator/core/SegmentationManger.js.map +1 -0
  313. package/dist/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.d.ts +29 -0
  314. package/dist/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.js +34 -0
  315. package/dist/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.js.map +1 -0
  316. package/dist/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.d.ts +27 -0
  317. package/dist/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.js +32 -0
  318. package/dist/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.js.map +1 -0
  319. package/dist/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.d.ts +30 -0
  320. package/dist/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.js +35 -0
  321. package/dist/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.js.map +1 -0
  322. package/dist/packages/segmentation-evaluator/evaluators/SegmentEvaluator.d.ts +77 -0
  323. package/dist/packages/segmentation-evaluator/evaluators/SegmentEvaluator.js +446 -0
  324. package/dist/packages/segmentation-evaluator/evaluators/SegmentEvaluator.js.map +1 -0
  325. package/dist/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.d.ts +64 -0
  326. package/dist/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.js +378 -0
  327. package/dist/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.js.map +1 -0
  328. package/dist/packages/segmentation-evaluator/index.d.ts +18 -0
  329. package/dist/packages/segmentation-evaluator/index.js +23 -0
  330. package/dist/packages/segmentation-evaluator/index.js.map +1 -0
  331. package/dist/packages/segmentation-evaluator/utils/SegmentUtil.d.ts +13 -0
  332. package/dist/packages/segmentation-evaluator/utils/SegmentUtil.js +58 -0
  333. package/dist/packages/segmentation-evaluator/utils/SegmentUtil.js.map +1 -0
  334. package/dist/packages/segmentor/Segmentation.d.ts +32 -0
  335. package/dist/packages/segmentor/Segmentation.js +3 -0
  336. package/dist/packages/segmentor/Segmentation.js.map +1 -0
  337. package/dist/packages/segmentor/core/SegmentationManger.d.ts +50 -0
  338. package/dist/packages/segmentor/core/SegmentationManger.js +144 -0
  339. package/dist/packages/segmentor/core/SegmentationManger.js.map +1 -0
  340. package/dist/packages/segmentor/enums/SegmentOperandRegexEnum.d.ts +29 -0
  341. package/dist/packages/segmentor/enums/SegmentOperandRegexEnum.js +34 -0
  342. package/dist/packages/segmentor/enums/SegmentOperandRegexEnum.js.map +1 -0
  343. package/dist/packages/segmentor/enums/SegmentOperandValueEnum.d.ts +27 -0
  344. package/dist/packages/segmentor/enums/SegmentOperandValueEnum.js +32 -0
  345. package/dist/packages/segmentor/enums/SegmentOperandValueEnum.js.map +1 -0
  346. package/dist/packages/segmentor/enums/SegmentOperatorValueEnum.d.ts +30 -0
  347. package/dist/packages/segmentor/enums/SegmentOperatorValueEnum.js +35 -0
  348. package/dist/packages/segmentor/enums/SegmentOperatorValueEnum.js.map +1 -0
  349. package/dist/packages/segmentor/evaluators/SegmentEvaluator.d.ts +77 -0
  350. package/dist/packages/segmentor/evaluators/SegmentEvaluator.js +440 -0
  351. package/dist/packages/segmentor/evaluators/SegmentEvaluator.js.map +1 -0
  352. package/dist/packages/segmentor/evaluators/SegmentOperandEvaluator.d.ts +64 -0
  353. package/dist/packages/segmentor/evaluators/SegmentOperandEvaluator.js +378 -0
  354. package/dist/packages/segmentor/evaluators/SegmentOperandEvaluator.js.map +1 -0
  355. package/dist/packages/segmentor/index.d.ts +18 -0
  356. package/dist/packages/segmentor/index.js +23 -0
  357. package/dist/packages/segmentor/index.js.map +1 -0
  358. package/dist/packages/segmentor/utils/SegmentUtil.d.ts +13 -0
  359. package/dist/packages/segmentor/utils/SegmentUtil.js +58 -0
  360. package/dist/packages/segmentor/utils/SegmentUtil.js.map +1 -0
  361. package/dist/packages/storage/Connector.d.ts +20 -0
  362. package/dist/packages/storage/Connector.js +10 -0
  363. package/dist/packages/storage/Connector.js.map +1 -0
  364. package/dist/packages/storage/Storage.d.ts +23 -0
  365. package/dist/packages/storage/Storage.js +37 -0
  366. package/dist/packages/storage/Storage.js.map +1 -0
  367. package/dist/packages/storage/connectors/MemoryConnector.d.ts +15 -0
  368. package/dist/packages/storage/connectors/MemoryConnector.js +35 -0
  369. package/dist/packages/storage/connectors/MemoryConnector.js.map +1 -0
  370. package/dist/packages/storage/connectors/RedisConnector.d.ts +15 -0
  371. package/dist/packages/storage/connectors/RedisConnector.js +196 -0
  372. package/dist/packages/storage/connectors/RedisConnector.js.map +1 -0
  373. package/dist/packages/storage/connectors/index.d.ts +15 -0
  374. package/dist/packages/storage/connectors/index.js +18 -0
  375. package/dist/packages/storage/connectors/index.js.map +1 -0
  376. package/dist/packages/storage/index.d.ts +16 -0
  377. package/dist/packages/storage/index.js +21 -0
  378. package/dist/packages/storage/index.js.map +1 -0
  379. package/dist/services/CampaignDecisionService.d.ts +5 -5
  380. package/dist/services/CampaignDecisionService.js +55 -20
  381. package/dist/services/CampaignDecisionService.js.map +1 -1
  382. package/dist/services/HooksManager.d.ts +17 -6
  383. package/dist/services/HooksManager.js +0 -1
  384. package/dist/services/HooksManager.js.map +1 -1
  385. package/dist/services/SettingsManager.d.ts +25 -10
  386. package/dist/services/SettingsManager.js +60 -31
  387. package/dist/services/SettingsManager.js.map +1 -1
  388. package/dist/services/StorageService.d.ts +13 -1
  389. package/dist/services/StorageService.js +58 -21
  390. package/dist/services/StorageService.js.map +1 -1
  391. package/dist/services/UrlService.d.ts +5 -4
  392. package/dist/services/UrlService.js +50 -13
  393. package/dist/services/UrlService.js.map +1 -1
  394. package/dist/types/common.d.ts +24 -0
  395. package/dist/types/common.js +16 -1
  396. package/dist/types/common.js.map +1 -1
  397. package/dist/utils/CampaignUtil.d.ts +87 -11
  398. package/dist/utils/CampaignUtil.js +188 -95
  399. package/dist/utils/CampaignUtil.js.map +1 -1
  400. package/dist/utils/DataTypeUtil.d.ts +86 -1
  401. package/dist/utils/DataTypeUtil.js +108 -24
  402. package/dist/utils/DataTypeUtil.js.map +1 -1
  403. package/dist/utils/DecisionUtil.d.ts +8 -4
  404. package/dist/utils/DecisionUtil.js +117 -81
  405. package/dist/utils/DecisionUtil.js.map +1 -1
  406. package/dist/utils/FunctionUtil.d.ts +70 -9
  407. package/dist/utils/FunctionUtil.js +121 -69
  408. package/dist/utils/FunctionUtil.js.map +1 -1
  409. package/dist/utils/GatewayServiceUtil.d.ts +19 -0
  410. package/dist/utils/GatewayServiceUtil.js +156 -0
  411. package/dist/utils/GatewayServiceUtil.js.map +1 -0
  412. package/dist/utils/ImpressionUtil.d.ts +28 -0
  413. package/dist/utils/ImpressionUtil.js +41 -0
  414. package/dist/utils/ImpressionUtil.js.map +1 -0
  415. package/dist/utils/LogMessageUtil.d.ts +5 -13
  416. package/dist/utils/LogMessageUtil.js +20 -22
  417. package/dist/utils/LogMessageUtil.js.map +1 -1
  418. package/dist/utils/MegUtil.d.ts +23 -3
  419. package/dist/utils/MegUtil.js +273 -225
  420. package/dist/utils/MegUtil.js.map +1 -1
  421. package/dist/utils/NetworkUtil.d.ts +91 -140
  422. package/dist/utils/NetworkUtil.js +280 -184
  423. package/dist/utils/NetworkUtil.js.map +1 -1
  424. package/dist/utils/PromiseUtil.d.ts +5 -0
  425. package/dist/utils/PromiseUtil.js +9 -3
  426. package/dist/utils/PromiseUtil.js.map +1 -1
  427. package/dist/utils/RuleEvaluationUtil.d.ts +37 -0
  428. package/dist/utils/RuleEvaluationUtil.js +83 -0
  429. package/dist/utils/RuleEvaluationUtil.js.map +1 -0
  430. package/dist/utils/SettingsUtil.d.ts +1 -2
  431. package/dist/utils/SettingsUtil.js +32 -13
  432. package/dist/utils/SettingsUtil.js.map +1 -1
  433. package/dist/utils/UuidUtil.d.ts +19 -1
  434. package/dist/utils/UuidUtil.js +46 -7
  435. package/dist/utils/UuidUtil.js.map +1 -1
  436. package/dist/utils/WebServiceUtil.d.ts +12 -3
  437. package/dist/utils/WebServiceUtil.js +49 -18
  438. package/dist/utils/WebServiceUtil.js.map +1 -1
  439. package/dist/utils/logMessageBuilder.d.ts +1 -1
  440. package/lib/VWO.ts +157 -30
  441. package/lib/VWOBuilder.ts +210 -89
  442. package/lib/VWOClient.ts +225 -234
  443. package/lib/api/GetFlag.ts +210 -322
  444. package/lib/api/SetAttribute.ts +60 -15
  445. package/lib/api/TrackEvent.ts +74 -23
  446. package/lib/constants/Url.ts +22 -0
  447. package/lib/constants/index.ts +16 -1
  448. package/lib/decorators/StorageDecorator.ts +64 -22
  449. package/lib/enums/ApiEnum.ts +15 -0
  450. package/lib/enums/CampaignTypeEnum.ts +20 -0
  451. package/lib/enums/EventEnum.ts +15 -0
  452. package/lib/enums/HeadersEnum.ts +15 -0
  453. package/lib/enums/HooksEnum.ts +15 -0
  454. package/lib/enums/LogLevelEnum.ts +15 -0
  455. package/lib/enums/StatusEnum.ts +15 -0
  456. package/lib/enums/StorageEnum.ts +15 -0
  457. package/lib/enums/UrlEnum.ts +16 -2
  458. package/lib/enums/log-messages/index.ts +22 -0
  459. package/lib/index.ts +16 -1
  460. package/lib/models/GatewayServiceModel.ts +43 -0
  461. package/lib/models/VWOOptionsModel.ts +132 -0
  462. package/lib/models/{CampaignModel.ts → campaign/CampaignModel.ts} +26 -46
  463. package/lib/models/{FeatureModel.ts → campaign/FeatureModel.ts} +47 -13
  464. package/lib/models/campaign/ImpactCampaignModel.ts +33 -0
  465. package/lib/models/campaign/MetricModel.ts +44 -0
  466. package/lib/models/campaign/RuleModel.ts +51 -0
  467. package/lib/models/{VariableModel.ts → campaign/VariableModel.ts} +16 -1
  468. package/lib/models/{VariationModel.ts → campaign/VariationModel.ts} +16 -1
  469. package/lib/models/schemas/SettingsSchemaValidation.ts +61 -30
  470. package/lib/models/{SettingsModel.ts → settings/SettingsModel.ts} +27 -13
  471. package/lib/models/storage/StorageDataModel.ts +103 -0
  472. package/lib/models/user/ContextModel.ts +78 -0
  473. package/lib/models/user/ContextVWOModel.ts +39 -0
  474. package/lib/packages/decision-maker/index.ts +77 -0
  475. package/lib/packages/logger/LogMessageBuilder.ts +107 -0
  476. package/lib/packages/logger/Logger.ts +50 -0
  477. package/lib/packages/logger/core/LogManager.ts +177 -0
  478. package/lib/packages/logger/core/TransportManager.ts +141 -0
  479. package/lib/packages/logger/enums/LogLevelEnum.ts +23 -0
  480. package/lib/packages/logger/index.ts +17 -0
  481. package/lib/packages/logger/transports/ConsoleTransport.ts +84 -0
  482. package/lib/{modules/networking/client/networkClient.ts → packages/network-layer/client/NetworkClient.ts} +60 -15
  483. package/lib/packages/network-layer/client/NetworkClientInterface.ts +33 -0
  484. package/lib/packages/network-layer/handlers/RequestHandler.ts +64 -0
  485. package/lib/packages/network-layer/index.ts +21 -0
  486. package/lib/packages/network-layer/manager/NetworkManager.ts +122 -0
  487. package/lib/packages/network-layer/models/GlobalRequestModel.ts +145 -0
  488. package/lib/packages/network-layer/models/RequestModel.ts +272 -0
  489. package/lib/packages/network-layer/models/ResponseModel.ts +91 -0
  490. package/lib/packages/segmentation-evaluator/Segmentation.ts +37 -0
  491. package/lib/packages/segmentation-evaluator/core/SegmentationManger.ts +92 -0
  492. package/lib/packages/segmentation-evaluator/enums/SegmentOperandRegexEnum.ts +29 -0
  493. package/lib/packages/segmentation-evaluator/enums/SegmentOperandValueEnum.ts +27 -0
  494. package/lib/packages/segmentation-evaluator/enums/SegmentOperatorValueEnum.ts +30 -0
  495. package/lib/packages/segmentation-evaluator/evaluators/SegmentEvaluator.ts +331 -0
  496. package/lib/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.ts +331 -0
  497. package/lib/packages/segmentation-evaluator/index.ts +18 -0
  498. package/lib/packages/segmentation-evaluator/utils/SegmentUtil.ts +54 -0
  499. package/lib/packages/storage/Connector.ts +40 -0
  500. package/lib/packages/storage/Storage.ts +48 -0
  501. package/lib/packages/storage/connectors/MemoryConnector.ts +34 -0
  502. package/lib/{modules/storage/connectors/redisConnector.ts → packages/storage/connectors/RedisConnector.ts} +16 -0
  503. package/lib/packages/storage/connectors/index.ts +17 -0
  504. package/lib/packages/storage/index.ts +16 -0
  505. package/lib/services/CampaignDecisionService.ts +72 -30
  506. package/lib/services/HooksManager.ts +17 -8
  507. package/lib/services/SettingsManager.ts +97 -50
  508. package/lib/services/StorageService.ts +44 -9
  509. package/lib/services/UrlService.ts +64 -15
  510. package/lib/types/Common.ts +42 -0
  511. package/lib/utils/CampaignUtil.ts +200 -110
  512. package/lib/utils/DataTypeUtil.ts +113 -14
  513. package/lib/utils/DecisionUtil.ts +170 -106
  514. package/lib/utils/FunctionUtil.ts +126 -64
  515. package/lib/utils/GatewayServiceUtil.ts +126 -0
  516. package/lib/utils/ImpressionUtil.ts +59 -0
  517. package/lib/utils/LogMessageUtil.ts +21 -24
  518. package/lib/utils/MegUtil.ts +316 -236
  519. package/lib/utils/NetworkUtil.ts +335 -234
  520. package/lib/utils/PromiseUtil.ts +25 -4
  521. package/lib/utils/RuleEvaluationUtil.ts +78 -0
  522. package/lib/utils/SettingsUtil.ts +30 -16
  523. package/lib/utils/UuidUtil.ts +45 -9
  524. package/package.json +34 -24
  525. package/lib/api/GetVariables.ts +0 -0
  526. package/lib/constants/url.ts +0 -7
  527. package/lib/enums/campaignTypeEnum.ts +0 -5
  528. package/lib/enums/logMessages/DebugLogMessageEnum.ts +0 -3
  529. package/lib/enums/logMessages/ErrorLogMessageEnum.ts +0 -3
  530. package/lib/models/ImpactCampaignModel.ts +0 -20
  531. package/lib/models/MetricModel.ts +0 -31
  532. package/lib/models/RuleModel.ts +0 -35
  533. package/lib/modules/decision-maker/index.ts +0 -65
  534. package/lib/modules/logger/core/logManager.ts +0 -113
  535. package/lib/modules/logger/core/transportManager.ts +0 -76
  536. package/lib/modules/logger/enums/logLevelEnum.ts +0 -7
  537. package/lib/modules/logger/index.ts +0 -2
  538. package/lib/modules/logger/logMessageBuilder.ts +0 -60
  539. package/lib/modules/logger/logger.ts +0 -7
  540. package/lib/modules/logger/transports/consoleTransport.ts +0 -37
  541. package/lib/modules/networking/client/networkClientInterface.ts +0 -8
  542. package/lib/modules/networking/handlers/requestHandler.ts +0 -28
  543. package/lib/modules/networking/index.ts +0 -6
  544. package/lib/modules/networking/manager/networkManager.ts +0 -77
  545. package/lib/modules/networking/models/globalRequestModel.ts +0 -69
  546. package/lib/modules/networking/models/requestModel.ts +0 -164
  547. package/lib/modules/networking/models/responseModel.ts +0 -40
  548. package/lib/modules/segmentor/core/segmentationManger.ts +0 -22
  549. package/lib/modules/segmentor/enums/segmentOperandRegexEnum.ts +0 -10
  550. package/lib/modules/segmentor/enums/segmentOperandValueEnum.ts +0 -8
  551. package/lib/modules/segmentor/enums/segmentOperatorValueEnum.ts +0 -15
  552. package/lib/modules/segmentor/evaluators/segmentEvaluator.ts +0 -239
  553. package/lib/modules/segmentor/evaluators/segmentOperandEvaluator.ts +0 -199
  554. package/lib/modules/segmentor/index.ts +0 -3
  555. package/lib/modules/segmentor/segmentation.ts +0 -6
  556. package/lib/modules/segmentor/utils/SegmentUtil.ts +0 -23
  557. package/lib/modules/storage/connector.ts +0 -25
  558. package/lib/modules/storage/connectors/index.ts +0 -2
  559. package/lib/modules/storage/connectors/memoryConnector.ts +0 -115
  560. package/lib/modules/storage/index.ts +0 -1
  561. package/lib/modules/storage/storage.ts +0 -48
  562. package/lib/types/common.ts +0 -13
  563. package/lib/utils/WebServiceUtil.ts +0 -60
  564. package/lib/utils/logMessageBuilder.ts +0 -60
  565. /package/{lib/api/GetVariable.ts → dist/interfaces/IVWOBuilder.d.ts} +0 -0
package/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  ## VWO Feature Management and Experimentation SDK for Node.js
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/vwo-fme-node-sdk.svg)](https://www.npmjs.com/package/vwo-fme-node-sdk)
4
+ [![CI](https://github.com/wingify/vwo-fme-node-sdk/workflows/CI/badge.svg?branch=master)](https://github.com/wingify/vwo-fme-node-sdk/actions?query=workflow%3ACI)
5
+
6
+ [![codecov](https://codecov.io/gh/wingify/vwo-fme-node-sdk/branch/master/graph/badge.svg?token=813UYYMWGM)](https://codecov.io/gh/wingify/vwo-fme-node-sdk)
7
+
4
8
  [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
5
9
 
6
10
  ### Requirements
@@ -20,22 +24,48 @@ yarn add vwo-fme-node-sdk
20
24
  ### Example
21
25
 
22
26
  ```javascript
23
-
27
+ const { init } = require('vwo-fme-node-sdk');
28
+
29
+ const vwoClient = await vwo.init({
30
+ accountId: '123456', // VWO Account ID
31
+ sdkKey: '32-alpha-numeric-sdk-key' // SDK Key
32
+ });
33
+
34
+ // set user context
35
+ const userContext = { id: "unique_user_id" };
36
+ // returns a flag object
37
+ const getFlag = await vwoClient.getFlag('feature_key', userContext);
38
+ // check if flag is enabled
39
+ const isFlagEnabled = getFlag.isEnabled();
40
+ // get variable
41
+ const intVar = getFlag.getVariable('int_variable_key');
42
+
43
+ // track event
44
+ vwoClient.trackEvent('addToCart', userContext, eventProperties);
24
45
  ```
25
46
 
26
- ### Scripts
47
+ ### Development Scripts
27
48
 
28
- 1. Install dependencies
49
+ 1. Install dependencies and bootstrap git-hooks
29
50
 
30
- `yarn install`
51
+ ```bash
52
+ yarn install
53
+ ```
31
54
 
32
55
  2. Compile TypeScript code to JavaScript(ES6)
33
56
 
34
- `yarn tsc`
57
+ ```bash
58
+ yarn tsc
59
+ ```
35
60
 
36
- 2. To run example:
61
+ 3. To run tests:
37
62
 
38
- `yarn run example`
63
+ ```bash
64
+ # for production
65
+ yarn run test:prod
66
+ # for development
67
+ yarn run test:dev
68
+ ```
39
69
 
40
70
  ### Contributing
41
71
 
package/dist/VWO.d.ts CHANGED
@@ -1,9 +1,40 @@
1
- import { dynamic } from './types/common';
1
+ import { IVWOClient } from './VWOClient';
2
+ import { IVWOOptions } from './models/VWOOptionsModel';
3
+ import { dynamic } from './types/Common';
4
+ import { LogLevelEnum } from './packages/logger/enums/LogLevelEnum';
5
+ import { Connector } from './packages/storage/Connector';
6
+ export { LogLevelEnum, Connector as StorageConnector };
2
7
  export declare class VWO {
3
8
  private static vwoBuilder;
4
9
  private static instance;
5
- constructor(options?: Record<string, dynamic>);
10
+ /**
11
+ * Constructor for the VWO class.
12
+ * Initializes a new instance of VWO with the provided options.
13
+ * @param {Record<string, dynamic>} options - Configuration options for the VWO instance.
14
+ * @returns The instance of VWO.
15
+ */
16
+ constructor(options: IVWOOptions);
17
+ /**
18
+ * Sets the singleton instance of VWO.
19
+ * Configures and builds the VWO instance using the provided options.
20
+ * @param {Record<string, dynamic>} options - Configuration options for setting up VWO.
21
+ * @returns A Promise resolving to the configured VWO instance.
22
+ */
6
23
  private static setInstance;
24
+ /**
25
+ * Gets the singleton instance of VWO.
26
+ * @returns The singleton instance of VWO.
27
+ */
7
28
  static get Instance(): dynamic;
8
29
  }
9
- export declare function init(options?: Record<string, dynamic>): Promise<VWO>;
30
+ /**
31
+ * Initializes a new instance of VWO with the provided options.
32
+ * @param options Configuration options for the VWO instance.
33
+ * @property {string} sdkKey - The SDK key for the VWO account.
34
+ * @property {string} accountId - The account ID for the VWO account.
35
+ * @property {GatewayServiceModel} gatewayService - The gateway service configuration.
36
+ * @property {StorageService} storage - The storage configuration.
37
+ * @returns
38
+ */
39
+ export declare function init(options: IVWOOptions): Promise<IVWOClient>;
40
+ export declare function onReady(): Promise<any>;
package/dist/VWO.js CHANGED
@@ -36,33 +36,69 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.init = exports.VWO = void 0;
39
+ exports.onReady = exports.init = exports.VWO = exports.StorageConnector = exports.LogLevelEnum = void 0;
40
+ /**
41
+ * Copyright 2024 Wingify Software Pvt. Ltd.
42
+ *
43
+ * Licensed under the Apache License, Version 2.0 (the "License");
44
+ * you may not use this file except in compliance with the License.
45
+ * You may obtain a copy of the License at
46
+ *
47
+ * http://www.apache.org/licenses/LICENSE-2.0
48
+ *
49
+ * Unless required by applicable law or agreed to in writing, software
50
+ * distributed under the License is distributed on an "AS IS" BASIS,
51
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
52
+ * See the License for the specific language governing permissions and
53
+ * limitations under the License.
54
+ */
40
55
  var VWOBuilder_1 = require("./VWOBuilder");
41
56
  var DataTypeUtil_1 = require("./utils/DataTypeUtil");
57
+ var PromiseUtil_1 = require("./utils/PromiseUtil");
58
+ var log_messages_1 = require("./enums/log-messages");
59
+ var LogLevelEnum_1 = require("./packages/logger/enums/LogLevelEnum");
60
+ Object.defineProperty(exports, "LogLevelEnum", { enumerable: true, get: function () { return LogLevelEnum_1.LogLevelEnum; } });
61
+ var Connector_1 = require("./packages/storage/Connector");
62
+ Object.defineProperty(exports, "StorageConnector", { enumerable: true, get: function () { return Connector_1.Connector; } });
63
+ var LogMessageUtil_1 = require("./utils/LogMessageUtil");
42
64
  var VWO = /** @class */ (function () {
65
+ /**
66
+ * Constructor for the VWO class.
67
+ * Initializes a new instance of VWO with the provided options.
68
+ * @param {Record<string, dynamic>} options - Configuration options for the VWO instance.
69
+ * @returns The instance of VWO.
70
+ */
43
71
  function VWO(options) {
44
- if (options === void 0) { options = {}; }
45
72
  return VWO.setInstance(options);
46
73
  }
74
+ /**
75
+ * Sets the singleton instance of VWO.
76
+ * Configures and builds the VWO instance using the provided options.
77
+ * @param {Record<string, dynamic>} options - Configuration options for setting up VWO.
78
+ * @returns A Promise resolving to the configured VWO instance.
79
+ */
47
80
  VWO.setInstance = function (options) {
48
81
  var _this = this;
49
- this.vwoBuilder = new VWOBuilder_1.VWOBuilder(options);
82
+ var optionsVWOBuilder = options === null || options === void 0 ? void 0 : options.vwoBuilder;
83
+ this.vwoBuilder = optionsVWOBuilder || new VWOBuilder_1.VWOBuilder(options);
50
84
  this.instance = this.vwoBuilder
51
- .setSettingsManager()
52
- .setStorage()
53
- .setLogger()
54
- .setNetworkManager()
55
- .setSegmentation()
56
- .initBatching()
57
- .initPolling();
58
- // .getSettings()
59
- // .setAnalyticsCallback()
85
+ .setLogger() // Sets up logging for debugging and monitoring.
86
+ .setSettingsManager() // Sets the settings manager for configuration management.
87
+ .setStorage() // Configures storage for data persistence.
88
+ .setNetworkManager() // Configures network management for API communication.
89
+ .setSegmentation() // Sets up segmentation for targeted functionality.
90
+ // .initBatching() // Initializes batching for bulk data processing.
91
+ .initPolling(); // Starts polling mechanism for regular updates.
92
+ // .setAnalyticsCallback() // Sets up analytics callback for data analysis.
60
93
  return this.vwoBuilder.getSettings().then(function (settings) {
61
- return _this.vwoBuilder.build(settings);
94
+ return _this.vwoBuilder.build(settings); // Builds the VWO instance with the fetched settings.
62
95
  });
63
- // return this.instance;
64
96
  };
65
97
  Object.defineProperty(VWO, "Instance", {
98
+ /**
99
+ * Gets the singleton instance of VWO.
100
+ * @returns The singleton instance of VWO.
101
+ */
66
102
  get: function () {
67
103
  return this.instance;
68
104
  },
@@ -72,29 +108,108 @@ var VWO = /** @class */ (function () {
72
108
  return VWO;
73
109
  }());
74
110
  exports.VWO = VWO;
75
- function init() {
76
- return __awaiter(this, arguments, void 0, function (options) {
77
- var instance;
78
- if (options === void 0) { options = {}; }
111
+ var _global = {};
112
+ /**
113
+ * Initializes a new instance of VWO with the provided options.
114
+ * @param options Configuration options for the VWO instance.
115
+ * @property {string} sdkKey - The SDK key for the VWO account.
116
+ * @property {string} accountId - The account ID for the VWO account.
117
+ * @property {GatewayServiceModel} gatewayService - The gateway service configuration.
118
+ * @property {StorageService} storage - The storage configuration.
119
+ * @returns
120
+ */
121
+ function init(options) {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var apiName, date, msg, msg, msg, instance, msg;
79
124
  return __generator(this, function (_a) {
80
- switch (_a.label) {
81
- case 0:
82
- if (!(0, DataTypeUtil_1.isObject)(options)) {
83
- throw new Error('Options should be of type object.');
84
- }
85
- if (!options.sdkKey || !(0, DataTypeUtil_1.isString)(options.sdkKey)) {
86
- throw new Error('Please provide the sdkKey in the options and should be a of type string');
87
- }
88
- if (!options.accountId) {
89
- throw new Error('Please provide VWO account ID in the options and should be a of type string|number');
90
- }
91
- return [4 /*yield*/, new VWO(options)];
92
- case 1:
93
- instance = _a.sent();
94
- return [2 /*return*/, instance];
125
+ apiName = 'init';
126
+ date = new Date().toISOString();
127
+ try {
128
+ if (!(0, DataTypeUtil_1.isObject)(options)) {
129
+ msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.INIT_OPTIONS_ERROR, {
130
+ date: date,
131
+ });
132
+ console.error(msg); // Ensures options is an object.
133
+ }
134
+ if (!(options === null || options === void 0 ? void 0 : options.sdkKey) || !(0, DataTypeUtil_1.isString)(options === null || options === void 0 ? void 0 : options.sdkKey)) {
135
+ msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.INIT_OPTIONS_SDK_KEY_ERROR, {
136
+ date: date,
137
+ });
138
+ console.error(msg); // Validates sdkKey presence and type.
139
+ }
140
+ if (!options.accountId) {
141
+ msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.INIT_OPTIONS_ACCOUNT_ID_ERROR, {
142
+ date: date,
143
+ });
144
+ console.error(msg); // Validates accountId presence and type.
145
+ }
146
+ instance = new VWO(options);
147
+ _global = {
148
+ vwoInitDeferred: new PromiseUtil_1.Deferred(),
149
+ isSettingsFetched: false,
150
+ instance: null,
151
+ };
152
+ return [2 /*return*/, instance.then(function (_vwoInstance) {
153
+ _global.isSettingsFetched = true;
154
+ _global.instance = _vwoInstance;
155
+ _global.vwoInitDeferred.resolve(_vwoInstance);
156
+ return _vwoInstance;
157
+ })];
95
158
  }
159
+ catch (err) {
160
+ msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.API_THROW_ERROR, {
161
+ apiName: apiName,
162
+ err: err,
163
+ });
164
+ console.info("[INFO]: VWO-SDK ".concat(new Date().toISOString(), " ").concat(msg));
165
+ }
166
+ return [2 /*return*/];
96
167
  });
97
168
  });
98
169
  }
99
170
  exports.init = init;
171
+ function onReady() {
172
+ return __awaiter(this, void 0, void 0, function () {
173
+ var apiName, date_1, msg, msg;
174
+ return __generator(this, function (_a) {
175
+ apiName = 'onReady';
176
+ try {
177
+ _global.vwoInitDeferred = new PromiseUtil_1.Deferred();
178
+ date_1 = new Date().toISOString();
179
+ // If settings are already fetched, resolve the promise
180
+ if (_global.isSettingsFetched) {
181
+ msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.InfoLogMessagesEnum.ON_READY_ALREADY_RESOLVED, {
182
+ date: date_1,
183
+ apiName: apiName,
184
+ });
185
+ console.info(msg);
186
+ _global.vwoInitDeferred.resolve(_global.instance);
187
+ }
188
+ else {
189
+ // wait for five seconds, else reject the promise
190
+ setTimeout(function () {
191
+ if (_global.isSettingsFetched) {
192
+ return;
193
+ }
194
+ var msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.InfoLogMessagesEnum.ON_READY_SETTINGS_FAILED, {
195
+ date: date_1,
196
+ });
197
+ console.error(msg);
198
+ _global.vwoInitDeferred.reject(new Error('VWO settings could not be fetched'));
199
+ }, 5000);
200
+ }
201
+ return [2 /*return*/, _global.vwoInitDeferred.promise];
202
+ }
203
+ catch (err) {
204
+ msg = (0, LogMessageUtil_1.buildMessage)(log_messages_1.ErrorLogMessagesEnum.API_THROW_ERROR, {
205
+ apiName: apiName,
206
+ err: err,
207
+ });
208
+ console.info("[INFO]: VWO-SDK ".concat(new Date().toISOString(), " ").concat(msg));
209
+ }
210
+ return [2 /*return*/];
211
+ });
212
+ });
213
+ }
214
+ exports.onReady = onReady;
100
215
  //# sourceMappingURL=VWO.js.map
package/dist/VWO.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"VWO.js","sourceRoot":"","sources":["../lib/VWO.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0C;AAC1C,qDAA0D;AAI1D;IAIE,aAAY,OAAqC;QAArC,wBAAA,EAAA,YAAqC;QAC/C,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEc,eAAW,GAA1B,UAA2B,OAAgC;QAA3D,iBAkBC;QAjBC,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU;aAC5B,kBAAkB,EAAE;aACpB,UAAU,EAAE;aACZ,SAAS,EAAE;aACX,iBAAiB,EAAE;aACnB,eAAe,EAAE;aACjB,YAAY,EAAE;aACd,WAAW,EAAE,CAAA;QACd,iBAAiB;QACjB,0BAA0B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,UAAC,QAAuB;YAChE,OAAO,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAA;QAEF,wBAAwB;IAC1B,CAAC;IAED,sBAAW,eAAQ;aAAnB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IACH,UAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,kBAAG;AAiChB,SAAsB,IAAI;wDAAC,OAAqC;;QAArC,wBAAA,EAAA,YAAqC;;;;oBAC9D,IAAI,CAAC,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAA,uBAAQ,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;oBAC7F,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;oBACxG,CAAC;oBAEgB,qBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,EAAA;;oBAAjC,QAAQ,GAAG,SAAsB;oBAEvC,sBAAO,QAAQ,EAAC;;;;CACjB;AAhBD,oBAgBC"}
1
+ {"version":3,"file":"VWO.js","sourceRoot":"","sources":["../lib/VWO.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,114 @@
1
- import { dynamic } from './types/common';
2
- import { LogManager } from './modules/logger';
3
- import { Storage } from './modules/storage';
4
- import { VWOClient } from './VWOClient';
5
- import { SettingsModel } from './models/SettingsModel';
6
- interface IVWOBuilder {
1
+ /**
2
+ * Copyright 2024 Wingify Software Pvt. Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { dynamic } from './types/Common';
17
+ import { ILogManager } from './packages/logger';
18
+ import { Storage } from './packages/storage';
19
+ import { IVWOClient } from './VWOClient';
20
+ import { SettingsModel } from './models/settings/SettingsModel';
21
+ import { IVWOOptions } from './models/VWOOptionsModel';
22
+ export interface IVWOBuilder {
7
23
  settings: SettingsModel;
8
24
  storage: Storage;
9
- logManager: LogManager;
25
+ logManager: ILogManager;
10
26
  isSettingsFetchInProgress: boolean;
11
- build(settings: SettingsModel): VWOClient;
27
+ vwoInstance: IVWOClient;
28
+ build(settings: SettingsModel): IVWOClient;
12
29
  fetchSettings(): Promise<SettingsModel>;
13
30
  setSettingsManager(): this;
14
- setSettings(settings: SettingsModel): void;
15
31
  getSettings(force: boolean): Promise<dynamic>;
16
32
  setStorage(): this;
17
33
  setNetworkManager(): this;
18
- initBatching(): this;
19
34
  initPolling(): this;
20
- setAnalyticsCallback(): this;
21
35
  setLogger(): this;
22
36
  setSegmentation(): this;
23
37
  }
24
38
  export declare class VWOBuilder implements IVWOBuilder {
25
- readonly apiKey: string;
26
- readonly options: Record<string, any>;
39
+ readonly sdkKey: string;
40
+ readonly options: IVWOOptions;
27
41
  private settingFileManager;
28
42
  settings: SettingsModel;
29
43
  storage: Storage;
30
- logManager: LogManager;
44
+ logManager: ILogManager;
31
45
  originalSettings: dynamic;
32
46
  isSettingsFetchInProgress: boolean;
33
- constructor(options: Record<string, dynamic>);
47
+ vwoInstance: IVWOClient;
48
+ constructor(options: IVWOOptions);
49
+ /**
50
+ * Sets the network manager with the provided client and development mode options.
51
+ * @returns {this} The instance of this builder.
52
+ */
34
53
  setNetworkManager(): this;
54
+ /**
55
+ * Sets the segmentation evaluator with the provided segmentation options.
56
+ * @returns {this} The instance of this builder.
57
+ */
35
58
  setSegmentation(): this;
59
+ /**
60
+ * Fetches settings asynchronously, ensuring no parallel fetches.
61
+ * @param {boolean} [force=false] - Force fetch ignoring cache.
62
+ * @returns {Promise<SettingsModel>} A promise that resolves to the fetched settings.
63
+ */
36
64
  fetchSettings(force?: boolean): Promise<SettingsModel>;
37
- setSettings(settings: Record<string, any> | string): void;
65
+ /**
66
+ * Gets the settings, fetching them if not cached or if forced.
67
+ * @param {boolean} [force=false] - Force fetch ignoring cache.
68
+ * @returns {Promise<SettingsModel>} A promise that resolves to the settings.
69
+ */
38
70
  getSettings(force?: boolean): Promise<SettingsModel>;
71
+ /**
72
+ * Sets the storage connector based on the provided storage options.
73
+ * @returns {this} The instance of this builder.
74
+ */
39
75
  setStorage(): this;
76
+ /**
77
+ * Sets the settings manager with the provided options.
78
+ * @returns {this} The instance of this builder.
79
+ */
40
80
  setSettingsManager(): this;
81
+ /**
82
+ * Sets the logger with the provided logger options.
83
+ * @returns {this} The instance of this builder.
84
+ */
41
85
  setLogger(): this;
42
- setAnalyticsCallback(): this;
43
- initBatching(): this;
86
+ /**
87
+ * Sets the analytics callback with the provided analytics options.
88
+ * @returns {this} The instance of this builder.
89
+ */
90
+ /**
91
+ * Generates a random user ID based on the provided API key.
92
+ * @returns {string} The generated random user ID.
93
+ */
94
+ getRandomUserId(): string;
95
+ /**
96
+ * Initializes the batching with the provided batch events options.
97
+ * @returns {this} The instance of this builder.
98
+ */
99
+ /**
100
+ * Initializes the polling with the provided poll interval.
101
+ * @returns {this} The instance of this builder.
102
+ */
44
103
  initPolling(): this;
45
- build(settings: SettingsModel): VWOClient;
46
- checkAndPoll(pollingInterval: number): void;
104
+ /**
105
+ * Builds a new VWOClient instance with the provided settings.
106
+ * @param {SettingsModel} settings - The settings for the VWOClient.
107
+ * @returns {VWOClient} The new VWOClient instance.
108
+ */
109
+ build(settings: SettingsModel): IVWOClient;
110
+ /**
111
+ * Checks and polls for settings updates at the provided interval.
112
+ */
113
+ checkAndPoll(): void;
47
114
  }
48
- export {};