@splitsoftware/splitio-commons 1.6.2-rc.0 → 1.6.2-rc.3

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 (312) hide show
  1. package/cjs/sdkFactory/index.js +1 -0
  2. package/cjs/services/splitApi.js +1 -0
  3. package/cjs/utils/key/index.js +1 -1
  4. package/cjs/utils/settingsValidation/index.js +1 -0
  5. package/esm/sdkFactory/index.js +1 -0
  6. package/esm/services/splitApi.js +1 -0
  7. package/esm/utils/key/index.js +1 -1
  8. package/esm/utils/settingsValidation/index.js +1 -0
  9. package/package.json +2 -2
  10. package/src/consent/sdkUserConsent.ts +4 -3
  11. package/src/dtos/types.ts +0 -8
  12. package/src/evaluator/Engine.ts +3 -3
  13. package/src/evaluator/combiners/and.ts +1 -1
  14. package/src/evaluator/combiners/ifelseif.ts +3 -3
  15. package/src/evaluator/condition/engineUtils.ts +1 -1
  16. package/src/evaluator/condition/index.ts +6 -6
  17. package/src/evaluator/index.ts +10 -10
  18. package/src/evaluator/matchers/all.ts +1 -1
  19. package/src/evaluator/matchers/between.ts +1 -1
  20. package/src/evaluator/matchers/boolean.ts +1 -1
  21. package/src/evaluator/matchers/cont_all.ts +1 -1
  22. package/src/evaluator/matchers/cont_any.ts +1 -1
  23. package/src/evaluator/matchers/cont_str.ts +1 -1
  24. package/src/evaluator/matchers/dependency.ts +1 -1
  25. package/src/evaluator/matchers/eq.ts +1 -1
  26. package/src/evaluator/matchers/eq_set.ts +1 -1
  27. package/src/evaluator/matchers/ew.ts +1 -1
  28. package/src/evaluator/matchers/gte.ts +1 -1
  29. package/src/evaluator/matchers/index.ts +1 -1
  30. package/src/evaluator/matchers/lte.ts +1 -1
  31. package/src/evaluator/matchers/part_of.ts +1 -1
  32. package/src/evaluator/matchers/segment.ts +1 -1
  33. package/src/evaluator/matchers/string.ts +1 -1
  34. package/src/evaluator/matchers/sw.ts +1 -1
  35. package/src/evaluator/matchers/whitelist.ts +1 -1
  36. package/src/evaluator/parser/index.ts +3 -3
  37. package/src/evaluator/types.ts +6 -6
  38. package/src/evaluator/value/index.ts +4 -4
  39. package/src/evaluator/value/sanitize.ts +4 -4
  40. package/src/integrations/ga/GaToSplit.ts +6 -6
  41. package/src/integrations/ga/SplitToGa.ts +10 -10
  42. package/src/integrations/ga/types.ts +4 -4
  43. package/src/integrations/pluggable.ts +3 -3
  44. package/src/integrations/types.ts +2 -2
  45. package/src/logger/index.ts +3 -3
  46. package/src/logger/sdkLogger.ts +1 -2
  47. package/src/logger/types.ts +0 -16
  48. package/src/readiness/sdkReadinessManager.ts +1 -1
  49. package/src/readiness/types.ts +2 -9
  50. package/src/sdkClient/client.ts +13 -13
  51. package/src/sdkClient/clientAttributesDecoration.ts +9 -9
  52. package/src/sdkClient/clientCS.ts +3 -4
  53. package/src/sdkClient/clientInputValidation.ts +15 -15
  54. package/src/sdkClient/sdkClient.ts +2 -2
  55. package/src/sdkClient/sdkClientMethod.ts +2 -2
  56. package/src/sdkClient/sdkClientMethodCS.ts +9 -9
  57. package/src/sdkClient/sdkClientMethodCSWithTT.ts +9 -9
  58. package/src/sdkFactory/index.ts +3 -2
  59. package/src/sdkFactory/types.ts +4 -4
  60. package/src/sdkManager/index.ts +5 -5
  61. package/src/services/splitApi.ts +1 -0
  62. package/src/storages/dataLoader.ts +2 -2
  63. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +1 -1
  64. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +2 -2
  65. package/src/storages/inLocalStorage/index.ts +3 -2
  66. package/src/storages/inMemory/EventsCacheInMemory.ts +4 -4
  67. package/src/storages/inRedis/EventsCacheInRedis.ts +4 -4
  68. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
  69. package/src/storages/inRedis/RedisAdapter.ts +1 -1
  70. package/src/storages/inRedis/SegmentsCacheInRedis.ts +1 -1
  71. package/src/storages/inRedis/SplitsCacheInRedis.ts +1 -1
  72. package/src/storages/inRedis/TelemetryCacheInRedis.ts +1 -1
  73. package/src/storages/inRedis/index.ts +3 -2
  74. package/src/storages/pluggable/EventsCachePluggable.ts +4 -4
  75. package/src/storages/pluggable/ImpressionsCachePluggable.ts +1 -1
  76. package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
  77. package/src/storages/pluggable/SplitsCachePluggable.ts +1 -1
  78. package/src/storages/pluggable/TelemetryCachePluggable.ts +1 -1
  79. package/src/storages/pluggable/index.ts +3 -3
  80. package/src/storages/pluggable/wrapperAdapter.ts +1 -1
  81. package/src/storages/types.ts +42 -18
  82. package/src/sync/offline/LocalhostFromObject.ts +4 -4
  83. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +8 -8
  84. package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
  85. package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
  86. package/src/sync/polling/updaters/splitChangesUpdater.ts +1 -1
  87. package/src/sync/streaming/SSEHandler/index.ts +1 -1
  88. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +1 -1
  89. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +1 -1
  90. package/src/sync/submitters/submitter.ts +1 -1
  91. package/src/sync/submitters/types.ts +2 -2
  92. package/src/sync/syncTask.ts +1 -1
  93. package/src/trackers/eventTracker.ts +3 -3
  94. package/src/trackers/impressionsTracker.ts +3 -3
  95. package/src/trackers/types.ts +4 -4
  96. package/src/{splitio.d.ts → types.d.ts} +826 -782
  97. package/src/utils/constants/index.ts +1 -1
  98. package/src/utils/inputValidation/apiKey.ts +1 -1
  99. package/src/utils/inputValidation/attribute.ts +1 -1
  100. package/src/utils/inputValidation/attributes.ts +3 -3
  101. package/src/utils/inputValidation/event.ts +1 -1
  102. package/src/utils/inputValidation/eventProperties.ts +3 -3
  103. package/src/utils/inputValidation/eventValue.ts +1 -1
  104. package/src/utils/inputValidation/isOperational.ts +1 -1
  105. package/src/utils/inputValidation/key.ts +3 -3
  106. package/src/utils/inputValidation/preloadedData.ts +3 -3
  107. package/src/utils/inputValidation/split.ts +1 -1
  108. package/src/utils/inputValidation/splitExistance.ts +1 -1
  109. package/src/utils/inputValidation/splits.ts +1 -1
  110. package/src/utils/inputValidation/trafficType.ts +1 -1
  111. package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
  112. package/src/utils/key/index.ts +9 -9
  113. package/src/utils/settingsValidation/consent.ts +1 -2
  114. package/src/utils/settingsValidation/impressionsMode.ts +3 -3
  115. package/src/utils/settingsValidation/index.ts +1 -0
  116. package/src/utils/settingsValidation/integrations/common.ts +1 -1
  117. package/src/utils/settingsValidation/integrations/configurable.ts +1 -1
  118. package/src/utils/settingsValidation/integrations/pluggable.ts +1 -2
  119. package/src/utils/settingsValidation/localhost/builtin.ts +1 -2
  120. package/src/utils/settingsValidation/localhost/pluggable.ts +1 -2
  121. package/src/utils/settingsValidation/logger/builtinLogger.ts +1 -2
  122. package/src/utils/settingsValidation/logger/pluggableLogger.ts +1 -2
  123. package/src/utils/settingsValidation/splitFilters.ts +7 -9
  124. package/src/utils/settingsValidation/storage/storageCS.ts +1 -2
  125. package/types/consent/sdkUserConsent.d.ts +2 -9
  126. package/types/dtos/types.d.ts +0 -6
  127. package/types/evaluator/Engine.d.ts +3 -3
  128. package/types/evaluator/combiners/and.d.ts +1 -1
  129. package/types/evaluator/combiners/ifelseif.d.ts +1 -1
  130. package/types/evaluator/condition/engineUtils.d.ts +1 -1
  131. package/types/evaluator/condition/index.d.ts +1 -1
  132. package/types/evaluator/index.d.ts +4 -4
  133. package/types/evaluator/matchers/all.d.ts +1 -1
  134. package/types/evaluator/matchers/between.d.ts +1 -1
  135. package/types/evaluator/matchers/boolean.d.ts +1 -1
  136. package/types/evaluator/matchers/cont_all.d.ts +1 -1
  137. package/types/evaluator/matchers/cont_any.d.ts +1 -1
  138. package/types/evaluator/matchers/cont_str.d.ts +1 -1
  139. package/types/evaluator/matchers/dependency.d.ts +1 -1
  140. package/types/evaluator/matchers/eq.d.ts +1 -1
  141. package/types/evaluator/matchers/eq_set.d.ts +1 -1
  142. package/types/evaluator/matchers/ew.d.ts +1 -1
  143. package/types/evaluator/matchers/gte.d.ts +1 -1
  144. package/types/evaluator/matchers/index.d.ts +1 -1
  145. package/types/evaluator/matchers/lte.d.ts +1 -1
  146. package/types/evaluator/matchers/part_of.d.ts +1 -1
  147. package/types/evaluator/matchers/segment.d.ts +1 -1
  148. package/types/evaluator/matchers/string.d.ts +1 -1
  149. package/types/evaluator/matchers/sw.d.ts +1 -1
  150. package/types/evaluator/matchers/whitelist.d.ts +1 -1
  151. package/types/evaluator/parser/index.d.ts +1 -1
  152. package/types/evaluator/types.d.ts +6 -6
  153. package/types/evaluator/value/index.d.ts +3 -3
  154. package/types/evaluator/value/sanitize.d.ts +3 -3
  155. package/types/integrations/ga/GaToSplit.d.ts +4 -4
  156. package/types/integrations/ga/SplitToGa.d.ts +4 -4
  157. package/types/integrations/ga/types.d.ts +4 -4
  158. package/types/integrations/types.d.ts +2 -2
  159. package/types/logger/browser/{debugLogger.d.ts → DebugLogger.d.ts} +0 -0
  160. package/types/logger/browser/{errorLogger.d.ts → ErrorLogger.d.ts} +0 -0
  161. package/types/logger/browser/{infoLogger.d.ts → InfoLogger.d.ts} +0 -0
  162. package/types/logger/browser/{warnLogger.d.ts → WarnLogger.d.ts} +0 -0
  163. package/types/logger/index.d.ts +3 -5
  164. package/types/logger/sdkLogger.d.ts +1 -2
  165. package/types/logger/types.d.ts +0 -11
  166. package/types/readiness/sdkReadinessManager.d.ts +1 -1
  167. package/types/readiness/types.d.ts +2 -8
  168. package/types/sdkClient/client.d.ts +2 -2
  169. package/types/sdkClient/clientAttributesDecoration.d.ts +8 -8
  170. package/types/sdkClient/clientCS.d.ts +2 -3
  171. package/types/sdkClient/clientInputValidation.d.ts +2 -2
  172. package/types/sdkClient/sdkClient.d.ts +2 -2
  173. package/types/sdkClient/sdkClientMethod.d.ts +2 -2
  174. package/types/sdkClient/sdkClientMethodCS.d.ts +2 -2
  175. package/types/sdkClient/sdkClientMethodCSWithTT.d.ts +2 -2
  176. package/types/sdkFactory/index.d.ts +2 -2
  177. package/types/sdkFactory/types.d.ts +6 -6
  178. package/types/sdkManager/index.d.ts +3 -3
  179. package/types/storages/dataLoader.d.ts +2 -2
  180. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +1 -1
  181. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +1 -2
  182. package/types/storages/inLocalStorage/index.d.ts +2 -2
  183. package/types/storages/inMemory/EventsCacheInMemory.d.ts +3 -3
  184. package/types/storages/inMemory/InMemoryStorage.d.ts +1 -1
  185. package/types/storages/inMemory/InMemoryStorageCS.d.ts +1 -1
  186. package/types/storages/inRedis/EventsCacheInRedis.d.ts +3 -3
  187. package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +1 -1
  188. package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
  189. package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +1 -1
  190. package/types/storages/inRedis/SplitsCacheInRedis.d.ts +1 -1
  191. package/types/storages/inRedis/TelemetryCacheInRedis.d.ts +1 -1
  192. package/types/storages/inRedis/index.d.ts +2 -2
  193. package/types/storages/pluggable/EventsCachePluggable.d.ts +3 -3
  194. package/types/storages/pluggable/ImpressionsCachePluggable.d.ts +1 -1
  195. package/types/storages/pluggable/SegmentsCachePluggable.d.ts +1 -1
  196. package/types/storages/pluggable/SplitsCachePluggable.d.ts +1 -1
  197. package/types/storages/pluggable/TelemetryCachePluggable.d.ts +1 -1
  198. package/types/storages/pluggable/index.d.ts +3 -2
  199. package/types/storages/pluggable/wrapperAdapter.d.ts +1 -1
  200. package/types/storages/types.d.ts +42 -16
  201. package/types/sync/offline/LocalhostFromObject.d.ts +2 -2
  202. package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +1 -1
  203. package/types/sync/polling/updaters/segmentChangesUpdater.d.ts +1 -1
  204. package/types/sync/polling/updaters/splitChangesUpdater.d.ts +1 -1
  205. package/types/sync/streaming/SSEHandler/index.d.ts +1 -1
  206. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +1 -1
  207. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +1 -1
  208. package/types/sync/submitters/submitter.d.ts +1 -1
  209. package/types/sync/submitters/types.d.ts +2 -2
  210. package/types/sync/syncTask.d.ts +1 -1
  211. package/types/trackers/types.d.ts +4 -4
  212. package/types/utils/constants/index.d.ts +1 -1
  213. package/types/utils/inputValidation/apiKey.d.ts +1 -1
  214. package/types/utils/inputValidation/attribute.d.ts +1 -1
  215. package/types/utils/inputValidation/attributes.d.ts +3 -3
  216. package/types/utils/inputValidation/event.d.ts +1 -1
  217. package/types/utils/inputValidation/eventProperties.d.ts +3 -3
  218. package/types/utils/inputValidation/eventValue.d.ts +1 -1
  219. package/types/utils/inputValidation/isOperational.d.ts +1 -1
  220. package/types/utils/inputValidation/key.d.ts +3 -3
  221. package/types/utils/inputValidation/preloadedData.d.ts +3 -3
  222. package/types/utils/inputValidation/split.d.ts +1 -1
  223. package/types/utils/inputValidation/splitExistance.d.ts +1 -1
  224. package/types/utils/inputValidation/splits.d.ts +1 -1
  225. package/types/utils/inputValidation/trafficType.d.ts +1 -1
  226. package/types/utils/inputValidation/trafficTypeExistance.d.ts +1 -1
  227. package/types/utils/key/index.d.ts +4 -4
  228. package/types/utils/settingsValidation/consent.d.ts +1 -2
  229. package/types/utils/settingsValidation/impressionsMode.d.ts +3 -3
  230. package/types/utils/settingsValidation/integrations/common.d.ts +1 -1
  231. package/types/utils/settingsValidation/integrations/configurable.d.ts +1 -1
  232. package/types/utils/settingsValidation/integrations/pluggable.d.ts +1 -2
  233. package/types/utils/settingsValidation/localhost/builtin.d.ts +1 -2
  234. package/types/utils/settingsValidation/localhost/pluggable.d.ts +1 -2
  235. package/types/utils/settingsValidation/logger/builtinLogger.d.ts +1 -1
  236. package/types/utils/settingsValidation/logger/pluggableLogger.d.ts +1 -1
  237. package/types/utils/settingsValidation/splitFilters.d.ts +1 -2
  238. package/types/utils/settingsValidation/storage/storageCS.d.ts +2 -3
  239. package/cjs/types.js +0 -2
  240. package/esm/types.js +0 -1
  241. package/src/types.ts +0 -1263
  242. package/types/integrations/ga/GaToSplitPlugin.d.ts +0 -3
  243. package/types/integrations/ga/SplitToGaPlugin.d.ts +0 -4
  244. package/types/integrations/ga/autoRequire.d.ts +0 -4
  245. package/types/logger/codes.d.ts +0 -2
  246. package/types/logger/codesConstants.d.ts +0 -117
  247. package/types/logger/codesConstantsBrowser.d.ts +0 -2
  248. package/types/logger/codesConstantsNode.d.ts +0 -14
  249. package/types/logger/codesDebug.d.ts +0 -1
  250. package/types/logger/codesDebugBrowser.d.ts +0 -1
  251. package/types/logger/codesDebugNode.d.ts +0 -1
  252. package/types/logger/codesError.d.ts +0 -1
  253. package/types/logger/codesErrorNode.d.ts +0 -1
  254. package/types/logger/codesInfo.d.ts +0 -1
  255. package/types/logger/codesWarn.d.ts +0 -1
  256. package/types/logger/codesWarnNode.d.ts +0 -1
  257. package/types/logger/debugLogger.d.ts +0 -2
  258. package/types/logger/errorLogger.d.ts +0 -2
  259. package/types/logger/infoLogger.d.ts +0 -2
  260. package/types/logger/messages/debugBrowser.d.ts +0 -1
  261. package/types/logger/messages/debugNode.d.ts +0 -1
  262. package/types/logger/messages/errorNode.d.ts +0 -1
  263. package/types/logger/messages/warnNode.d.ts +0 -1
  264. package/types/logger/noopLogger.d.ts +0 -2
  265. package/types/logger/warnLogger.d.ts +0 -2
  266. package/types/sdkClient/types.d.ts +0 -18
  267. package/types/sdkFactory/userConsentProps.d.ts +0 -6
  268. package/types/sdkManager/sdkManagerMethod.d.ts +0 -6
  269. package/types/storages/getRegisteredSegments.d.ts +0 -10
  270. package/types/storages/inMemory/CountsCacheInMemory.d.ts +0 -20
  271. package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +0 -20
  272. package/types/storages/inMemory/index.d.ts +0 -10
  273. package/types/storages/inRedis/CountsCacheInRedis.d.ts +0 -9
  274. package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +0 -9
  275. package/types/storages/parseSegments.d.ts +0 -6
  276. package/types/sync/offline/LocalhostFromFile.d.ts +0 -2
  277. package/types/sync/offline/splitsParser/splitsParserFromFile.d.ts +0 -2
  278. package/types/sync/polling/syncTasks/splitsSyncTask.copy.d.ts +0 -35
  279. package/types/sync/polling/syncTasks/splitsSyncTask.morelikeoriginal.d.ts +0 -35
  280. package/types/sync/streaming/AuthClient/indexV1.d.ts +0 -12
  281. package/types/sync/streaming/AuthClient/indexV2.d.ts +0 -8
  282. package/types/sync/streaming/pushManagerCS.d.ts +0 -1
  283. package/types/sync/streaming/pushManagerNoUsers.d.ts +0 -13
  284. package/types/sync/streaming/pushManagerSS.d.ts +0 -1
  285. package/types/sync/submitters/eventsSyncTask.d.ts +0 -8
  286. package/types/sync/submitters/impressionCountsSyncTask.d.ts +0 -13
  287. package/types/sync/submitters/impressionsSyncTask.d.ts +0 -14
  288. package/types/sync/submitters/metricsSyncTask.d.ts +0 -12
  289. package/types/sync/submitters/submitterSyncTask.d.ts +0 -10
  290. package/types/sync/submitters/telemetrySyncTask.d.ts +0 -0
  291. package/types/sync/submitters/uniqueKeysSubmitter.d.ts +0 -13
  292. package/types/sync/syncManagerFromFile.d.ts +0 -2
  293. package/types/sync/syncManagerFromObject.d.ts +0 -2
  294. package/types/sync/syncManagerOffline.d.ts +0 -9
  295. package/types/sync/syncTaskComposite.d.ts +0 -5
  296. package/types/trackers/strategy/strategyDebug.d.ts +0 -9
  297. package/types/trackers/strategy/strategyNone.d.ts +0 -10
  298. package/types/trackers/strategy/strategyOptimized.d.ts +0 -11
  299. package/types/trackers/telemetryRecorder.d.ts +0 -0
  300. package/types/trackers/uniqueKeysTracker.d.ts +0 -13
  301. package/types/types.d.ts +0 -1261
  302. package/types/utils/EventEmitter.d.ts +0 -4
  303. package/types/utils/consent.d.ts +0 -2
  304. package/types/utils/lang/errors.d.ts +0 -10
  305. package/types/utils/murmur3/commons.d.ts +0 -12
  306. package/types/utils/settingsValidation/buildMetadata.d.ts +0 -3
  307. package/types/utils/settingsValidation/localhost/index.d.ts +0 -9
  308. package/types/utils/settingsValidation/logger.d.ts +0 -11
  309. package/types/utils/settingsValidation/runtime/browser.d.ts +0 -2
  310. package/types/utils/settingsValidation/runtime/node.d.ts +0 -2
  311. package/types/utils/settingsValidation/userConsent.d.ts +0 -5
  312. package/types/utils/timeTracker/index.d.ts +0 -1
