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,168 @@
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.SettingsManager = void 0;
40
+ var networking_1 = require("../modules/networking");
41
+ var logger_1 = require("../modules/logger");
42
+ var PromiseUtil_1 = require("../utils/PromiseUtil");
43
+ var constants_1 = require("../constants");
44
+ var NetworkUtil_1 = require("../utils/NetworkUtil");
45
+ var SettingsManager = /** @class */ (function () {
46
+ function SettingsManager(options) {
47
+ var _a, _b, _c;
48
+ this.sdkKey = options.sdkKey;
49
+ this.accountId = options.accountId;
50
+ this.expiry = ((_a = options === null || options === void 0 ? void 0 : options.settings) === null || _a === void 0 ? void 0 : _a.expiry) || constants_1.Constants.SETTINGS_EXPIRY;
51
+ this.networkTimeout = ((_b = options === null || options === void 0 ? void 0 : options.settings) === null || _b === void 0 ? void 0 : _b.timeout) || constants_1.Constants.SETTINGS_TIMEOUT;
52
+ if ((_c = options === null || options === void 0 ? void 0 : options.webService) === null || _c === void 0 ? void 0 : _c.url) {
53
+ var parsedUrl = new URL("https://".concat(options.webService.url));
54
+ this.settingsFileUrl = parsedUrl.hostname;
55
+ this.settingsFilePort = parseInt(parsedUrl.port);
56
+ }
57
+ else {
58
+ this.settingsFileUrl = constants_1.Constants.HOST_NAME;
59
+ }
60
+ // if (this.expiry > 0) {
61
+ // this.setSettingsExpiry();
62
+ // }
63
+ }
64
+ SettingsManager.prototype.setSettingsExpiry = function () {
65
+ var _this = this;
66
+ var settingsTimeout = setTimeout(function () {
67
+ _this.fetchSettingsAndCacheInStorage(true).then(function () {
68
+ clearTimeout(settingsTimeout);
69
+ // again set the timer
70
+ // NOTE: setInterval could be used but it will not consider the time required to fetch settings
71
+ // This breaks the timer rythm and also sends more call than required
72
+ _this.setSettingsExpiry();
73
+ });
74
+ }, this.expiry);
75
+ };
76
+ SettingsManager.prototype.fetchSettingsAndCacheInStorage = function (update) {
77
+ var _this = this;
78
+ if (update === void 0) { update = false; }
79
+ var deferredObject = new PromiseUtil_1.Deferred();
80
+ // const storageConnector = Storage.Instance.getConnector();
81
+ this.fetchSettings()
82
+ .then(function (res) { return __awaiter(_this, void 0, void 0, function () {
83
+ return __generator(this, function (_a) {
84
+ logger_1.LogManager.Instance.info('Settings fetched successfully');
85
+ // const method = update ? 'update' : 'set';
86
+ // storageConnector[method](Constants.SETTINGS, res).then(() => {
87
+ // LogManager.Instance.info('Settings persisted in cache: memory');
88
+ // deferredObject.resolve(res);
89
+ // });
90
+ deferredObject.resolve(res);
91
+ return [2 /*return*/];
92
+ });
93
+ }); })
94
+ .catch(function (err) {
95
+ logger_1.LogManager.Instance.error("Settings could not be fetched: ".concat(err));
96
+ deferredObject.resolve(null);
97
+ });
98
+ return deferredObject.promise;
99
+ };
100
+ SettingsManager.prototype.fetchSettings = function () {
101
+ var deferredObject = new PromiseUtil_1.Deferred();
102
+ if (!this.sdkKey || !this.accountId) {
103
+ // console.error('AccountId and sdkKey are required for fetching account settings. Aborting!');
104
+ logger_1.LogManager.Instance.error('sdkKey is required for fetching account settings. Aborting!');
105
+ deferredObject.reject(new Error('sdkKey is required for fetching account settings. Aborting!'));
106
+ }
107
+ var networkInstance = networking_1.NetworkManager.Instance;
108
+ var options = new NetworkUtil_1.NetworkUtil().getSettingsPath(this.sdkKey, this.accountId);
109
+ options.platform = 'server';
110
+ options['api-version'] = 1;
111
+ if (!networkInstance.getConfig().getDevelopmentMode()) {
112
+ options.s = 'prod';
113
+ }
114
+ try {
115
+ var request = new networking_1.RequestModel(this.settingsFileUrl, 'GET', constants_1.Constants.SETTINTS_ENDPOINT, options, null, null, null, this.settingsFilePort);
116
+ request.setTimeout(this.networkTimeout);
117
+ networkInstance
118
+ .get(request)
119
+ .then(function (response) {
120
+ deferredObject.resolve(response.getData());
121
+ })
122
+ .catch(function (err) {
123
+ deferredObject.reject(err);
124
+ });
125
+ return deferredObject.promise;
126
+ }
127
+ catch (err) {
128
+ console.error('Error occurred while fetching settings:', err);
129
+ deferredObject.reject(err);
130
+ return deferredObject.promise;
131
+ }
132
+ };
133
+ SettingsManager.prototype.getSettings = function (forceFetch) {
134
+ if (forceFetch === void 0) { forceFetch = false; }
135
+ var deferredObject = new PromiseUtil_1.Deferred();
136
+ if (forceFetch) {
137
+ this.fetchSettingsAndCacheInStorage().then(function (settings) {
138
+ deferredObject.resolve(settings);
139
+ });
140
+ }
141
+ else {
142
+ this.fetchSettingsAndCacheInStorage().then(function (fetchedSettings) {
143
+ deferredObject.resolve(fetchedSettings);
144
+ });
145
+ // const storageConnector = Storage.Instance.getConnector();
146
+ // storageConnector
147
+ // .get(Constants.SETTINGS)
148
+ // .then((storedSettings: dynamic) => {
149
+ // if (!isObject(storedSettings)) {
150
+ // this.fetchSettingsAndCacheInStorage().then((fetchedSettings) => {
151
+ // deferredObject.resolve(fetchedSettings);
152
+ // });
153
+ // } else {
154
+ // deferredObject.resolve(storedSettings);
155
+ // }
156
+ // })
157
+ // .catch(() => {
158
+ // this.fetchSettingsAndCacheInStorage().then((fetchedSettings) => {
159
+ // deferredObject.resolve(fetchedSettings);
160
+ // });
161
+ // });
162
+ }
163
+ return deferredObject.promise;
164
+ };
165
+ return SettingsManager;
166
+ }());
167
+ exports.SettingsManager = SettingsManager;
168
+ //# sourceMappingURL=SettingsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsManager.js","sourceRoot":"","sources":["../../lib/services/SettingsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAAoF;AACpF,4CAA+C;AAG/C,oDAAgD;AAEhD,0CAAyC;AACzC,oDAAmD;AAMnD;IAQE,yBAAY,OAA4B;;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,MAAM,KAAI,qBAAS,CAAC,eAAe,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,OAAO,KAAI,qBAAS,CAAC,gBAAgB,CAAC;QAE/E,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,0CAAE,GAAG,EAAE,CAAC;YAC7B,IAAM,SAAS,GAAG,IAAI,GAAG,CAAC,kBAAW,OAAO,CAAC,UAAU,CAAC,GAAG,CAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,qBAAS,CAAC,SAAS,CAAC;QAC7C,CAAC;QAED,yBAAyB;QACzB,8BAA8B;QAC9B,IAAI;IACN,CAAC;IAEO,2CAAiB,GAAzB;QAAA,iBAUC;QATC,IAAM,eAAe,GAAG,UAAU,CAAC;YACjC,KAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBAC7C,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC9B,sBAAsB;gBACtB,+FAA+F;gBAC/F,qEAAqE;gBACrE,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEO,wDAA8B,GAAtC,UAAuC,MAAc;QAArD,iBAsBC;QAtBsC,uBAAA,EAAA,cAAc;QACnD,IAAM,cAAc,GAAG,IAAI,sBAAQ,EAAE,CAAC;QACtC,4DAA4D;QAE5D,IAAI,CAAC,aAAa,EAAE;aACjB,IAAI,CAAC,UAAO,GAAG;;gBACd,mBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAE1D,4CAA4C;gBAE5C,iEAAiE;gBACjE,qEAAqE;gBACrE,iCAAiC;gBACjC,MAAM;gBACN,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;;;aAC7B,CAAC;aACD,KAAK,CAAC,UAAC,GAAG;YACT,mBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,yCAAkC,GAAG,CAAE,CAAC,CAAC;YACnE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,OAAO,cAAc,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,uCAAa,GAAb;QACE,IAAM,cAAc,GAAG,IAAI,sBAAQ,EAAE,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,+FAA+F;YAC/F,mBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACzF,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,IAAM,eAAe,GAAG,2BAAc,CAAC,QAAQ,CAAC;QAChD,IAAM,OAAO,GAA4B,IAAI,yBAAW,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACtD,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACH,IAAM,OAAO,GAAiB,IAAI,yBAAY,CAC5C,IAAI,CAAC,eAAe,EACpB,KAAK,EACL,qBAAS,CAAC,iBAAiB,EAC3B,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,gBAAgB,CACtB,CAAC;YACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAExC,eAAe;iBACZ,GAAG,CAAC,OAAO,CAAC;iBACZ,IAAI,CAAC,UAAC,QAAuB;gBAC5B,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC;iBACD,KAAK,CAAC,UAAC,GAAkB;gBACxB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEL,OAAO,cAAc,CAAC,OAAO,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,cAAc,CAAC,OAAO,CAAC;QAChC,CAAC;IACH,CAAC;IAED,qCAAW,GAAX,UAAY,UAAkB;QAAlB,2BAAA,EAAA,kBAAkB;QAC5B,IAAM,cAAc,GAAG,IAAI,sBAAQ,EAAE,CAAC;QAEtC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAClD,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAAC,UAAC,eAAe;gBACzD,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,4DAA4D;YAE5D,mBAAmB;YACnB,6BAA6B;YAC7B,yCAAyC;YACzC,uCAAuC;YACvC,0EAA0E;YAC1E,mDAAmD;YACnD,YAAY;YACZ,eAAe;YACf,gDAAgD;YAChD,QAAQ;YACR,OAAO;YACP,mBAAmB;YACnB,wEAAwE;YACxE,iDAAiD;YACjD,UAAU;YACV,QAAQ;QACV,CAAC;QAED,OAAO,cAAc,CAAC,OAAO,CAAC;IAChC,CAAC;IACH,sBAAC;AAAD,CAAC,AA9ID,IA8IC;AA9IY,0CAAe"}
@@ -0,0 +1,5 @@
1
+ export declare class StorageService {
2
+ private storageData;
3
+ getDataInStorage(featureKey: any, user: any): Promise<Record<any, any>>;
4
+ setDataInStorage(data: Record<any, any>): Promise<void>;
5
+ }
@@ -0,0 +1,94 @@
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.StorageService = void 0;
40
+ var storage_1 = require("../modules/storage");
41
+ var StorageEnum_1 = require("../enums/StorageEnum");
42
+ var PromiseUtil_1 = require("../utils/PromiseUtil");
43
+ var DataTypeUtil_1 = require("../utils/DataTypeUtil");
44
+ var StorageService = /** @class */ (function () {
45
+ function StorageService() {
46
+ this.storageData = {};
47
+ }
48
+ StorageService.prototype.getDataInStorage = function (featureKey, user) {
49
+ return __awaiter(this, void 0, void 0, function () {
50
+ var deferredObject, storageInstance;
51
+ return __generator(this, function (_a) {
52
+ deferredObject = new PromiseUtil_1.Deferred();
53
+ storageInstance = storage_1.Storage.Instance.getConnector();
54
+ if ((0, DataTypeUtil_1.isNull)(storageInstance) || (0, DataTypeUtil_1.isUndefined)(storageInstance)) {
55
+ deferredObject.resolve(StorageEnum_1.StorageEnum.STORAGE_UNDEFINED);
56
+ }
57
+ else {
58
+ storageInstance
59
+ .get(featureKey, user.id)
60
+ .then(function (data) {
61
+ deferredObject.resolve(data);
62
+ })
63
+ .catch(function (err) {
64
+ console.log('Error in getting data from storage', err);
65
+ // TODO:- Add logging here
66
+ deferredObject.resolve(StorageEnum_1.StorageEnum.NO_DATA_FOUND);
67
+ });
68
+ }
69
+ return [2 /*return*/, deferredObject.promise];
70
+ });
71
+ });
72
+ };
73
+ StorageService.prototype.setDataInStorage = function (data) {
74
+ var deferredObject = new PromiseUtil_1.Deferred();
75
+ var storageInstance = storage_1.Storage.Instance.getConnector();
76
+ if (storageInstance === null || storageInstance === undefined) {
77
+ deferredObject.resolve(false);
78
+ }
79
+ else {
80
+ storageInstance
81
+ .set(data)
82
+ .then(function () {
83
+ deferredObject.resolve(true);
84
+ })
85
+ .catch(function () {
86
+ deferredObject.resolve(false);
87
+ });
88
+ }
89
+ return deferredObject.promise;
90
+ };
91
+ return StorageService;
92
+ }());
93
+ exports.StorageService = StorageService;
94
+ //# sourceMappingURL=StorageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../lib/services/StorageService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAA6C;AAE7C,oDAAmD;AAEnD,oDAAgD;AAChD,sDAA4D;AAE5D;IAAA;QACU,gBAAW,GAA4B,EAAE,CAAC;IA2CpD,CAAC;IAzCO,yCAAgB,GAAtB,UAAuB,UAAe,EAAE,IAAS;;;;gBACzC,cAAc,GAAG,IAAI,sBAAQ,EAAE,CAAC;gBAChC,eAAe,GAAG,iBAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAExD,IAAI,IAAA,qBAAM,EAAC,eAAe,CAAC,IAAI,IAAA,0BAAW,EAAC,eAAe,CAAC,EAAE,CAAC;oBAC5D,cAAc,CAAC,OAAO,CAAC,yBAAW,CAAC,iBAAiB,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,eAAe;yBACZ,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;yBACxB,IAAI,CAAC,UAAC,IAAyB;wBAC9B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC,CAAC;yBACD,KAAK,CAAC,UAAC,GAAG;wBACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;wBACvD,0BAA0B;wBAC1B,cAAc,CAAC,OAAO,CAAC,yBAAW,CAAC,aAAa,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,sBAAO,cAAc,CAAC,OAAO,EAAC;;;KAC/B;IAED,yCAAgB,GAAhB,UAAiB,IAAsB;QACrC,IAAM,cAAc,GAAG,IAAI,sBAAQ,EAAE,CAAC;QAEtC,IAAM,eAAe,GAAG,iBAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxD,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9D,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,eAAe;iBACZ,GAAG,CAAC,IAAI,CAAC;iBACT,IAAI,CAAC;gBACJ,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC;iBACD,KAAK,CAAC;gBACL,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,cAAc,CAAC,OAAO,CAAC;IAChC,CAAC;IACH,qBAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,wCAAc"}
@@ -0,0 +1,13 @@
1
+ interface UrlServiceType {
2
+ collectionPrefix?: string;
3
+ webServiceUrl?: string;
4
+ port?: number;
5
+ init({ collectionPrefix, webServiceUrl }?: {
6
+ collectionPrefix?: string;
7
+ webServiceUrl?: string;
8
+ }): UrlServiceType;
9
+ getBaseUrl(): string;
10
+ getPort(): number;
11
+ }
12
+ declare const UrlService: UrlServiceType;
13
+ export default UrlService;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var DataTypeUtil_1 = require("../utils/DataTypeUtil");
4
+ var UrlEnum_1 = require("../enums/UrlEnum");
5
+ var UrlService = {
6
+ init: function (_a) {
7
+ var _b = _a === void 0 ? {} : _a, collectionPrefix = _b.collectionPrefix, webServiceUrl = _b.webServiceUrl;
8
+ if (collectionPrefix && (0, DataTypeUtil_1.isString)(collectionPrefix)) {
9
+ UrlService.collectionPrefix = collectionPrefix;
10
+ }
11
+ if (webServiceUrl && (0, DataTypeUtil_1.isString)(webServiceUrl)) {
12
+ // parse the url
13
+ var parsedUrl = new URL("https://".concat(webServiceUrl));
14
+ UrlService.webServiceUrl = parsedUrl.hostname;
15
+ UrlService.port = parseInt(parsedUrl.port);
16
+ }
17
+ else {
18
+ UrlService.port = 80;
19
+ }
20
+ return UrlService;
21
+ },
22
+ getBaseUrl: function () {
23
+ var baseUrl = UrlEnum_1.UrlEnum.BASE_URL;
24
+ if (UrlService.webServiceUrl) {
25
+ return UrlService.webServiceUrl;
26
+ }
27
+ if (UrlService.collectionPrefix) {
28
+ return "".concat(baseUrl, "/").concat(UrlService.collectionPrefix);
29
+ }
30
+ return baseUrl;
31
+ },
32
+ getPort: function () {
33
+ return UrlService.port;
34
+ },
35
+ };
36
+ exports.default = UrlService;
37
+ //# sourceMappingURL=UrlService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UrlService.js","sourceRoot":"","sources":["../../lib/services/UrlService.ts"],"names":[],"mappings":";;AAAA,sDAAiD;AACjD,4CAA2C;AAW3C,IAAM,UAAU,GAAmB;IACjC,IAAI,YAAC,EAA4F;YAA5F,qBAA0F,EAAE,KAAA,EAA1F,gBAAgB,sBAAA,EAAE,aAAa,mBAAA;QACpC,IAAI,gBAAgB,IAAI,IAAA,uBAAQ,EAAC,gBAAgB,CAAC,EAAE,CAAC;YACnD,UAAU,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACjD,CAAC;QAED,IAAI,aAAa,IAAI,IAAA,uBAAQ,EAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,gBAAgB;YAChB,IAAM,SAAS,GAAG,IAAI,GAAG,CAAC,kBAAW,aAAa,CAAE,CAAC,CAAC;YACtD,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;YAC9C,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU;QACR,IAAM,OAAO,GAAW,iBAAO,CAAC,QAAQ,CAAC;QAEzC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC,aAAa,CAAC;QAClC,CAAC;QAED,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,OAAO,UAAG,OAAO,cAAI,UAAU,CAAC,gBAAgB,CAAE,CAAC;QACrD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,OAAO,UAAU,CAAC,IAAI,CAAC;IACzB,CAAC;CACF,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type dynamic = boolean | number | string | Date | void | undefined | null | Record<string, any> | Array<dynamicArray> | Map<string, dynamicArray>;
2
+ export type dynamicArray = boolean | number | string | Record<string, any>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../lib/types/common.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { VariationModel } from '../models/VariationModel';
2
+ import { CampaignModel } from '../models/CampaignModel';
3
+ import { SettingsModel } from '../models/SettingsModel';
4
+ export declare function setVariationAllocation(campaign: CampaignModel): void;
5
+ export declare function assignRangeValues(data: VariationModel, currentAllocation: number): number;
6
+ export declare function scaleVariationWeights(variations: any): void;
7
+ export declare function getBucketingSeed(userId: any, campaign: any, groupId: any): string;
8
+ export declare function getCampaignVariation(settings: any, campaignKey: any, variationId: any): VariationModel;
9
+ export declare function getRolloutVariation(settings: any, rolloutKey: any, variationId: any): VariationModel;
10
+ export declare function setCampaignAllocation(campaigns: any[]): void;
11
+ export declare function isPartOfGroup(settings: any, campaignId: any): {
12
+ groupId: any;
13
+ groupName: any;
14
+ } | {
15
+ groupId?: undefined;
16
+ groupName?: undefined;
17
+ };
18
+ export declare function findGroupsFeaturePartOf(settings: any, featureKey: string): any[];
19
+ export declare function getCampaignsByGroupId(settings: SettingsModel, groupId: any): any;
20
+ export declare function getFeatureKeysFromCampaignIds(settings: SettingsModel, campaignIds: any): any[];
21
+ export declare function getCampaignIdsFromFeatureKey(settings: SettingsModel, featureKey: string): any[];
22
+ export declare function assignRangeValuesMEG(data: any, currentAllocation: number): number;
23
+ export declare function getRuleTypeUsingCampaignIdFromFeature(feature: any, campaignId: number): string;
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRuleTypeUsingCampaignIdFromFeature = exports.assignRangeValuesMEG = exports.getCampaignIdsFromFeatureKey = exports.getFeatureKeysFromCampaignIds = exports.getCampaignsByGroupId = exports.findGroupsFeaturePartOf = exports.isPartOfGroup = exports.setCampaignAllocation = exports.getRolloutVariation = exports.getCampaignVariation = exports.getBucketingSeed = exports.scaleVariationWeights = exports.assignRangeValues = exports.setVariationAllocation = void 0;
4
+ var VariationModel_1 = require("../models/VariationModel");
5
+ var constants_1 = require("../constants");
6
+ var logger_1 = require("../modules/logger");
7
+ var campaignTypeEnum_1 = require("../enums/campaignTypeEnum");
8
+ function setVariationAllocation(campaign) {
9
+ if (campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.ROLLOUT || campaign.getType() === campaignTypeEnum_1.CampaignTypeEnum.PERSONALIZE) {
10
+ // Handle special logic for rollout or personalize campaigns
11
+ handleRolloutCampaign(campaign);
12
+ }
13
+ else {
14
+ var stepFactor = 0;
15
+ var numberOfVariations = campaign.getVariations().length;
16
+ for (var i = 0, currentAllocation = 0; i < numberOfVariations; i++) {
17
+ var variation = campaign.getVariations()[i];
18
+ stepFactor = assignRangeValues(variation, currentAllocation);
19
+ currentAllocation += stepFactor;
20
+ logger_1.LogManager.Instance.debug("VARIATION_RANGE_ALLOCATION: Variation:".concat(variation.getKey(), " of Campaign:").concat(campaign.getKey(), " having weight:").concat(variation.getWeight(), " got bucketing range: ( ").concat(variation.getStartRangeVariation(), " - ").concat(variation.getEndRangeVariation(), " )"));
21
+ }
22
+ }
23
+ }
24
+ exports.setVariationAllocation = setVariationAllocation;
25
+ function handleRolloutCampaign(campaign) {
26
+ // Set start and end ranges for all variations in the campaign
27
+ for (var i = 0; i < campaign.getVariations().length; i++) {
28
+ var variation = campaign.getVariations()[i];
29
+ var endRange = campaign.getVariations()[i].getWeight() * 100;
30
+ variation.setStartRange(1);
31
+ variation.setEndRange(endRange);
32
+ logger_1.LogManager.Instance.debug("VARIATION_RANGE_ALLOCATION: Variation:".concat(variation.getKey(), " of Campaign:").concat(campaign.getKey(), " got bucketing range: ( ").concat(1, " - ").concat(endRange, " )"));
33
+ }
34
+ }
35
+ function copyVariableData(variationVariable, featureVariable) {
36
+ // create a featureVariableMap
37
+ var featureVariableMap = {};
38
+ featureVariable.forEach(function (variable) {
39
+ featureVariableMap[variable.getId()] = variable;
40
+ });
41
+ variationVariable.forEach(function (variable) {
42
+ var featureVariable = featureVariableMap[variable.getId()];
43
+ if (featureVariable) {
44
+ variable.setKey(featureVariable.getKey());
45
+ variable.setType(featureVariable.getType());
46
+ }
47
+ });
48
+ }
49
+ function assignRangeValues(data, currentAllocation) {
50
+ var stepFactor = getVariationBucketRange(data.getWeight());
51
+ if (stepFactor) {
52
+ data.setStartRange(currentAllocation + 1);
53
+ data.setEndRange(currentAllocation + stepFactor);
54
+ }
55
+ else {
56
+ data.setStartRange(-1);
57
+ data.setEndRange(-1);
58
+ }
59
+ return stepFactor;
60
+ }
61
+ exports.assignRangeValues = assignRangeValues;
62
+ function getVariationBucketRange(variationWeight) {
63
+ if (!variationWeight || variationWeight === 0) {
64
+ return 0;
65
+ }
66
+ var startRange = Math.ceil(variationWeight * 100);
67
+ return Math.min(startRange, constants_1.Constants.MAX_TRAFFIC_VALUE);
68
+ }
69
+ function scaleVariationWeights(variations) {
70
+ var totalWeight = variations.reduce(function (acc, variation) {
71
+ return acc + variation.weight;
72
+ }, 0);
73
+ if (!totalWeight) {
74
+ var weight_1 = 100 / variations.length;
75
+ variations.forEach(function (variation) { return (variation.weight = weight_1); });
76
+ }
77
+ else {
78
+ variations.forEach(function (variation) { return (variation.weight = (variation.weight / totalWeight) * 100); });
79
+ }
80
+ }
81
+ exports.scaleVariationWeights = scaleVariationWeights;
82
+ function getBucketingSeed(userId, campaign, groupId) {
83
+ if (groupId) {
84
+ return "".concat(groupId, "_").concat(userId);
85
+ }
86
+ return "".concat(campaign.id, "_").concat(userId);
87
+ }
88
+ exports.getBucketingSeed = getBucketingSeed;
89
+ function getCampaignVariation(settings, campaignKey, variationId) {
90
+ var campaign = settings.getCampaigns().find(function (campaign) {
91
+ return campaign.getKey() === campaignKey;
92
+ });
93
+ if (campaign) {
94
+ var variation = campaign.getVariations().find(function (variation) {
95
+ return variation.getId() === variationId;
96
+ });
97
+ if (variation) {
98
+ return new VariationModel_1.VariationModel().modelFromDictionary(variation);
99
+ }
100
+ }
101
+ return null;
102
+ }
103
+ exports.getCampaignVariation = getCampaignVariation;
104
+ function getRolloutVariation(settings, rolloutKey, variationId) {
105
+ var rolloutCampaign = settings.getCampaigns().find(function (campaign) {
106
+ return campaign.getKey() === rolloutKey;
107
+ });
108
+ if (rolloutCampaign) {
109
+ var variation = rolloutCampaign.getVariations().find(function (variation) {
110
+ return variation.getId() === variationId;
111
+ });
112
+ if (variation) {
113
+ return new VariationModel_1.VariationModel().modelFromDictionary(variation);
114
+ }
115
+ }
116
+ return null;
117
+ }
118
+ exports.getRolloutVariation = getRolloutVariation;
119
+ function setCampaignAllocation(campaigns) {
120
+ var stepFactor = 0;
121
+ for (var i = 0, currentAllocation = 0; i < campaigns.length; i++) {
122
+ var campaign = campaigns[i];
123
+ stepFactor = assignRangeValuesMEG(campaign, currentAllocation);
124
+ currentAllocation += stepFactor;
125
+ }
126
+ }
127
+ exports.setCampaignAllocation = setCampaignAllocation;
128
+ function isPartOfGroup(settings, campaignId) {
129
+ if (settings.campaignGroups && settings.campaignGroups.hasOwnProperty(campaignId)) {
130
+ return {
131
+ groupId: settings.campaignGroups[campaignId],
132
+ groupName: settings.groups[settings.campaignGroups[campaignId]].name,
133
+ };
134
+ }
135
+ return {};
136
+ }
137
+ exports.isPartOfGroup = isPartOfGroup;
138
+ function findGroupsFeaturePartOf(settings, featureKey) {
139
+ var campaignIds = [];
140
+ // loop over all rules inside feature where feature key is given featureKey and get all campaignIds
141
+ settings.features.forEach(function (feature) {
142
+ if (feature.key === featureKey) {
143
+ feature.rules.forEach(function (rule) {
144
+ if (campaignIds.indexOf(rule.campaignId) === -1) {
145
+ campaignIds.push(rule.campaignId);
146
+ }
147
+ });
148
+ }
149
+ });
150
+ // loop over all campaigns and find the group for the campaign
151
+ var groups = [];
152
+ campaignIds.forEach(function (campaignId) {
153
+ var group = isPartOfGroup(settings, campaignId);
154
+ if (group.groupId) {
155
+ // check if group is already added to groups array
156
+ var groupIndex = groups.findIndex(function (grp) { return grp.groupId === group.groupId; });
157
+ if (groupIndex === -1) {
158
+ groups.push(group);
159
+ }
160
+ }
161
+ });
162
+ return groups;
163
+ }
164
+ exports.findGroupsFeaturePartOf = findGroupsFeaturePartOf;
165
+ function getCampaignsByGroupId(settings, groupId) {
166
+ var group = settings.getGroups()[groupId];
167
+ if (group) {
168
+ return group.campaigns;
169
+ }
170
+ else {
171
+ return []; // Return an empty array if the group ID is not found
172
+ }
173
+ }
174
+ exports.getCampaignsByGroupId = getCampaignsByGroupId;
175
+ function getFeatureKeysFromCampaignIds(settings, campaignIds) {
176
+ var featureKeys = [];
177
+ var _loop_1 = function (campaignId) {
178
+ settings.getFeatures().forEach(function (feature) {
179
+ feature.getRules().forEach(function (rule) {
180
+ if (rule.getCampaignId() === campaignId) {
181
+ featureKeys.push(feature.getKey());
182
+ }
183
+ });
184
+ });
185
+ };
186
+ for (var _i = 0, campaignIds_1 = campaignIds; _i < campaignIds_1.length; _i++) {
187
+ var campaignId = campaignIds_1[_i];
188
+ _loop_1(campaignId);
189
+ }
190
+ return featureKeys;
191
+ }
192
+ exports.getFeatureKeysFromCampaignIds = getFeatureKeysFromCampaignIds;
193
+ function getCampaignIdsFromFeatureKey(settings, featureKey) {
194
+ var campaignIds = [];
195
+ settings.getFeatures().forEach(function (feature) {
196
+ if (feature.getKey() === featureKey) {
197
+ feature.getRules().forEach(function (rule) {
198
+ campaignIds.push(rule.getCampaignId());
199
+ });
200
+ }
201
+ });
202
+ return campaignIds;
203
+ }
204
+ exports.getCampaignIdsFromFeatureKey = getCampaignIdsFromFeatureKey;
205
+ function assignRangeValuesMEG(data, currentAllocation) {
206
+ var stepFactor = getVariationBucketRange(data.weight);
207
+ if (stepFactor) {
208
+ data.startRangeVariation = currentAllocation + 1;
209
+ data.endRangeVariation = currentAllocation + stepFactor;
210
+ }
211
+ else {
212
+ data.startRangeVariation = -1;
213
+ data.endRangeVariation = -1;
214
+ }
215
+ return stepFactor;
216
+ }
217
+ exports.assignRangeValuesMEG = assignRangeValuesMEG;
218
+ function getRuleTypeUsingCampaignIdFromFeature(feature, campaignId) {
219
+ var ruleType = '';
220
+ feature.rules.forEach(function (rule) {
221
+ if (rule.campaignId === campaignId) {
222
+ ruleType = rule.type;
223
+ }
224
+ });
225
+ return ruleType;
226
+ }
227
+ exports.getRuleTypeUsingCampaignIdFromFeature = getRuleTypeUsingCampaignIdFromFeature;
228
+ //# sourceMappingURL=CampaignUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CampaignUtil.js","sourceRoot":"","sources":["../../lib/utils/CampaignUtil.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAE1D,0CAAyC;AAEzC,4CAA+C;AAC/C,8DAA6D;AAG7D,SAAgB,sBAAsB,CAAC,QAAuB;IAC5D,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,mCAAgB,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,mCAAgB,CAAC,WAAW,EAAE,CAAC;QAC3G,4DAA4D;QAC5D,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YACnE,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAE5C,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YAC7D,iBAAiB,IAAI,UAAU,CAAC;YAChC,mBAAU,CAAC,QAAQ,CAAC,KAAK,CACvB,gDAAyC,SAAS,CAAC,MAAM,EAAE,0BAAgB,QAAQ,CAAC,MAAM,EAAE,4BAAkB,SAAS,CAAC,SAAS,EAAE,qCAA2B,SAAS,CAAC,sBAAsB,EAAE,gBAAM,SAAS,CAAC,oBAAoB,EAAE,OAAI,CAC3O,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAjBD,wDAiBC;AAED,SAAS,qBAAqB,CAAC,QAAuB;IACpD,8DAA8D;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC;QAC7D,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3B,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChC,mBAAU,CAAC,QAAQ,CAAC,KAAK,CACvB,gDAAyC,SAAS,CAAC,MAAM,EAAE,0BAAgB,QAAQ,CAAC,MAAM,EAAE,qCAA2B,CAAC,gBAAM,QAAQ,OAAI,CAC3I,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,iBAAuC,EAAE,eAAqC;IACtG,8BAA8B;IAC9B,IAAM,kBAAkB,GAAkC,EAAE,CAAC;IAC7D,eAAe,CAAC,OAAO,CAAC,UAAC,QAAuB;QAC9C,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,CAAC,UAAC,QAAuB;QAChD,IAAM,eAAe,GAAkB,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAoB,EAAE,iBAAyB;IAC/E,IAAM,UAAU,GAAW,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAErE,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAXD,8CAWC;AAED,SAAS,uBAAuB,CAAC,eAAuB;IACtD,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAEpD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,qBAAS,CAAC,iBAAiB,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,qBAAqB,CAAC,UAAe;IACnD,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,SAAS;QACnD,OAAO,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAM,QAAM,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;QACvC,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS,IAAK,OAAA,CAAC,SAAS,CAAC,MAAM,GAAG,QAAM,CAAC,EAA3B,CAA2B,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS,IAAK,OAAA,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,EAA3D,CAA2D,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAVD,sDAUC;AAED,SAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,UAAG,OAAO,cAAI,MAAM,CAAE,CAAC;IAChC,CAAC;IACD,OAAO,UAAG,QAAQ,CAAC,EAAE,cAAI,MAAM,CAAE,CAAC;AACpC,CAAC;AALD,4CAKC;AAED,SAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW;IACrE,IAAM,QAAQ,GAAkB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,UAAC,QAAuB;QACnF,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,WAAW,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,IAAM,SAAS,GAAmB,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAC,SAAyB;YACxF,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,+BAAc,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAfD,oDAeC;AAED,SAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW;IACnE,IAAM,eAAe,GAAkB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,UAAC,QAAuB;QAC1F,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,UAAU,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,EAAE,CAAC;QACpB,IAAM,SAAS,GAAmB,eAAe,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAC,SAAyB;YAC/F,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,+BAAc,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAfD,kDAeC;AAED,SAAgB,qBAAqB,CAAC,SAAgB;IACpD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjE,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAE5B,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC/D,iBAAiB,IAAI,UAAU,CAAC;IAClC,CAAC;AACH,CAAC;AARD,sDAQC;AAED,SAAgB,aAAa,CAAC,QAAa,EAAE,UAAe;IAC1D,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAClF,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;YAC5C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;SACrE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AARD,sCAQC;AAED,SAAgB,uBAAuB,CAAC,QAAa,EAAE,UAAkB;IACvE,IAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,mGAAmG;IACnG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;QAChC,IAAI,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;gBACzB,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,IAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,WAAW,CAAC,OAAO,CAAC,UAAC,UAAU;QAC7B,IAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,kDAAkD;YAClD,IAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAA7B,CAA6B,CAAC,CAAC;YAC5E,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,0DA0BC;AAED,SAAgB,qBAAqB,CAAC,QAAuB,EAAE,OAAY;IACzE,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,SAAS,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,qDAAqD;IAClE,CAAC;AACH,CAAC;AAPD,sDAOC;AAED,SAAgB,6BAA6B,CAAC,QAAuB,EAAE,WAAgB;IACrF,IAAM,WAAW,GAAG,EAAE,CAAC;4BACZ,UAAU;QACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAC,OAAO;YACrC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI;gBAC9B,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,UAAU,EAAE,CAAC;oBACxC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;;IAPL,KAAyB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW;QAA/B,IAAM,UAAU,oBAAA;gBAAV,UAAU;KAQpB;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAZD,sEAYC;AAED,SAAgB,4BAA4B,CAAC,QAAuB,EAAE,UAAkB;IACtF,IAAM,WAAW,GAAG,EAAE,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAC,OAAO;QACrC,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,UAAU,EAAE,CAAC;YACpC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAC,IAAI;gBAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAVD,oEAUC;AAED,SAAgB,oBAAoB,CAAC,IAAS,EAAE,iBAAyB;IACvE,IAAM,UAAU,GAAW,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhE,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,UAAU,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAXD,oDAWC;AAED,SAAgB,qCAAqC,CAAC,OAAY,EAAE,UAAkB;IACpF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACnC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AARD,sFAQC"}
@@ -0,0 +1,17 @@
1
+ import { dynamic } from '../types/common';
2
+ type FunctionType = (val: dynamic) => void;
3
+ export declare function isObject<T>(val: T): val is Record<any, dynamic> & Exclude<T, Array<dynamic> | FunctionType | RegExp | Promise<dynamic> | Date>;
4
+ export declare function isArray(val: dynamic): val is Array<dynamic>;
5
+ export declare function isNull(val: dynamic): val is null;
6
+ export declare function isUndefined(val: dynamic): val is undefined;
7
+ export declare function isDefined<T>(val: T): val is NonNullable<T>;
8
+ export declare function isNumber(val: dynamic): val is number;
9
+ export declare function isString(val: dynamic): val is string;
10
+ export declare function isBoolean(val: dynamic): val is boolean;
11
+ export declare function isNaN(val: dynamic): val is number;
12
+ export declare function isDate(val: dynamic): val is Date;
13
+ export declare function isFunction(val: dynamic): val is FunctionType;
14
+ export declare function isRegex(val: dynamic): val is RegExp;
15
+ export declare function isPromise(val: dynamic): val is Promise<dynamic>;
16
+ export declare function getType(val: dynamic): string;
17
+ export {};