@splitsoftware/splitio-commons 1.0.1-rc.5 → 1.0.1-rc.6
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.
- package/cjs/evaluator/Engine.js +6 -5
- package/cjs/evaluator/combiners/and.js +4 -4
- package/cjs/evaluator/combiners/ifelseif.js +4 -3
- package/cjs/evaluator/condition/index.js +4 -3
- package/cjs/evaluator/index.js +7 -7
- package/cjs/evaluator/matchers/all.js +2 -1
- package/cjs/evaluator/matchers/between.js +2 -1
- package/cjs/evaluator/matchers/boolean.js +2 -1
- package/cjs/evaluator/matchers/cont_all.js +3 -2
- package/cjs/evaluator/matchers/cont_any.js +3 -2
- package/cjs/evaluator/matchers/cont_str.js +2 -1
- package/cjs/evaluator/matchers/dependency.js +4 -4
- package/cjs/evaluator/matchers/eq.js +2 -1
- package/cjs/evaluator/matchers/eq_set.js +2 -1
- package/cjs/evaluator/matchers/ew.js +2 -1
- package/cjs/evaluator/matchers/gte.js +2 -1
- package/cjs/evaluator/matchers/index.js +36 -36
- package/cjs/evaluator/matchers/lte.js +2 -1
- package/cjs/evaluator/matchers/part_of.js +3 -2
- package/cjs/evaluator/matchers/segment.js +5 -5
- package/cjs/evaluator/matchers/string.js +2 -1
- package/cjs/evaluator/matchers/sw.js +2 -1
- package/cjs/evaluator/matchers/whitelist.js +2 -1
- package/cjs/evaluator/matchersTransform/index.js +12 -12
- package/cjs/evaluator/matchersTransform/segment.js +3 -2
- package/cjs/evaluator/matchersTransform/set.js +3 -2
- package/cjs/evaluator/matchersTransform/unaryNumeric.js +3 -2
- package/cjs/evaluator/matchersTransform/whitelist.js +3 -2
- package/cjs/evaluator/parser/index.js +16 -16
- package/cjs/evaluator/treatments/index.js +2 -1
- package/cjs/evaluator/value/index.js +5 -5
- package/cjs/evaluator/value/sanitize.js +2 -1
- package/cjs/integrations/browser.js +4 -4
- package/cjs/integrations/ga/GaToSplit.js +3 -4
- package/cjs/integrations/pluggable.js +3 -2
- package/cjs/listeners/browser.js +4 -4
- package/cjs/listeners/node.js +4 -4
- package/cjs/logger/index.js +2 -3
- package/cjs/logger/messages/warn.js +2 -2
- package/cjs/readiness/readinessManager.js +3 -4
- package/cjs/readiness/sdkReadinessManager.js +7 -7
- package/cjs/sdkClient/client.js +5 -5
- package/cjs/sdkClient/clientCS.js +4 -4
- package/cjs/sdkClient/clientInputValidation.js +5 -5
- package/cjs/sdkClient/sdkClient.js +5 -6
- package/cjs/sdkClient/sdkClientMethodCS.js +4 -5
- package/cjs/sdkClient/sdkClientMethodCSWithTT.js +4 -5
- package/cjs/sdkFactory/index.js +7 -8
- package/cjs/sdkManager/index.js +6 -7
- package/cjs/services/splitApi.js +2 -3
- package/cjs/services/splitHttpClient.js +3 -4
- package/cjs/storages/AbstractSegmentsCacheSync.js +2 -1
- package/cjs/storages/AbstractSplitsCacheAsync.js +2 -1
- package/cjs/storages/AbstractSplitsCacheSync.js +2 -2
- package/cjs/storages/KeyBuilder.js +2 -2
- package/cjs/storages/KeyBuilderCS.js +4 -3
- package/cjs/storages/KeyBuilderSS.js +4 -3
- package/cjs/storages/findLatencyIndex.js +2 -1
- package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +4 -3
- package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +4 -3
- package/cjs/storages/inLocalStorage/index.js +20 -21
- package/cjs/storages/inMemory/CountsCacheInMemory.js +2 -1
- package/cjs/storages/inMemory/EventsCacheInMemory.js +2 -1
- package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +2 -1
- package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +2 -1
- package/cjs/storages/inMemory/InMemoryStorage.js +10 -11
- package/cjs/storages/inMemory/InMemoryStorageCS.js +12 -13
- package/cjs/storages/inMemory/LatenciesCacheInMemory.js +4 -4
- package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +4 -3
- package/cjs/storages/inMemory/SegmentsCacheInMemory.js +4 -3
- package/cjs/storages/inMemory/SplitsCacheInMemory.js +4 -3
- package/cjs/storages/inRedis/CountsCacheInRedis.js +2 -1
- package/cjs/storages/inRedis/EventsCacheInRedis.js +2 -1
- package/cjs/storages/inRedis/ImpressionsCacheInRedis.js +2 -1
- package/cjs/storages/inRedis/LatenciesCacheInRedis.js +4 -4
- package/cjs/storages/inRedis/RedisAdapter.js +6 -5
- package/cjs/storages/inRedis/SegmentsCacheInRedis.js +2 -1
- package/cjs/storages/inRedis/SplitsCacheInRedis.js +4 -3
- package/cjs/storages/inRedis/index.js +16 -17
- package/cjs/storages/pluggable/SplitsCachePluggable.js +2 -2
- package/cjs/storages/pluggable/index.js +8 -8
- package/cjs/sync/offline/splitsParser/parseCondition.js +2 -1
- package/cjs/sync/offline/splitsParser/splitsParserFromFile.js +3 -3
- package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +2 -3
- package/cjs/sync/offline/syncManagerOffline.js +3 -4
- package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +4 -5
- package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +2 -1
- package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +2 -1
- package/cjs/sync/polling/fetchers/splitChangesFetcher.js +2 -1
- package/cjs/sync/polling/pollingManagerCS.js +6 -6
- package/cjs/sync/polling/pollingManagerSS.js +8 -8
- package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +5 -5
- package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +5 -5
- package/cjs/sync/polling/syncTasks/splitsSyncTask.js +5 -5
- package/cjs/sync/polling/updaters/mySegmentsUpdater.js +2 -3
- package/cjs/sync/polling/updaters/segmentChangesUpdater.js +2 -3
- package/cjs/sync/polling/updaters/splitChangesUpdater.js +2 -3
- package/cjs/sync/streaming/AuthClient/index.js +2 -3
- package/cjs/sync/streaming/SSEClient/index.js +2 -1
- package/cjs/sync/streaming/SSEHandler/NotificationKeeper.js +2 -1
- package/cjs/sync/streaming/SSEHandler/index.js +4 -4
- package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +4 -4
- package/cjs/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +4 -4
- package/cjs/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +4 -4
- package/cjs/sync/streaming/pushManager.js +16 -16
- package/cjs/sync/submitters/submitterSyncTask.js +2 -3
- package/cjs/sync/syncTask.js +2 -1
- package/cjs/trackers/eventTracker.js +7 -7
- package/cjs/trackers/impressionObserver/ImpressionObserver.js +4 -4
- package/cjs/trackers/impressionObserver/impressionObserverCS.js +2 -3
- package/cjs/trackers/impressionObserver/impressionObserverSS.js +2 -3
- package/cjs/trackers/impressionsTracker.js +6 -6
- package/cjs/utils/Backoff.js +2 -1
- package/cjs/utils/LRUCache/index.js +2 -1
- package/cjs/utils/MinEventEmitter.js +2 -1
- package/cjs/utils/inputValidation/trafficTypeExistance.js +2 -3
- package/cjs/utils/lang/binarySearch.js +2 -1
- package/cjs/utils/lang/objectAssign.js +85 -0
- package/cjs/utils/promise/thenable.js +5 -1
- package/cjs/utils/promise/timeout.js +2 -1
- package/cjs/utils/promise/wrapper.js +2 -1
- package/cjs/utils/settingsValidation/impressionsMode.js +2 -1
- package/cjs/utils/settingsValidation/index.js +4 -5
- package/cjs/utils/settingsValidation/mode.js +2 -1
- package/cjs/utils/timeTracker/index.js +7 -8
- package/cjs/utils/timeTracker/now/browser.js +2 -2
- package/cjs/utils/timeTracker/now/node.js +2 -1
- package/cjs/utils/timeTracker/timer.js +3 -2
- package/esm/evaluator/Engine.js +3 -3
- package/esm/evaluator/combiners/and.js +2 -2
- package/esm/evaluator/combiners/ifelseif.js +2 -2
- package/esm/evaluator/condition/index.js +2 -2
- package/esm/evaluator/index.js +2 -2
- package/esm/evaluator/matchers/all.js +1 -1
- package/esm/evaluator/matchers/between.js +1 -1
- package/esm/evaluator/matchers/boolean.js +1 -1
- package/esm/evaluator/matchers/cont_all.js +1 -1
- package/esm/evaluator/matchers/cont_any.js +1 -1
- package/esm/evaluator/matchers/cont_str.js +1 -1
- package/esm/evaluator/matchers/dependency.js +2 -2
- package/esm/evaluator/matchers/eq.js +1 -1
- package/esm/evaluator/matchers/eq_set.js +1 -1
- package/esm/evaluator/matchers/ew.js +1 -1
- package/esm/evaluator/matchers/gte.js +1 -1
- package/esm/evaluator/matchers/index.js +35 -35
- package/esm/evaluator/matchers/lte.js +1 -1
- package/esm/evaluator/matchers/part_of.js +1 -1
- package/esm/evaluator/matchers/segment.js +2 -2
- package/esm/evaluator/matchers/string.js +1 -1
- package/esm/evaluator/matchers/sw.js +1 -1
- package/esm/evaluator/matchers/whitelist.js +1 -1
- package/esm/evaluator/matchersTransform/index.js +5 -5
- package/esm/evaluator/matchersTransform/segment.js +1 -1
- package/esm/evaluator/matchersTransform/set.js +1 -1
- package/esm/evaluator/matchersTransform/unaryNumeric.js +1 -1
- package/esm/evaluator/matchersTransform/whitelist.js +1 -1
- package/esm/evaluator/parser/index.js +11 -11
- package/esm/evaluator/treatments/index.js +1 -1
- package/esm/evaluator/value/index.js +3 -3
- package/esm/evaluator/value/sanitize.js +1 -1
- package/esm/integrations/browser.js +2 -2
- package/esm/integrations/ga/GaToSplit.js +1 -1
- package/esm/integrations/pluggable.js +1 -1
- package/esm/listeners/browser.js +2 -2
- package/esm/listeners/node.js +2 -2
- package/esm/logger/index.js +1 -1
- package/esm/logger/messages/warn.js +2 -2
- package/esm/readiness/readinessManager.js +1 -1
- package/esm/readiness/sdkReadinessManager.js +3 -3
- package/esm/sdkClient/client.js +2 -2
- package/esm/sdkClient/clientCS.js +2 -2
- package/esm/sdkClient/clientInputValidation.js +2 -2
- package/esm/sdkClient/sdkClient.js +3 -3
- package/esm/sdkClient/sdkClientMethodCS.js +2 -2
- package/esm/sdkClient/sdkClientMethodCSWithTT.js +2 -2
- package/esm/sdkFactory/index.js +4 -4
- package/esm/sdkManager/index.js +2 -2
- package/esm/services/splitApi.js +1 -1
- package/esm/services/splitHttpClient.js +1 -1
- package/esm/storages/AbstractSegmentsCacheSync.js +1 -1
- package/esm/storages/AbstractSplitsCacheAsync.js +1 -1
- package/esm/storages/AbstractSplitsCacheSync.js +1 -1
- package/esm/storages/KeyBuilder.js +1 -1
- package/esm/storages/KeyBuilderCS.js +2 -2
- package/esm/storages/KeyBuilderSS.js +2 -2
- package/esm/storages/findLatencyIndex.js +1 -1
- package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +2 -2
- package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +2 -2
- package/esm/storages/inLocalStorage/index.js +8 -8
- package/esm/storages/inMemory/CountsCacheInMemory.js +1 -1
- package/esm/storages/inMemory/EventsCacheInMemory.js +1 -1
- package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +1 -1
- package/esm/storages/inMemory/ImpressionsCacheInMemory.js +1 -1
- package/esm/storages/inMemory/InMemoryStorage.js +5 -5
- package/esm/storages/inMemory/InMemoryStorageCS.js +5 -5
- package/esm/storages/inMemory/LatenciesCacheInMemory.js +2 -2
- package/esm/storages/inMemory/MySegmentsCacheInMemory.js +2 -2
- package/esm/storages/inMemory/SegmentsCacheInMemory.js +2 -2
- package/esm/storages/inMemory/SplitsCacheInMemory.js +2 -2
- package/esm/storages/inRedis/CountsCacheInRedis.js +1 -1
- package/esm/storages/inRedis/EventsCacheInRedis.js +1 -1
- package/esm/storages/inRedis/ImpressionsCacheInRedis.js +1 -1
- package/esm/storages/inRedis/LatenciesCacheInRedis.js +2 -2
- package/esm/storages/inRedis/RedisAdapter.js +3 -3
- package/esm/storages/inRedis/SegmentsCacheInRedis.js +1 -1
- package/esm/storages/inRedis/SplitsCacheInRedis.js +2 -2
- package/esm/storages/inRedis/index.js +8 -8
- package/esm/storages/pluggable/SplitsCachePluggable.js +1 -1
- package/esm/storages/pluggable/index.js +4 -4
- package/esm/sync/offline/splitsParser/parseCondition.js +1 -1
- package/esm/sync/offline/splitsParser/splitsParserFromFile.js +1 -1
- package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +1 -1
- package/esm/sync/offline/syncManagerOffline.js +2 -2
- package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +2 -2
- package/esm/sync/polling/fetchers/mySegmentsFetcher.js +1 -1
- package/esm/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
- package/esm/sync/polling/fetchers/splitChangesFetcher.js +1 -1
- package/esm/sync/polling/pollingManagerCS.js +3 -3
- package/esm/sync/polling/pollingManagerSS.js +4 -4
- package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +3 -3
- package/esm/sync/polling/syncTasks/segmentsSyncTask.js +3 -3
- package/esm/sync/polling/syncTasks/splitsSyncTask.js +3 -3
- package/esm/sync/polling/updaters/mySegmentsUpdater.js +1 -1
- package/esm/sync/polling/updaters/segmentChangesUpdater.js +1 -1
- package/esm/sync/polling/updaters/splitChangesUpdater.js +1 -1
- package/esm/sync/streaming/AuthClient/index.js +1 -1
- package/esm/sync/streaming/SSEClient/index.js +1 -1
- package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +1 -1
- package/esm/sync/streaming/SSEHandler/index.js +2 -2
- package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +2 -2
- package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +2 -2
- package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +2 -2
- package/esm/sync/streaming/pushManager.js +8 -8
- package/esm/sync/submitters/submitterSyncTask.js +1 -1
- package/esm/sync/syncTask.js +1 -1
- package/esm/trackers/eventTracker.js +3 -3
- package/esm/trackers/impressionObserver/ImpressionObserver.js +2 -2
- package/esm/trackers/impressionObserver/impressionObserverCS.js +1 -1
- package/esm/trackers/impressionObserver/impressionObserverSS.js +1 -1
- package/esm/trackers/impressionsTracker.js +3 -3
- package/esm/utils/Backoff.js +1 -1
- package/esm/utils/LRUCache/index.js +1 -1
- package/esm/utils/MinEventEmitter.js +1 -1
- package/esm/utils/inputValidation/trafficTypeExistance.js +1 -1
- package/esm/utils/lang/binarySearch.js +1 -1
- package/esm/utils/lang/objectAssign.js +82 -0
- package/esm/utils/promise/thenable.js +3 -1
- package/esm/utils/promise/timeout.js +1 -1
- package/esm/utils/promise/wrapper.js +1 -1
- package/esm/utils/settingsValidation/impressionsMode.js +1 -1
- package/esm/utils/settingsValidation/index.js +2 -2
- package/esm/utils/settingsValidation/mode.js +1 -1
- package/esm/utils/timeTracker/index.js +4 -5
- package/esm/utils/timeTracker/now/browser.js +1 -2
- package/esm/utils/timeTracker/now/node.js +1 -1
- package/esm/utils/timeTracker/timer.js +1 -1
- package/package.json +2 -3
- package/src/evaluator/Engine.ts +3 -3
- package/src/evaluator/combiners/and.ts +2 -2
- package/src/evaluator/combiners/ifelseif.ts +2 -2
- package/src/evaluator/condition/index.ts +2 -2
- package/src/evaluator/index.ts +2 -2
- package/src/evaluator/matchers/all.ts +1 -1
- package/src/evaluator/matchers/between.ts +1 -1
- package/src/evaluator/matchers/boolean.ts +1 -1
- package/src/evaluator/matchers/cont_all.ts +1 -1
- package/src/evaluator/matchers/cont_any.ts +1 -1
- package/src/evaluator/matchers/cont_str.ts +1 -1
- package/src/evaluator/matchers/dependency.ts +2 -2
- package/src/evaluator/matchers/eq.ts +1 -1
- package/src/evaluator/matchers/eq_set.ts +1 -1
- package/src/evaluator/matchers/ew.ts +1 -1
- package/src/evaluator/matchers/gte.ts +1 -1
- package/src/evaluator/matchers/index.ts +35 -35
- package/src/evaluator/matchers/lte.ts +1 -1
- package/src/evaluator/matchers/part_of.ts +1 -1
- package/src/evaluator/matchers/segment.ts +2 -2
- package/src/evaluator/matchers/string.ts +1 -1
- package/src/evaluator/matchers/sw.ts +1 -1
- package/src/evaluator/matchers/whitelist.ts +1 -1
- package/src/evaluator/matchersTransform/index.ts +5 -5
- package/src/evaluator/matchersTransform/segment.ts +1 -1
- package/src/evaluator/matchersTransform/set.ts +1 -1
- package/src/evaluator/matchersTransform/unaryNumeric.ts +1 -1
- package/src/evaluator/matchersTransform/whitelist.ts +1 -1
- package/src/evaluator/parser/index.ts +12 -12
- package/src/evaluator/treatments/index.ts +1 -1
- package/src/evaluator/value/index.ts +3 -3
- package/src/evaluator/value/sanitize.ts +1 -1
- package/src/integrations/browser.ts +2 -2
- package/src/integrations/ga/GaToSplit.ts +1 -1
- package/src/integrations/pluggable.ts +1 -1
- package/src/listeners/browser.ts +2 -2
- package/src/listeners/node.ts +2 -2
- package/src/logger/index.ts +1 -1
- package/src/logger/messages/warn.ts +2 -2
- package/src/readiness/readinessManager.ts +2 -2
- package/src/readiness/sdkReadinessManager.ts +3 -3
- package/src/sdkClient/client.ts +2 -2
- package/src/sdkClient/clientCS.ts +2 -2
- package/src/sdkClient/clientInputValidation.ts +2 -2
- package/src/sdkClient/sdkClient.ts +3 -3
- package/src/sdkClient/sdkClientMethodCS.ts +2 -2
- package/src/sdkClient/sdkClientMethodCSWithTT.ts +2 -2
- package/src/sdkFactory/index.ts +4 -4
- package/src/sdkManager/index.ts +2 -2
- package/src/services/splitApi.ts +1 -1
- package/src/services/splitHttpClient.ts +1 -1
- package/src/storages/AbstractSegmentsCacheSync.ts +1 -1
- package/src/storages/AbstractSplitsCacheAsync.ts +1 -1
- package/src/storages/AbstractSplitsCacheSync.ts +1 -1
- package/src/storages/KeyBuilder.ts +1 -1
- package/src/storages/KeyBuilderCS.ts +2 -2
- package/src/storages/KeyBuilderSS.ts +2 -2
- package/src/storages/findLatencyIndex.ts +1 -1
- package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +3 -3
- package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +3 -3
- package/src/storages/inLocalStorage/index.ts +8 -8
- package/src/storages/inMemory/CountsCacheInMemory.ts +1 -1
- package/src/storages/inMemory/EventsCacheInMemory.ts +1 -1
- package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +1 -1
- package/src/storages/inMemory/ImpressionsCacheInMemory.ts +1 -1
- package/src/storages/inMemory/InMemoryStorage.ts +5 -5
- package/src/storages/inMemory/InMemoryStorageCS.ts +5 -5
- package/src/storages/inMemory/LatenciesCacheInMemory.ts +2 -2
- package/src/storages/inMemory/MySegmentsCacheInMemory.ts +2 -2
- package/src/storages/inMemory/SegmentsCacheInMemory.ts +2 -2
- package/src/storages/inMemory/SplitsCacheInMemory.ts +2 -2
- package/src/storages/inRedis/CountsCacheInRedis.ts +2 -2
- package/src/storages/inRedis/EventsCacheInRedis.ts +1 -1
- package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
- package/src/storages/inRedis/LatenciesCacheInRedis.ts +3 -3
- package/src/storages/inRedis/RedisAdapter.ts +3 -3
- package/src/storages/inRedis/SegmentsCacheInRedis.ts +2 -2
- package/src/storages/inRedis/SplitsCacheInRedis.ts +3 -3
- package/src/storages/inRedis/index.ts +8 -8
- package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
- package/src/storages/pluggable/SplitsCachePluggable.ts +2 -2
- package/src/storages/pluggable/index.ts +4 -4
- package/src/storages/types.ts +2 -2
- package/src/sync/offline/splitsParser/parseCondition.ts +1 -1
- package/src/sync/offline/splitsParser/splitsParserFromFile.ts +1 -1
- package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +1 -1
- package/src/sync/offline/syncManagerOffline.ts +2 -2
- package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +2 -2
- package/src/sync/polling/fetchers/mySegmentsFetcher.ts +1 -1
- package/src/sync/polling/fetchers/segmentChangesFetcher.ts +1 -1
- package/src/sync/polling/fetchers/splitChangesFetcher.ts +1 -1
- package/src/sync/polling/pollingManagerCS.ts +3 -3
- package/src/sync/polling/pollingManagerSS.ts +4 -4
- package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +3 -3
- package/src/sync/polling/syncTasks/segmentsSyncTask.ts +3 -3
- package/src/sync/polling/syncTasks/splitsSyncTask.ts +3 -3
- package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
- package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
- package/src/sync/polling/updaters/splitChangesUpdater.ts +1 -1
- package/src/sync/streaming/AuthClient/index.ts +1 -1
- package/src/sync/streaming/SSEClient/index.ts +1 -1
- package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +1 -1
- package/src/sync/streaming/SSEHandler/index.ts +2 -2
- package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +2 -2
- package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +2 -2
- package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +2 -2
- package/src/sync/streaming/UpdateWorkers/types.ts +1 -1
- package/src/sync/streaming/pushManager.ts +8 -8
- package/src/sync/submitters/submitterSyncTask.ts +1 -1
- package/src/sync/syncTask.ts +1 -1
- package/src/trackers/eventTracker.ts +3 -3
- package/src/trackers/impressionObserver/ImpressionObserver.ts +2 -2
- package/src/trackers/impressionObserver/impressionObserverCS.ts +1 -1
- package/src/trackers/impressionObserver/impressionObserverSS.ts +1 -1
- package/src/trackers/impressionsTracker.ts +3 -3
- package/src/utils/Backoff.ts +1 -1
- package/src/utils/LRUCache/index.ts +1 -1
- package/src/utils/MinEventEmitter.ts +1 -1
- package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
- package/src/utils/lang/binarySearch.ts +1 -1
- package/src/utils/lang/objectAssign.ts +104 -0
- package/src/utils/promise/thenable.ts +3 -1
- package/src/utils/promise/timeout.ts +1 -1
- package/src/utils/promise/wrapper.ts +1 -1
- package/src/utils/settingsValidation/impressionsMode.ts +1 -1
- package/src/utils/settingsValidation/index.ts +2 -2
- package/src/utils/settingsValidation/mode.ts +1 -1
- package/src/utils/timeTracker/index.ts +4 -6
- package/src/utils/timeTracker/now/browser.ts +1 -3
- package/src/utils/timeTracker/now/node.ts +1 -1
- package/src/utils/timeTracker/timer.ts +1 -1
- package/types/evaluator/Engine.d.ts +1 -1
- package/types/evaluator/combiners/and.d.ts +1 -1
- package/types/evaluator/combiners/ifelseif.d.ts +1 -1
- package/types/evaluator/condition/index.d.ts +1 -1
- package/types/evaluator/matchers/all.d.ts +1 -1
- package/types/evaluator/matchers/between.d.ts +1 -1
- package/types/evaluator/matchers/boolean.d.ts +1 -1
- package/types/evaluator/matchers/cont_all.d.ts +1 -1
- package/types/evaluator/matchers/cont_any.d.ts +1 -1
- package/types/evaluator/matchers/cont_str.d.ts +1 -1
- package/types/evaluator/matchers/dependency.d.ts +1 -1
- package/types/evaluator/matchers/eq.d.ts +1 -1
- package/types/evaluator/matchers/eq_set.d.ts +1 -1
- package/types/evaluator/matchers/ew.d.ts +1 -1
- package/types/evaluator/matchers/gte.d.ts +1 -1
- package/types/evaluator/matchers/index.d.ts +1 -1
- package/types/evaluator/matchers/lte.d.ts +1 -1
- package/types/evaluator/matchers/part_of.d.ts +1 -1
- package/types/evaluator/matchers/segment.d.ts +1 -1
- package/types/evaluator/matchers/string.d.ts +1 -1
- package/types/evaluator/matchers/sw.d.ts +1 -1
- package/types/evaluator/matchers/whitelist.d.ts +1 -1
- package/types/evaluator/matchersTransform/index.d.ts +1 -1
- package/types/evaluator/matchersTransform/segment.d.ts +1 -1
- package/types/evaluator/matchersTransform/set.d.ts +1 -1
- package/types/evaluator/matchersTransform/unaryNumeric.d.ts +1 -1
- package/types/evaluator/matchersTransform/whitelist.d.ts +1 -1
- package/types/evaluator/parser/index.d.ts +1 -1
- package/types/evaluator/treatments/index.d.ts +1 -1
- package/types/evaluator/value/index.d.ts +1 -1
- package/types/evaluator/value/sanitize.d.ts +1 -1
- package/types/integrations/browser.d.ts +1 -1
- package/types/integrations/pluggable.d.ts +1 -1
- package/types/listeners/browser.d.ts +1 -1
- package/types/listeners/node.d.ts +1 -1
- package/types/readiness/sdkReadinessManager.d.ts +1 -1
- package/types/sdkClient/client.d.ts +1 -1
- package/types/sdkClient/clientCS.d.ts +1 -1
- package/types/sdkClient/clientInputValidation.d.ts +1 -1
- package/types/storages/AbstractSegmentsCacheSync.d.ts +1 -1
- package/types/storages/AbstractSplitsCacheAsync.d.ts +1 -1
- package/types/storages/AbstractSplitsCacheSync.d.ts +1 -1
- package/types/storages/KeyBuilder.d.ts +1 -1
- package/types/storages/KeyBuilderCS.d.ts +2 -2
- package/types/storages/KeyBuilderSS.d.ts +2 -2
- package/types/storages/findLatencyIndex.d.ts +1 -1
- package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +3 -3
- package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +3 -3
- package/types/storages/inMemory/CountsCacheInMemory.d.ts +1 -1
- package/types/storages/inMemory/EventsCacheInMemory.d.ts +1 -1
- package/types/storages/inMemory/ImpressionCountsCacheInMemory.d.ts +1 -1
- package/types/storages/inMemory/ImpressionsCacheInMemory.d.ts +1 -1
- package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +1 -1
- package/types/storages/inMemory/MySegmentsCacheInMemory.d.ts +2 -2
- package/types/storages/inMemory/SegmentsCacheInMemory.d.ts +2 -2
- package/types/storages/inMemory/SplitsCacheInMemory.d.ts +2 -2
- package/types/storages/inRedis/CountsCacheInRedis.d.ts +2 -2
- package/types/storages/inRedis/EventsCacheInRedis.d.ts +1 -1
- package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +1 -1
- package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +2 -2
- package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
- package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +2 -2
- package/types/storages/inRedis/SplitsCacheInRedis.d.ts +3 -3
- package/types/storages/pluggable/SegmentsCachePluggable.d.ts +1 -1
- package/types/storages/pluggable/SplitsCachePluggable.d.ts +2 -2
- package/types/storages/types.d.ts +2 -2
- package/types/sync/offline/splitsParser/parseCondition.d.ts +1 -1
- package/types/sync/offline/syncTasks/fromObjectSyncTask.d.ts +1 -1
- package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +1 -1
- package/types/sync/polling/fetchers/segmentChangesFetcher.d.ts +1 -1
- package/types/sync/polling/fetchers/splitChangesFetcher.d.ts +1 -1
- package/types/sync/polling/pollingManagerCS.d.ts +1 -1
- package/types/sync/polling/pollingManagerSS.d.ts +1 -1
- package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +1 -1
- package/types/sync/polling/syncTasks/segmentsSyncTask.d.ts +1 -1
- package/types/sync/polling/syncTasks/splitsSyncTask.d.ts +1 -1
- package/types/sync/streaming/SSEClient/index.d.ts +1 -1
- package/types/sync/streaming/SSEHandler/NotificationKeeper.d.ts +1 -1
- package/types/sync/streaming/SSEHandler/index.d.ts +1 -1
- package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +2 -2
- package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +2 -2
- package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +2 -2
- package/types/sync/streaming/UpdateWorkers/types.d.ts +1 -1
- package/types/sync/streaming/pushManager.d.ts +1 -1
- package/types/sync/syncTask.d.ts +1 -1
- package/types/trackers/eventTracker.d.ts +1 -1
- package/types/trackers/impressionObserver/ImpressionObserver.d.ts +1 -1
- package/types/trackers/impressionObserver/impressionObserverCS.d.ts +1 -1
- package/types/trackers/impressionObserver/impressionObserverSS.d.ts +1 -1
- package/types/trackers/impressionsTracker.d.ts +1 -1
- package/types/utils/Backoff.d.ts +1 -1
- package/types/utils/LRUCache/index.d.ts +1 -1
- package/types/utils/MinEventEmitter.d.ts +1 -1
- package/types/utils/lang/binarySearch.d.ts +1 -1
- package/types/utils/lang/objectAssign.d.ts +3 -0
- package/types/utils/promise/thenable.d.ts +1 -2
- package/types/utils/promise/timeout.d.ts +1 -1
- package/types/utils/promise/wrapper.d.ts +1 -1
- package/types/utils/settingsValidation/impressionsMode.d.ts +1 -1
- package/types/utils/settingsValidation/mode.d.ts +1 -1
- package/types/utils/timeTracker/index.d.ts +2 -2
- package/types/utils/timeTracker/now/browser.d.ts +1 -2
- package/types/utils/timeTracker/now/node.d.ts +1 -1
- package/types/utils/timeTracker/timer.d.ts +1 -1
package/esm/sdkManager/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import objectAssign from '
|
|
2
|
-
import thenable from '../utils/promise/thenable';
|
|
1
|
+
import { objectAssign } from '../utils/lang/objectAssign';
|
|
2
|
+
import { thenable } from '../utils/promise/thenable';
|
|
3
3
|
import { find } from '../utils/lang';
|
|
4
4
|
import { validateSplit, validateSplitExistance, validateIfNotDestroyed, validateIfOperational } from '../utils/inputValidation';
|
|
5
5
|
function collectTreatments(splitObject) {
|
package/esm/services/splitApi.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { splitHttpClientFactory } from './splitHttpClient';
|
|
2
|
-
import objectAssign from '
|
|
2
|
+
import { objectAssign } from '../utils/lang/objectAssign';
|
|
3
3
|
var noCacheHeaderOptions = { headers: { 'Cache-Control': 'no-cache' } };
|
|
4
4
|
function userKeyToQueryParam(userKey) {
|
|
5
5
|
return 'users=' + encodeURIComponent(userKey); // no need to check availability of `encodeURIComponent`, since it is a global highly supported.
|
|
@@ -32,4 +32,4 @@ var AbstractSegmentsCacheSync = /** @class */ (function () {
|
|
|
32
32
|
AbstractSegmentsCacheSync.prototype.resetSegments = function (names) { return true; };
|
|
33
33
|
return AbstractSegmentsCacheSync;
|
|
34
34
|
}());
|
|
35
|
-
export
|
|
35
|
+
export { AbstractSegmentsCacheSync };
|
|
@@ -58,7 +58,7 @@ var AbstractSplitsCacheSync = /** @class */ (function () {
|
|
|
58
58
|
};
|
|
59
59
|
return AbstractSplitsCacheSync;
|
|
60
60
|
}());
|
|
61
|
-
export
|
|
61
|
+
export { AbstractSplitsCacheSync };
|
|
62
62
|
/**
|
|
63
63
|
* Given a parsed split, it returns a boolean flagging if its conditions use segments matchers (rules & whitelists).
|
|
64
64
|
* This util is intended to simplify the implementation of `splitsCache::usesSegments` method
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
2
|
import { startsWith } from '../utils/lang';
|
|
3
|
-
import KeyBuilder from './KeyBuilder';
|
|
3
|
+
import { KeyBuilder } from './KeyBuilder';
|
|
4
4
|
var KeyBuilderCS = /** @class */ (function (_super) {
|
|
5
5
|
__extends(KeyBuilderCS, _super);
|
|
6
6
|
function KeyBuilderCS(prefix, matchingKey) {
|
|
@@ -31,4 +31,4 @@ var KeyBuilderCS = /** @class */ (function (_super) {
|
|
|
31
31
|
};
|
|
32
32
|
return KeyBuilderCS;
|
|
33
33
|
}(KeyBuilder));
|
|
34
|
-
export
|
|
34
|
+
export { KeyBuilderCS };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import KeyBuilder from './KeyBuilder';
|
|
2
|
+
import { KeyBuilder } from './KeyBuilder';
|
|
3
3
|
// NOT USED
|
|
4
4
|
// const everythingAfterCount = /count\.([^/]+)$/;
|
|
5
5
|
// const latencyMetricNameAndBucket = /latency\.([^/]+)\.bucket\.([0-9]+)$/;
|
|
@@ -44,4 +44,4 @@ var KeyBuilderSS = /** @class */ (function (_super) {
|
|
|
44
44
|
};
|
|
45
45
|
return KeyBuilderSS;
|
|
46
46
|
}(KeyBuilder));
|
|
47
|
-
export
|
|
47
|
+
export { KeyBuilderSS };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isNaNNumber } from '../utils/lang';
|
|
2
2
|
// @TODO add unit tests
|
|
3
|
-
export
|
|
3
|
+
export function findLatencyIndex(latency, min, max, base) {
|
|
4
4
|
if (min === void 0) { min = 0; }
|
|
5
5
|
if (max === void 0) { max = 23; }
|
|
6
6
|
if (base === void 0) { base = 1.5; }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import AbstractSegmentsCacheSync from '../AbstractSegmentsCacheSync';
|
|
2
|
+
import { AbstractSegmentsCacheSync } from '../AbstractSegmentsCacheSync';
|
|
3
3
|
import { LOG_PREFIX, DEFINED } from './constants';
|
|
4
4
|
var MySegmentsCacheInLocal = /** @class */ (function (_super) {
|
|
5
5
|
__extends(MySegmentsCacheInLocal, _super);
|
|
@@ -86,4 +86,4 @@ var MySegmentsCacheInLocal = /** @class */ (function (_super) {
|
|
|
86
86
|
};
|
|
87
87
|
return MySegmentsCacheInLocal;
|
|
88
88
|
}(AbstractSegmentsCacheSync));
|
|
89
|
-
export
|
|
89
|
+
export { MySegmentsCacheInLocal };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import AbstractSplitsCacheSync,
|
|
2
|
+
import { AbstractSplitsCacheSync, usesSegments } from '../AbstractSplitsCacheSync';
|
|
3
3
|
import { isFiniteNumber, toNumber, isNaNNumber } from '../../utils/lang';
|
|
4
4
|
import { LOG_PREFIX } from './constants';
|
|
5
5
|
/**
|
|
@@ -248,4 +248,4 @@ var SplitsCacheInLocal = /** @class */ (function (_super) {
|
|
|
248
248
|
};
|
|
249
249
|
return SplitsCacheInLocal;
|
|
250
250
|
}(AbstractSplitsCacheSync));
|
|
251
|
-
export
|
|
251
|
+
export { SplitsCacheInLocal };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import ImpressionsCacheInMemory from '../inMemory/ImpressionsCacheInMemory';
|
|
2
|
-
import ImpressionCountsCacheInMemory from '../inMemory/ImpressionCountsCacheInMemory';
|
|
3
|
-
import EventsCacheInMemory from '../inMemory/EventsCacheInMemory';
|
|
1
|
+
import { ImpressionsCacheInMemory } from '../inMemory/ImpressionsCacheInMemory';
|
|
2
|
+
import { ImpressionCountsCacheInMemory } from '../inMemory/ImpressionCountsCacheInMemory';
|
|
3
|
+
import { EventsCacheInMemory } from '../inMemory/EventsCacheInMemory';
|
|
4
4
|
import { validatePrefix } from '../KeyBuilder';
|
|
5
|
-
import KeyBuilderCS from '../KeyBuilderCS';
|
|
5
|
+
import { KeyBuilderCS } from '../KeyBuilderCS';
|
|
6
6
|
import { isLocalStorageAvailable } from '../../utils/env/isLocalStorageAvailable';
|
|
7
|
-
import SplitsCacheInLocal from './SplitsCacheInLocal';
|
|
8
|
-
import MySegmentsCacheInLocal from './MySegmentsCacheInLocal';
|
|
9
|
-
import MySegmentsCacheInMemory from '../inMemory/MySegmentsCacheInMemory';
|
|
10
|
-
import SplitsCacheInMemory from '../inMemory/SplitsCacheInMemory';
|
|
7
|
+
import { SplitsCacheInLocal } from './SplitsCacheInLocal';
|
|
8
|
+
import { MySegmentsCacheInLocal } from './MySegmentsCacheInLocal';
|
|
9
|
+
import { MySegmentsCacheInMemory } from '../inMemory/MySegmentsCacheInMemory';
|
|
10
|
+
import { SplitsCacheInMemory } from '../inMemory/SplitsCacheInMemory';
|
|
11
11
|
import { DEFAULT_CACHE_EXPIRATION_IN_MILLIS } from '../../utils/constants/browser';
|
|
12
12
|
import { InMemoryStorageCSFactory } from '../inMemory/InMemoryStorageCS';
|
|
13
13
|
import { LOG_PREFIX } from './constants';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import SplitsCacheInMemory from './SplitsCacheInMemory';
|
|
2
|
-
import SegmentsCacheInMemory from './SegmentsCacheInMemory';
|
|
3
|
-
import ImpressionsCacheInMemory from './ImpressionsCacheInMemory';
|
|
4
|
-
import EventsCacheInMemory from './EventsCacheInMemory';
|
|
5
|
-
import ImpressionCountsCacheInMemory from './ImpressionCountsCacheInMemory';
|
|
1
|
+
import { SplitsCacheInMemory } from './SplitsCacheInMemory';
|
|
2
|
+
import { SegmentsCacheInMemory } from './SegmentsCacheInMemory';
|
|
3
|
+
import { ImpressionsCacheInMemory } from './ImpressionsCacheInMemory';
|
|
4
|
+
import { EventsCacheInMemory } from './EventsCacheInMemory';
|
|
5
|
+
import { ImpressionCountsCacheInMemory } from './ImpressionCountsCacheInMemory';
|
|
6
6
|
import { STORAGE_MEMORY } from '../../utils/constants';
|
|
7
7
|
/**
|
|
8
8
|
* InMemory storage factory for standalone server-side SplitFactory
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import SplitsCacheInMemory from './SplitsCacheInMemory';
|
|
2
|
-
import MySegmentsCacheInMemory from './MySegmentsCacheInMemory';
|
|
3
|
-
import ImpressionsCacheInMemory from './ImpressionsCacheInMemory';
|
|
4
|
-
import EventsCacheInMemory from './EventsCacheInMemory';
|
|
5
|
-
import ImpressionCountsCacheInMemory from './ImpressionCountsCacheInMemory';
|
|
1
|
+
import { SplitsCacheInMemory } from './SplitsCacheInMemory';
|
|
2
|
+
import { MySegmentsCacheInMemory } from './MySegmentsCacheInMemory';
|
|
3
|
+
import { ImpressionsCacheInMemory } from './ImpressionsCacheInMemory';
|
|
4
|
+
import { EventsCacheInMemory } from './EventsCacheInMemory';
|
|
5
|
+
import { ImpressionCountsCacheInMemory } from './ImpressionCountsCacheInMemory';
|
|
6
6
|
import { STORAGE_MEMORY } from '../../utils/constants';
|
|
7
7
|
/**
|
|
8
8
|
* InMemory storage factory for standalone client-side SplitFactory
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import findLatencyIndex from '../findLatencyIndex';
|
|
1
|
+
import { findLatencyIndex } from '../findLatencyIndex';
|
|
2
2
|
var LatenciesCacheInMemory = /** @class */ (function () {
|
|
3
3
|
function LatenciesCacheInMemory() {
|
|
4
4
|
this.counters = {};
|
|
@@ -37,4 +37,4 @@ var LatenciesCacheInMemory = /** @class */ (function () {
|
|
|
37
37
|
};
|
|
38
38
|
return LatenciesCacheInMemory;
|
|
39
39
|
}());
|
|
40
|
-
export
|
|
40
|
+
export { LatenciesCacheInMemory };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import AbstractSegmentsCacheSync from '../AbstractSegmentsCacheSync';
|
|
2
|
+
import { AbstractSegmentsCacheSync } from '../AbstractSegmentsCacheSync';
|
|
3
3
|
/**
|
|
4
4
|
* Default MySegmentsCacheInMemory implementation that stores MySegments in memory.
|
|
5
5
|
* Supported by all JS runtimes.
|
|
@@ -65,4 +65,4 @@ var MySegmentsCacheInMemory = /** @class */ (function (_super) {
|
|
|
65
65
|
};
|
|
66
66
|
return MySegmentsCacheInMemory;
|
|
67
67
|
}(AbstractSegmentsCacheSync));
|
|
68
|
-
export
|
|
68
|
+
export { MySegmentsCacheInMemory };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import AbstractSegmentsCacheSync from '../AbstractSegmentsCacheSync';
|
|
2
|
+
import { AbstractSegmentsCacheSync } from '../AbstractSegmentsCacheSync';
|
|
3
3
|
import { _Set } from '../../utils/lang/sets';
|
|
4
4
|
import { isIntegerNumber } from '../../utils/lang';
|
|
5
5
|
/**
|
|
@@ -64,4 +64,4 @@ var SegmentsCacheInMemory = /** @class */ (function (_super) {
|
|
|
64
64
|
};
|
|
65
65
|
return SegmentsCacheInMemory;
|
|
66
66
|
}(AbstractSegmentsCacheSync));
|
|
67
|
-
export
|
|
67
|
+
export { SegmentsCacheInMemory };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import AbstractSplitsCacheSync,
|
|
2
|
+
import { AbstractSplitsCacheSync, usesSegments } from '../AbstractSplitsCacheSync';
|
|
3
3
|
import { isFiniteNumber } from '../../utils/lang';
|
|
4
4
|
/**
|
|
5
5
|
* Default ISplitsCacheSync implementation that stores split definitions in memory.
|
|
@@ -97,4 +97,4 @@ var SplitsCacheInMemory = /** @class */ (function (_super) {
|
|
|
97
97
|
};
|
|
98
98
|
return SplitsCacheInMemory;
|
|
99
99
|
}(AbstractSplitsCacheSync));
|
|
100
|
-
export
|
|
100
|
+
export { SplitsCacheInMemory };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import findLatencyIndex from '../findLatencyIndex';
|
|
1
|
+
import { findLatencyIndex } from '../findLatencyIndex';
|
|
2
2
|
var LatenciesCacheInRedis = /** @class */ (function () {
|
|
3
3
|
function LatenciesCacheInRedis(keys, redis) {
|
|
4
4
|
this.keys = keys;
|
|
@@ -12,4 +12,4 @@ var LatenciesCacheInRedis = /** @class */ (function () {
|
|
|
12
12
|
};
|
|
13
13
|
return LatenciesCacheInRedis;
|
|
14
14
|
}());
|
|
15
|
-
export
|
|
15
|
+
export { LatenciesCacheInRedis };
|
|
@@ -2,8 +2,8 @@ import { __extends } from "tslib";
|
|
|
2
2
|
import ioredis from 'ioredis';
|
|
3
3
|
import { merge, isString } from '../../utils/lang';
|
|
4
4
|
import { _Set, setToArray } from '../../utils/lang/sets';
|
|
5
|
-
import thenable from '../../utils/promise/thenable';
|
|
6
|
-
import timeout from '../../utils/promise/timeout';
|
|
5
|
+
import { thenable } from '../../utils/promise/thenable';
|
|
6
|
+
import { timeout } from '../../utils/promise/timeout';
|
|
7
7
|
var LOG_PREFIX = 'storage:redis-adapter: ';
|
|
8
8
|
// If we ever decide to fully wrap every method, there's a Commander.getBuiltinCommands from ioredis.
|
|
9
9
|
var METHODS_TO_PROMISE_WRAP = ['set', 'exec', 'del', 'get', 'keys', 'sadd', 'srem', 'sismember', 'smembers', 'incr', 'rpush', 'pipeline', 'expire', 'mget', 'lrange', 'ltrim'];
|
|
@@ -157,4 +157,4 @@ var RedisAdapter = /** @class */ (function (_super) {
|
|
|
157
157
|
};
|
|
158
158
|
return RedisAdapter;
|
|
159
159
|
}(ioredis));
|
|
160
|
-
export
|
|
160
|
+
export { RedisAdapter };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
2
|
import { isFiniteNumber, isNaNNumber } from '../../utils/lang';
|
|
3
3
|
import { LOG_PREFIX } from './constants';
|
|
4
|
-
import AbstractSplitsCacheAsync from '../AbstractSplitsCacheAsync';
|
|
4
|
+
import { AbstractSplitsCacheAsync } from '../AbstractSplitsCacheAsync';
|
|
5
5
|
/**
|
|
6
6
|
* Discard errors for an answer of multiple operations.
|
|
7
7
|
*/
|
|
@@ -226,4 +226,4 @@ var SplitsCacheInRedis = /** @class */ (function (_super) {
|
|
|
226
226
|
};
|
|
227
227
|
return SplitsCacheInRedis;
|
|
228
228
|
}(AbstractSplitsCacheAsync));
|
|
229
|
-
export
|
|
229
|
+
export { SplitsCacheInRedis };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import RedisAdapter from './RedisAdapter';
|
|
1
|
+
import { RedisAdapter } from './RedisAdapter';
|
|
2
2
|
import { validatePrefix } from '../KeyBuilder';
|
|
3
|
-
import KeyBuilderSS from '../KeyBuilderSS';
|
|
4
|
-
import SplitsCacheInRedis from './SplitsCacheInRedis';
|
|
5
|
-
import SegmentsCacheInRedis from './SegmentsCacheInRedis';
|
|
6
|
-
import ImpressionsCacheInRedis from './ImpressionsCacheInRedis';
|
|
7
|
-
import EventsCacheInRedis from './EventsCacheInRedis';
|
|
8
|
-
import LatenciesCacheInRedis from './LatenciesCacheInRedis';
|
|
9
|
-
import CountsCacheInRedis from './CountsCacheInRedis';
|
|
3
|
+
import { KeyBuilderSS } from '../KeyBuilderSS';
|
|
4
|
+
import { SplitsCacheInRedis } from './SplitsCacheInRedis';
|
|
5
|
+
import { SegmentsCacheInRedis } from './SegmentsCacheInRedis';
|
|
6
|
+
import { ImpressionsCacheInRedis } from './ImpressionsCacheInRedis';
|
|
7
|
+
import { EventsCacheInRedis } from './EventsCacheInRedis';
|
|
8
|
+
import { LatenciesCacheInRedis } from './LatenciesCacheInRedis';
|
|
9
|
+
import { CountsCacheInRedis } from './CountsCacheInRedis';
|
|
10
10
|
import { STORAGE_REDIS } from '../../utils/constants';
|
|
11
11
|
/**
|
|
12
12
|
* InRedis storage factory for consumer server-side SplitFactory, that uses `Ioredis` Redis client for Node.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
2
|
import { isFiniteNumber, isNaNNumber } from '../../utils/lang';
|
|
3
3
|
import { LOG_PREFIX } from './constants';
|
|
4
|
-
import AbstractSplitsCacheAsync from '../AbstractSplitsCacheAsync';
|
|
4
|
+
import { AbstractSplitsCacheAsync } from '../AbstractSplitsCacheAsync';
|
|
5
5
|
/**
|
|
6
6
|
* ISplitsCacheAsync implementation for pluggable storages.
|
|
7
7
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
|
-
import KeyBuilderSS from '../KeyBuilderSS';
|
|
2
|
+
import { KeyBuilderSS } from '../KeyBuilderSS';
|
|
3
3
|
import { SplitsCachePluggable } from './SplitsCachePluggable';
|
|
4
4
|
import { SegmentsCachePluggable } from './SegmentsCachePluggable';
|
|
5
5
|
import { ImpressionsCachePluggable } from './ImpressionsCachePluggable';
|
|
@@ -8,9 +8,9 @@ import { wrapperAdapter, METHODS_TO_PROMISE_WRAP } from './wrapperAdapter';
|
|
|
8
8
|
import { isObject } from '../../utils/lang';
|
|
9
9
|
import { validatePrefix } from '../KeyBuilder';
|
|
10
10
|
import { CONSUMER_PARTIAL_MODE, STORAGE_PLUGGABLE } from '../../utils/constants';
|
|
11
|
-
import ImpressionsCacheInMemory from '../inMemory/ImpressionsCacheInMemory';
|
|
12
|
-
import EventsCacheInMemory from '../inMemory/EventsCacheInMemory';
|
|
13
|
-
import ImpressionCountsCacheInMemory from '../inMemory/ImpressionCountsCacheInMemory';
|
|
11
|
+
import { ImpressionsCacheInMemory } from '../inMemory/ImpressionsCacheInMemory';
|
|
12
|
+
import { EventsCacheInMemory } from '../inMemory/EventsCacheInMemory';
|
|
13
|
+
import { ImpressionCountsCacheInMemory } from '../inMemory/ImpressionCountsCacheInMemory';
|
|
14
14
|
var NO_VALID_WRAPPER = 'Expecting pluggable storage `wrapper` in options, but no valid wrapper instance was provided.';
|
|
15
15
|
var NO_VALID_WRAPPER_INTERFACE = 'The provided wrapper instance doesn’t follow the expected interface. Check our docs.';
|
|
16
16
|
/**
|
|
@@ -5,7 +5,7 @@ import path from 'path';
|
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
import yaml from 'js-yaml';
|
|
7
7
|
import { isString, endsWith, find, forOwn, uniq, } from '../../../utils/lang';
|
|
8
|
-
import parseCondition from './parseCondition';
|
|
8
|
+
import { parseCondition } from './parseCondition';
|
|
9
9
|
var logPrefix = 'sync:offline:splits-fetcher: ';
|
|
10
10
|
var DEFAULT_FILENAME = '.split';
|
|
11
11
|
function configFilesPath(configFilePath) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import fromObjectSyncTaskFactory from './syncTasks/fromObjectSyncTask';
|
|
2
|
-
import objectAssign from '
|
|
1
|
+
import { fromObjectSyncTaskFactory } from './syncTasks/fromObjectSyncTask';
|
|
2
|
+
import { objectAssign } from '../../utils/lang/objectAssign';
|
|
3
3
|
import { SDK_SEGMENTS_ARRIVED } from '../../readiness/constants';
|
|
4
4
|
function flush() {
|
|
5
5
|
return Promise.resolve();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { forOwn } from '../../../utils/lang';
|
|
2
|
-
import syncTaskFactory from '../../syncTask';
|
|
2
|
+
import { syncTaskFactory } from '../../syncTask';
|
|
3
3
|
import { CONTROL } from '../../../utils/constants';
|
|
4
4
|
import { SDK_SPLITS_ARRIVED, SDK_SEGMENTS_ARRIVED, SDK_SPLITS_CACHE_LOADED } from '../../../readiness/constants';
|
|
5
5
|
import { SYNC_OFFLINE_DATA, ERROR_SYNC_OFFLINE_LOADING } from '../../../logger/constants';
|
|
@@ -63,6 +63,6 @@ export function fromObjectUpdaterFactory(splitsParser, storage, readiness, setti
|
|
|
63
63
|
/**
|
|
64
64
|
* PollingManager in Offline mode
|
|
65
65
|
*/
|
|
66
|
-
export
|
|
66
|
+
export function fromObjectSyncTaskFactory(splitsParser, storage, readiness, settings) {
|
|
67
67
|
return syncTaskFactory(settings.log, fromObjectUpdaterFactory(splitsParser, storage, readiness, settings), settings.scheduler.offlineRefreshRate, 'offlineUpdater');
|
|
68
68
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Factory of MySegments fetcher.
|
|
3
3
|
* MySegments fetcher is a wrapper around `mySegments` API service that parses the response and handle errors.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export function mySegmentsFetcherFactory(fetchMySegments, userMatchingKey) {
|
|
6
6
|
return function mySegmentsFetcher(noCache,
|
|
7
7
|
// Optional decorator for `fetchMySegments` promise, such as timeout or time tracker
|
|
8
8
|
decorator) {
|
|
@@ -18,7 +18,7 @@ function greedyFetch(fetchSegmentChanges, since, segmentName, noCache) {
|
|
|
18
18
|
* Factory of SegmentChanges fetcher.
|
|
19
19
|
* SegmentChanges fetcher is a wrapper around `segmentChanges` API service that parses the response and handle errors and retries.
|
|
20
20
|
*/
|
|
21
|
-
export
|
|
21
|
+
export function segmentChangesFetcherFactory(fetchSegmentChanges) {
|
|
22
22
|
return function segmentChangesFetcher(since, segmentName, noCache,
|
|
23
23
|
// Optional decorator for `fetchMySegments` promise, such as timeout or time tracker
|
|
24
24
|
decorator) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Factory of SplitChanges fetcher.
|
|
3
3
|
* SplitChanges fetcher is a wrapper around `splitChanges` API service that parses the response and handle errors.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export function splitChangesFetcherFactory(fetchSplitChanges) {
|
|
6
6
|
return function splitChangesFetcher(since, noCache,
|
|
7
7
|
// Optional decorator for `fetchSplitChanges` promise, such as timeout or time tracker
|
|
8
8
|
decorator) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { forOwn } from '../../utils/lang';
|
|
2
|
-
import mySegmentsSyncTaskFactory from './syncTasks/mySegmentsSyncTask';
|
|
3
|
-
import splitsSyncTaskFactory from './syncTasks/splitsSyncTask';
|
|
2
|
+
import { mySegmentsSyncTaskFactory } from './syncTasks/mySegmentsSyncTask';
|
|
3
|
+
import { splitsSyncTaskFactory } from './syncTasks/splitsSyncTask';
|
|
4
4
|
import { getMatching } from '../../utils/key';
|
|
5
5
|
import { SDK_SPLITS_ARRIVED, SDK_SEGMENTS_ARRIVED } from '../../readiness/constants';
|
|
6
6
|
import { POLLING_SMART_PAUSING, POLLING_START, POLLING_STOP } from '../../logger/constants';
|
|
@@ -8,7 +8,7 @@ import { POLLING_SMART_PAUSING, POLLING_START, POLLING_STOP } from '../../logger
|
|
|
8
8
|
* Expose start / stop mechanism for polling data from services.
|
|
9
9
|
* For client-side API with multiple clients.
|
|
10
10
|
*/
|
|
11
|
-
export
|
|
11
|
+
export function pollingManagerCSFactory(splitApi, storage, readiness, settings) {
|
|
12
12
|
var log = settings.log;
|
|
13
13
|
var splitsSyncTask = splitsSyncTaskFactory(splitApi.fetchSplitChanges, storage, readiness, settings);
|
|
14
14
|
// Map of matching keys to their corresponding MySegmentsSyncTask.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import splitsSyncTaskFactory from './syncTasks/splitsSyncTask';
|
|
2
|
-
import segmentsSyncTaskFactory from './syncTasks/segmentsSyncTask';
|
|
3
|
-
import thenable from '../../utils/promise/thenable';
|
|
1
|
+
import { splitsSyncTaskFactory } from './syncTasks/splitsSyncTask';
|
|
2
|
+
import { segmentsSyncTaskFactory } from './syncTasks/segmentsSyncTask';
|
|
3
|
+
import { thenable } from '../../utils/promise/thenable';
|
|
4
4
|
import { POLLING_START, POLLING_STOP, LOG_PREFIX_SYNC_POLLING } from '../../logger/constants';
|
|
5
5
|
/**
|
|
6
6
|
* Expose start / stop mechanism for pulling data from services.
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export function pollingManagerSSFactory(splitApi, storage, readiness, settings) {
|
|
9
9
|
var log = settings.log;
|
|
10
10
|
var splitsSyncTask = splitsSyncTaskFactory(splitApi.fetchSplitChanges, storage, readiness, settings);
|
|
11
11
|
var segmentsSyncTask = segmentsSyncTaskFactory(splitApi.fetchSegmentChanges, storage, readiness, settings);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import syncTaskFactory from '../../syncTask';
|
|
2
|
-
import mySegmentsFetcherFactory from '../fetchers/mySegmentsFetcher';
|
|
1
|
+
import { syncTaskFactory } from '../../syncTask';
|
|
2
|
+
import { mySegmentsFetcherFactory } from '../fetchers/mySegmentsFetcher';
|
|
3
3
|
import { mySegmentsUpdaterFactory } from '../updaters/mySegmentsUpdater';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a sync task that periodically executes a `mySegmentsUpdater` task
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export function mySegmentsSyncTaskFactory(fetchMySegments, storage, readiness, settings, matchingKey) {
|
|
8
8
|
return syncTaskFactory(settings.log, mySegmentsUpdaterFactory(settings.log, mySegmentsFetcherFactory(fetchMySegments, matchingKey), storage.splits, storage.segments, readiness.segments, settings.startup.requestTimeoutBeforeReady, settings.startup.retriesOnFailureBeforeReady), settings.scheduler.segmentsRefreshRate, 'mySegmentsUpdater');
|
|
9
9
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import syncTaskFactory from '../../syncTask';
|
|
2
|
-
import segmentChangesFetcherFactory from '../fetchers/segmentChangesFetcher';
|
|
1
|
+
import { syncTaskFactory } from '../../syncTask';
|
|
2
|
+
import { segmentChangesFetcherFactory } from '../fetchers/segmentChangesFetcher';
|
|
3
3
|
import { segmentChangesUpdaterFactory } from '../updaters/segmentChangesUpdater';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a sync task that periodically executes a `segmentChangesUpdater` task
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export function segmentsSyncTaskFactory(fetchSegmentChanges, storage, readiness, settings) {
|
|
8
8
|
return syncTaskFactory(settings.log, segmentChangesUpdaterFactory(settings.log, segmentChangesFetcherFactory(fetchSegmentChanges), storage.segments, readiness), settings.scheduler.segmentsRefreshRate, 'segmentChangesUpdater');
|
|
9
9
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import syncTaskFactory from '../../syncTask';
|
|
2
|
-
import splitChangesFetcherFactory from '../fetchers/splitChangesFetcher';
|
|
1
|
+
import { syncTaskFactory } from '../../syncTask';
|
|
2
|
+
import { splitChangesFetcherFactory } from '../fetchers/splitChangesFetcher';
|
|
3
3
|
import { splitChangesUpdaterFactory } from '../updaters/splitChangesUpdater';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a sync task that periodically executes a `splitChangesUpdater` task
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export function splitsSyncTaskFactory(fetchSplitChanges, storage, readiness, settings) {
|
|
8
8
|
return syncTaskFactory(settings.log, splitChangesUpdaterFactory(settings.log, splitChangesFetcherFactory(fetchSplitChanges), storage.splits, storage.segments, readiness.splits, settings.startup.requestTimeoutBeforeReady, settings.startup.retriesOnFailureBeforeReady), settings.scheduler.featuresRefreshRate, 'splitChangesUpdater');
|
|
9
9
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { findIndex } from '../../../utils/lang';
|
|
2
2
|
import { SDK_SEGMENTS_ARRIVED } from '../../../readiness/constants';
|
|
3
3
|
import { LOG_PREFIX_INSTANTIATION, LOG_PREFIX_SYNC_SEGMENTS } from '../../../logger/constants';
|
|
4
|
-
import thenable from '../../../utils/promise/thenable';
|
|
4
|
+
import { thenable } from '../../../utils/promise/thenable';
|
|
5
5
|
/**
|
|
6
6
|
* Factory of SegmentChanges updater, a task that:
|
|
7
7
|
* - fetches segment changes using `segmentChangesFetcher`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _Set, setToArray } from '../../../utils/lang/sets';
|
|
2
|
-
import timeout from '../../../utils/promise/timeout';
|
|
2
|
+
import { timeout } from '../../../utils/promise/timeout';
|
|
3
3
|
import { SDK_SPLITS_ARRIVED, SDK_SPLITS_CACHE_LOADED } from '../../../readiness/constants';
|
|
4
4
|
import { SYNC_SPLITS_FETCH, SYNC_SPLITS_NEW, SYNC_SPLITS_REMOVED, SYNC_SPLITS_SEGMENTS, SYNC_SPLITS_FETCH_FAILS, SYNC_SPLITS_FETCH_RETRY } from '../../../logger/constants';
|
|
5
5
|
// Checks that all registered segments have been fetched (changeNumber !== -1 for every segment).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import objectAssign from '
|
|
1
|
+
import { objectAssign } from '../../../utils/lang/objectAssign';
|
|
2
2
|
import { encodeToBase64 } from '../../../utils/base64';
|
|
3
3
|
import { decodeJWTtoken } from '../../../utils/jwt';
|
|
4
4
|
import { hash } from '../../../utils/murmur3/murmur3';
|
|
@@ -6,7 +6,7 @@ var CONTROL_CHANNEL_REGEXS = [/control_pri$/, /control_sec$/];
|
|
|
6
6
|
* @param pushEmitter emitter for events related to streaming support
|
|
7
7
|
*/
|
|
8
8
|
// @TODO update logic to handle OCCUPANCY for any region and rename according to new spec (e.g.: PUSH_SUBSYSTEM_UP --> PUSH_SUBSYSTEM_UP)
|
|
9
|
-
export
|
|
9
|
+
export function notificationKeeperFactory(pushEmitter) {
|
|
10
10
|
var channels = CONTROL_CHANNEL_REGEXS.map(function (regex) { return ({
|
|
11
11
|
regex: regex,
|
|
12
12
|
hasPublishers: true,
|