@splitsoftware/splitio-commons 2.5.0-rc.0 → 11.5.0-rc.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 (881) hide show
  1. package/CHANGES.txt +893 -142
  2. package/CONTRIBUTORS-GUIDE.md +26 -16
  3. package/README.md +43 -5
  4. package/cjs/factory/browser.js +73 -0
  5. package/cjs/factory/node.js +79 -0
  6. package/cjs/factory/package.json +4 -0
  7. package/cjs/index.js +3 -16
  8. package/cjs/{utils/MinEvents.js → platform/EventEmitter.js} +153 -27
  9. package/cjs/platform/browser.js +15 -0
  10. package/cjs/platform/filter/bloomFilter.js +32 -0
  11. package/cjs/platform/getEventSource/browser.js +7 -0
  12. package/cjs/platform/getEventSource/eventsource.js +480 -0
  13. package/cjs/platform/getEventSource/node.js +25 -0
  14. package/cjs/platform/getEventSource/package.json +4 -0
  15. package/cjs/platform/getFetch/browser.js +9 -0
  16. package/cjs/platform/getFetch/node.js +26 -0
  17. package/cjs/platform/getFetch/package.json +4 -0
  18. package/cjs/platform/getOptions/node.js +25 -0
  19. package/cjs/platform/node.js +18 -0
  20. package/cjs/platform/package.json +4 -0
  21. package/cjs/settings/browser.js +21 -0
  22. package/cjs/settings/defaults/browser.js +21 -0
  23. package/cjs/settings/defaults/node.js +23 -0
  24. package/cjs/{listeners/types.js → settings/defaults/version.js} +2 -0
  25. package/cjs/settings/integrations/browser.js +9 -0
  26. package/cjs/settings/node.js +22 -0
  27. package/cjs/settings/package.json +4 -0
  28. package/cjs/settings/runtime/node.js +22 -0
  29. package/cjs/settings/storage/browser.js +35 -0
  30. package/cjs/settings/storage/node.js +67 -0
  31. package/cjs/sync/offline/LocalhostFromFile.js +8 -0
  32. package/cjs/sync/offline/splitsParserFromFile.js +148 -0
  33. package/cjs/umd.js +5 -0
  34. package/cjs/utils/ip.js +114 -0
  35. package/client/package.json +5 -0
  36. package/esm/factory/browser.js +69 -0
  37. package/esm/factory/node.js +75 -0
  38. package/esm/factory/package.json +4 -0
  39. package/esm/index.js +1 -10
  40. package/esm/{utils/MinEvents.js → platform/EventEmitter.js} +143 -17
  41. package/esm/platform/browser.js +12 -0
  42. package/esm/platform/filter/bloomFilter.js +28 -0
  43. package/esm/platform/getEventSource/browser.js +3 -0
  44. package/esm/platform/getEventSource/eventsource.js +480 -0
  45. package/esm/platform/getEventSource/node.js +19 -0
  46. package/esm/platform/getEventSource/package.json +4 -0
  47. package/esm/platform/getFetch/browser.js +4 -0
  48. package/esm/platform/getFetch/node.js +21 -0
  49. package/esm/platform/getFetch/package.json +4 -0
  50. package/esm/platform/getOptions/node.js +20 -0
  51. package/esm/platform/node.js +14 -0
  52. package/esm/platform/package.json +4 -0
  53. package/esm/settings/browser.js +17 -0
  54. package/esm/settings/defaults/browser.js +18 -0
  55. package/esm/settings/defaults/node.js +20 -0
  56. package/esm/settings/defaults/version.js +1 -0
  57. package/esm/settings/integrations/browser.js +5 -0
  58. package/esm/settings/node.js +18 -0
  59. package/esm/settings/package.json +4 -0
  60. package/esm/settings/runtime/node.js +17 -0
  61. package/esm/settings/storage/browser.js +31 -0
  62. package/esm/settings/storage/node.js +63 -0
  63. package/esm/sync/offline/LocalhostFromFile.js +5 -0
  64. package/esm/sync/offline/splitsParserFromFile.js +143 -0
  65. package/esm/umd.js +3 -0
  66. package/esm/utils/ip.js +109 -0
  67. package/package.json +99 -58
  68. package/server/package.json +5 -0
  69. package/src/factory/browser.js +85 -0
  70. package/src/factory/node.js +92 -0
  71. package/src/factory/package.json +4 -0
  72. package/src/index.js +1 -0
  73. package/src/{utils/MinEvents.ts → platform/EventEmitter.js} +164 -19
  74. package/src/platform/browser.js +14 -0
  75. package/src/platform/filter/bloomFilter.js +33 -0
  76. package/src/platform/getEventSource/browser.js +3 -0
  77. package/src/platform/getEventSource/eventsource.js +519 -0
  78. package/src/platform/getEventSource/node.js +20 -0
  79. package/src/platform/getEventSource/package.json +4 -0
  80. package/src/platform/getFetch/browser.js +5 -0
  81. package/src/platform/getFetch/node.js +24 -0
  82. package/src/platform/getFetch/package.json +4 -0
  83. package/src/platform/getOptions/node.js +23 -0
  84. package/src/platform/node.js +16 -0
  85. package/src/platform/package.json +4 -0
  86. package/src/settings/browser.js +20 -0
  87. package/src/settings/defaults/browser.js +21 -0
  88. package/src/settings/defaults/node.js +23 -0
  89. package/src/settings/defaults/version.js +1 -0
  90. package/src/settings/integrations/browser.js +6 -0
  91. package/src/settings/node.js +21 -0
  92. package/src/settings/package.json +4 -0
  93. package/src/settings/runtime/node.js +21 -0
  94. package/src/settings/storage/browser.js +47 -0
  95. package/src/settings/storage/node.js +84 -0
  96. package/src/sync/offline/LocalhostFromFile.js +6 -0
  97. package/src/sync/offline/splitsParserFromFile.js +173 -0
  98. package/src/umd.js +4 -0
  99. package/src/utils/ip.js +123 -0
  100. package/types/client/index.d.ts +15 -0
  101. package/types/index.d.ts +24 -1
  102. package/types/server/index.d.ts +21 -0
  103. package/types/splitio.d.ts +2 -2087
  104. package/cjs/consent/index.js +0 -10
  105. package/cjs/consent/sdkUserConsent.js +0 -60
  106. package/cjs/dtos/types.js +0 -2
  107. package/cjs/evaluator/Engine.js +0 -58
  108. package/cjs/evaluator/combiners/and.js +0 -25
  109. package/cjs/evaluator/combiners/ifelseif.js +0 -48
  110. package/cjs/evaluator/condition/engineUtils.js +0 -29
  111. package/cjs/evaluator/condition/index.js +0 -41
  112. package/cjs/evaluator/convertions/index.js +0 -11
  113. package/cjs/evaluator/index.js +0 -134
  114. package/cjs/evaluator/matchers/all.js +0 -9
  115. package/cjs/evaluator/matchers/between.js +0 -10
  116. package/cjs/evaluator/matchers/boolean.js +0 -10
  117. package/cjs/evaluator/matchers/cont_all.js +0 -23
  118. package/cjs/evaluator/matchers/cont_any.js +0 -18
  119. package/cjs/evaluator/matchers/cont_str.js +0 -11
  120. package/cjs/evaluator/matchers/dependency.js +0 -28
  121. package/cjs/evaluator/matchers/eq.js +0 -10
  122. package/cjs/evaluator/matchers/eq_set.js +0 -20
  123. package/cjs/evaluator/matchers/ew.js +0 -11
  124. package/cjs/evaluator/matchers/gte.js +0 -10
  125. package/cjs/evaluator/matchers/index.js +0 -66
  126. package/cjs/evaluator/matchers/large_segment.js +0 -10
  127. package/cjs/evaluator/matchers/lte.js +0 -10
  128. package/cjs/evaluator/matchers/matcherTypes.js +0 -46
  129. package/cjs/evaluator/matchers/part_of.js +0 -20
  130. package/cjs/evaluator/matchers/prerequisites.js +0 -22
  131. package/cjs/evaluator/matchers/rbsegment.js +0 -56
  132. package/cjs/evaluator/matchers/segment.js +0 -10
  133. package/cjs/evaluator/matchers/semver_between.js +0 -14
  134. package/cjs/evaluator/matchers/semver_eq.js +0 -13
  135. package/cjs/evaluator/matchers/semver_gte.js +0 -13
  136. package/cjs/evaluator/matchers/semver_inlist.js +0 -16
  137. package/cjs/evaluator/matchers/semver_lte.js +0 -13
  138. package/cjs/evaluator/matchers/string.js +0 -11
  139. package/cjs/evaluator/matchers/sw.js +0 -11
  140. package/cjs/evaluator/matchers/whitelist.js +0 -11
  141. package/cjs/evaluator/matchersTransform/index.js +0 -104
  142. package/cjs/evaluator/matchersTransform/segment.js +0 -12
  143. package/cjs/evaluator/matchersTransform/unaryNumeric.js +0 -10
  144. package/cjs/evaluator/matchersTransform/whitelist.js +0 -10
  145. package/cjs/evaluator/parser/index.js +0 -61
  146. package/cjs/evaluator/treatments/index.js +0 -42
  147. package/cjs/evaluator/types.js +0 -2
  148. package/cjs/evaluator/value/index.js +0 -37
  149. package/cjs/evaluator/value/sanitize.js +0 -94
  150. package/cjs/integrations/pluggable.js +0 -35
  151. package/cjs/integrations/types.js +0 -2
  152. package/cjs/listeners/browser.js +0 -121
  153. package/cjs/listeners/node.js +0 -68
  154. package/cjs/logger/browser/DebugLogger.js +0 -9
  155. package/cjs/logger/browser/ErrorLogger.js +0 -9
  156. package/cjs/logger/browser/InfoLogger.js +0 -9
  157. package/cjs/logger/browser/WarnLogger.js +0 -9
  158. package/cjs/logger/constants.js +0 -140
  159. package/cjs/logger/index.js +0 -100
  160. package/cjs/logger/messages/debug.js +0 -36
  161. package/cjs/logger/messages/error.js +0 -42
  162. package/cjs/logger/messages/info.js +0 -37
  163. package/cjs/logger/messages/warn.js +0 -42
  164. package/cjs/logger/sdkLogger.js +0 -45
  165. package/cjs/logger/types.js +0 -2
  166. package/cjs/readiness/constants.js +0 -13
  167. package/cjs/readiness/readinessManager.js +0 -154
  168. package/cjs/readiness/sdkReadinessManager.js +0 -104
  169. package/cjs/readiness/types.js +0 -2
  170. package/cjs/sdkClient/client.js +0 -183
  171. package/cjs/sdkClient/clientAttributesDecoration.js +0 -122
  172. package/cjs/sdkClient/clientCS.js +0 -30
  173. package/cjs/sdkClient/clientInputValidation.js +0 -147
  174. package/cjs/sdkClient/identity.js +0 -7
  175. package/cjs/sdkClient/sdkClient.js +0 -64
  176. package/cjs/sdkClient/sdkClientMethod.js +0 -22
  177. package/cjs/sdkClient/sdkClientMethodCS.js +0 -66
  178. package/cjs/sdkFactory/index.js +0 -108
  179. package/cjs/sdkFactory/types.js +0 -2
  180. package/cjs/sdkManager/index.js +0 -96
  181. package/cjs/services/decorateHeaders.js +0 -40
  182. package/cjs/services/splitApi.js +0 -131
  183. package/cjs/services/splitHttpClient.js +0 -82
  184. package/cjs/services/types.js +0 -2
  185. package/cjs/storages/AbstractMySegmentsCacheSync.js +0 -60
  186. package/cjs/storages/AbstractSplitsCacheAsync.js +0 -51
  187. package/cjs/storages/AbstractSplitsCacheSync.js +0 -75
  188. package/cjs/storages/KeyBuilder.js +0 -68
  189. package/cjs/storages/KeyBuilderCS.js +0 -65
  190. package/cjs/storages/KeyBuilderSS.js +0 -60
  191. package/cjs/storages/dataLoader.js +0 -109
  192. package/cjs/storages/findLatencyIndex.js +0 -18
  193. package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -81
  194. package/cjs/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -121
  195. package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +0 -208
  196. package/cjs/storages/inLocalStorage/constants.js +0 -5
  197. package/cjs/storages/inLocalStorage/index.js +0 -73
  198. package/cjs/storages/inLocalStorage/validateCache.js +0 -80
  199. package/cjs/storages/inMemory/AttributesCacheInMemory.js +0 -70
  200. package/cjs/storages/inMemory/EventsCacheInMemory.js +0 -63
  201. package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -65
  202. package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +0 -51
  203. package/cjs/storages/inMemory/InMemoryStorage.js +0 -46
  204. package/cjs/storages/inMemory/InMemoryStorageCS.js +0 -81
  205. package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +0 -46
  206. package/cjs/storages/inMemory/RBSegmentsCacheInMemory.js +0 -65
  207. package/cjs/storages/inMemory/SegmentsCacheInMemory.js +0 -61
  208. package/cjs/storages/inMemory/SplitsCacheInMemory.js +0 -121
  209. package/cjs/storages/inMemory/TelemetryCacheInMemory.js +0 -207
  210. package/cjs/storages/inMemory/UniqueKeysCacheInMemory.js +0 -72
  211. package/cjs/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -71
  212. package/cjs/storages/inRedis/EventsCacheInRedis.js +0 -60
  213. package/cjs/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -85
  214. package/cjs/storages/inRedis/ImpressionsCacheInRedis.js +0 -45
  215. package/cjs/storages/inRedis/RBSegmentsCacheInRedis.js +0 -64
  216. package/cjs/storages/inRedis/RedisAdapter.js +0 -195
  217. package/cjs/storages/inRedis/SegmentsCacheInRedis.js +0 -57
  218. package/cjs/storages/inRedis/SplitsCacheInRedis.js +0 -243
  219. package/cjs/storages/inRedis/TelemetryCacheInRedis.js +0 -124
  220. package/cjs/storages/inRedis/UniqueKeysCacheInRedis.js +0 -69
  221. package/cjs/storages/inRedis/constants.js +0 -7
  222. package/cjs/storages/inRedis/index.js +0 -73
  223. package/cjs/storages/pluggable/EventsCachePluggable.js +0 -64
  224. package/cjs/storages/pluggable/ImpressionCountsCachePluggable.js +0 -81
  225. package/cjs/storages/pluggable/ImpressionsCachePluggable.js +0 -48
  226. package/cjs/storages/pluggable/RBSegmentsCachePluggable.js +0 -64
  227. package/cjs/storages/pluggable/SegmentsCachePluggable.js +0 -80
  228. package/cjs/storages/pluggable/SplitsCachePluggable.js +0 -212
  229. package/cjs/storages/pluggable/TelemetryCachePluggable.js +0 -141
  230. package/cjs/storages/pluggable/UniqueKeysCachePluggable.js +0 -62
  231. package/cjs/storages/pluggable/constants.js +0 -4
  232. package/cjs/storages/pluggable/inMemoryWrapper.js +0 -141
  233. package/cjs/storages/pluggable/index.js +0 -135
  234. package/cjs/storages/pluggable/wrapperAdapter.js +0 -53
  235. package/cjs/storages/types.js +0 -2
  236. package/cjs/storages/utils.js +0 -74
  237. package/cjs/sync/offline/LocalhostFromObject.js +0 -8
  238. package/cjs/sync/offline/splitsParser/parseCondition.js +0 -55
  239. package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +0 -62
  240. package/cjs/sync/offline/splitsParser/types.js +0 -2
  241. package/cjs/sync/offline/syncManagerOffline.js +0 -52
  242. package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +0 -72
  243. package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +0 -18
  244. package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +0 -34
  245. package/cjs/sync/polling/fetchers/splitChangesFetcher.js +0 -68
  246. package/cjs/sync/polling/fetchers/types.js +0 -2
  247. package/cjs/sync/polling/pollingManagerCS.js +0 -100
  248. package/cjs/sync/polling/pollingManagerSS.js +0 -49
  249. package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -13
  250. package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +0 -13
  251. package/cjs/sync/polling/syncTasks/splitsSyncTask.js +0 -13
  252. package/cjs/sync/polling/types.js +0 -2
  253. package/cjs/sync/polling/updaters/mySegmentsUpdater.js +0 -81
  254. package/cjs/sync/polling/updaters/segmentChangesUpdater.js +0 -80
  255. package/cjs/sync/polling/updaters/splitChangesUpdater.js +0 -188
  256. package/cjs/sync/streaming/AuthClient/index.js +0 -43
  257. package/cjs/sync/streaming/AuthClient/types.js +0 -2
  258. package/cjs/sync/streaming/SSEClient/index.js +0 -86
  259. package/cjs/sync/streaming/SSEClient/types.js +0 -2
  260. package/cjs/sync/streaming/SSEHandler/NotificationKeeper.js +0 -98
  261. package/cjs/sync/streaming/SSEHandler/NotificationParser.js +0 -41
  262. package/cjs/sync/streaming/SSEHandler/index.js +0 -97
  263. package/cjs/sync/streaming/SSEHandler/types.js +0 -16
  264. package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -124
  265. package/cjs/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -92
  266. package/cjs/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -136
  267. package/cjs/sync/streaming/UpdateWorkers/constants.js +0 -6
  268. package/cjs/sync/streaming/UpdateWorkers/types.js +0 -2
  269. package/cjs/sync/streaming/constants.js +0 -43
  270. package/cjs/sync/streaming/parseUtils.js +0 -98
  271. package/cjs/sync/streaming/pushManager.js +0 -317
  272. package/cjs/sync/streaming/types.js +0 -2
  273. package/cjs/sync/submitters/eventsSubmitter.js +0 -28
  274. package/cjs/sync/submitters/impressionCountsSubmitter.js +0 -36
  275. package/cjs/sync/submitters/impressionsSubmitter.js +0 -54
  276. package/cjs/sync/submitters/submitter.js +0 -66
  277. package/cjs/sync/submitters/submitterManager.js +0 -46
  278. package/cjs/sync/submitters/telemetrySubmitter.js +0 -125
  279. package/cjs/sync/submitters/types.js +0 -2
  280. package/cjs/sync/submitters/uniqueKeysSubmitter.js +0 -27
  281. package/cjs/sync/syncManagerOnline.js +0 -172
  282. package/cjs/sync/syncTask.js +0 -84
  283. package/cjs/sync/types.js +0 -2
  284. package/cjs/trackers/eventTracker.js +0 -62
  285. package/cjs/trackers/impressionObserver/ImpressionObserver.js +0 -18
  286. package/cjs/trackers/impressionObserver/buildKey.js +0 -7
  287. package/cjs/trackers/impressionObserver/impressionObserverCS.js +0 -15
  288. package/cjs/trackers/impressionObserver/impressionObserverSS.js +0 -15
  289. package/cjs/trackers/impressionObserver/types.js +0 -2
  290. package/cjs/trackers/impressionsTracker.js +0 -78
  291. package/cjs/trackers/strategy/strategyDebug.js +0 -20
  292. package/cjs/trackers/strategy/strategyNone.js +0 -24
  293. package/cjs/trackers/strategy/strategyOptimized.js +0 -28
  294. package/cjs/trackers/telemetryTracker.js +0 -75
  295. package/cjs/trackers/types.js +0 -2
  296. package/cjs/trackers/uniqueKeysTracker.js +0 -40
  297. package/cjs/types.js +0 -2
  298. package/cjs/utils/Backoff.js +0 -41
  299. package/cjs/utils/LRUCache/LinkedList.js +0 -114
  300. package/cjs/utils/LRUCache/index.js +0 -42
  301. package/cjs/utils/MinEventEmitter.js +0 -100
  302. package/cjs/utils/Semver.js +0 -103
  303. package/cjs/utils/base64/index.js +0 -75
  304. package/cjs/utils/constants/index.js +0 -100
  305. package/cjs/utils/decompress/index.js +0 -427
  306. package/cjs/utils/env/isLocalStorageAvailable.js +0 -16
  307. package/cjs/utils/env/isNode.js +0 -9
  308. package/cjs/utils/inputValidation/apiKey.js +0 -54
  309. package/cjs/utils/inputValidation/attribute.js +0 -20
  310. package/cjs/utils/inputValidation/attributes.js +0 -25
  311. package/cjs/utils/inputValidation/event.js +0 -28
  312. package/cjs/utils/inputValidation/eventProperties.js +0 -74
  313. package/cjs/utils/inputValidation/eventValue.js +0 -12
  314. package/cjs/utils/inputValidation/index.js +0 -34
  315. package/cjs/utils/inputValidation/isOperational.js +0 -18
  316. package/cjs/utils/inputValidation/key.js +0 -51
  317. package/cjs/utils/inputValidation/preloadedData.js +0 -59
  318. package/cjs/utils/inputValidation/split.js +0 -30
  319. package/cjs/utils/inputValidation/splitExistence.js +0 -19
  320. package/cjs/utils/inputValidation/splits.js +0 -25
  321. package/cjs/utils/inputValidation/trafficType.js +0 -29
  322. package/cjs/utils/inputValidation/trafficTypeExistence.js +0 -31
  323. package/cjs/utils/jwt/index.js +0 -17
  324. package/cjs/utils/jwt/types.js +0 -2
  325. package/cjs/utils/key/index.js +0 -36
  326. package/cjs/utils/labels/index.js +0 -12
  327. package/cjs/utils/lang/binarySearch.js +0 -42
  328. package/cjs/utils/lang/getFnName.js +0 -12
  329. package/cjs/utils/lang/getGlobal.js +0 -18
  330. package/cjs/utils/lang/index.js +0 -281
  331. package/cjs/utils/lang/objectAssign.js +0 -20
  332. package/cjs/utils/lang/sets.js +0 -23
  333. package/cjs/utils/murmur3/common.js +0 -46
  334. package/cjs/utils/murmur3/legacy.js +0 -44
  335. package/cjs/utils/murmur3/murmur3.js +0 -62
  336. package/cjs/utils/murmur3/murmur3_128.js +0 -219
  337. package/cjs/utils/murmur3/murmur3_128_x86.js +0 -154
  338. package/cjs/utils/murmur3/murmur3_64.js +0 -36
  339. package/cjs/utils/murmur3/utfx.js +0 -108
  340. package/cjs/utils/promise/thenable.js +0 -8
  341. package/cjs/utils/promise/timeout.js +0 -20
  342. package/cjs/utils/promise/wrapper.js +0 -58
  343. package/cjs/utils/settingsValidation/consent.js +0 -16
  344. package/cjs/utils/settingsValidation/impressionsMode.js +0 -14
  345. package/cjs/utils/settingsValidation/index.js +0 -184
  346. package/cjs/utils/settingsValidation/integrations/common.js +0 -27
  347. package/cjs/utils/settingsValidation/integrations/configurable.js +0 -18
  348. package/cjs/utils/settingsValidation/integrations/pluggable.js +0 -15
  349. package/cjs/utils/settingsValidation/logger/builtinLogger.js +0 -46
  350. package/cjs/utils/settingsValidation/logger/commons.js +0 -28
  351. package/cjs/utils/settingsValidation/logger/pluggableLogger.js +0 -32
  352. package/cjs/utils/settingsValidation/mode.js +0 -20
  353. package/cjs/utils/settingsValidation/runtime.js +0 -11
  354. package/cjs/utils/settingsValidation/splitFilters.js +0 -188
  355. package/cjs/utils/settingsValidation/storage/storageCS.js +0 -49
  356. package/cjs/utils/settingsValidation/types.js +0 -2
  357. package/cjs/utils/settingsValidation/url.js +0 -31
  358. package/cjs/utils/time/index.js +0 -11
  359. package/cjs/utils/timeTracker/now/browser.js +0 -15
  360. package/cjs/utils/timeTracker/now/node.js +0 -9
  361. package/cjs/utils/timeTracker/timer.js +0 -10
  362. package/esm/consent/index.js +0 -6
  363. package/esm/consent/sdkUserConsent.js +0 -56
  364. package/esm/dtos/types.js +0 -1
  365. package/esm/evaluator/Engine.js +0 -54
  366. package/esm/evaluator/combiners/and.js +0 -21
  367. package/esm/evaluator/combiners/ifelseif.js +0 -44
  368. package/esm/evaluator/condition/engineUtils.js +0 -24
  369. package/esm/evaluator/condition/index.js +0 -37
  370. package/esm/evaluator/convertions/index.js +0 -6
  371. package/esm/evaluator/index.js +0 -128
  372. package/esm/evaluator/matchers/all.js +0 -5
  373. package/esm/evaluator/matchers/between.js +0 -6
  374. package/esm/evaluator/matchers/boolean.js +0 -6
  375. package/esm/evaluator/matchers/cont_all.js +0 -19
  376. package/esm/evaluator/matchers/cont_any.js +0 -14
  377. package/esm/evaluator/matchers/cont_str.js +0 -7
  378. package/esm/evaluator/matchers/dependency.js +0 -24
  379. package/esm/evaluator/matchers/eq.js +0 -6
  380. package/esm/evaluator/matchers/eq_set.js +0 -16
  381. package/esm/evaluator/matchers/ew.js +0 -7
  382. package/esm/evaluator/matchers/gte.js +0 -6
  383. package/esm/evaluator/matchers/index.js +0 -62
  384. package/esm/evaluator/matchers/large_segment.js +0 -6
  385. package/esm/evaluator/matchers/lte.js +0 -6
  386. package/esm/evaluator/matchers/matcherTypes.js +0 -42
  387. package/esm/evaluator/matchers/part_of.js +0 -16
  388. package/esm/evaluator/matchers/prerequisites.js +0 -18
  389. package/esm/evaluator/matchers/rbsegment.js +0 -52
  390. package/esm/evaluator/matchers/segment.js +0 -6
  391. package/esm/evaluator/matchers/semver_between.js +0 -10
  392. package/esm/evaluator/matchers/semver_eq.js +0 -9
  393. package/esm/evaluator/matchers/semver_gte.js +0 -9
  394. package/esm/evaluator/matchers/semver_inlist.js +0 -12
  395. package/esm/evaluator/matchers/semver_lte.js +0 -9
  396. package/esm/evaluator/matchers/string.js +0 -7
  397. package/esm/evaluator/matchers/sw.js +0 -7
  398. package/esm/evaluator/matchers/whitelist.js +0 -7
  399. package/esm/evaluator/matchersTransform/index.js +0 -100
  400. package/esm/evaluator/matchersTransform/segment.js +0 -8
  401. package/esm/evaluator/matchersTransform/unaryNumeric.js +0 -6
  402. package/esm/evaluator/matchersTransform/whitelist.js +0 -6
  403. package/esm/evaluator/parser/index.js +0 -57
  404. package/esm/evaluator/treatments/index.js +0 -39
  405. package/esm/evaluator/types.js +0 -1
  406. package/esm/evaluator/value/index.js +0 -33
  407. package/esm/evaluator/value/sanitize.js +0 -90
  408. package/esm/integrations/pluggable.js +0 -31
  409. package/esm/integrations/types.js +0 -1
  410. package/esm/listeners/browser.js +0 -118
  411. package/esm/listeners/node.js +0 -65
  412. package/esm/listeners/types.js +0 -1
  413. package/esm/logger/browser/DebugLogger.js +0 -5
  414. package/esm/logger/browser/ErrorLogger.js +0 -5
  415. package/esm/logger/browser/InfoLogger.js +0 -5
  416. package/esm/logger/browser/WarnLogger.js +0 -5
  417. package/esm/logger/constants.js +0 -135
  418. package/esm/logger/index.js +0 -95
  419. package/esm/logger/messages/debug.js +0 -32
  420. package/esm/logger/messages/error.js +0 -38
  421. package/esm/logger/messages/info.js +0 -33
  422. package/esm/logger/messages/warn.js +0 -38
  423. package/esm/logger/sdkLogger.js +0 -41
  424. package/esm/logger/types.js +0 -1
  425. package/esm/readiness/constants.js +0 -10
  426. package/esm/readiness/readinessManager.js +0 -150
  427. package/esm/readiness/sdkReadinessManager.js +0 -100
  428. package/esm/readiness/types.js +0 -1
  429. package/esm/sdkClient/client.js +0 -179
  430. package/esm/sdkClient/clientAttributesDecoration.js +0 -118
  431. package/esm/sdkClient/clientCS.js +0 -26
  432. package/esm/sdkClient/clientInputValidation.js +0 -143
  433. package/esm/sdkClient/identity.js +0 -3
  434. package/esm/sdkClient/sdkClient.js +0 -60
  435. package/esm/sdkClient/sdkClientMethod.js +0 -18
  436. package/esm/sdkClient/sdkClientMethodCS.js +0 -62
  437. package/esm/sdkFactory/index.js +0 -104
  438. package/esm/sdkFactory/types.js +0 -1
  439. package/esm/sdkManager/index.js +0 -92
  440. package/esm/services/decorateHeaders.js +0 -35
  441. package/esm/services/splitApi.js +0 -127
  442. package/esm/services/splitHttpClient.js +0 -78
  443. package/esm/services/types.js +0 -1
  444. package/esm/storages/AbstractMySegmentsCacheSync.js +0 -57
  445. package/esm/storages/AbstractSplitsCacheAsync.js +0 -48
  446. package/esm/storages/AbstractSplitsCacheSync.js +0 -70
  447. package/esm/storages/KeyBuilder.js +0 -63
  448. package/esm/storages/KeyBuilderCS.js +0 -61
  449. package/esm/storages/KeyBuilderSS.js +0 -57
  450. package/esm/storages/dataLoader.js +0 -104
  451. package/esm/storages/findLatencyIndex.js +0 -14
  452. package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -78
  453. package/esm/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -118
  454. package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +0 -205
  455. package/esm/storages/inLocalStorage/constants.js +0 -2
  456. package/esm/storages/inLocalStorage/index.js +0 -69
  457. package/esm/storages/inLocalStorage/validateCache.js +0 -76
  458. package/esm/storages/inMemory/AttributesCacheInMemory.js +0 -67
  459. package/esm/storages/inMemory/EventsCacheInMemory.js +0 -60
  460. package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -62
  461. package/esm/storages/inMemory/ImpressionsCacheInMemory.js +0 -48
  462. package/esm/storages/inMemory/InMemoryStorage.js +0 -42
  463. package/esm/storages/inMemory/InMemoryStorageCS.js +0 -77
  464. package/esm/storages/inMemory/MySegmentsCacheInMemory.js +0 -43
  465. package/esm/storages/inMemory/RBSegmentsCacheInMemory.js +0 -62
  466. package/esm/storages/inMemory/SegmentsCacheInMemory.js +0 -58
  467. package/esm/storages/inMemory/SplitsCacheInMemory.js +0 -118
  468. package/esm/storages/inMemory/TelemetryCacheInMemory.js +0 -202
  469. package/esm/storages/inMemory/UniqueKeysCacheInMemory.js +0 -68
  470. package/esm/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -68
  471. package/esm/storages/inRedis/EventsCacheInRedis.js +0 -57
  472. package/esm/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -82
  473. package/esm/storages/inRedis/ImpressionsCacheInRedis.js +0 -42
  474. package/esm/storages/inRedis/RBSegmentsCacheInRedis.js +0 -61
  475. package/esm/storages/inRedis/RedisAdapter.js +0 -192
  476. package/esm/storages/inRedis/SegmentsCacheInRedis.js +0 -54
  477. package/esm/storages/inRedis/SplitsCacheInRedis.js +0 -240
  478. package/esm/storages/inRedis/TelemetryCacheInRedis.js +0 -121
  479. package/esm/storages/inRedis/UniqueKeysCacheInRedis.js +0 -66
  480. package/esm/storages/inRedis/constants.js +0 -4
  481. package/esm/storages/inRedis/index.js +0 -69
  482. package/esm/storages/pluggable/EventsCachePluggable.js +0 -61
  483. package/esm/storages/pluggable/ImpressionCountsCachePluggable.js +0 -78
  484. package/esm/storages/pluggable/ImpressionsCachePluggable.js +0 -45
  485. package/esm/storages/pluggable/RBSegmentsCachePluggable.js +0 -61
  486. package/esm/storages/pluggable/SegmentsCachePluggable.js +0 -77
  487. package/esm/storages/pluggable/SplitsCachePluggable.js +0 -209
  488. package/esm/storages/pluggable/TelemetryCachePluggable.js +0 -138
  489. package/esm/storages/pluggable/UniqueKeysCachePluggable.js +0 -59
  490. package/esm/storages/pluggable/constants.js +0 -1
  491. package/esm/storages/pluggable/inMemoryWrapper.js +0 -137
  492. package/esm/storages/pluggable/index.js +0 -131
  493. package/esm/storages/pluggable/wrapperAdapter.js +0 -49
  494. package/esm/storages/types.js +0 -1
  495. package/esm/storages/utils.js +0 -66
  496. package/esm/sync/offline/LocalhostFromObject.js +0 -5
  497. package/esm/sync/offline/splitsParser/parseCondition.js +0 -51
  498. package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +0 -58
  499. package/esm/sync/offline/splitsParser/types.js +0 -1
  500. package/esm/sync/offline/syncManagerOffline.js +0 -48
  501. package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +0 -67
  502. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +0 -14
  503. package/esm/sync/polling/fetchers/segmentChangesFetcher.js +0 -30
  504. package/esm/sync/polling/fetchers/splitChangesFetcher.js +0 -64
  505. package/esm/sync/polling/fetchers/types.js +0 -1
  506. package/esm/sync/polling/pollingManagerCS.js +0 -96
  507. package/esm/sync/polling/pollingManagerSS.js +0 -45
  508. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -9
  509. package/esm/sync/polling/syncTasks/segmentsSyncTask.js +0 -9
  510. package/esm/sync/polling/syncTasks/splitsSyncTask.js +0 -9
  511. package/esm/sync/polling/types.js +0 -1
  512. package/esm/sync/polling/updaters/mySegmentsUpdater.js +0 -77
  513. package/esm/sync/polling/updaters/segmentChangesUpdater.js +0 -76
  514. package/esm/sync/polling/updaters/splitChangesUpdater.js +0 -182
  515. package/esm/sync/streaming/AuthClient/index.js +0 -38
  516. package/esm/sync/streaming/AuthClient/types.js +0 -1
  517. package/esm/sync/streaming/SSEClient/index.js +0 -83
  518. package/esm/sync/streaming/SSEClient/types.js +0 -1
  519. package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +0 -94
  520. package/esm/sync/streaming/SSEHandler/NotificationParser.js +0 -36
  521. package/esm/sync/streaming/SSEHandler/index.js +0 -93
  522. package/esm/sync/streaming/SSEHandler/types.js +0 -13
  523. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -120
  524. package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -88
  525. package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -132
  526. package/esm/sync/streaming/UpdateWorkers/constants.js +0 -3
  527. package/esm/sync/streaming/UpdateWorkers/types.js +0 -1
  528. package/esm/sync/streaming/constants.js +0 -40
  529. package/esm/sync/streaming/parseUtils.js +0 -90
  530. package/esm/sync/streaming/pushManager.js +0 -313
  531. package/esm/sync/streaming/types.js +0 -1
  532. package/esm/sync/submitters/eventsSubmitter.js +0 -24
  533. package/esm/sync/submitters/impressionCountsSubmitter.js +0 -31
  534. package/esm/sync/submitters/impressionsSubmitter.js +0 -49
  535. package/esm/sync/submitters/submitter.js +0 -61
  536. package/esm/sync/submitters/submitterManager.js +0 -42
  537. package/esm/sync/submitters/telemetrySubmitter.js +0 -119
  538. package/esm/sync/submitters/types.js +0 -1
  539. package/esm/sync/submitters/uniqueKeysSubmitter.js +0 -23
  540. package/esm/sync/syncManagerOnline.js +0 -168
  541. package/esm/sync/syncTask.js +0 -80
  542. package/esm/sync/types.js +0 -1
  543. package/esm/trackers/eventTracker.js +0 -58
  544. package/esm/trackers/impressionObserver/ImpressionObserver.js +0 -15
  545. package/esm/trackers/impressionObserver/buildKey.js +0 -3
  546. package/esm/trackers/impressionObserver/impressionObserverCS.js +0 -10
  547. package/esm/trackers/impressionObserver/impressionObserverSS.js +0 -10
  548. package/esm/trackers/impressionObserver/types.js +0 -1
  549. package/esm/trackers/impressionsTracker.js +0 -74
  550. package/esm/trackers/strategy/strategyDebug.js +0 -16
  551. package/esm/trackers/strategy/strategyNone.js +0 -20
  552. package/esm/trackers/strategy/strategyOptimized.js +0 -24
  553. package/esm/trackers/telemetryTracker.js +0 -71
  554. package/esm/trackers/types.js +0 -1
  555. package/esm/trackers/uniqueKeysTracker.js +0 -36
  556. package/esm/types.js +0 -1
  557. package/esm/utils/Backoff.js +0 -38
  558. package/esm/utils/LRUCache/LinkedList.js +0 -111
  559. package/esm/utils/LRUCache/index.js +0 -39
  560. package/esm/utils/MinEventEmitter.js +0 -97
  561. package/esm/utils/Semver.js +0 -100
  562. package/esm/utils/base64/index.js +0 -70
  563. package/esm/utils/constants/index.js +0 -96
  564. package/esm/utils/decompress/index.js +0 -424
  565. package/esm/utils/env/isLocalStorageAvailable.js +0 -12
  566. package/esm/utils/env/isNode.js +0 -6
  567. package/esm/utils/inputValidation/apiKey.js +0 -48
  568. package/esm/utils/inputValidation/attribute.js +0 -16
  569. package/esm/utils/inputValidation/attributes.js +0 -20
  570. package/esm/utils/inputValidation/event.js +0 -24
  571. package/esm/utils/inputValidation/eventProperties.js +0 -69
  572. package/esm/utils/inputValidation/eventValue.js +0 -8
  573. package/esm/utils/inputValidation/index.js +0 -14
  574. package/esm/utils/inputValidation/isOperational.js +0 -13
  575. package/esm/utils/inputValidation/key.js +0 -47
  576. package/esm/utils/inputValidation/preloadedData.js +0 -55
  577. package/esm/utils/inputValidation/split.js +0 -26
  578. package/esm/utils/inputValidation/splitExistence.js +0 -15
  579. package/esm/utils/inputValidation/splits.js +0 -21
  580. package/esm/utils/inputValidation/trafficType.js +0 -25
  581. package/esm/utils/inputValidation/trafficTypeExistence.js +0 -27
  582. package/esm/utils/jwt/index.js +0 -13
  583. package/esm/utils/jwt/types.js +0 -1
  584. package/esm/utils/key/index.js +0 -30
  585. package/esm/utils/labels/index.js +0 -9
  586. package/esm/utils/lang/binarySearch.js +0 -38
  587. package/esm/utils/lang/getFnName.js +0 -8
  588. package/esm/utils/lang/getGlobal.js +0 -14
  589. package/esm/utils/lang/index.js +0 -258
  590. package/esm/utils/lang/objectAssign.js +0 -17
  591. package/esm/utils/lang/sets.js +0 -17
  592. package/esm/utils/murmur3/common.js +0 -39
  593. package/esm/utils/murmur3/legacy.js +0 -39
  594. package/esm/utils/murmur3/murmur3.js +0 -57
  595. package/esm/utils/murmur3/murmur3_128.js +0 -215
  596. package/esm/utils/murmur3/murmur3_128_x86.js +0 -150
  597. package/esm/utils/murmur3/murmur3_64.js +0 -32
  598. package/esm/utils/murmur3/utfx.js +0 -102
  599. package/esm/utils/promise/thenable.js +0 -4
  600. package/esm/utils/promise/timeout.js +0 -16
  601. package/esm/utils/promise/wrapper.js +0 -54
  602. package/esm/utils/settingsValidation/consent.js +0 -12
  603. package/esm/utils/settingsValidation/impressionsMode.js +0 -10
  604. package/esm/utils/settingsValidation/index.js +0 -180
  605. package/esm/utils/settingsValidation/integrations/common.js +0 -23
  606. package/esm/utils/settingsValidation/integrations/configurable.js +0 -14
  607. package/esm/utils/settingsValidation/integrations/pluggable.js +0 -11
  608. package/esm/utils/settingsValidation/logger/builtinLogger.js +0 -42
  609. package/esm/utils/settingsValidation/logger/commons.js +0 -24
  610. package/esm/utils/settingsValidation/logger/pluggableLogger.js +0 -28
  611. package/esm/utils/settingsValidation/mode.js +0 -15
  612. package/esm/utils/settingsValidation/runtime.js +0 -7
  613. package/esm/utils/settingsValidation/splitFilters.js +0 -183
  614. package/esm/utils/settingsValidation/storage/storageCS.js +0 -44
  615. package/esm/utils/settingsValidation/types.js +0 -1
  616. package/esm/utils/settingsValidation/url.js +0 -27
  617. package/esm/utils/time/index.js +0 -7
  618. package/esm/utils/timeTracker/now/browser.js +0 -12
  619. package/esm/utils/timeTracker/now/node.js +0 -5
  620. package/esm/utils/timeTracker/timer.js +0 -6
  621. package/src/consent/index.ts +0 -8
  622. package/src/consent/sdkUserConsent.ts +0 -60
  623. package/src/dtos/types.ts +0 -294
  624. package/src/evaluator/Engine.ts +0 -73
  625. package/src/evaluator/combiners/and.ts +0 -29
  626. package/src/evaluator/combiners/ifelseif.ts +0 -56
  627. package/src/evaluator/condition/engineUtils.ts +0 -31
  628. package/src/evaluator/condition/index.ts +0 -50
  629. package/src/evaluator/convertions/index.ts +0 -7
  630. package/src/evaluator/index.ts +0 -199
  631. package/src/evaluator/matchers/all.ts +0 -6
  632. package/src/evaluator/matchers/between.ts +0 -10
  633. package/src/evaluator/matchers/boolean.ts +0 -8
  634. package/src/evaluator/matchers/cont_all.ts +0 -18
  635. package/src/evaluator/matchers/cont_any.ts +0 -13
  636. package/src/evaluator/matchers/cont_str.ts +0 -9
  637. package/src/evaluator/matchers/dependency.ts +0 -32
  638. package/src/evaluator/matchers/eq.ts +0 -8
  639. package/src/evaluator/matchers/eq_set.ts +0 -15
  640. package/src/evaluator/matchers/ew.ts +0 -9
  641. package/src/evaluator/matchers/gte.ts +0 -8
  642. package/src/evaluator/matchers/index.ts +0 -70
  643. package/src/evaluator/matchers/large_segment.ts +0 -11
  644. package/src/evaluator/matchers/lte.ts +0 -8
  645. package/src/evaluator/matchers/matcherTypes.ts +0 -42
  646. package/src/evaluator/matchers/part_of.ts +0 -15
  647. package/src/evaluator/matchers/prerequisites.ts +0 -24
  648. package/src/evaluator/matchers/rbsegment.ts +0 -74
  649. package/src/evaluator/matchers/segment.ts +0 -11
  650. package/src/evaluator/matchers/semver_between.ts +0 -15
  651. package/src/evaluator/matchers/semver_eq.ts +0 -13
  652. package/src/evaluator/matchers/semver_gte.ts +0 -13
  653. package/src/evaluator/matchers/semver_inlist.ts +0 -16
  654. package/src/evaluator/matchers/semver_lte.ts +0 -13
  655. package/src/evaluator/matchers/string.ts +0 -9
  656. package/src/evaluator/matchers/sw.ts +0 -9
  657. package/src/evaluator/matchers/whitelist.ts +0 -9
  658. package/src/evaluator/matchersTransform/index.ts +0 -118
  659. package/src/evaluator/matchersTransform/segment.ts +0 -10
  660. package/src/evaluator/matchersTransform/unaryNumeric.ts +0 -8
  661. package/src/evaluator/matchersTransform/whitelist.ts +0 -8
  662. package/src/evaluator/parser/index.ts +0 -82
  663. package/src/evaluator/treatments/index.ts +0 -53
  664. package/src/evaluator/types.ts +0 -34
  665. package/src/evaluator/value/index.ts +0 -37
  666. package/src/evaluator/value/sanitize.ts +0 -106
  667. package/src/index.ts +0 -14
  668. package/src/integrations/pluggable.ts +0 -39
  669. package/src/integrations/types.ts +0 -21
  670. package/src/listeners/browser.ts +0 -138
  671. package/src/listeners/node.ts +0 -81
  672. package/src/listeners/types.ts +0 -4
  673. package/src/logger/browser/DebugLogger.ts +0 -6
  674. package/src/logger/browser/ErrorLogger.ts +0 -6
  675. package/src/logger/browser/InfoLogger.ts +0 -6
  676. package/src/logger/browser/WarnLogger.ts +0 -6
  677. package/src/logger/constants.ts +0 -139
  678. package/src/logger/index.ts +0 -110
  679. package/src/logger/messages/debug.ts +0 -33
  680. package/src/logger/messages/error.ts +0 -39
  681. package/src/logger/messages/info.ts +0 -36
  682. package/src/logger/messages/warn.ts +0 -40
  683. package/src/logger/sdkLogger.ts +0 -46
  684. package/src/logger/types.ts +0 -21
  685. package/src/readiness/constants.ts +0 -12
  686. package/src/readiness/readinessManager.ts +0 -170
  687. package/src/readiness/sdkReadinessManager.ts +0 -121
  688. package/src/readiness/types.ts +0 -85
  689. package/src/sdkClient/client.ts +0 -217
  690. package/src/sdkClient/clientAttributesDecoration.ts +0 -139
  691. package/src/sdkClient/clientCS.ts +0 -34
  692. package/src/sdkClient/clientInputValidation.ts +0 -178
  693. package/src/sdkClient/identity.ts +0 -5
  694. package/src/sdkClient/sdkClient.ts +0 -77
  695. package/src/sdkClient/sdkClientMethod.ts +0 -24
  696. package/src/sdkClient/sdkClientMethodCS.ts +0 -85
  697. package/src/sdkFactory/index.ts +0 -132
  698. package/src/sdkFactory/types.ts +0 -119
  699. package/src/sdkManager/index.ts +0 -114
  700. package/src/services/decorateHeaders.ts +0 -37
  701. package/src/services/splitApi.ts +0 -148
  702. package/src/services/splitHttpClient.ts +0 -84
  703. package/src/services/types.ts +0 -86
  704. package/src/storages/AbstractMySegmentsCacheSync.ts +0 -94
  705. package/src/storages/AbstractSplitsCacheAsync.ts +0 -63
  706. package/src/storages/AbstractSplitsCacheSync.ts +0 -94
  707. package/src/storages/KeyBuilder.ts +0 -81
  708. package/src/storages/KeyBuilderCS.ts +0 -79
  709. package/src/storages/KeyBuilderSS.ts +0 -74
  710. package/src/storages/dataLoader.ts +0 -113
  711. package/src/storages/findLatencyIndex.ts +0 -16
  712. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +0 -86
  713. package/src/storages/inLocalStorage/RBSegmentsCacheInLocal.ts +0 -140
  714. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +0 -244
  715. package/src/storages/inLocalStorage/constants.ts +0 -2
  716. package/src/storages/inLocalStorage/index.ts +0 -83
  717. package/src/storages/inLocalStorage/validateCache.ts +0 -93
  718. package/src/storages/inMemory/AttributesCacheInMemory.ts +0 -74
  719. package/src/storages/inMemory/EventsCacheInMemory.ts +0 -76
  720. package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +0 -69
  721. package/src/storages/inMemory/ImpressionsCacheInMemory.ts +0 -58
  722. package/src/storages/inMemory/InMemoryStorage.ts +0 -50
  723. package/src/storages/inMemory/InMemoryStorageCS.ts +0 -92
  724. package/src/storages/inMemory/MySegmentsCacheInMemory.ts +0 -49
  725. package/src/storages/inMemory/RBSegmentsCacheInMemory.ts +0 -72
  726. package/src/storages/inMemory/SegmentsCacheInMemory.ts +0 -74
  727. package/src/storages/inMemory/SplitsCacheInMemory.ts +0 -130
  728. package/src/storages/inMemory/TelemetryCacheInMemory.ts +0 -263
  729. package/src/storages/inMemory/UniqueKeysCacheInMemory.ts +0 -79
  730. package/src/storages/inMemory/UniqueKeysCacheInMemoryCS.ts +0 -80
  731. package/src/storages/inRedis/EventsCacheInRedis.ts +0 -75
  732. package/src/storages/inRedis/ImpressionCountsCacheInRedis.ts +0 -95
  733. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +0 -61
  734. package/src/storages/inRedis/RBSegmentsCacheInRedis.ts +0 -79
  735. package/src/storages/inRedis/RedisAdapter.ts +0 -209
  736. package/src/storages/inRedis/SegmentsCacheInRedis.ts +0 -70
  737. package/src/storages/inRedis/SplitsCacheInRedis.ts +0 -268
  738. package/src/storages/inRedis/TelemetryCacheInRedis.ts +0 -144
  739. package/src/storages/inRedis/UniqueKeysCacheInRedis.ts +0 -75
  740. package/src/storages/inRedis/constants.ts +0 -4
  741. package/src/storages/inRedis/index.ts +0 -85
  742. package/src/storages/package.json +0 -3
  743. package/src/storages/pluggable/EventsCachePluggable.ts +0 -79
  744. package/src/storages/pluggable/ImpressionCountsCachePluggable.ts +0 -92
  745. package/src/storages/pluggable/ImpressionsCachePluggable.ts +0 -63
  746. package/src/storages/pluggable/RBSegmentsCachePluggable.ts +0 -76
  747. package/src/storages/pluggable/SegmentsCachePluggable.ts +0 -90
  748. package/src/storages/pluggable/SplitsCachePluggable.ts +0 -230
  749. package/src/storages/pluggable/TelemetryCachePluggable.ts +0 -159
  750. package/src/storages/pluggable/UniqueKeysCachePluggable.ts +0 -67
  751. package/src/storages/pluggable/constants.ts +0 -1
  752. package/src/storages/pluggable/inMemoryWrapper.ts +0 -130
  753. package/src/storages/pluggable/index.ts +0 -152
  754. package/src/storages/pluggable/wrapperAdapter.ts +0 -58
  755. package/src/storages/types.ts +0 -522
  756. package/src/storages/utils.ts +0 -80
  757. package/src/sync/offline/LocalhostFromObject.ts +0 -6
  758. package/src/sync/offline/splitsParser/parseCondition.ts +0 -59
  759. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +0 -72
  760. package/src/sync/offline/splitsParser/types.ts +0 -5
  761. package/src/sync/offline/syncManagerOffline.ts +0 -66
  762. package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +0 -98
  763. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +0 -25
  764. package/src/sync/polling/fetchers/segmentChangesFetcher.ts +0 -41
  765. package/src/sync/polling/fetchers/splitChangesFetcher.ts +0 -85
  766. package/src/sync/polling/fetchers/types.ts +0 -25
  767. package/src/sync/polling/pollingManagerCS.ts +0 -116
  768. package/src/sync/polling/pollingManagerSS.ts +0 -56
  769. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +0 -34
  770. package/src/sync/polling/syncTasks/segmentsSyncTask.ts +0 -30
  771. package/src/sync/polling/syncTasks/splitsSyncTask.ts +0 -35
  772. package/src/sync/polling/types.ts +0 -33
  773. package/src/sync/polling/updaters/mySegmentsUpdater.ts +0 -102
  774. package/src/sync/polling/updaters/segmentChangesUpdater.ts +0 -92
  775. package/src/sync/polling/updaters/splitChangesUpdater.ts +0 -218
  776. package/src/sync/streaming/AuthClient/index.ts +0 -42
  777. package/src/sync/streaming/AuthClient/types.ts +0 -20
  778. package/src/sync/streaming/SSEClient/index.ts +0 -103
  779. package/src/sync/streaming/SSEClient/types.ts +0 -13
  780. package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +0 -107
  781. package/src/sync/streaming/SSEHandler/NotificationParser.ts +0 -40
  782. package/src/sync/streaming/SSEHandler/index.ts +0 -105
  783. package/src/sync/streaming/SSEHandler/types.ts +0 -73
  784. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +0 -134
  785. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +0 -99
  786. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +0 -145
  787. package/src/sync/streaming/UpdateWorkers/constants.ts +0 -3
  788. package/src/sync/streaming/UpdateWorkers/types.ts +0 -4
  789. package/src/sync/streaming/constants.ts +0 -44
  790. package/src/sync/streaming/parseUtils.ts +0 -100
  791. package/src/sync/streaming/pushManager.ts +0 -358
  792. package/src/sync/streaming/types.ts +0 -51
  793. package/src/sync/submitters/eventsSubmitter.ts +0 -35
  794. package/src/sync/submitters/impressionCountsSubmitter.ts +0 -44
  795. package/src/sync/submitters/impressionsSubmitter.ts +0 -66
  796. package/src/sync/submitters/submitter.ts +0 -76
  797. package/src/sync/submitters/submitterManager.ts +0 -48
  798. package/src/sync/submitters/telemetrySubmitter.ts +0 -148
  799. package/src/sync/submitters/types.ts +0 -241
  800. package/src/sync/submitters/uniqueKeysSubmitter.ts +0 -35
  801. package/src/sync/syncManagerOnline.ts +0 -190
  802. package/src/sync/syncTask.ts +0 -83
  803. package/src/sync/types.ts +0 -48
  804. package/src/trackers/eventTracker.ts +0 -72
  805. package/src/trackers/impressionObserver/ImpressionObserver.ts +0 -20
  806. package/src/trackers/impressionObserver/buildKey.ts +0 -5
  807. package/src/trackers/impressionObserver/impressionObserverCS.ts +0 -14
  808. package/src/trackers/impressionObserver/impressionObserverSS.ts +0 -14
  809. package/src/trackers/impressionObserver/types.ts +0 -5
  810. package/src/trackers/impressionsTracker.ts +0 -87
  811. package/src/trackers/strategy/strategyDebug.ts +0 -23
  812. package/src/trackers/strategy/strategyNone.ts +0 -28
  813. package/src/trackers/strategy/strategyOptimized.ts +0 -35
  814. package/src/trackers/telemetryTracker.ts +0 -73
  815. package/src/trackers/types.ts +0 -86
  816. package/src/trackers/uniqueKeysTracker.ts +0 -50
  817. package/src/types.ts +0 -44
  818. package/src/utils/Backoff.ts +0 -51
  819. package/src/utils/LRUCache/LinkedList.ts +0 -130
  820. package/src/utils/LRUCache/index.ts +0 -43
  821. package/src/utils/MinEventEmitter.ts +0 -102
  822. package/src/utils/Semver.ts +0 -111
  823. package/src/utils/base64/index.ts +0 -74
  824. package/src/utils/constants/index.ts +0 -116
  825. package/src/utils/decompress/index.ts +0 -429
  826. package/src/utils/env/isLocalStorageAvailable.ts +0 -11
  827. package/src/utils/env/isNode.ts +0 -6
  828. package/src/utils/inputValidation/apiKey.ts +0 -52
  829. package/src/utils/inputValidation/attribute.ts +0 -21
  830. package/src/utils/inputValidation/attributes.ts +0 -26
  831. package/src/utils/inputValidation/event.ts +0 -24
  832. package/src/utils/inputValidation/eventProperties.ts +0 -78
  833. package/src/utils/inputValidation/eventValue.ts +0 -11
  834. package/src/utils/inputValidation/index.ts +0 -14
  835. package/src/utils/inputValidation/isOperational.ts +0 -17
  836. package/src/utils/inputValidation/key.ts +0 -51
  837. package/src/utils/inputValidation/preloadedData.ts +0 -57
  838. package/src/utils/inputValidation/split.ts +0 -27
  839. package/src/utils/inputValidation/splitExistence.ts +0 -19
  840. package/src/utils/inputValidation/splits.ts +0 -21
  841. package/src/utils/inputValidation/trafficType.ts +0 -27
  842. package/src/utils/inputValidation/trafficTypeExistence.ts +0 -33
  843. package/src/utils/jwt/index.ts +0 -16
  844. package/src/utils/jwt/types.ts +0 -10
  845. package/src/utils/key/index.ts +0 -34
  846. package/src/utils/labels/index.ts +0 -9
  847. package/src/utils/lang/binarySearch.ts +0 -41
  848. package/src/utils/lang/getFnName.ts +0 -8
  849. package/src/utils/lang/getGlobal.ts +0 -17
  850. package/src/utils/lang/index.ts +0 -279
  851. package/src/utils/lang/objectAssign.ts +0 -25
  852. package/src/utils/lang/sets.ts +0 -17
  853. package/src/utils/murmur3/common.ts +0 -54
  854. package/src/utils/murmur3/legacy.ts +0 -48
  855. package/src/utils/murmur3/murmur3.ts +0 -74
  856. package/src/utils/murmur3/murmur3_128.ts +0 -273
  857. package/src/utils/murmur3/murmur3_128_x86.ts +0 -188
  858. package/src/utils/murmur3/murmur3_64.ts +0 -36
  859. package/src/utils/murmur3/utfx.ts +0 -109
  860. package/src/utils/promise/thenable.ts +0 -4
  861. package/src/utils/promise/timeout.ts +0 -17
  862. package/src/utils/promise/wrapper.ts +0 -60
  863. package/src/utils/settingsValidation/consent.ts +0 -16
  864. package/src/utils/settingsValidation/impressionsMode.ts +0 -14
  865. package/src/utils/settingsValidation/index.ts +0 -207
  866. package/src/utils/settingsValidation/integrations/common.ts +0 -27
  867. package/src/utils/settingsValidation/integrations/configurable.ts +0 -20
  868. package/src/utils/settingsValidation/integrations/pluggable.ts +0 -19
  869. package/src/utils/settingsValidation/logger/builtinLogger.ts +0 -54
  870. package/src/utils/settingsValidation/logger/commons.ts +0 -24
  871. package/src/utils/settingsValidation/logger/pluggableLogger.ts +0 -35
  872. package/src/utils/settingsValidation/mode.ts +0 -17
  873. package/src/utils/settingsValidation/runtime.ts +0 -9
  874. package/src/utils/settingsValidation/splitFilters.ts +0 -197
  875. package/src/utils/settingsValidation/storage/storageCS.ts +0 -52
  876. package/src/utils/settingsValidation/types.ts +0 -27
  877. package/src/utils/settingsValidation/url.ts +0 -30
  878. package/src/utils/time/index.ts +0 -8
  879. package/src/utils/timeTracker/now/browser.ts +0 -12
  880. package/src/utils/timeTracker/now/node.ts +0 -6
  881. package/src/utils/timeTracker/timer.ts +0 -7