@@ -32,6 +32,7 @@ function sdkFactory(params) {
32
32
  optimize: (0, utils_1.shouldBeOptimized)(settings),
33
33
  // ATM, only used by InLocalStorage
34
34
  matchingKey: (0, key_1.getMatching)(settings.core.key),
35
+ // @ts-ignore
35
36
  splitFiltersValidation: settings.sync.__splitFiltersValidation,
36
37
  // ATM, only used by PluggableStorage
37
38
  mode: settings.mode,
@@ -16,6 +16,7 @@ function userKeyToQueryParam(userKey) {
16
16
  */
17
17
  function splitApiFactory(settings, platform, telemetryTracker) {
18
18
  var urls = settings.urls;
19
+ // @ts-ignore
19
20
  var filterQueryString = settings.sync.__splitFiltersValidation && settings.sync.__splitFiltersValidation.queryString;
20
21
  var SplitSDKImpressionsMode = settings.sync.impressionsMode;
21
22
  var splitHttpClient = (0, splitHttpClient_1.splitHttpClientFactory)(settings, platform.getFetch, platform.getOptions);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.keyParser = exports.getBucketing = exports.getMatching = void 0;
4
4
  var lang_1 = require("../lang");
5
- // function isSplitKeyObject(key: any): key is SplitIO.SplitKeyObject {
5
+ // function isSplitKeyObject(key: any): key is SplitKeyObject {
6
6
  // return key !== undefined && key !== null && typeof key.matchingKey === 'string';
7
7
  // }
8
8
  // returns the matchingKey if the Key is defined as an object or the key itself if it is a string
@@ -175,6 +175,7 @@ function settingsValidation(config, validationParams) {
175
175
  // validate the `splitFilters` settings and parse splits query
176
176
  var splitFiltersValidation = (0, splitFilters_1.validateSplitFilters)(log, withDefaults.sync.splitFilters, withDefaults.mode);
177
177
  withDefaults.sync.splitFilters = splitFiltersValidation.validFilters;
178
+ // @ts-ignore
178
179
  withDefaults.sync.__splitFiltersValidation = splitFiltersValidation;
179
180
  // ensure a valid user consent value
180
181
  // @ts-ignore, modify readonly prop
@@ -29,6 +29,7 @@ export function sdkFactory(params) {
29
29
  optimize: shouldBeOptimized(settings),
30
30
  // ATM, only used by InLocalStorage
31
31
  matchingKey: getMatching(settings.core.key),
32
+ // @ts-ignore
32
33
  splitFiltersValidation: settings.sync.__splitFiltersValidation,
33
34
  // ATM, only used by PluggableStorage
34
35
  mode: settings.mode,
@@ -13,6 +13,7 @@ function userKeyToQueryParam(userKey) {
13
13
  */
14
14
  export function splitApiFactory(settings, platform, telemetryTracker) {
15
15
  var urls = settings.urls;
16
+ // @ts-ignore
16
17
  var filterQueryString = settings.sync.__splitFiltersValidation && settings.sync.__splitFiltersValidation.queryString;
17
18
  var SplitSDKImpressionsMode = settings.sync.impressionsMode;
18
19
  var splitHttpClient = splitHttpClientFactory(settings, platform.getFetch, platform.getOptions);
@@ -1,5 +1,5 @@
1
1
  import { isObject } from '../lang';
2
- // function isSplitKeyObject(key: any): key is SplitIO.SplitKeyObject {
2
+ // function isSplitKeyObject(key: any): key is SplitKeyObject {
3
3
  // return key !== undefined && key !== null && typeof key.matchingKey === 'string';
4
4
  // }
5
5
  // returns the matchingKey if the Key is defined as an object or the key itself if it is a string
@@ -172,6 +172,7 @@ export function settingsValidation(config, validationParams) {
172
172
  // validate the `splitFilters` settings and parse splits query
173
173
  var splitFiltersValidation = validateSplitFilters(log, withDefaults.sync.splitFilters, withDefaults.mode);
174
174
  withDefaults.sync.splitFilters = splitFiltersValidation.validFilters;
175
+ // @ts-ignore
175
176
  withDefaults.sync.__splitFiltersValidation = splitFiltersValidation;
176
177
  // ensure a valid user consent value
177
178
  // @ts-ignore, modify readonly prop
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splitsoftware/splitio-commons",
3
- "version": "1.6.2-rc.0",
3
+ "version": "1.6.2-rc.3",
4
4
  "description": "Split Javascript SDK common components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -20,7 +20,7 @@
20
20
  "check:lint": "eslint src --ext .js,.ts",
21
21
  "check:types": "tsc --noEmit",
22
22
  "build": "npm run build:cjs && npm run build:esm",
23
- "build:esm": "rimraf esm && tsc -m es2015 --outDir esm -d true --declarationDir types",
23
+ "build:esm": "rimraf esm types && tsc -m es2015 --outDir esm -d true --declarationDir types",
24
24
  "build:cjs": "rimraf cjs && tsc -m CommonJS --outDir cjs",
25
25
  "test": "jest",
26
26
  "test:coverage": "jest --coverage",
@@ -3,9 +3,10 @@ import { isConsentGranted } from './index';
3
3
  import { CONSENT_GRANTED, CONSENT_DECLINED, CONSENT_UNKNOWN } from '../utils/constants';
4
4
  import { isBoolean } from '../utils/lang';
5
5
  import { ISdkFactoryContext } from '../sdkFactory/types';
6
+ import { IUserConsentAPI } from '../types';
6
7
 
7
8
  // User consent enum
8
- const ConsentStatus = {
9
+ const ConsentStatus: IUserConsentAPI['Status'] = {
9
10
  GRANTED: CONSENT_GRANTED,
10
11
  DECLINED: CONSENT_DECLINED,
11
12
  UNKNOWN: CONSENT_UNKNOWN,
@@ -14,7 +15,7 @@ const ConsentStatus = {
14
15
  /**
15
16
  * The public user consent API exposed via SplitFactory, used to control if the SDK tracks and sends impressions and events or not.
16
17
  */
17
- export function createUserConsentAPI(params: ISdkFactoryContext) {
18
+ export function createUserConsentAPI(params: ISdkFactoryContext): IUserConsentAPI {
18
19
  const { settings, settings: { log }, syncManager, storage: { events, impressions, impressionCounts } } = params;
19
20
 
20
21
  if (!isConsentGranted(settings)) log.info(USER_CONSENT_INITIAL, [settings.userConsent]);
@@ -51,7 +52,7 @@ export function createUserConsentAPI(params: ISdkFactoryContext) {
51
52
  },
52
53
 
53
54
  getStatus() {
54
- return settings.userConsent;
55
+ return settings.userConsent!;
55
56
  },
56
57
 
57
58
  Status: ConsentStatus
package/src/dtos/types.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { SplitIO } from '../types';
2
-
3
1
  export type MaybeThenable<T> = T | Promise<T>
4
2
 
5
3
  /** Split Matchers */
@@ -204,9 +202,3 @@ export interface IMetadata {
204
202
  /** host name */
205
203
  n: string
206
204
  }
207
-
208
- export type ISplitFiltersValidation = {
209
- queryString: string | null,
210
- groupedFilters: Record<SplitIO.SplitFilterType, string[]>,
211
- validFilters: SplitIO.SplitFilter[]
212
- };
@@ -5,10 +5,10 @@ import { thenable } from '../utils/promise/thenable';
5
5
  import * as LabelsConstants from '../utils/labels';
6
6
  import { CONTROL } from '../utils/constants';
7
7
  import { ISplit, MaybeThenable } from '../dtos/types';
8
- import { SplitIO } from '../types';
8
+ import { SplitKey, Attributes } from '../types';
9
9
  import { IStorageAsync, IStorageSync } from '../storages/types';
10
10
  import { IEvaluation, IEvaluationResult, IEvaluator, ISplitEvaluator } from './types';
11
- import { ILogger } from '../logger/types';
11
+ import { ILogger } from '../types';
12
12
 
13
13
  function evaluationResult(result: IEvaluation | undefined, defaultTreatment: string): IEvaluationResult {
14
14
  return {
@@ -38,7 +38,7 @@ export class Engine {
38
38
  return this.baseInfo.name;
39
39
  }
40
40
 
41
- getTreatment(key: SplitIO.SplitKey, attributes: SplitIO.Attributes | undefined, splitEvaluator: ISplitEvaluator): MaybeThenable<IEvaluationResult> {
41
+ getTreatment(key: SplitKey, attributes: Attributes | undefined, splitEvaluator: ISplitEvaluator): MaybeThenable<IEvaluationResult> {
42
42
  const {
43
43
  killed,
44
44
  seed,
@@ -1,5 +1,5 @@
1
1
  import { findIndex } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { thenable } from '../../utils/promise/thenable';
4
4
  import { MaybeThenable } from '../../dtos/types';
5
5
  import { IMatcher } from '../types';
@@ -1,9 +1,9 @@
1
1
  import { findIndex } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { thenable } from '../../utils/promise/thenable';
4
4
  import * as LabelsConstants from '../../utils/labels';
5
5
  import { CONTROL } from '../../utils/constants';
6
- import { SplitIO } from '../../types';
6
+ import { SplitKey, Attributes } from '../../types';
7
7
  import { IEvaluation, IEvaluator, ISplitEvaluator } from '../types';
8
8
  import { ENGINE_COMBINER_IFELSEIF, ENGINE_COMBINER_IFELSEIF_NO_TREATMENT, ERROR_ENGINE_COMBINER_IFELSEIF } from '../../logger/constants';
9
9
 
@@ -35,7 +35,7 @@ export function ifElseIfCombinerContext(log: ILogger, predicates: IEvaluator[]):
35
35
  return undefined;
36
36
  }
37
37
 
38
- function ifElseIfCombiner(key: SplitIO.SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: SplitIO.Attributes, splitEvaluator?: ISplitEvaluator) {
38
+ function ifElseIfCombiner(key: SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: Attributes, splitEvaluator?: ISplitEvaluator) {
39
39
  // In Async environments we are going to have async predicates. There is none way to know
40
40
  // before hand so we need to evaluate all the predicates, verify for thenables, and finally,
41
41
  // define how to return the treatment (wrap result into a Promise or not).
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_BUCKET } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { bucket } from '../../utils/murmur3/murmur3';
4
4
 
5
5
  /**
@@ -3,8 +3,8 @@ import { thenable } from '../../utils/promise/thenable';
3
3
  import * as LabelsConstants from '../../utils/labels';
4
4
  import { MaybeThenable } from '../../dtos/types';
5
5
  import { IEvaluation, IEvaluator, ISplitEvaluator } from '../types';
6
- import { SplitIO } from '../../types';
7
- import { ILogger } from '../../logger/types';
6
+ import { SplitKey, SplitKeyObject, Attributes } from '../../types';
7
+ import { ILogger } from '../../types';
8
8
 
9
9
  // Build Evaluation object if and only if matchingResult is true
10
10
  function match(log: ILogger, matchingResult: boolean, bucketingKey: string | undefined, seed: number, treatments: { getTreatmentFor: (x: number) => string }, label: string): IEvaluation | undefined {
@@ -24,10 +24,10 @@ function match(log: ILogger, matchingResult: boolean, bucketingKey: string | und
24
24
  // Condition factory
25
25
  export function conditionContext(log: ILogger, matcherEvaluator: (...args: any) => MaybeThenable<boolean>, treatments: { getTreatmentFor: (x: number) => string }, label: string, conditionType: 'ROLLOUT' | 'WHITELIST'): IEvaluator {
26
26
 
27
- return function conditionEvaluator(key: SplitIO.SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: SplitIO.Attributes, splitEvaluator?: ISplitEvaluator) {
27
+ return function conditionEvaluator(key: SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: Attributes, splitEvaluator?: ISplitEvaluator) {
28
28
 
29
29
  // Whitelisting has more priority than traffic allocation, so we don't apply this filtering to those conditions.
30
- if (conditionType === 'ROLLOUT' && !shouldApplyRollout(trafficAllocation as number, (key as SplitIO.SplitKeyObject).bucketingKey as string, trafficAllocationSeed as number)) {
30
+ if (conditionType === 'ROLLOUT' && !shouldApplyRollout(trafficAllocation as number, (key as SplitKeyObject).bucketingKey as string, trafficAllocationSeed as number)) {
31
31
  return {
32
32
  treatment: undefined, // treatment value is assigned later
33
33
  label: LabelsConstants.NOT_IN_SPLIT
@@ -41,10 +41,10 @@ export function conditionContext(log: ILogger, matcherEvaluator: (...args: any)
41
41
  const matches = matcherEvaluator(key, attributes, splitEvaluator);
42
42
 
43
43
  if (thenable(matches)) {
44
- return matches.then(result => match(log, result, (key as SplitIO.SplitKeyObject).bucketingKey, seed, treatments, label));
44
+ return matches.then(result => match(log, result, (key as SplitKeyObject).bucketingKey, seed, treatments, label));
45
45
  }
46
46
 
47
- return match(log, matches, (key as SplitIO.SplitKeyObject).bucketingKey, seed, treatments, label);
47
+ return match(log, matches, (key as SplitKeyObject).bucketingKey, seed, treatments, label);
48
48
  };
49
49
 
50
50
  }
@@ -5,8 +5,8 @@ import { CONTROL } from '../utils/constants';
5
5
  import { ISplit, MaybeThenable } from '../dtos/types';
6
6
  import { IStorageAsync, IStorageSync } from '../storages/types';
7
7
  import { IEvaluationResult } from './types';
8
- import { SplitIO } from '../types';
9
- import { ILogger } from '../logger/types';
8
+ import { SplitKey, Attributes } from '../types';
9
+ import { ILogger } from '../types';
10
10
 
11
11
  const treatmentException = {
12
12
  treatment: CONTROL,
@@ -24,9 +24,9 @@ function treatmentsException(splitNames: string[]) {
24
24
 
25
25
  export function evaluateFeature(
26
26
  log: ILogger,
27
- key: SplitIO.SplitKey,
27
+ key: SplitKey,
28
28
  splitName: string,
29
- attributes: SplitIO.Attributes | undefined,
29
+ attributes: Attributes | undefined,
30
30
  storage: IStorageSync | IStorageAsync,
31
31
  ): MaybeThenable<IEvaluationResult> {
32
32
  let stringifiedSplit;
@@ -63,9 +63,9 @@ export function evaluateFeature(
63
63
 
64
64
  export function evaluateFeatures(
65
65
  log: ILogger,
66
- key: SplitIO.SplitKey,
66
+ key: SplitKey,
67
67
  splitNames: string[],
68
- attributes: SplitIO.Attributes | undefined,
68
+ attributes: Attributes | undefined,
69
69
  storage: IStorageSync | IStorageAsync,
70
70
  ): MaybeThenable<Record<string, IEvaluationResult>> {
71
71
  let stringifiedSplits;
@@ -90,8 +90,8 @@ export function evaluateFeatures(
90
90
  function getEvaluation(
91
91
  log: ILogger,
92
92
  stringifiedSplit: string | null,
93
- key: SplitIO.SplitKey,
94
- attributes: SplitIO.Attributes | undefined,
93
+ key: SplitKey,
94
+ attributes: Attributes | undefined,
95
95
  storage: IStorageSync | IStorageAsync,
96
96
  ): MaybeThenable<IEvaluationResult> {
97
97
  let evaluation: MaybeThenable<IEvaluationResult> = {
@@ -126,8 +126,8 @@ function getEvaluations(
126
126
  log: ILogger,
127
127
  splitNames: string[],
128
128
  splits: Record<string, string | null>,
129
- key: SplitIO.SplitKey,
130
- attributes: SplitIO.Attributes | undefined,
129
+ key: SplitKey,
130
+ attributes: Attributes | undefined,
131
131
  storage: IStorageSync | IStorageAsync,
132
132
  ): MaybeThenable<Record<string, IEvaluationResult>> {
133
133
  const result: Record<string, IEvaluationResult> = {};
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_ALL } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function allMatcherContext(log: ILogger) {
5
5
  return function allMatcher(runtimeAttr: string): boolean {
@@ -1,6 +1,6 @@
1
1
  import { IBetweenMatcherData } from '../../dtos/types';
2
2
  import { ENGINE_MATCHER_BETWEEN } from '../../logger/constants';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
 
5
5
  export function betweenMatcherContext(log: ILogger, ruleVO: IBetweenMatcherData) /*: Function */ {
6
6
  return function betweenMatcher(runtimeAttr: number): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_BOOLEAN } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function booleanMatcherContext(log: ILogger, ruleAttr: boolean) /*: Function */ {
5
5
  return function booleanMatcher(runtimeAttr: boolean): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_CONTAINS_ALL } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { findIndex } from '../../utils/lang';
4
4
 
5
5
  export function containsAllSetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_CONTAINS_ANY } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { findIndex } from '../../utils/lang';
4
4
 
5
5
  export function containsAnySetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { isString } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { ENGINE_MATCHER_CONTAINS_STRING } from '../../logger/constants';
4
4
 
5
5
  export function containsStringMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,6 +1,6 @@
1
1
  import { IDependencyMatcherData, MaybeThenable } from '../../dtos/types';
2
2
  import { IStorageAsync, IStorageSync } from '../../storages/types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { thenable } from '../../utils/promise/thenable';
5
5
  import { IDependencyMatcherValue, IEvaluation, ISplitEvaluator } from '../types';
6
6
  import { ENGINE_MATCHER_DEPENDENCY, ENGINE_MATCHER_DEPENDENCY_PRE } from '../../logger/constants';
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_EQUAL } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function equalToMatcherContext(log: ILogger, ruleAttr: number) /*: Function */ {
5
5
  return function equalToMatcher(runtimeAttr: number): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_EQUAL_TO_SET } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { findIndex } from '../../utils/lang';
4
4
 
5
5
  export function equalToSetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_ENDS_WITH } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { endsWith } from '../../utils/lang';
4
4
 
5
5
  export function endsWithMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_GREATER } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function greaterThanEqualMatcherContext(log: ILogger, ruleAttr: number) /*: Function */ {
5
5
  return function greaterThanEqualMatcher(runtimeAttr: number): boolean {
@@ -17,7 +17,7 @@ import { booleanMatcherContext } from './boolean';
17
17
  import { stringMatcherContext } from './string';
18
18
  import { IStorageAsync, IStorageSync } from '../../storages/types';
19
19
  import { IMatcher, IMatcherDto } from '../types';
20
- import { ILogger } from '../../logger/types';
20
+ import { ILogger } from '../../types';
21
21
 
22
22
  const matchers = [
23
23
  undefined, // UNDEFINED: 0,
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_LESS } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function lessThanEqualMatcherContext(log: ILogger, ruleAttr: number) /*: function */ {
5
5
  return function lessThanEqualMatcher(runtimeAttr: number): boolean {
@@ -1,5 +1,5 @@
1
1
  import { findIndex } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { ENGINE_MATCHER_PART_OF } from '../../logger/constants';
4
4
 
5
5
  export function partOfSetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,6 +1,6 @@
1
1
  import { MaybeThenable } from '../../dtos/types';
2
2
  import { ISegmentsCacheBase } from '../../storages/types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { thenable } from '../../utils/promise/thenable';
5
5
  import { ENGINE_MATCHER_SEGMENT } from '../../logger/constants';
6
6
 
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_STRING_INVALID, ENGINE_MATCHER_STRING } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function stringMatcherContext(log: ILogger, ruleAttr: string) /*: Function */ {
5
5
  return function stringMatcher(runtimeAttr: string): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_STARTS_WITH } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { startsWith } from '../../utils/lang';
4
4
 
5
5
  export function startsWithMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { setToArray, ISet } from '../../utils/lang/sets';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { ENGINE_MATCHER_WHITELIST } from '../../logger/constants';
4
4
 
5
5
  export function whitelistMatcherContext(log: ILogger, ruleAttr: ISet<string>) /*: Function */ {
@@ -9,8 +9,8 @@ import { thenable } from '../../utils/promise/thenable';
9
9
  import { IEvaluator, IMatcherDto, ISplitEvaluator } from '../types';
10
10
  import { ISplitCondition } from '../../dtos/types';
11
11
  import { IStorageAsync, IStorageSync } from '../../storages/types';
12
- import { SplitIO } from '../../types';
13
- import { ILogger } from '../../logger/types';
12
+ import { Attributes } from '../../types';
13
+ import { ILogger } from '../../types';
14
14
 
15
15
  export function parser(log: ILogger, conditions: ISplitCondition[], storage: IStorageSync | IStorageAsync): IEvaluator {
16
16
  let predicates = [];
@@ -31,7 +31,7 @@ export function parser(log: ILogger, conditions: ISplitCondition[], storage: ISt
31
31
  const matcher = matcherFactory(log, matcherDto, storage);
32
32
 
33
33
  // Evaluator function.
34
- return (key: string, attributes: SplitIO.Attributes | undefined, splitEvaluator: ISplitEvaluator) => {
34
+ return (key: string, attributes: Attributes | undefined, splitEvaluator: ISplitEvaluator) => {
35
35
  const value = sanitizeValue(log, key, matcherDto, attributes);
36
36
  const result = value !== undefined && matcher ? matcher(value, splitEvaluator) : false;
37
37
 
@@ -1,12 +1,12 @@
1
1
  import { IBetweenMatcherData, IDependencyMatcherData, MaybeThenable } from '../dtos/types';
2
2
  import { IStorageAsync, IStorageSync } from '../storages/types';
3
3
  import { ISet } from '../utils/lang/sets';
4
- import { SplitIO } from '../types';
5
- import { ILogger } from '../logger/types';
4
+ import { SplitKey, Attributes } from '../types';
5
+ import { ILogger } from '../types';
6
6
 
7
7
  export interface IDependencyMatcherValue {
8
- key: SplitIO.SplitKey,
9
- attributes?: SplitIO.Attributes
8
+ key: SplitKey,
9
+ attributes?: Attributes
10
10
  }
11
11
 
12
12
  export interface IMatcherDto {
@@ -27,8 +27,8 @@ export interface IEvaluation {
27
27
 
28
28
  export type IEvaluationResult = IEvaluation & { treatment: string }
29
29
 
30
- export type ISplitEvaluator = (log: ILogger, key: SplitIO.SplitKey, splitName: string, attributes: SplitIO.Attributes | undefined, storage: IStorageSync | IStorageAsync) => MaybeThenable<IEvaluation>
30
+ export type ISplitEvaluator = (log: ILogger, key: SplitKey, splitName: string, attributes: Attributes | undefined, storage: IStorageSync | IStorageAsync) => MaybeThenable<IEvaluation>
31
31
 
32
- export type IEvaluator = (key: SplitIO.SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: SplitIO.Attributes, splitEvaluator?: ISplitEvaluator) => MaybeThenable<IEvaluation | undefined>
32
+ export type IEvaluator = (key: SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: Attributes, splitEvaluator?: ISplitEvaluator) => MaybeThenable<IEvaluation | undefined>
33
33
 
34
34
  export type IMatcher = (...args: any) => MaybeThenable<boolean>
@@ -1,10 +1,10 @@
1
- import { SplitIO } from '../../types';
1
+ import { Attributes } from '../../types';
2
2
  import { IMatcherDto } from '../types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { sanitize } from './sanitize';
5
5
  import { ENGINE_VALUE, ENGINE_VALUE_NO_ATTRIBUTES, ENGINE_VALUE_INVALID } from '../../logger/constants';
6
6
 
7
- function parseValue(log: ILogger, key: string, attributeName: string | null, attributes?: SplitIO.Attributes) {
7
+ function parseValue(log: ILogger, key: string, attributeName: string | null, attributes?: Attributes) {
8
8
  let value = undefined;
9
9
  if (attributeName) {
10
10
  if (attributes) {
@@ -23,7 +23,7 @@ function parseValue(log: ILogger, key: string, attributeName: string | null, att
23
23
  /**
24
24
  * Defines value to be matched (key / attribute).
25
25
  */
26
- export function sanitizeValue(log: ILogger, key: string, matcherDto: IMatcherDto, attributes?: SplitIO.Attributes) {
26
+ export function sanitizeValue(log: ILogger, key: string, matcherDto: IMatcherDto, attributes?: Attributes) {
27
27
  const attributeName = matcherDto.attribute;
28
28
  const valueToMatch = parseValue(log, key, attributeName, attributes);
29
29
  const sanitizedValue = sanitize(log, matcherDto.type, valueToMatch, matcherDto.dataType, attributes);
@@ -1,6 +1,6 @@
1
- import { SplitIO } from '../../types';
1
+ import { Attributes } from '../../types';
2
2
  import { IDependencyMatcherValue } from '../types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { isObject, uniq, toString, toNumber } from '../../utils/lang';
5
5
  import { zeroSinceHH, zeroSinceSS } from '../convertions';
6
6
  import { matcherTypes, matcherDataTypes } from '../matchers/matcherTypes';
@@ -41,7 +41,7 @@ function sanitizeBoolean(val: any): boolean | undefined {
41
41
  return undefined;
42
42
  }
43
43
 
44
- function dependencyProcessor(sanitizedValue: string, attributes?: SplitIO.Attributes): IDependencyMatcherValue {
44
+ function dependencyProcessor(sanitizedValue: string, attributes?: Attributes): IDependencyMatcherValue {
45
45
  return {
46
46
  key: sanitizedValue,
47
47
  attributes
@@ -69,7 +69,7 @@ function getProcessingFunction(matcherTypeID: number, dataType: string) {
69
69
  /**
70
70
  * Sanitize matcher value
71
71
  */
72
- export function sanitize(log: ILogger, matcherTypeID: number, value: string | number | boolean | Array<string | number> | undefined, dataType: string, attributes?: SplitIO.Attributes) {
72
+ export function sanitize(log: ILogger, matcherTypeID: number, value: string | number | boolean | Array<string | number> | undefined, dataType: string, attributes?: Attributes) {
73
73
  const processor = getProcessingFunction(matcherTypeID, dataType);
74
74
  let sanitizedValue: string | number | boolean | Array<string | number> | IDependencyMatcherValue | undefined;
75
75
 
@@ -8,9 +8,9 @@ import {
8
8
  validateKey,
9
9
  validateTrafficType,
10
10
  } from '../../utils/inputValidation';
11
- import { SplitIO } from '../../types';
11
+ import { EventData } from '../../types';
12
12
  import { Identity, GoogleAnalyticsToSplitOptions } from './types';
13
- import { ILogger } from '../../logger/types';
13
+ import { ILogger } from '../../types';
14
14
  import { IIntegrationFactoryParams } from '../types';
15
15
 
16
16
  const logPrefix = 'ga-to-split: ';
@@ -67,7 +67,7 @@ const defaultMapping = {
67
67
  * @param {object} mapping
68
68
  */
69
69
  function mapperBuilder(mapping: typeof defaultMapping) {
70
- return function (model: UniversalAnalytics.Model): SplitIO.EventData {
70
+ return function (model: UniversalAnalytics.Model): EventData {
71
71
  const hitType: string = model.get('hitType');
72
72
  // @ts-expect-error
73
73
  const eventTypeId = model.get(mapping.eventTypeId[hitType] || 'hitType');
@@ -133,7 +133,7 @@ export function validateIdentities(identities?: Identity[]) {
133
133
  * @param {EventData} data event data instance to validate. Precondition: data != undefined
134
134
  * @returns {boolean} Whether the data instance is a valid EventData or not.
135
135
  */
136
- export function validateEventData(log: ILogger, eventData: any): eventData is SplitIO.EventData {
136
+ export function validateEventData(log: ILogger, eventData: any): eventData is EventData {
137
137
  if (!validateEvent(log, eventData.eventTypeId, logNameMapper))
138
138
  return false;
139
139
 
@@ -251,10 +251,10 @@ export function GaToSplit(sdkOptions: GoogleAnalyticsToSplitOptions, params: IIn
251
251
  }
252
252
 
253
253
  // map hit into an EventData instance
254
- let eventData: SplitIO.EventData = defaultMapper(model);
254
+ let eventData: EventData = defaultMapper(model);
255
255
  if (opts.mapper) {
256
256
  try {
257
- eventData = opts.mapper(model, eventData as SplitIO.EventData);
257
+ eventData = opts.mapper(model, eventData as EventData);
258
258
  } catch (err) {
259
259
  log.warn(logPrefix + `custom mapper threw: ${err}`);
260
260
  return;