@@ -1,138 +0,0 @@
1
- /* eslint-disable no-undef */
2
- // @TODO eventually migrate to JS-Browser-SDK package.
3
- import { ISignalListener } from './types';
4
- import { IRecorderCacheSync, IStorageSync } from '../storages/types';
5
- import { fromImpressionsCollector } from '../sync/submitters/impressionsSubmitter';
6
- import { fromImpressionCountsCollector } from '../sync/submitters/impressionCountsSubmitter';
7
- import { IResponse, ISplitApi } from '../services/types';
8
- import { ISettings } from '../types';
9
- import SplitIO from '../../types/splitio';
10
- import { ImpressionsPayload } from '../sync/submitters/types';
11
- import { objectAssign } from '../utils/lang/objectAssign';
12
- import { CLEANUP_REGISTERING, CLEANUP_DEREGISTERING } from '../logger/constants';
13
- import { ISyncManager } from '../sync/types';
14
- import { isConsentGranted } from '../consent';
15
-
16
- const VISIBILITYCHANGE_EVENT = 'visibilitychange';
17
- const PAGEHIDE_EVENT = 'pagehide';
18
- const EVENT_NAME = 'for visibilitychange and pagehide events.';
19
-
20
- /**
21
- * We'll listen for events over the window object.
22
- */
23
- export class BrowserSignalListener implements ISignalListener {
24
-
25
- private fromImpressionsCollector: (data: SplitIO.ImpressionDTO[]) => ImpressionsPayload;
26
-
27
- constructor(
28
- private syncManager: ISyncManager | undefined,
29
- private settings: ISettings,
30
- private storage: IStorageSync,
31
- private serviceApi: ISplitApi,
32
- ) {
33
- this.flushData = this.flushData.bind(this);
34
- this.flushDataIfHidden = this.flushDataIfHidden.bind(this);
35
- this.fromImpressionsCollector = fromImpressionsCollector.bind(undefined, settings.core.labelsEnabled);
36
- }
37
-
38
- /**
39
- * start method.
40
- * Called when SplitFactory is initialized, it adds event listeners to close streaming and flush impressions and events.
41
- */
42
- start() {
43
- this.settings.log.debug(CLEANUP_REGISTERING, [EVENT_NAME]);
44
- if (typeof document !== 'undefined' && document.addEventListener) {
45
- // Flush data whenever the page is hidden or unloaded.
46
- document.addEventListener(VISIBILITYCHANGE_EVENT, this.flushDataIfHidden);
47
- }
48
- if (typeof window !== 'undefined' && window.addEventListener) {
49
- // Some browsers, like Safari, does not fire the `visibilitychange` event when the page is being unloaded. Therefore, we also flush data in the `pagehide` event.
50
- // If both events are triggered, the latter will find the storage empty, so no duplicate data will be submitted.
51
- window.addEventListener(PAGEHIDE_EVENT, this.flushData);
52
- }
53
- }
54
-
55
- /**
56
- * stop method.
57
- * Called when client is destroyed, it removes event listeners.
58
- */
59
- stop() {
60
- this.settings.log.debug(CLEANUP_DEREGISTERING, [EVENT_NAME]);
61
- if (typeof document !== 'undefined' && document.removeEventListener) {
62
- document.removeEventListener(VISIBILITYCHANGE_EVENT, this.flushDataIfHidden);
63
- }
64
- if (typeof window !== 'undefined' && window.removeEventListener) {
65
- window.removeEventListener(PAGEHIDE_EVENT, this.flushData);
66
- }
67
- }
68
-
69
- /**
70
- * flushData method.
71
- * Called when pagehide event is triggered. It flushed remaining impressions and events to the backend,
72
- * using beacon API if possible, or falling back to regular post transport.
73
- */
74
- flushData() {
75
- if (!this.syncManager) return; // In consumer mode there is not sync manager and data to flush
76
- const { events, telemetry } = this.settings.urls;
77
-
78
- // Flush impressions & events data if there is user consent
79
- if (isConsentGranted(this.settings)) {
80
- const extraMetadata = {
81
- // sim stands for Sync/Split Impressions Mode
82
- sim: this.settings.sync.impressionsMode
83
- };
84
-
85
- this._flushData(events + '/testImpressions/beacon', this.storage.impressions, this.serviceApi.postTestImpressionsBulk, this.fromImpressionsCollector, extraMetadata);
86
- this._flushData(events + '/events/beacon', this.storage.events, this.serviceApi.postEventsBulk);
87
- this._flushData(events + '/testImpressions/count/beacon', this.storage.impressionCounts, this.serviceApi.postTestImpressionsCount, fromImpressionCountsCollector);
88
- this._flushData(telemetry + '/v1/keys/cs/beacon', this.storage.uniqueKeys, this.serviceApi.postUniqueKeysBulkCs);
89
- }
90
-
91
- // Flush telemetry data
92
- if (this.storage.telemetry) this._flushData(telemetry + '/v1/metrics/usage/beacon', this.storage.telemetry, this.serviceApi.postMetricsUsage);
93
- }
94
-
95
- flushDataIfHidden() {
96
- // Precondition: document defined
97
- if (document.visibilityState === 'hidden') this.flushData(); // On a 'visibilitychange' event, flush data if state is hidden
98
- }
99
-
100
- private _flushData<T>(url: string, cache: IRecorderCacheSync<T>, postService: (body: string) => Promise<IResponse>, fromCacheToPayload?: (cacheData: T) => any, extraMetadata?: {}) {
101
- // if there is data in cache, send it to backend
102
- if (!cache.isEmpty()) {
103
- const dataPayload = fromCacheToPayload ? fromCacheToPayload(cache.pop()) : cache.pop();
104
- if (!this._sendBeacon(url, dataPayload, extraMetadata)) {
105
- postService(JSON.stringify(dataPayload)).catch(() => { }); // no-op to handle possible promise rejection
106
- }
107
- }
108
- }
109
-
110
- /**
111
- * _sendBeacon method.
112
- * Util method that check if beacon API is available, build the payload and send it.
113
- * Returns true if beacon API was used successfully, false otherwise.
114
- */
115
- private _sendBeacon(url: string, data: any, extraMetadata?: {}) {
116
- if (typeof navigator !== 'undefined' && navigator.sendBeacon) {
117
- const json = {
118
- entries: data,
119
- token: this.settings.core.authorizationKey,
120
- sdk: this.settings.version
121
- };
122
-
123
- // Extend with endpoint specific metadata where needed
124
- if (extraMetadata) objectAssign(json, extraMetadata);
125
-
126
- // Stringify the payload
127
- const payload = JSON.stringify(json);
128
-
129
- // https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch
130
- try {
131
- return navigator.sendBeacon(url, payload);
132
- } catch (e) {
133
- return false;
134
- }
135
- }
136
- return false;
137
- }
138
- }
@@ -1,81 +0,0 @@
1
- // @TODO eventually migrate to Node.js SDK package.
2
- import { ISignalListener } from './types';
3
- import { thenable } from '../utils/promise/thenable';
4
- import { MaybeThenable } from '../dtos/types';
5
- import { ISettings } from '../types';
6
- import { LOG_PREFIX_CLEANUP, CLEANUP_REGISTERING, CLEANUP_DEREGISTERING } from '../logger/constants';
7
- import { ISyncManager } from '../sync/types';
8
-
9
- const SIGTERM = 'SIGTERM';
10
- const EVENT_NAME = 'for SIGTERM signal.';
11
-
12
- /**
13
- * We'll listen for SIGTERM since it's the standard signal for server shutdown.
14
- *
15
- * If you're stopping the execution yourself via the keyboard, or by calling process.exit,
16
- * you should call the cleanup logic yourself, since we cannot ensure the data is sent after
17
- * the process is already exiting.
18
- */
19
- export class NodeSignalListener implements ISignalListener {
20
-
21
- private handler: () => MaybeThenable<any>;
22
- private settings: ISettings;
23
-
24
- constructor(
25
- syncManager: ISyncManager | undefined, // private handler: () => MaybeThenable<void>,
26
- settings: ISettings
27
- ) {
28
- // @TODO review handler logic when implementing Node.js SDK
29
- this.handler = function () {
30
- if (syncManager) {
31
- // syncManager.stop();
32
- return syncManager.flush();
33
- }
34
- };
35
- this.settings = settings;
36
- this._sigtermHandler = this._sigtermHandler.bind(this);
37
- }
38
-
39
- start() {
40
- this.settings.log.debug(CLEANUP_REGISTERING, [EVENT_NAME]);
41
- // eslint-disable-next-line no-undef
42
- process.on(SIGTERM, this._sigtermHandler);
43
- }
44
-
45
- stop() {
46
- this.settings.log.debug(CLEANUP_DEREGISTERING, [EVENT_NAME]);
47
- // eslint-disable-next-line no-undef
48
- process.removeListener(SIGTERM, this._sigtermHandler);
49
- }
50
-
51
- /**
52
- * Call the handler, clean up listeners and emit the signal again.
53
- */
54
- private _sigtermHandler(): MaybeThenable<void> {
55
- const wrapUp = () => {
56
- // Cleaned up, remove handlers.
57
- this.stop();
58
-
59
- // This handler prevented the default behavior, start again.
60
- // eslint-disable-next-line no-undef
61
- process.kill(process.pid, SIGTERM);
62
- };
63
-
64
- this.settings.log.debug(`${LOG_PREFIX_CLEANUP}Split SDK graceful shutdown after SIGTERM.`);
65
-
66
- let handlerResult = null;
67
-
68
- try {
69
- handlerResult = this.handler();
70
- } catch (err) {
71
- this.settings.log.error(`${LOG_PREFIX_CLEANUP}Error with Split SDK graceful shutdown: ${err}`);
72
- }
73
-
74
- if (thenable(handlerResult)) {
75
- // Always exit, even with errors. The promise is returned for UT purposes.
76
- return handlerResult.then(wrapUp).catch(wrapUp);
77
- } else {
78
- wrapUp();
79
- }
80
- }
81
- }
@@ -1,4 +0,0 @@
1
- export interface ISignalListener {
2
- start(): any
3
- stop(): any
4
- }
@@ -1,6 +0,0 @@
1
- import { Logger } from '../index';
2
- import { codesDebug } from '../messages/debug';
3
-
4
- export function DebugLogger() {
5
- return new Logger({ logLevel: 'DEBUG' }, new Map(codesDebug));
6
- }
@@ -1,6 +0,0 @@
1
- import { Logger } from '../index';
2
- import { codesError } from '../messages/error';
3
-
4
- export function ErrorLogger() {
5
- return new Logger({ logLevel: 'ERROR' }, new Map(codesError));
6
- }
@@ -1,6 +0,0 @@
1
- import { Logger } from '../index';
2
- import { codesInfo } from '../messages/info';
3
-
4
- export function InfoLogger() {
5
- return new Logger({ logLevel: 'INFO' }, new Map(codesInfo));
6
- }
@@ -1,6 +0,0 @@
1
- import { Logger } from '../index';
2
- import { codesWarn } from '../messages/warn';
3
-
4
- export function WarnLogger() {
5
- return new Logger({ logLevel: 'WARN' }, new Map(codesWarn));
6
- }
@@ -1,139 +0,0 @@
1
- /**
2
- * Message codes used to trim string log messages from commons and client-side API modules,
3
- * in order to reduce the minimal SDK size for Browser and eventually other client-side environments.
4
- *
5
- * Modules related to the server-side API (e.g., segmentsSyncTask), platform-specific components (e.g., signal listeners)
6
- * and pluggable components (e.g., pluggable integrations & storages) can use the logger with string literals.
7
- */
8
- export const ENGINE_COMBINER_AND = 0;
9
- export const ENGINE_COMBINER_IFELSEIF = 1;
10
- export const ENGINE_COMBINER_IFELSEIF_NO_TREATMENT = 2;
11
- export const ENGINE_BUCKET = 3;
12
- export const ENGINE_MATCHER_DEPENDENCY = 10;
13
- export const ENGINE_MATCHER_DEPENDENCY_PRE = 11;
14
- export const ENGINE_VALUE = 23;
15
- export const ENGINE_SANITIZE = 24;
16
- export const CLEANUP_REGISTERING = 25;
17
- export const CLEANUP_DEREGISTERING = 26;
18
- export const RETRIEVE_CLIENT_DEFAULT = 27;
19
- export const RETRIEVE_CLIENT_EXISTING = 28;
20
- export const RETRIEVE_MANAGER = 29;
21
- export const SYNC_OFFLINE_DATA = 30;
22
- export const SYNC_SPLITS_FETCH = 31;
23
- export const SYNC_SPLITS_UPDATE = 32;
24
- export const SYNC_RBS_UPDATE = 33;
25
- export const STREAMING_NEW_MESSAGE = 35;
26
- export const SYNC_TASK_START = 36;
27
- export const SYNC_TASK_EXECUTE = 37;
28
- export const SYNC_TASK_STOP = 38;
29
- export const SETTINGS_SPLITS_FILTER = 39;
30
- export const ENGINE_MATCHER_RESULT = 40;
31
- export const ENGINE_DEFAULT = 41;
32
-
33
- export const CLIENT_READY_FROM_CACHE = 100;
34
- export const CLIENT_READY = 101;
35
- export const IMPRESSION = 102;
36
- export const IMPRESSION_QUEUEING = 103;
37
- export const NEW_SHARED_CLIENT = 104;
38
- export const NEW_FACTORY = 105;
39
- export const POLLING_SMART_PAUSING = 106;
40
- export const POLLING_START = 107;
41
- export const POLLING_STOP = 108;
42
- export const SYNC_SPLITS_FETCH_RETRY = 109;
43
- export const STREAMING_REFRESH_TOKEN = 110;
44
- export const STREAMING_RECONNECT = 111;
45
- export const STREAMING_CONNECTING = 112;
46
- export const STREAMING_DISABLED = 113;
47
- export const STREAMING_DISCONNECTING = 114;
48
- export const SUBMITTERS_PUSH_FULL_QUEUE = 115;
49
- export const SUBMITTERS_PUSH = 116;
50
- export const SYNC_START_POLLING = 117;
51
- export const SYNC_CONTINUE_POLLING = 118;
52
- export const SYNC_STOP_POLLING = 119;
53
- export const EVENTS_TRACKER_SUCCESS = 120;
54
- export const IMPRESSIONS_TRACKER_SUCCESS = 121;
55
- export const USER_CONSENT_UPDATED = 122;
56
- export const USER_CONSENT_NOT_UPDATED = 123;
57
- export const USER_CONSENT_INITIAL = 124;
58
-
59
- export const ENGINE_VALUE_INVALID = 200;
60
- export const ENGINE_VALUE_NO_ATTRIBUTES = 201;
61
- export const CLIENT_NO_LISTENER = 202;
62
- export const CLIENT_NOT_READY = 203;
63
- export const SYNC_MYSEGMENTS_FETCH_RETRY = 204;
64
- export const SYNC_SPLITS_FETCH_FAILS = 205;
65
- export const STREAMING_PARSING_ERROR_FAILS = 206;
66
- export const STREAMING_PARSING_MESSAGE_FAILS = 207;
67
- export const STREAMING_FALLBACK = 208;
68
- export const SUBMITTERS_PUSH_FAILS = 209;
69
- export const SUBMITTERS_PUSH_RETRY = 210;
70
- export const WARN_SETTING_NULL = 211;
71
- export const WARN_TRIMMING_PROPERTIES = 212;
72
- export const WARN_CONVERTING = 213;
73
- export const WARN_TRIMMING = 214;
74
- export const WARN_NOT_EXISTENT_SPLIT = 215;
75
- export const WARN_LOWERCASE_TRAFFIC_TYPE = 216;
76
- export const WARN_NOT_EXISTENT_TT = 217;
77
- export const WARN_INTEGRATION_INVALID = 218;
78
- export const WARN_SPLITS_FILTER_IGNORED = 219;
79
- export const WARN_SPLITS_FILTER_INVALID = 220;
80
- export const WARN_SPLITS_FILTER_EMPTY = 221;
81
- export const WARN_SDK_KEY = 222;
82
- export const STREAMING_PARSING_MEMBERSHIPS_UPDATE = 223;
83
- export const STREAMING_PARSING_SPLIT_UPDATE = 224;
84
- export const WARN_INVALID_FLAGSET = 225;
85
- export const WARN_LOWERCASE_FLAGSET = 226;
86
- export const WARN_FLAGSET_NOT_CONFIGURED = 227;
87
- export const WARN_FLAGSET_WITHOUT_FLAGS = 228;
88
-
89
- export const ERROR_ENGINE_COMBINER_IFELSEIF = 300;
90
- export const ERROR_LOGLEVEL_INVALID = 301;
91
- export const ERROR_CLIENT_LISTENER = 302;
92
- export const ERROR_CLIENT_CANNOT_GET_READY = 303;
93
- export const ERROR_SYNC_OFFLINE_LOADING = 304;
94
- export const ERROR_STREAMING_SSE = 305;
95
- export const ERROR_STREAMING_AUTH = 306;
96
- export const ERROR_IMPRESSIONS_TRACKER = 307;
97
- export const ERROR_IMPRESSIONS_LISTENER = 308;
98
- export const ERROR_EVENTS_TRACKER = 309;
99
- export const ERROR_EVENT_TYPE_FORMAT = 310;
100
- export const ERROR_NOT_PLAIN_OBJECT = 311;
101
- export const ERROR_SIZE_EXCEEDED = 312;
102
- export const ERROR_NOT_FINITE = 313;
103
- export const ERROR_CLIENT_DESTROYED = 314;
104
- export const ERROR_NULL = 315;
105
- export const ERROR_TOO_LONG = 316;
106
- export const ERROR_INVALID_KEY_OBJECT = 317;
107
- export const ERROR_INVALID = 318;
108
- export const ERROR_EMPTY = 319;
109
- export const ERROR_EMPTY_ARRAY = 320;
110
- export const ERROR_INVALID_CONFIG_PARAM = 321;
111
- export const ERROR_HTTP = 322;
112
- export const ERROR_STORAGE_INVALID = 324;
113
- export const ERROR_NOT_BOOLEAN = 325;
114
- export const ERROR_MIN_CONFIG_PARAM = 326;
115
- export const ERROR_TOO_MANY_SETS = 327;
116
- export const ERROR_SETS_FILTER_EXCLUSIVE = 328;
117
- export const ENGINE_MATCHER_ERROR = 329;
118
-
119
- // Log prefixes (a.k.a. tags or categories)
120
- export const LOG_PREFIX_SETTINGS = 'settings';
121
- export const LOG_PREFIX_INSTANTIATION = 'Factory instantiation';
122
- export const LOG_PREFIX_CLIENT_INSTANTIATION = 'Client instantiation';
123
- export const LOG_PREFIX_ENGINE = 'engine';
124
- export const LOG_PREFIX_ENGINE_COMBINER = LOG_PREFIX_ENGINE + ':combiner: ';
125
- export const LOG_PREFIX_ENGINE_MATCHER = LOG_PREFIX_ENGINE + ':matcher: ';
126
- export const LOG_PREFIX_ENGINE_VALUE = LOG_PREFIX_ENGINE + ':value: ';
127
- export const LOG_PREFIX_SYNC = 'sync';
128
- export const LOG_PREFIX_SYNC_MANAGER = LOG_PREFIX_SYNC + ':sync-manager: ';
129
- export const LOG_PREFIX_SYNC_OFFLINE = LOG_PREFIX_SYNC + ':offline: ';
130
- export const LOG_PREFIX_SYNC_STREAMING = LOG_PREFIX_SYNC + ':streaming: ';
131
- export const LOG_PREFIX_SYNC_SPLITS = LOG_PREFIX_SYNC + ':featureflag-changes: ';
132
- export const LOG_PREFIX_SYNC_SEGMENTS = LOG_PREFIX_SYNC + ':segment-changes: ';
133
- export const LOG_PREFIX_SYNC_MYSEGMENTS = LOG_PREFIX_SYNC + ':my-segments: ';
134
- export const LOG_PREFIX_SYNC_POLLING = LOG_PREFIX_SYNC + ':polling-manager: ';
135
- export const LOG_PREFIX_SYNC_SUBMITTERS = LOG_PREFIX_SYNC + ':submitter: ';
136
- export const LOG_PREFIX_IMPRESSIONS_TRACKER = 'impressions-tracker: ';
137
- export const LOG_PREFIX_EVENTS_TRACKER = 'events-tracker: ';
138
- export const LOG_PREFIX_UNIQUE_KEYS_TRACKER = 'unique-keys-tracker: ';
139
- export const LOG_PREFIX_CLEANUP = 'cleanup: ';
@@ -1,110 +0,0 @@
1
- import { objectAssign } from '../utils/lang/objectAssign';
2
- import { ILoggerOptions, ILogger } from './types';
3
- import { find, isObject } from '../utils/lang';
4
- import SplitIO from '../../types/splitio';
5
-
6
- export const LogLevels: SplitIO.ILoggerAPI['LogLevel'] = {
7
- DEBUG: 'DEBUG',
8
- INFO: 'INFO',
9
- WARN: 'WARN',
10
- ERROR: 'ERROR',
11
- NONE: 'NONE'
12
- };
13
-
14
- const LogLevelIndexes = {
15
- DEBUG: 1,
16
- INFO: 2,
17
- WARN: 3,
18
- ERROR: 4,
19
- NONE: 5
20
- };
21
-
22
- export function isLogLevelString(str: string): str is SplitIO.LogLevel {
23
- return !!find(LogLevels, (lvl: string) => str === lvl);
24
- }
25
-
26
- // exported for testing purposes only
27
- export function _sprintf(format: string = '', args: any[] = []): string {
28
- let i = 0;
29
- return format.replace(/%s/g, function () {
30
- let arg = args[i++];
31
- if (isObject(arg) || Array.isArray(arg)) {
32
- try {
33
- arg = JSON.stringify(arg);
34
- } catch (e) { /* empty */ }
35
- }
36
- return arg;
37
- });
38
- }
39
-
40
- const defaultOptions = {
41
- prefix: 'splitio',
42
- logLevel: LogLevels.NONE,
43
- showLevel: true,
44
- };
45
-
46
- export class Logger implements ILogger {
47
-
48
- private options: Required<ILoggerOptions>;
49
- private codes: Map<number, string>;
50
- private logLevel: number;
51
-
52
- constructor(options?: ILoggerOptions, codes?: Map<number, string>) {
53
- this.options = objectAssign({}, defaultOptions, options);
54
- this.codes = codes || new Map();
55
- this.logLevel = LogLevelIndexes[this.options.logLevel];
56
- }
57
-
58
- setLogLevel(logLevel: SplitIO.LogLevel) {
59
- this.options.logLevel = logLevel;
60
- this.logLevel = LogLevelIndexes[logLevel];
61
- }
62
-
63
- debug(msg: string | number, args?: any[]) {
64
- if (this._shouldLog(LogLevelIndexes.DEBUG)) this._log(LogLevels.DEBUG, msg, args);
65
- }
66
-
67
- info(msg: string | number, args?: any[]) {
68
- if (this._shouldLog(LogLevelIndexes.INFO)) this._log(LogLevels.INFO, msg, args);
69
- }
70
-
71
- warn(msg: string | number, args?: any[]) {
72
- if (this._shouldLog(LogLevelIndexes.WARN)) this._log(LogLevels.WARN, msg, args);
73
- }
74
-
75
- error(msg: string | number, args?: any[]) {
76
- if (this._shouldLog(LogLevelIndexes.ERROR)) this._log(LogLevels.ERROR, msg, args);
77
- }
78
-
79
- private _log(level: SplitIO.LogLevel, msg: string | number, args?: any[]) {
80
- if (typeof msg === 'number') {
81
- const format = this.codes.get(msg);
82
- msg = format ? _sprintf(format, args) : `Message code ${msg}${args ? ', with args: ' + args.toString() : ''}`;
83
- } else {
84
- if (args) msg = _sprintf(msg, args);
85
- }
86
-
87
- const formattedText = this._generateLogMessage(level, msg);
88
-
89
- console.log(formattedText);
90
- }
91
-
92
- private _generateLogMessage(level: SplitIO.LogLevel, text: string) {
93
- const textPre = ' => ';
94
- let result = '';
95
-
96
- if (this.options.showLevel) {
97
- result += '[' + level + ']' + (level === LogLevels.INFO || level === LogLevels.WARN ? ' ' : '') + ' ';
98
- }
99
-
100
- if (this.options.prefix) {
101
- result += this.options.prefix + textPre;
102
- }
103
-
104
- return result += text;
105
- }
106
-
107
- private _shouldLog(level: number) {
108
- return level >= this.logLevel;
109
- }
110
- }
@@ -1,33 +0,0 @@
1
- import * as c from '../constants';
2
- import { codesInfo } from './info';
3
-
4
- export const codesDebug: [number, string][] = codesInfo.concat([
5
- // evaluator
6
- [c.ENGINE_COMBINER_AND, c.LOG_PREFIX_ENGINE_COMBINER + '[andCombiner] evaluates to %s'],
7
- [c.ENGINE_COMBINER_IFELSEIF, c.LOG_PREFIX_ENGINE_COMBINER + 'Treatment found: %s'],
8
- [c.ENGINE_COMBINER_IFELSEIF_NO_TREATMENT, c.LOG_PREFIX_ENGINE_COMBINER + 'All predicates evaluated, no treatment found.'],
9
- [c.ENGINE_BUCKET, c.LOG_PREFIX_ENGINE + ': using algo "murmur" bucket %s for key %s using seed %s - treatment %s'],
10
- [c.ENGINE_MATCHER_DEPENDENCY, c.LOG_PREFIX_ENGINE_MATCHER + '[IN_SPLIT_TREATMENT] parent feature flag "%s" evaluated to "%s" with label "%s". %s evaluated treatment is part of %s ? %s.'],
11
- [c.ENGINE_MATCHER_DEPENDENCY_PRE, c.LOG_PREFIX_ENGINE_MATCHER + '[IN_SPLIT_TREATMENT] will evaluate parent feature flag: "%s" with key: %s %s'],
12
- [c.ENGINE_VALUE, c.LOG_PREFIX_ENGINE_VALUE + 'Extracted attribute `%s`. %s will be used for matching.'],
13
- [c.ENGINE_SANITIZE, c.LOG_PREFIX_ENGINE + ':sanitize: Attempted to sanitize %s which should be of type %s. Sanitized and processed value => %s'],
14
- [c.ENGINE_MATCHER_RESULT, c.LOG_PREFIX_ENGINE_MATCHER + '[%s] Result: %s. Rule value: %s. Evaluation value: %s'],
15
- [c.ENGINE_DEFAULT, c.LOG_PREFIX_ENGINE + 'Evaluates to default treatment. %s'],
16
- // SDK
17
- [c.CLEANUP_REGISTERING, c.LOG_PREFIX_CLEANUP + 'Registering cleanup handler %s'],
18
- [c.CLEANUP_DEREGISTERING, c.LOG_PREFIX_CLEANUP + 'Deregistering cleanup handler %s'],
19
- [c.RETRIEVE_CLIENT_DEFAULT, 'Retrieving default SDK client.'],
20
- [c.RETRIEVE_CLIENT_EXISTING, 'Retrieving existing SDK client.'],
21
- [c.RETRIEVE_MANAGER, 'Retrieving manager instance.'],
22
- // synchronizer
23
- [c.SYNC_OFFLINE_DATA, c.LOG_PREFIX_SYNC_OFFLINE + 'Feature flags data: \n%s'],
24
- [c.SYNC_SPLITS_FETCH, c.LOG_PREFIX_SYNC_SPLITS + 'Spin up feature flags update using since = %s and rbSince = %s.'],
25
- [c.SYNC_SPLITS_UPDATE, c.LOG_PREFIX_SYNC_SPLITS + 'New feature flags: %s. Removed feature flags: %s.'],
26
- [c.SYNC_RBS_UPDATE, c.LOG_PREFIX_SYNC_SPLITS + 'New rule-based segments: %s. Removed rule-based segments: %s.'],
27
- [c.STREAMING_NEW_MESSAGE, c.LOG_PREFIX_SYNC_STREAMING + 'New SSE message received, with data: %s.'],
28
- [c.SYNC_TASK_START, c.LOG_PREFIX_SYNC + ': Starting %s. Running each %s millis'],
29
- [c.SYNC_TASK_EXECUTE, c.LOG_PREFIX_SYNC + ': Running %s'],
30
- [c.SYNC_TASK_STOP, c.LOG_PREFIX_SYNC + ': Stopping %s'],
31
- // initialization / settings validation
32
- [c.SETTINGS_SPLITS_FILTER, c.LOG_PREFIX_SETTINGS + ': feature flags filtering criteria is "%s".']
33
- ]);
@@ -1,39 +0,0 @@
1
- import * as c from '../constants';
2
-
3
- export const codesError: [number, string][] = [
4
- // evaluator
5
- [c.ERROR_ENGINE_COMBINER_IFELSEIF, c.LOG_PREFIX_ENGINE_COMBINER + 'Invalid feature flag, no valid rules or unsupported targeting rule type found'],
6
- [c.ENGINE_MATCHER_ERROR, c.LOG_PREFIX_ENGINE_MATCHER + '[%s] %s'],
7
- // SDK
8
- [c.ERROR_LOGLEVEL_INVALID, 'logger: Invalid Log Level - No changes to the logs will be applied.'],
9
- [c.ERROR_CLIENT_CANNOT_GET_READY, 'The SDK will not get ready. Reason: %s'],
10
- [c.ERROR_IMPRESSIONS_TRACKER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Could not store impressions bulk with %s impression(s). Error: %s'],
11
- [c.ERROR_IMPRESSIONS_LISTENER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Impression listener logImpression method threw: %s.'],
12
- [c.ERROR_EVENTS_TRACKER, c.LOG_PREFIX_EVENTS_TRACKER + 'Failed to queue %s'],
13
- // synchronizer
14
- [c.ERROR_SYNC_OFFLINE_LOADING, c.LOG_PREFIX_SYNC_OFFLINE + 'There was an issue loading the mock feature flags data. No changes will be applied to the current cache. %s'],
15
- [c.ERROR_STREAMING_SSE, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to connect or error on streaming connection, with error message: %s'],
16
- [c.ERROR_STREAMING_AUTH, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to authenticate for streaming. Error: %s.'],
17
- [c.ERROR_HTTP, 'HTTP request failed with %s. URL: %s. Message: %s'],
18
- // client status
19
- [c.ERROR_CLIENT_LISTENER, 'A listener was added for %s on the SDK, which has already fired and won\'t be emitted again. The callback won\'t be executed.'],
20
- [c.ERROR_CLIENT_DESTROYED, '%s: Client has already been destroyed - no calls possible.'],
21
- // input validation
22
- [c.ERROR_EVENT_TYPE_FORMAT, '%s: you passed "%s", event_type must adhere to the regular expression /^[a-zA-Z0-9][-_.:a-zA-Z0-9]{0,79}$/g. This means an event_type must be alphanumeric, cannot be more than 80 characters long, and can only include a dash, underscore, period, or colon as separators of alphanumeric characters.'],
23
- [c.ERROR_NOT_PLAIN_OBJECT, '%s: %s must be a plain object.'],
24
- [c.ERROR_SIZE_EXCEEDED, '%s: the maximum size allowed for the properties is 32768 bytes, which was exceeded.'],
25
- [c.ERROR_NOT_FINITE, '%s: value must be a finite number.'],
26
- [c.ERROR_NULL, '%s: you passed a null or undefined %s. It must be a non-empty string.'],
27
- [c.ERROR_TOO_LONG, '%s: %s too long. It must have 250 characters or less.'],
28
- [c.ERROR_INVALID_KEY_OBJECT, '%s: Key must be an object with bucketingKey and matchingKey with valid string properties.'],
29
- [c.ERROR_INVALID, '%s: you passed an invalid %s. It must be a non-empty string.'],
30
- [c.ERROR_EMPTY, '%s: you passed an empty %s. It must be a non-empty string.'],
31
- [c.ERROR_EMPTY_ARRAY, '%s: %s must be a non-empty array.'],
32
- [c.ERROR_NOT_BOOLEAN, '%s: provided param must be a boolean value.'],
33
- // initialization / settings validation
34
- [c.ERROR_INVALID_CONFIG_PARAM, c.LOG_PREFIX_SETTINGS + ': you passed an invalid "%s" config param. It should be one of the following values: %s. Defaulting to "%s".'],
35
- [c.ERROR_STORAGE_INVALID, c.LOG_PREFIX_SETTINGS+': the provided storage is invalid.%s Falling back into default MEMORY storage'],
36
- [c.ERROR_MIN_CONFIG_PARAM, c.LOG_PREFIX_SETTINGS + ': the provided "%s" config param is lower than allowed. Setting to the minimum value %s seconds'],
37
- [c.ERROR_TOO_MANY_SETS, c.LOG_PREFIX_SETTINGS + ': the amount of flag sets provided are big causing uri length error.'],
38
- [c.ERROR_SETS_FILTER_EXCLUSIVE, c.LOG_PREFIX_SETTINGS+': the Set filter is exclusive and cannot be used simultaneously with names or prefix filters. Ignoring names and prefixes.'],
39
- ];
@@ -1,36 +0,0 @@
1
- import * as c from '../constants';
2
- import { codesWarn } from './warn';
3
-
4
- const READY_MSG = 'Split SDK client is ready';
5
-
6
- export const codesInfo: [number, string][] = codesWarn.concat([
7
- // client status
8
- [c.CLIENT_READY_FROM_CACHE, READY_MSG + ' from cache'],
9
- [c.CLIENT_READY, READY_MSG],
10
- // SDK
11
- [c.IMPRESSION, c.LOG_PREFIX_IMPRESSIONS_TRACKER +'Feature flag: %s. Key: %s. Evaluation: %s. Label: %s'],
12
- [c.IMPRESSION_QUEUEING, c.LOG_PREFIX_IMPRESSIONS_TRACKER +'Queueing corresponding impression.'],
13
- [c.NEW_SHARED_CLIENT, 'New shared client instance created.'],
14
- [c.NEW_FACTORY, 'New Split SDK instance created.'],
15
- [c.EVENTS_TRACKER_SUCCESS, c.LOG_PREFIX_EVENTS_TRACKER + 'Successfully queued %s'],
16
- [c.IMPRESSIONS_TRACKER_SUCCESS, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Successfully stored %s impression(s).'],
17
- [c.USER_CONSENT_UPDATED, 'UserConsent: consent status changed from %s to %s.'],
18
- [c.USER_CONSENT_NOT_UPDATED, 'UserConsent: call had no effect because it was the current consent status (%s).'],
19
- [c.USER_CONSENT_INITIAL, 'Starting the SDK with %s user consent. No data will be sent.'],
20
-
21
- // synchronizer
22
- [c.POLLING_SMART_PAUSING, c.LOG_PREFIX_SYNC_POLLING + 'Turning segments data polling %s.'],
23
- [c.POLLING_START, c.LOG_PREFIX_SYNC_POLLING + 'Starting polling'],
24
- [c.POLLING_STOP, c.LOG_PREFIX_SYNC_POLLING + 'Stopping polling'],
25
- [c.SYNC_SPLITS_FETCH_RETRY, c.LOG_PREFIX_SYNC_SPLITS + 'Retrying download of feature flags #%s. Reason: %s'],
26
- [c.SUBMITTERS_PUSH_FULL_QUEUE, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Flushing full %s queue and resetting timer.'],
27
- [c.SUBMITTERS_PUSH, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Pushing %s.'],
28
- [c.STREAMING_REFRESH_TOKEN, c.LOG_PREFIX_SYNC_STREAMING + 'Refreshing streaming token in %s seconds, and connecting streaming in %s seconds.'],
29
- [c.STREAMING_RECONNECT, c.LOG_PREFIX_SYNC_STREAMING + 'Attempting to reconnect streaming in %s seconds.'],
30
- [c.STREAMING_CONNECTING, c.LOG_PREFIX_SYNC_STREAMING + 'Connecting streaming.'],
31
- [c.STREAMING_DISABLED, c.LOG_PREFIX_SYNC_STREAMING + 'Streaming is disabled for given SDK key. Switching to polling mode.'],
32
- [c.STREAMING_DISCONNECTING, c.LOG_PREFIX_SYNC_STREAMING + 'Disconnecting streaming.'],
33
- [c.SYNC_START_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming not available. Starting polling.'],
34
- [c.SYNC_CONTINUE_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming couldn\'t connect. Continue polling.'],
35
- [c.SYNC_STOP_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming connected. Syncing and stopping polling.'],
36
- ]);
@@ -1,40 +0,0 @@
1
- import * as c from '../constants';
2
- import { codesError } from './error';
3
-
4
- export const codesWarn: [number, string][] = codesError.concat([
5
- // evaluator
6
- [c.ENGINE_VALUE_INVALID, c.LOG_PREFIX_ENGINE_VALUE + 'Value %s doesn\'t match with expected type.'],
7
- [c.ENGINE_VALUE_NO_ATTRIBUTES, c.LOG_PREFIX_ENGINE_VALUE + 'Defined attribute `%s`. No attributes received.'],
8
- // synchronizer
9
- [c.SYNC_MYSEGMENTS_FETCH_RETRY, c.LOG_PREFIX_SYNC_MYSEGMENTS + 'Retrying download of segments #%s. Reason: %s'],
10
- [c.SYNC_SPLITS_FETCH_FAILS, c.LOG_PREFIX_SYNC_SPLITS + 'Error while doing fetch of feature flags. %s'],
11
- [c.STREAMING_PARSING_ERROR_FAILS, c.LOG_PREFIX_SYNC_STREAMING + 'Error parsing SSE error notification: %s'],
12
- [c.STREAMING_PARSING_MESSAGE_FAILS, c.LOG_PREFIX_SYNC_STREAMING + 'Error parsing SSE message notification: %s'],
13
- [c.STREAMING_FALLBACK, c.LOG_PREFIX_SYNC_STREAMING + 'Falling back to polling mode. Reason: %s'],
14
- [c.SUBMITTERS_PUSH_FAILS, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Dropping %s after retry. Reason: %s.'],
15
- [c.SUBMITTERS_PUSH_RETRY, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Failed to push %s, keeping data to retry on next iteration. Reason: %s.'],
16
- // client status
17
- [c.CLIENT_NOT_READY, '%s: the SDK is not ready, results may be incorrect%s. Make sure to wait for SDK readiness before using this method.'],
18
- [c.CLIENT_NO_LISTENER, 'No listeners for SDK Readiness detected. Incorrect control treatments could have been logged if you called getTreatment/s while the SDK was not yet ready.'],
19
- // input validation
20
- [c.WARN_SETTING_NULL, '%s: Property "%s" is of invalid type. Setting value to null.'],
21
- [c.WARN_TRIMMING_PROPERTIES, '%s: more than 300 properties were provided. Some of them will be trimmed when processed.'],
22
- [c.WARN_CONVERTING, '%s: %s "%s" is not of type string, converting.'],
23
- [c.WARN_TRIMMING, '%s: %s "%s" has extra whitespace, trimming.'],
24
- [c.WARN_NOT_EXISTENT_SPLIT, '%s: feature flag "%s" does not exist in this environment. Please double check what feature flags exist in the Split user interface.'],
25
- [c.WARN_LOWERCASE_TRAFFIC_TYPE, '%s: traffic_type_name should be all lowercase - converting string to lowercase.'],
26
- [c.WARN_NOT_EXISTENT_TT, '%s: traffic type "%s" does not have any corresponding feature flag in this environment, make sure you\'re tracking your events to a valid traffic type defined in the Split user interface.'],
27
- [c.WARN_FLAGSET_NOT_CONFIGURED, '%s: you passed %s which is not part of the configured FlagSetsFilter, ignoring Flag Set.'],
28
- // initialization / settings validation
29
- [c.WARN_INTEGRATION_INVALID, c.LOG_PREFIX_SETTINGS + ': %s integration item(s) at settings is invalid. %s'],
30
- [c.WARN_SPLITS_FILTER_IGNORED, c.LOG_PREFIX_SETTINGS + ': feature flag filters are not applicable for Consumer modes where the SDK does not keep rollout data in sync. Filters were discarded'],
31
- [c.WARN_SPLITS_FILTER_INVALID, c.LOG_PREFIX_SETTINGS + ': feature flag filter at position %s is invalid. It must be an object with a valid filter type ("bySet", "byName" or "byPrefix") and a list of "values".'],
32
- [c.WARN_SPLITS_FILTER_EMPTY, c.LOG_PREFIX_SETTINGS + ': feature flag filter configuration must be a non-empty array of filter objects.'],
33
- [c.WARN_SDK_KEY, c.LOG_PREFIX_SETTINGS + ': You already have %s. We recommend keeping only one instance of the factory at all times (Singleton pattern) and reusing it throughout your application'],
34
-
35
- [c.STREAMING_PARSING_MEMBERSHIPS_UPDATE, c.LOG_PREFIX_SYNC_STREAMING + 'Fetching Memberships due to an error processing %s notification: %s'],
36
- [c.STREAMING_PARSING_SPLIT_UPDATE, c.LOG_PREFIX_SYNC_STREAMING + 'Fetching SplitChanges due to an error processing %s notification: %s'],
37
- [c.WARN_INVALID_FLAGSET, '%s: you passed %s, flag set must adhere to the regular expressions %s. This means a flag set must start with a letter or number, be in lowercase, alphanumeric and have a max length of 50 characters. %s was discarded.'],
38
- [c.WARN_LOWERCASE_FLAGSET, '%s: flag set %s should be all lowercase - converting string to lowercase.'],
39
- [c.WARN_FLAGSET_WITHOUT_FLAGS, '%s: you passed %s flag set that does not contain cached feature flag names. Please double check what flag sets are in use in the Split user interface.'],
40
- ]);