@splitsoftware/splitio-commons 2.5.0-rc.0 → 11.5.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.txt +893 -142
- package/CONTRIBUTORS-GUIDE.md +26 -16
- package/README.md +43 -5
- package/cjs/factory/browser.js +73 -0
- package/cjs/factory/node.js +79 -0
- package/cjs/factory/package.json +4 -0
- package/cjs/index.js +3 -16
- package/cjs/{utils/MinEvents.js → platform/EventEmitter.js} +153 -27
- package/cjs/platform/browser.js +15 -0
- package/cjs/platform/filter/bloomFilter.js +32 -0
- package/cjs/platform/getEventSource/browser.js +7 -0
- package/cjs/platform/getEventSource/eventsource.js +480 -0
- package/cjs/platform/getEventSource/node.js +25 -0
- package/cjs/platform/getEventSource/package.json +4 -0
- package/cjs/platform/getFetch/browser.js +9 -0
- package/cjs/platform/getFetch/node.js +26 -0
- package/cjs/platform/getFetch/package.json +4 -0
- package/cjs/platform/getOptions/node.js +25 -0
- package/cjs/platform/node.js +18 -0
- package/cjs/platform/package.json +4 -0
- package/cjs/settings/browser.js +21 -0
- package/cjs/settings/defaults/browser.js +21 -0
- package/cjs/settings/defaults/node.js +23 -0
- package/cjs/{listeners/types.js → settings/defaults/version.js} +2 -0
- package/cjs/settings/integrations/browser.js +9 -0
- package/cjs/settings/node.js +22 -0
- package/cjs/settings/package.json +4 -0
- package/cjs/settings/runtime/node.js +22 -0
- package/cjs/settings/storage/browser.js +35 -0
- package/cjs/settings/storage/node.js +67 -0
- package/cjs/sync/offline/LocalhostFromFile.js +8 -0
- package/cjs/sync/offline/splitsParserFromFile.js +148 -0
- package/cjs/umd.js +5 -0
- package/cjs/utils/ip.js +114 -0
- package/client/package.json +5 -0
- package/esm/factory/browser.js +69 -0
- package/esm/factory/node.js +75 -0
- package/esm/factory/package.json +4 -0
- package/esm/index.js +1 -10
- package/esm/{utils/MinEvents.js → platform/EventEmitter.js} +143 -17
- package/esm/platform/browser.js +12 -0
- package/esm/platform/filter/bloomFilter.js +28 -0
- package/esm/platform/getEventSource/browser.js +3 -0
- package/esm/platform/getEventSource/eventsource.js +480 -0
- package/esm/platform/getEventSource/node.js +19 -0
- package/esm/platform/getEventSource/package.json +4 -0
- package/esm/platform/getFetch/browser.js +4 -0
- package/esm/platform/getFetch/node.js +21 -0
- package/esm/platform/getFetch/package.json +4 -0
- package/esm/platform/getOptions/node.js +20 -0
- package/esm/platform/node.js +14 -0
- package/esm/platform/package.json +4 -0
- package/esm/settings/browser.js +17 -0
- package/esm/settings/defaults/browser.js +18 -0
- package/esm/settings/defaults/node.js +20 -0
- package/esm/settings/defaults/version.js +1 -0
- package/esm/settings/integrations/browser.js +5 -0
- package/esm/settings/node.js +18 -0
- package/esm/settings/package.json +4 -0
- package/esm/settings/runtime/node.js +17 -0
- package/esm/settings/storage/browser.js +31 -0
- package/esm/settings/storage/node.js +63 -0
- package/esm/sync/offline/LocalhostFromFile.js +5 -0
- package/esm/sync/offline/splitsParserFromFile.js +143 -0
- package/esm/umd.js +3 -0
- package/esm/utils/ip.js +109 -0
- package/package.json +99 -58
- package/server/package.json +5 -0
- package/src/factory/browser.js +85 -0
- package/src/factory/node.js +92 -0
- package/src/factory/package.json +4 -0
- package/src/index.js +1 -0
- package/src/{utils/MinEvents.ts → platform/EventEmitter.js} +164 -19
- package/src/platform/browser.js +14 -0
- package/src/platform/filter/bloomFilter.js +33 -0
- package/src/platform/getEventSource/browser.js +3 -0
- package/src/platform/getEventSource/eventsource.js +519 -0
- package/src/platform/getEventSource/node.js +20 -0
- package/src/platform/getEventSource/package.json +4 -0
- package/src/platform/getFetch/browser.js +5 -0
- package/src/platform/getFetch/node.js +24 -0
- package/src/platform/getFetch/package.json +4 -0
- package/src/platform/getOptions/node.js +23 -0
- package/src/platform/node.js +16 -0
- package/src/platform/package.json +4 -0
- package/src/settings/browser.js +20 -0
- package/src/settings/defaults/browser.js +21 -0
- package/src/settings/defaults/node.js +23 -0
- package/src/settings/defaults/version.js +1 -0
- package/src/settings/integrations/browser.js +6 -0
- package/src/settings/node.js +21 -0
- package/src/settings/package.json +4 -0
- package/src/settings/runtime/node.js +21 -0
- package/src/settings/storage/browser.js +47 -0
- package/src/settings/storage/node.js +84 -0
- package/src/sync/offline/LocalhostFromFile.js +6 -0
- package/src/sync/offline/splitsParserFromFile.js +173 -0
- package/src/umd.js +4 -0
- package/src/utils/ip.js +123 -0
- package/types/client/index.d.ts +15 -0
- package/types/index.d.ts +24 -1
- package/types/server/index.d.ts +21 -0
- package/types/splitio.d.ts +2 -2087
- package/cjs/consent/index.js +0 -10
- package/cjs/consent/sdkUserConsent.js +0 -60
- package/cjs/dtos/types.js +0 -2
- package/cjs/evaluator/Engine.js +0 -58
- package/cjs/evaluator/combiners/and.js +0 -25
- package/cjs/evaluator/combiners/ifelseif.js +0 -48
- package/cjs/evaluator/condition/engineUtils.js +0 -29
- package/cjs/evaluator/condition/index.js +0 -41
- package/cjs/evaluator/convertions/index.js +0 -11
- package/cjs/evaluator/index.js +0 -134
- package/cjs/evaluator/matchers/all.js +0 -9
- package/cjs/evaluator/matchers/between.js +0 -10
- package/cjs/evaluator/matchers/boolean.js +0 -10
- package/cjs/evaluator/matchers/cont_all.js +0 -23
- package/cjs/evaluator/matchers/cont_any.js +0 -18
- package/cjs/evaluator/matchers/cont_str.js +0 -11
- package/cjs/evaluator/matchers/dependency.js +0 -28
- package/cjs/evaluator/matchers/eq.js +0 -10
- package/cjs/evaluator/matchers/eq_set.js +0 -20
- package/cjs/evaluator/matchers/ew.js +0 -11
- package/cjs/evaluator/matchers/gte.js +0 -10
- package/cjs/evaluator/matchers/index.js +0 -66
- package/cjs/evaluator/matchers/large_segment.js +0 -10
- package/cjs/evaluator/matchers/lte.js +0 -10
- package/cjs/evaluator/matchers/matcherTypes.js +0 -46
- package/cjs/evaluator/matchers/part_of.js +0 -20
- package/cjs/evaluator/matchers/prerequisites.js +0 -22
- package/cjs/evaluator/matchers/rbsegment.js +0 -56
- package/cjs/evaluator/matchers/segment.js +0 -10
- package/cjs/evaluator/matchers/semver_between.js +0 -14
- package/cjs/evaluator/matchers/semver_eq.js +0 -13
- package/cjs/evaluator/matchers/semver_gte.js +0 -13
- package/cjs/evaluator/matchers/semver_inlist.js +0 -16
- package/cjs/evaluator/matchers/semver_lte.js +0 -13
- package/cjs/evaluator/matchers/string.js +0 -11
- package/cjs/evaluator/matchers/sw.js +0 -11
- package/cjs/evaluator/matchers/whitelist.js +0 -11
- package/cjs/evaluator/matchersTransform/index.js +0 -104
- package/cjs/evaluator/matchersTransform/segment.js +0 -12
- package/cjs/evaluator/matchersTransform/unaryNumeric.js +0 -10
- package/cjs/evaluator/matchersTransform/whitelist.js +0 -10
- package/cjs/evaluator/parser/index.js +0 -61
- package/cjs/evaluator/treatments/index.js +0 -42
- package/cjs/evaluator/types.js +0 -2
- package/cjs/evaluator/value/index.js +0 -37
- package/cjs/evaluator/value/sanitize.js +0 -94
- package/cjs/integrations/pluggable.js +0 -35
- package/cjs/integrations/types.js +0 -2
- package/cjs/listeners/browser.js +0 -121
- package/cjs/listeners/node.js +0 -68
- package/cjs/logger/browser/DebugLogger.js +0 -9
- package/cjs/logger/browser/ErrorLogger.js +0 -9
- package/cjs/logger/browser/InfoLogger.js +0 -9
- package/cjs/logger/browser/WarnLogger.js +0 -9
- package/cjs/logger/constants.js +0 -140
- package/cjs/logger/index.js +0 -100
- package/cjs/logger/messages/debug.js +0 -36
- package/cjs/logger/messages/error.js +0 -42
- package/cjs/logger/messages/info.js +0 -37
- package/cjs/logger/messages/warn.js +0 -42
- package/cjs/logger/sdkLogger.js +0 -45
- package/cjs/logger/types.js +0 -2
- package/cjs/readiness/constants.js +0 -13
- package/cjs/readiness/readinessManager.js +0 -154
- package/cjs/readiness/sdkReadinessManager.js +0 -104
- package/cjs/readiness/types.js +0 -2
- package/cjs/sdkClient/client.js +0 -183
- package/cjs/sdkClient/clientAttributesDecoration.js +0 -122
- package/cjs/sdkClient/clientCS.js +0 -30
- package/cjs/sdkClient/clientInputValidation.js +0 -147
- package/cjs/sdkClient/identity.js +0 -7
- package/cjs/sdkClient/sdkClient.js +0 -64
- package/cjs/sdkClient/sdkClientMethod.js +0 -22
- package/cjs/sdkClient/sdkClientMethodCS.js +0 -66
- package/cjs/sdkFactory/index.js +0 -108
- package/cjs/sdkFactory/types.js +0 -2
- package/cjs/sdkManager/index.js +0 -96
- package/cjs/services/decorateHeaders.js +0 -40
- package/cjs/services/splitApi.js +0 -131
- package/cjs/services/splitHttpClient.js +0 -82
- package/cjs/services/types.js +0 -2
- package/cjs/storages/AbstractMySegmentsCacheSync.js +0 -60
- package/cjs/storages/AbstractSplitsCacheAsync.js +0 -51
- package/cjs/storages/AbstractSplitsCacheSync.js +0 -75
- package/cjs/storages/KeyBuilder.js +0 -68
- package/cjs/storages/KeyBuilderCS.js +0 -65
- package/cjs/storages/KeyBuilderSS.js +0 -60
- package/cjs/storages/dataLoader.js +0 -109
- package/cjs/storages/findLatencyIndex.js +0 -18
- package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -81
- package/cjs/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -121
- package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +0 -208
- package/cjs/storages/inLocalStorage/constants.js +0 -5
- package/cjs/storages/inLocalStorage/index.js +0 -73
- package/cjs/storages/inLocalStorage/validateCache.js +0 -80
- package/cjs/storages/inMemory/AttributesCacheInMemory.js +0 -70
- package/cjs/storages/inMemory/EventsCacheInMemory.js +0 -63
- package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -65
- package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +0 -51
- package/cjs/storages/inMemory/InMemoryStorage.js +0 -46
- package/cjs/storages/inMemory/InMemoryStorageCS.js +0 -81
- package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +0 -46
- package/cjs/storages/inMemory/RBSegmentsCacheInMemory.js +0 -65
- package/cjs/storages/inMemory/SegmentsCacheInMemory.js +0 -61
- package/cjs/storages/inMemory/SplitsCacheInMemory.js +0 -121
- package/cjs/storages/inMemory/TelemetryCacheInMemory.js +0 -207
- package/cjs/storages/inMemory/UniqueKeysCacheInMemory.js +0 -72
- package/cjs/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -71
- package/cjs/storages/inRedis/EventsCacheInRedis.js +0 -60
- package/cjs/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -85
- package/cjs/storages/inRedis/ImpressionsCacheInRedis.js +0 -45
- package/cjs/storages/inRedis/RBSegmentsCacheInRedis.js +0 -64
- package/cjs/storages/inRedis/RedisAdapter.js +0 -195
- package/cjs/storages/inRedis/SegmentsCacheInRedis.js +0 -57
- package/cjs/storages/inRedis/SplitsCacheInRedis.js +0 -243
- package/cjs/storages/inRedis/TelemetryCacheInRedis.js +0 -124
- package/cjs/storages/inRedis/UniqueKeysCacheInRedis.js +0 -69
- package/cjs/storages/inRedis/constants.js +0 -7
- package/cjs/storages/inRedis/index.js +0 -73
- package/cjs/storages/pluggable/EventsCachePluggable.js +0 -64
- package/cjs/storages/pluggable/ImpressionCountsCachePluggable.js +0 -81
- package/cjs/storages/pluggable/ImpressionsCachePluggable.js +0 -48
- package/cjs/storages/pluggable/RBSegmentsCachePluggable.js +0 -64
- package/cjs/storages/pluggable/SegmentsCachePluggable.js +0 -80
- package/cjs/storages/pluggable/SplitsCachePluggable.js +0 -212
- package/cjs/storages/pluggable/TelemetryCachePluggable.js +0 -141
- package/cjs/storages/pluggable/UniqueKeysCachePluggable.js +0 -62
- package/cjs/storages/pluggable/constants.js +0 -4
- package/cjs/storages/pluggable/inMemoryWrapper.js +0 -141
- package/cjs/storages/pluggable/index.js +0 -135
- package/cjs/storages/pluggable/wrapperAdapter.js +0 -53
- package/cjs/storages/types.js +0 -2
- package/cjs/storages/utils.js +0 -74
- package/cjs/sync/offline/LocalhostFromObject.js +0 -8
- package/cjs/sync/offline/splitsParser/parseCondition.js +0 -55
- package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +0 -62
- package/cjs/sync/offline/splitsParser/types.js +0 -2
- package/cjs/sync/offline/syncManagerOffline.js +0 -52
- package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +0 -72
- package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +0 -18
- package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +0 -34
- package/cjs/sync/polling/fetchers/splitChangesFetcher.js +0 -68
- package/cjs/sync/polling/fetchers/types.js +0 -2
- package/cjs/sync/polling/pollingManagerCS.js +0 -100
- package/cjs/sync/polling/pollingManagerSS.js +0 -49
- package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -13
- package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +0 -13
- package/cjs/sync/polling/syncTasks/splitsSyncTask.js +0 -13
- package/cjs/sync/polling/types.js +0 -2
- package/cjs/sync/polling/updaters/mySegmentsUpdater.js +0 -81
- package/cjs/sync/polling/updaters/segmentChangesUpdater.js +0 -80
- package/cjs/sync/polling/updaters/splitChangesUpdater.js +0 -188
- package/cjs/sync/streaming/AuthClient/index.js +0 -43
- package/cjs/sync/streaming/AuthClient/types.js +0 -2
- package/cjs/sync/streaming/SSEClient/index.js +0 -86
- package/cjs/sync/streaming/SSEClient/types.js +0 -2
- package/cjs/sync/streaming/SSEHandler/NotificationKeeper.js +0 -98
- package/cjs/sync/streaming/SSEHandler/NotificationParser.js +0 -41
- package/cjs/sync/streaming/SSEHandler/index.js +0 -97
- package/cjs/sync/streaming/SSEHandler/types.js +0 -16
- package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -124
- package/cjs/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -92
- package/cjs/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -136
- package/cjs/sync/streaming/UpdateWorkers/constants.js +0 -6
- package/cjs/sync/streaming/UpdateWorkers/types.js +0 -2
- package/cjs/sync/streaming/constants.js +0 -43
- package/cjs/sync/streaming/parseUtils.js +0 -98
- package/cjs/sync/streaming/pushManager.js +0 -317
- package/cjs/sync/streaming/types.js +0 -2
- package/cjs/sync/submitters/eventsSubmitter.js +0 -28
- package/cjs/sync/submitters/impressionCountsSubmitter.js +0 -36
- package/cjs/sync/submitters/impressionsSubmitter.js +0 -54
- package/cjs/sync/submitters/submitter.js +0 -66
- package/cjs/sync/submitters/submitterManager.js +0 -46
- package/cjs/sync/submitters/telemetrySubmitter.js +0 -125
- package/cjs/sync/submitters/types.js +0 -2
- package/cjs/sync/submitters/uniqueKeysSubmitter.js +0 -27
- package/cjs/sync/syncManagerOnline.js +0 -172
- package/cjs/sync/syncTask.js +0 -84
- package/cjs/sync/types.js +0 -2
- package/cjs/trackers/eventTracker.js +0 -62
- package/cjs/trackers/impressionObserver/ImpressionObserver.js +0 -18
- package/cjs/trackers/impressionObserver/buildKey.js +0 -7
- package/cjs/trackers/impressionObserver/impressionObserverCS.js +0 -15
- package/cjs/trackers/impressionObserver/impressionObserverSS.js +0 -15
- package/cjs/trackers/impressionObserver/types.js +0 -2
- package/cjs/trackers/impressionsTracker.js +0 -78
- package/cjs/trackers/strategy/strategyDebug.js +0 -20
- package/cjs/trackers/strategy/strategyNone.js +0 -24
- package/cjs/trackers/strategy/strategyOptimized.js +0 -28
- package/cjs/trackers/telemetryTracker.js +0 -75
- package/cjs/trackers/types.js +0 -2
- package/cjs/trackers/uniqueKeysTracker.js +0 -40
- package/cjs/types.js +0 -2
- package/cjs/utils/Backoff.js +0 -41
- package/cjs/utils/LRUCache/LinkedList.js +0 -114
- package/cjs/utils/LRUCache/index.js +0 -42
- package/cjs/utils/MinEventEmitter.js +0 -100
- package/cjs/utils/Semver.js +0 -103
- package/cjs/utils/base64/index.js +0 -75
- package/cjs/utils/constants/index.js +0 -100
- package/cjs/utils/decompress/index.js +0 -427
- package/cjs/utils/env/isLocalStorageAvailable.js +0 -16
- package/cjs/utils/env/isNode.js +0 -9
- package/cjs/utils/inputValidation/apiKey.js +0 -54
- package/cjs/utils/inputValidation/attribute.js +0 -20
- package/cjs/utils/inputValidation/attributes.js +0 -25
- package/cjs/utils/inputValidation/event.js +0 -28
- package/cjs/utils/inputValidation/eventProperties.js +0 -74
- package/cjs/utils/inputValidation/eventValue.js +0 -12
- package/cjs/utils/inputValidation/index.js +0 -34
- package/cjs/utils/inputValidation/isOperational.js +0 -18
- package/cjs/utils/inputValidation/key.js +0 -51
- package/cjs/utils/inputValidation/preloadedData.js +0 -59
- package/cjs/utils/inputValidation/split.js +0 -30
- package/cjs/utils/inputValidation/splitExistence.js +0 -19
- package/cjs/utils/inputValidation/splits.js +0 -25
- package/cjs/utils/inputValidation/trafficType.js +0 -29
- package/cjs/utils/inputValidation/trafficTypeExistence.js +0 -31
- package/cjs/utils/jwt/index.js +0 -17
- package/cjs/utils/jwt/types.js +0 -2
- package/cjs/utils/key/index.js +0 -36
- package/cjs/utils/labels/index.js +0 -12
- package/cjs/utils/lang/binarySearch.js +0 -42
- package/cjs/utils/lang/getFnName.js +0 -12
- package/cjs/utils/lang/getGlobal.js +0 -18
- package/cjs/utils/lang/index.js +0 -281
- package/cjs/utils/lang/objectAssign.js +0 -20
- package/cjs/utils/lang/sets.js +0 -23
- package/cjs/utils/murmur3/common.js +0 -46
- package/cjs/utils/murmur3/legacy.js +0 -44
- package/cjs/utils/murmur3/murmur3.js +0 -62
- package/cjs/utils/murmur3/murmur3_128.js +0 -219
- package/cjs/utils/murmur3/murmur3_128_x86.js +0 -154
- package/cjs/utils/murmur3/murmur3_64.js +0 -36
- package/cjs/utils/murmur3/utfx.js +0 -108
- package/cjs/utils/promise/thenable.js +0 -8
- package/cjs/utils/promise/timeout.js +0 -20
- package/cjs/utils/promise/wrapper.js +0 -58
- package/cjs/utils/settingsValidation/consent.js +0 -16
- package/cjs/utils/settingsValidation/impressionsMode.js +0 -14
- package/cjs/utils/settingsValidation/index.js +0 -184
- package/cjs/utils/settingsValidation/integrations/common.js +0 -27
- package/cjs/utils/settingsValidation/integrations/configurable.js +0 -18
- package/cjs/utils/settingsValidation/integrations/pluggable.js +0 -15
- package/cjs/utils/settingsValidation/logger/builtinLogger.js +0 -46
- package/cjs/utils/settingsValidation/logger/commons.js +0 -28
- package/cjs/utils/settingsValidation/logger/pluggableLogger.js +0 -32
- package/cjs/utils/settingsValidation/mode.js +0 -20
- package/cjs/utils/settingsValidation/runtime.js +0 -11
- package/cjs/utils/settingsValidation/splitFilters.js +0 -188
- package/cjs/utils/settingsValidation/storage/storageCS.js +0 -49
- package/cjs/utils/settingsValidation/types.js +0 -2
- package/cjs/utils/settingsValidation/url.js +0 -31
- package/cjs/utils/time/index.js +0 -11
- package/cjs/utils/timeTracker/now/browser.js +0 -15
- package/cjs/utils/timeTracker/now/node.js +0 -9
- package/cjs/utils/timeTracker/timer.js +0 -10
- package/esm/consent/index.js +0 -6
- package/esm/consent/sdkUserConsent.js +0 -56
- package/esm/dtos/types.js +0 -1
- package/esm/evaluator/Engine.js +0 -54
- package/esm/evaluator/combiners/and.js +0 -21
- package/esm/evaluator/combiners/ifelseif.js +0 -44
- package/esm/evaluator/condition/engineUtils.js +0 -24
- package/esm/evaluator/condition/index.js +0 -37
- package/esm/evaluator/convertions/index.js +0 -6
- package/esm/evaluator/index.js +0 -128
- package/esm/evaluator/matchers/all.js +0 -5
- package/esm/evaluator/matchers/between.js +0 -6
- package/esm/evaluator/matchers/boolean.js +0 -6
- package/esm/evaluator/matchers/cont_all.js +0 -19
- package/esm/evaluator/matchers/cont_any.js +0 -14
- package/esm/evaluator/matchers/cont_str.js +0 -7
- package/esm/evaluator/matchers/dependency.js +0 -24
- package/esm/evaluator/matchers/eq.js +0 -6
- package/esm/evaluator/matchers/eq_set.js +0 -16
- package/esm/evaluator/matchers/ew.js +0 -7
- package/esm/evaluator/matchers/gte.js +0 -6
- package/esm/evaluator/matchers/index.js +0 -62
- package/esm/evaluator/matchers/large_segment.js +0 -6
- package/esm/evaluator/matchers/lte.js +0 -6
- package/esm/evaluator/matchers/matcherTypes.js +0 -42
- package/esm/evaluator/matchers/part_of.js +0 -16
- package/esm/evaluator/matchers/prerequisites.js +0 -18
- package/esm/evaluator/matchers/rbsegment.js +0 -52
- package/esm/evaluator/matchers/segment.js +0 -6
- package/esm/evaluator/matchers/semver_between.js +0 -10
- package/esm/evaluator/matchers/semver_eq.js +0 -9
- package/esm/evaluator/matchers/semver_gte.js +0 -9
- package/esm/evaluator/matchers/semver_inlist.js +0 -12
- package/esm/evaluator/matchers/semver_lte.js +0 -9
- package/esm/evaluator/matchers/string.js +0 -7
- package/esm/evaluator/matchers/sw.js +0 -7
- package/esm/evaluator/matchers/whitelist.js +0 -7
- package/esm/evaluator/matchersTransform/index.js +0 -100
- package/esm/evaluator/matchersTransform/segment.js +0 -8
- package/esm/evaluator/matchersTransform/unaryNumeric.js +0 -6
- package/esm/evaluator/matchersTransform/whitelist.js +0 -6
- package/esm/evaluator/parser/index.js +0 -57
- package/esm/evaluator/treatments/index.js +0 -39
- package/esm/evaluator/types.js +0 -1
- package/esm/evaluator/value/index.js +0 -33
- package/esm/evaluator/value/sanitize.js +0 -90
- package/esm/integrations/pluggable.js +0 -31
- package/esm/integrations/types.js +0 -1
- package/esm/listeners/browser.js +0 -118
- package/esm/listeners/node.js +0 -65
- package/esm/listeners/types.js +0 -1
- package/esm/logger/browser/DebugLogger.js +0 -5
- package/esm/logger/browser/ErrorLogger.js +0 -5
- package/esm/logger/browser/InfoLogger.js +0 -5
- package/esm/logger/browser/WarnLogger.js +0 -5
- package/esm/logger/constants.js +0 -135
- package/esm/logger/index.js +0 -95
- package/esm/logger/messages/debug.js +0 -32
- package/esm/logger/messages/error.js +0 -38
- package/esm/logger/messages/info.js +0 -33
- package/esm/logger/messages/warn.js +0 -38
- package/esm/logger/sdkLogger.js +0 -41
- package/esm/logger/types.js +0 -1
- package/esm/readiness/constants.js +0 -10
- package/esm/readiness/readinessManager.js +0 -150
- package/esm/readiness/sdkReadinessManager.js +0 -100
- package/esm/readiness/types.js +0 -1
- package/esm/sdkClient/client.js +0 -179
- package/esm/sdkClient/clientAttributesDecoration.js +0 -118
- package/esm/sdkClient/clientCS.js +0 -26
- package/esm/sdkClient/clientInputValidation.js +0 -143
- package/esm/sdkClient/identity.js +0 -3
- package/esm/sdkClient/sdkClient.js +0 -60
- package/esm/sdkClient/sdkClientMethod.js +0 -18
- package/esm/sdkClient/sdkClientMethodCS.js +0 -62
- package/esm/sdkFactory/index.js +0 -104
- package/esm/sdkFactory/types.js +0 -1
- package/esm/sdkManager/index.js +0 -92
- package/esm/services/decorateHeaders.js +0 -35
- package/esm/services/splitApi.js +0 -127
- package/esm/services/splitHttpClient.js +0 -78
- package/esm/services/types.js +0 -1
- package/esm/storages/AbstractMySegmentsCacheSync.js +0 -57
- package/esm/storages/AbstractSplitsCacheAsync.js +0 -48
- package/esm/storages/AbstractSplitsCacheSync.js +0 -70
- package/esm/storages/KeyBuilder.js +0 -63
- package/esm/storages/KeyBuilderCS.js +0 -61
- package/esm/storages/KeyBuilderSS.js +0 -57
- package/esm/storages/dataLoader.js +0 -104
- package/esm/storages/findLatencyIndex.js +0 -14
- package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -78
- package/esm/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -118
- package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +0 -205
- package/esm/storages/inLocalStorage/constants.js +0 -2
- package/esm/storages/inLocalStorage/index.js +0 -69
- package/esm/storages/inLocalStorage/validateCache.js +0 -76
- package/esm/storages/inMemory/AttributesCacheInMemory.js +0 -67
- package/esm/storages/inMemory/EventsCacheInMemory.js +0 -60
- package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -62
- package/esm/storages/inMemory/ImpressionsCacheInMemory.js +0 -48
- package/esm/storages/inMemory/InMemoryStorage.js +0 -42
- package/esm/storages/inMemory/InMemoryStorageCS.js +0 -77
- package/esm/storages/inMemory/MySegmentsCacheInMemory.js +0 -43
- package/esm/storages/inMemory/RBSegmentsCacheInMemory.js +0 -62
- package/esm/storages/inMemory/SegmentsCacheInMemory.js +0 -58
- package/esm/storages/inMemory/SplitsCacheInMemory.js +0 -118
- package/esm/storages/inMemory/TelemetryCacheInMemory.js +0 -202
- package/esm/storages/inMemory/UniqueKeysCacheInMemory.js +0 -68
- package/esm/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -68
- package/esm/storages/inRedis/EventsCacheInRedis.js +0 -57
- package/esm/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -82
- package/esm/storages/inRedis/ImpressionsCacheInRedis.js +0 -42
- package/esm/storages/inRedis/RBSegmentsCacheInRedis.js +0 -61
- package/esm/storages/inRedis/RedisAdapter.js +0 -192
- package/esm/storages/inRedis/SegmentsCacheInRedis.js +0 -54
- package/esm/storages/inRedis/SplitsCacheInRedis.js +0 -240
- package/esm/storages/inRedis/TelemetryCacheInRedis.js +0 -121
- package/esm/storages/inRedis/UniqueKeysCacheInRedis.js +0 -66
- package/esm/storages/inRedis/constants.js +0 -4
- package/esm/storages/inRedis/index.js +0 -69
- package/esm/storages/pluggable/EventsCachePluggable.js +0 -61
- package/esm/storages/pluggable/ImpressionCountsCachePluggable.js +0 -78
- package/esm/storages/pluggable/ImpressionsCachePluggable.js +0 -45
- package/esm/storages/pluggable/RBSegmentsCachePluggable.js +0 -61
- package/esm/storages/pluggable/SegmentsCachePluggable.js +0 -77
- package/esm/storages/pluggable/SplitsCachePluggable.js +0 -209
- package/esm/storages/pluggable/TelemetryCachePluggable.js +0 -138
- package/esm/storages/pluggable/UniqueKeysCachePluggable.js +0 -59
- package/esm/storages/pluggable/constants.js +0 -1
- package/esm/storages/pluggable/inMemoryWrapper.js +0 -137
- package/esm/storages/pluggable/index.js +0 -131
- package/esm/storages/pluggable/wrapperAdapter.js +0 -49
- package/esm/storages/types.js +0 -1
- package/esm/storages/utils.js +0 -66
- package/esm/sync/offline/LocalhostFromObject.js +0 -5
- package/esm/sync/offline/splitsParser/parseCondition.js +0 -51
- package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +0 -58
- package/esm/sync/offline/splitsParser/types.js +0 -1
- package/esm/sync/offline/syncManagerOffline.js +0 -48
- package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +0 -67
- package/esm/sync/polling/fetchers/mySegmentsFetcher.js +0 -14
- package/esm/sync/polling/fetchers/segmentChangesFetcher.js +0 -30
- package/esm/sync/polling/fetchers/splitChangesFetcher.js +0 -64
- package/esm/sync/polling/fetchers/types.js +0 -1
- package/esm/sync/polling/pollingManagerCS.js +0 -96
- package/esm/sync/polling/pollingManagerSS.js +0 -45
- package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -9
- package/esm/sync/polling/syncTasks/segmentsSyncTask.js +0 -9
- package/esm/sync/polling/syncTasks/splitsSyncTask.js +0 -9
- package/esm/sync/polling/types.js +0 -1
- package/esm/sync/polling/updaters/mySegmentsUpdater.js +0 -77
- package/esm/sync/polling/updaters/segmentChangesUpdater.js +0 -76
- package/esm/sync/polling/updaters/splitChangesUpdater.js +0 -182
- package/esm/sync/streaming/AuthClient/index.js +0 -38
- package/esm/sync/streaming/AuthClient/types.js +0 -1
- package/esm/sync/streaming/SSEClient/index.js +0 -83
- package/esm/sync/streaming/SSEClient/types.js +0 -1
- package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +0 -94
- package/esm/sync/streaming/SSEHandler/NotificationParser.js +0 -36
- package/esm/sync/streaming/SSEHandler/index.js +0 -93
- package/esm/sync/streaming/SSEHandler/types.js +0 -13
- package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -120
- package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -88
- package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -132
- package/esm/sync/streaming/UpdateWorkers/constants.js +0 -3
- package/esm/sync/streaming/UpdateWorkers/types.js +0 -1
- package/esm/sync/streaming/constants.js +0 -40
- package/esm/sync/streaming/parseUtils.js +0 -90
- package/esm/sync/streaming/pushManager.js +0 -313
- package/esm/sync/streaming/types.js +0 -1
- package/esm/sync/submitters/eventsSubmitter.js +0 -24
- package/esm/sync/submitters/impressionCountsSubmitter.js +0 -31
- package/esm/sync/submitters/impressionsSubmitter.js +0 -49
- package/esm/sync/submitters/submitter.js +0 -61
- package/esm/sync/submitters/submitterManager.js +0 -42
- package/esm/sync/submitters/telemetrySubmitter.js +0 -119
- package/esm/sync/submitters/types.js +0 -1
- package/esm/sync/submitters/uniqueKeysSubmitter.js +0 -23
- package/esm/sync/syncManagerOnline.js +0 -168
- package/esm/sync/syncTask.js +0 -80
- package/esm/sync/types.js +0 -1
- package/esm/trackers/eventTracker.js +0 -58
- package/esm/trackers/impressionObserver/ImpressionObserver.js +0 -15
- package/esm/trackers/impressionObserver/buildKey.js +0 -3
- package/esm/trackers/impressionObserver/impressionObserverCS.js +0 -10
- package/esm/trackers/impressionObserver/impressionObserverSS.js +0 -10
- package/esm/trackers/impressionObserver/types.js +0 -1
- package/esm/trackers/impressionsTracker.js +0 -74
- package/esm/trackers/strategy/strategyDebug.js +0 -16
- package/esm/trackers/strategy/strategyNone.js +0 -20
- package/esm/trackers/strategy/strategyOptimized.js +0 -24
- package/esm/trackers/telemetryTracker.js +0 -71
- package/esm/trackers/types.js +0 -1
- package/esm/trackers/uniqueKeysTracker.js +0 -36
- package/esm/types.js +0 -1
- package/esm/utils/Backoff.js +0 -38
- package/esm/utils/LRUCache/LinkedList.js +0 -111
- package/esm/utils/LRUCache/index.js +0 -39
- package/esm/utils/MinEventEmitter.js +0 -97
- package/esm/utils/Semver.js +0 -100
- package/esm/utils/base64/index.js +0 -70
- package/esm/utils/constants/index.js +0 -96
- package/esm/utils/decompress/index.js +0 -424
- package/esm/utils/env/isLocalStorageAvailable.js +0 -12
- package/esm/utils/env/isNode.js +0 -6
- package/esm/utils/inputValidation/apiKey.js +0 -48
- package/esm/utils/inputValidation/attribute.js +0 -16
- package/esm/utils/inputValidation/attributes.js +0 -20
- package/esm/utils/inputValidation/event.js +0 -24
- package/esm/utils/inputValidation/eventProperties.js +0 -69
- package/esm/utils/inputValidation/eventValue.js +0 -8
- package/esm/utils/inputValidation/index.js +0 -14
- package/esm/utils/inputValidation/isOperational.js +0 -13
- package/esm/utils/inputValidation/key.js +0 -47
- package/esm/utils/inputValidation/preloadedData.js +0 -55
- package/esm/utils/inputValidation/split.js +0 -26
- package/esm/utils/inputValidation/splitExistence.js +0 -15
- package/esm/utils/inputValidation/splits.js +0 -21
- package/esm/utils/inputValidation/trafficType.js +0 -25
- package/esm/utils/inputValidation/trafficTypeExistence.js +0 -27
- package/esm/utils/jwt/index.js +0 -13
- package/esm/utils/jwt/types.js +0 -1
- package/esm/utils/key/index.js +0 -30
- package/esm/utils/labels/index.js +0 -9
- package/esm/utils/lang/binarySearch.js +0 -38
- package/esm/utils/lang/getFnName.js +0 -8
- package/esm/utils/lang/getGlobal.js +0 -14
- package/esm/utils/lang/index.js +0 -258
- package/esm/utils/lang/objectAssign.js +0 -17
- package/esm/utils/lang/sets.js +0 -17
- package/esm/utils/murmur3/common.js +0 -39
- package/esm/utils/murmur3/legacy.js +0 -39
- package/esm/utils/murmur3/murmur3.js +0 -57
- package/esm/utils/murmur3/murmur3_128.js +0 -215
- package/esm/utils/murmur3/murmur3_128_x86.js +0 -150
- package/esm/utils/murmur3/murmur3_64.js +0 -32
- package/esm/utils/murmur3/utfx.js +0 -102
- package/esm/utils/promise/thenable.js +0 -4
- package/esm/utils/promise/timeout.js +0 -16
- package/esm/utils/promise/wrapper.js +0 -54
- package/esm/utils/settingsValidation/consent.js +0 -12
- package/esm/utils/settingsValidation/impressionsMode.js +0 -10
- package/esm/utils/settingsValidation/index.js +0 -180
- package/esm/utils/settingsValidation/integrations/common.js +0 -23
- package/esm/utils/settingsValidation/integrations/configurable.js +0 -14
- package/esm/utils/settingsValidation/integrations/pluggable.js +0 -11
- package/esm/utils/settingsValidation/logger/builtinLogger.js +0 -42
- package/esm/utils/settingsValidation/logger/commons.js +0 -24
- package/esm/utils/settingsValidation/logger/pluggableLogger.js +0 -28
- package/esm/utils/settingsValidation/mode.js +0 -15
- package/esm/utils/settingsValidation/runtime.js +0 -7
- package/esm/utils/settingsValidation/splitFilters.js +0 -183
- package/esm/utils/settingsValidation/storage/storageCS.js +0 -44
- package/esm/utils/settingsValidation/types.js +0 -1
- package/esm/utils/settingsValidation/url.js +0 -27
- package/esm/utils/time/index.js +0 -7
- package/esm/utils/timeTracker/now/browser.js +0 -12
- package/esm/utils/timeTracker/now/node.js +0 -5
- package/esm/utils/timeTracker/timer.js +0 -6
- package/src/consent/index.ts +0 -8
- package/src/consent/sdkUserConsent.ts +0 -60
- package/src/dtos/types.ts +0 -294
- package/src/evaluator/Engine.ts +0 -73
- package/src/evaluator/combiners/and.ts +0 -29
- package/src/evaluator/combiners/ifelseif.ts +0 -56
- package/src/evaluator/condition/engineUtils.ts +0 -31
- package/src/evaluator/condition/index.ts +0 -50
- package/src/evaluator/convertions/index.ts +0 -7
- package/src/evaluator/index.ts +0 -199
- package/src/evaluator/matchers/all.ts +0 -6
- package/src/evaluator/matchers/between.ts +0 -10
- package/src/evaluator/matchers/boolean.ts +0 -8
- package/src/evaluator/matchers/cont_all.ts +0 -18
- package/src/evaluator/matchers/cont_any.ts +0 -13
- package/src/evaluator/matchers/cont_str.ts +0 -9
- package/src/evaluator/matchers/dependency.ts +0 -32
- package/src/evaluator/matchers/eq.ts +0 -8
- package/src/evaluator/matchers/eq_set.ts +0 -15
- package/src/evaluator/matchers/ew.ts +0 -9
- package/src/evaluator/matchers/gte.ts +0 -8
- package/src/evaluator/matchers/index.ts +0 -70
- package/src/evaluator/matchers/large_segment.ts +0 -11
- package/src/evaluator/matchers/lte.ts +0 -8
- package/src/evaluator/matchers/matcherTypes.ts +0 -42
- package/src/evaluator/matchers/part_of.ts +0 -15
- package/src/evaluator/matchers/prerequisites.ts +0 -24
- package/src/evaluator/matchers/rbsegment.ts +0 -74
- package/src/evaluator/matchers/segment.ts +0 -11
- package/src/evaluator/matchers/semver_between.ts +0 -15
- package/src/evaluator/matchers/semver_eq.ts +0 -13
- package/src/evaluator/matchers/semver_gte.ts +0 -13
- package/src/evaluator/matchers/semver_inlist.ts +0 -16
- package/src/evaluator/matchers/semver_lte.ts +0 -13
- package/src/evaluator/matchers/string.ts +0 -9
- package/src/evaluator/matchers/sw.ts +0 -9
- package/src/evaluator/matchers/whitelist.ts +0 -9
- package/src/evaluator/matchersTransform/index.ts +0 -118
- package/src/evaluator/matchersTransform/segment.ts +0 -10
- package/src/evaluator/matchersTransform/unaryNumeric.ts +0 -8
- package/src/evaluator/matchersTransform/whitelist.ts +0 -8
- package/src/evaluator/parser/index.ts +0 -82
- package/src/evaluator/treatments/index.ts +0 -53
- package/src/evaluator/types.ts +0 -34
- package/src/evaluator/value/index.ts +0 -37
- package/src/evaluator/value/sanitize.ts +0 -106
- package/src/index.ts +0 -14
- package/src/integrations/pluggable.ts +0 -39
- package/src/integrations/types.ts +0 -21
- package/src/listeners/browser.ts +0 -138
- package/src/listeners/node.ts +0 -81
- package/src/listeners/types.ts +0 -4
- package/src/logger/browser/DebugLogger.ts +0 -6
- package/src/logger/browser/ErrorLogger.ts +0 -6
- package/src/logger/browser/InfoLogger.ts +0 -6
- package/src/logger/browser/WarnLogger.ts +0 -6
- package/src/logger/constants.ts +0 -139
- package/src/logger/index.ts +0 -110
- package/src/logger/messages/debug.ts +0 -33
- package/src/logger/messages/error.ts +0 -39
- package/src/logger/messages/info.ts +0 -36
- package/src/logger/messages/warn.ts +0 -40
- package/src/logger/sdkLogger.ts +0 -46
- package/src/logger/types.ts +0 -21
- package/src/readiness/constants.ts +0 -12
- package/src/readiness/readinessManager.ts +0 -170
- package/src/readiness/sdkReadinessManager.ts +0 -121
- package/src/readiness/types.ts +0 -85
- package/src/sdkClient/client.ts +0 -217
- package/src/sdkClient/clientAttributesDecoration.ts +0 -139
- package/src/sdkClient/clientCS.ts +0 -34
- package/src/sdkClient/clientInputValidation.ts +0 -178
- package/src/sdkClient/identity.ts +0 -5
- package/src/sdkClient/sdkClient.ts +0 -77
- package/src/sdkClient/sdkClientMethod.ts +0 -24
- package/src/sdkClient/sdkClientMethodCS.ts +0 -85
- package/src/sdkFactory/index.ts +0 -132
- package/src/sdkFactory/types.ts +0 -119
- package/src/sdkManager/index.ts +0 -114
- package/src/services/decorateHeaders.ts +0 -37
- package/src/services/splitApi.ts +0 -148
- package/src/services/splitHttpClient.ts +0 -84
- package/src/services/types.ts +0 -86
- package/src/storages/AbstractMySegmentsCacheSync.ts +0 -94
- package/src/storages/AbstractSplitsCacheAsync.ts +0 -63
- package/src/storages/AbstractSplitsCacheSync.ts +0 -94
- package/src/storages/KeyBuilder.ts +0 -81
- package/src/storages/KeyBuilderCS.ts +0 -79
- package/src/storages/KeyBuilderSS.ts +0 -74
- package/src/storages/dataLoader.ts +0 -113
- package/src/storages/findLatencyIndex.ts +0 -16
- package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +0 -86
- package/src/storages/inLocalStorage/RBSegmentsCacheInLocal.ts +0 -140
- package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +0 -244
- package/src/storages/inLocalStorage/constants.ts +0 -2
- package/src/storages/inLocalStorage/index.ts +0 -83
- package/src/storages/inLocalStorage/validateCache.ts +0 -93
- package/src/storages/inMemory/AttributesCacheInMemory.ts +0 -74
- package/src/storages/inMemory/EventsCacheInMemory.ts +0 -76
- package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +0 -69
- package/src/storages/inMemory/ImpressionsCacheInMemory.ts +0 -58
- package/src/storages/inMemory/InMemoryStorage.ts +0 -50
- package/src/storages/inMemory/InMemoryStorageCS.ts +0 -92
- package/src/storages/inMemory/MySegmentsCacheInMemory.ts +0 -49
- package/src/storages/inMemory/RBSegmentsCacheInMemory.ts +0 -72
- package/src/storages/inMemory/SegmentsCacheInMemory.ts +0 -74
- package/src/storages/inMemory/SplitsCacheInMemory.ts +0 -130
- package/src/storages/inMemory/TelemetryCacheInMemory.ts +0 -263
- package/src/storages/inMemory/UniqueKeysCacheInMemory.ts +0 -79
- package/src/storages/inMemory/UniqueKeysCacheInMemoryCS.ts +0 -80
- package/src/storages/inRedis/EventsCacheInRedis.ts +0 -75
- package/src/storages/inRedis/ImpressionCountsCacheInRedis.ts +0 -95
- package/src/storages/inRedis/ImpressionsCacheInRedis.ts +0 -61
- package/src/storages/inRedis/RBSegmentsCacheInRedis.ts +0 -79
- package/src/storages/inRedis/RedisAdapter.ts +0 -209
- package/src/storages/inRedis/SegmentsCacheInRedis.ts +0 -70
- package/src/storages/inRedis/SplitsCacheInRedis.ts +0 -268
- package/src/storages/inRedis/TelemetryCacheInRedis.ts +0 -144
- package/src/storages/inRedis/UniqueKeysCacheInRedis.ts +0 -75
- package/src/storages/inRedis/constants.ts +0 -4
- package/src/storages/inRedis/index.ts +0 -85
- package/src/storages/package.json +0 -3
- package/src/storages/pluggable/EventsCachePluggable.ts +0 -79
- package/src/storages/pluggable/ImpressionCountsCachePluggable.ts +0 -92
- package/src/storages/pluggable/ImpressionsCachePluggable.ts +0 -63
- package/src/storages/pluggable/RBSegmentsCachePluggable.ts +0 -76
- package/src/storages/pluggable/SegmentsCachePluggable.ts +0 -90
- package/src/storages/pluggable/SplitsCachePluggable.ts +0 -230
- package/src/storages/pluggable/TelemetryCachePluggable.ts +0 -159
- package/src/storages/pluggable/UniqueKeysCachePluggable.ts +0 -67
- package/src/storages/pluggable/constants.ts +0 -1
- package/src/storages/pluggable/inMemoryWrapper.ts +0 -130
- package/src/storages/pluggable/index.ts +0 -152
- package/src/storages/pluggable/wrapperAdapter.ts +0 -58
- package/src/storages/types.ts +0 -522
- package/src/storages/utils.ts +0 -80
- package/src/sync/offline/LocalhostFromObject.ts +0 -6
- package/src/sync/offline/splitsParser/parseCondition.ts +0 -59
- package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +0 -72
- package/src/sync/offline/splitsParser/types.ts +0 -5
- package/src/sync/offline/syncManagerOffline.ts +0 -66
- package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +0 -98
- package/src/sync/polling/fetchers/mySegmentsFetcher.ts +0 -25
- package/src/sync/polling/fetchers/segmentChangesFetcher.ts +0 -41
- package/src/sync/polling/fetchers/splitChangesFetcher.ts +0 -85
- package/src/sync/polling/fetchers/types.ts +0 -25
- package/src/sync/polling/pollingManagerCS.ts +0 -116
- package/src/sync/polling/pollingManagerSS.ts +0 -56
- package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +0 -34
- package/src/sync/polling/syncTasks/segmentsSyncTask.ts +0 -30
- package/src/sync/polling/syncTasks/splitsSyncTask.ts +0 -35
- package/src/sync/polling/types.ts +0 -33
- package/src/sync/polling/updaters/mySegmentsUpdater.ts +0 -102
- package/src/sync/polling/updaters/segmentChangesUpdater.ts +0 -92
- package/src/sync/polling/updaters/splitChangesUpdater.ts +0 -218
- package/src/sync/streaming/AuthClient/index.ts +0 -42
- package/src/sync/streaming/AuthClient/types.ts +0 -20
- package/src/sync/streaming/SSEClient/index.ts +0 -103
- package/src/sync/streaming/SSEClient/types.ts +0 -13
- package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +0 -107
- package/src/sync/streaming/SSEHandler/NotificationParser.ts +0 -40
- package/src/sync/streaming/SSEHandler/index.ts +0 -105
- package/src/sync/streaming/SSEHandler/types.ts +0 -73
- package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +0 -134
- package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +0 -99
- package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +0 -145
- package/src/sync/streaming/UpdateWorkers/constants.ts +0 -3
- package/src/sync/streaming/UpdateWorkers/types.ts +0 -4
- package/src/sync/streaming/constants.ts +0 -44
- package/src/sync/streaming/parseUtils.ts +0 -100
- package/src/sync/streaming/pushManager.ts +0 -358
- package/src/sync/streaming/types.ts +0 -51
- package/src/sync/submitters/eventsSubmitter.ts +0 -35
- package/src/sync/submitters/impressionCountsSubmitter.ts +0 -44
- package/src/sync/submitters/impressionsSubmitter.ts +0 -66
- package/src/sync/submitters/submitter.ts +0 -76
- package/src/sync/submitters/submitterManager.ts +0 -48
- package/src/sync/submitters/telemetrySubmitter.ts +0 -148
- package/src/sync/submitters/types.ts +0 -241
- package/src/sync/submitters/uniqueKeysSubmitter.ts +0 -35
- package/src/sync/syncManagerOnline.ts +0 -190
- package/src/sync/syncTask.ts +0 -83
- package/src/sync/types.ts +0 -48
- package/src/trackers/eventTracker.ts +0 -72
- package/src/trackers/impressionObserver/ImpressionObserver.ts +0 -20
- package/src/trackers/impressionObserver/buildKey.ts +0 -5
- package/src/trackers/impressionObserver/impressionObserverCS.ts +0 -14
- package/src/trackers/impressionObserver/impressionObserverSS.ts +0 -14
- package/src/trackers/impressionObserver/types.ts +0 -5
- package/src/trackers/impressionsTracker.ts +0 -87
- package/src/trackers/strategy/strategyDebug.ts +0 -23
- package/src/trackers/strategy/strategyNone.ts +0 -28
- package/src/trackers/strategy/strategyOptimized.ts +0 -35
- package/src/trackers/telemetryTracker.ts +0 -73
- package/src/trackers/types.ts +0 -86
- package/src/trackers/uniqueKeysTracker.ts +0 -50
- package/src/types.ts +0 -44
- package/src/utils/Backoff.ts +0 -51
- package/src/utils/LRUCache/LinkedList.ts +0 -130
- package/src/utils/LRUCache/index.ts +0 -43
- package/src/utils/MinEventEmitter.ts +0 -102
- package/src/utils/Semver.ts +0 -111
- package/src/utils/base64/index.ts +0 -74
- package/src/utils/constants/index.ts +0 -116
- package/src/utils/decompress/index.ts +0 -429
- package/src/utils/env/isLocalStorageAvailable.ts +0 -11
- package/src/utils/env/isNode.ts +0 -6
- package/src/utils/inputValidation/apiKey.ts +0 -52
- package/src/utils/inputValidation/attribute.ts +0 -21
- package/src/utils/inputValidation/attributes.ts +0 -26
- package/src/utils/inputValidation/event.ts +0 -24
- package/src/utils/inputValidation/eventProperties.ts +0 -78
- package/src/utils/inputValidation/eventValue.ts +0 -11
- package/src/utils/inputValidation/index.ts +0 -14
- package/src/utils/inputValidation/isOperational.ts +0 -17
- package/src/utils/inputValidation/key.ts +0 -51
- package/src/utils/inputValidation/preloadedData.ts +0 -57
- package/src/utils/inputValidation/split.ts +0 -27
- package/src/utils/inputValidation/splitExistence.ts +0 -19
- package/src/utils/inputValidation/splits.ts +0 -21
- package/src/utils/inputValidation/trafficType.ts +0 -27
- package/src/utils/inputValidation/trafficTypeExistence.ts +0 -33
- package/src/utils/jwt/index.ts +0 -16
- package/src/utils/jwt/types.ts +0 -10
- package/src/utils/key/index.ts +0 -34
- package/src/utils/labels/index.ts +0 -9
- package/src/utils/lang/binarySearch.ts +0 -41
- package/src/utils/lang/getFnName.ts +0 -8
- package/src/utils/lang/getGlobal.ts +0 -17
- package/src/utils/lang/index.ts +0 -279
- package/src/utils/lang/objectAssign.ts +0 -25
- package/src/utils/lang/sets.ts +0 -17
- package/src/utils/murmur3/common.ts +0 -54
- package/src/utils/murmur3/legacy.ts +0 -48
- package/src/utils/murmur3/murmur3.ts +0 -74
- package/src/utils/murmur3/murmur3_128.ts +0 -273
- package/src/utils/murmur3/murmur3_128_x86.ts +0 -188
- package/src/utils/murmur3/murmur3_64.ts +0 -36
- package/src/utils/murmur3/utfx.ts +0 -109
- package/src/utils/promise/thenable.ts +0 -4
- package/src/utils/promise/timeout.ts +0 -17
- package/src/utils/promise/wrapper.ts +0 -60
- package/src/utils/settingsValidation/consent.ts +0 -16
- package/src/utils/settingsValidation/impressionsMode.ts +0 -14
- package/src/utils/settingsValidation/index.ts +0 -207
- package/src/utils/settingsValidation/integrations/common.ts +0 -27
- package/src/utils/settingsValidation/integrations/configurable.ts +0 -20
- package/src/utils/settingsValidation/integrations/pluggable.ts +0 -19
- package/src/utils/settingsValidation/logger/builtinLogger.ts +0 -54
- package/src/utils/settingsValidation/logger/commons.ts +0 -24
- package/src/utils/settingsValidation/logger/pluggableLogger.ts +0 -35
- package/src/utils/settingsValidation/mode.ts +0 -17
- package/src/utils/settingsValidation/runtime.ts +0 -9
- package/src/utils/settingsValidation/splitFilters.ts +0 -197
- package/src/utils/settingsValidation/storage/storageCS.ts +0 -52
- package/src/utils/settingsValidation/types.ts +0 -27
- package/src/utils/settingsValidation/url.ts +0 -30
- package/src/utils/time/index.ts +0 -8
- package/src/utils/timeTracker/now/browser.ts +0 -12
- package/src/utils/timeTracker/now/node.ts +0 -6
- package/src/utils/timeTracker/timer.ts +0 -7
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PluggableStorage = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var KeyBuilderSS_1 = require("../KeyBuilderSS");
|
|
6
|
-
var SplitsCachePluggable_1 = require("./SplitsCachePluggable");
|
|
7
|
-
var SegmentsCachePluggable_1 = require("./SegmentsCachePluggable");
|
|
8
|
-
var ImpressionsCachePluggable_1 = require("./ImpressionsCachePluggable");
|
|
9
|
-
var EventsCachePluggable_1 = require("./EventsCachePluggable");
|
|
10
|
-
var wrapperAdapter_1 = require("./wrapperAdapter");
|
|
11
|
-
var lang_1 = require("../../utils/lang");
|
|
12
|
-
var KeyBuilder_1 = require("../KeyBuilder");
|
|
13
|
-
var constants_1 = require("../../utils/constants");
|
|
14
|
-
var ImpressionsCacheInMemory_1 = require("../inMemory/ImpressionsCacheInMemory");
|
|
15
|
-
var EventsCacheInMemory_1 = require("../inMemory/EventsCacheInMemory");
|
|
16
|
-
var ImpressionCountsCacheInMemory_1 = require("../inMemory/ImpressionCountsCacheInMemory");
|
|
17
|
-
var TelemetryCacheInMemory_1 = require("../inMemory/TelemetryCacheInMemory");
|
|
18
|
-
var TelemetryCachePluggable_1 = require("./TelemetryCachePluggable");
|
|
19
|
-
var ImpressionCountsCachePluggable_1 = require("./ImpressionCountsCachePluggable");
|
|
20
|
-
var UniqueKeysCachePluggable_1 = require("./UniqueKeysCachePluggable");
|
|
21
|
-
var UniqueKeysCacheInMemory_1 = require("../inMemory/UniqueKeysCacheInMemory");
|
|
22
|
-
var UniqueKeysCacheInMemoryCS_1 = require("../inMemory/UniqueKeysCacheInMemoryCS");
|
|
23
|
-
var utils_1 = require("../utils");
|
|
24
|
-
var constants_2 = require("../pluggable/constants");
|
|
25
|
-
var RBSegmentsCachePluggable_1 = require("./RBSegmentsCachePluggable");
|
|
26
|
-
var NO_VALID_WRAPPER = 'Expecting pluggable storage `wrapper` in options, but no valid wrapper instance was provided.';
|
|
27
|
-
var NO_VALID_WRAPPER_INTERFACE = 'The provided wrapper instance doesn’t follow the expected interface. Check our docs.';
|
|
28
|
-
/**
|
|
29
|
-
* Validate pluggable storage factory options.
|
|
30
|
-
*
|
|
31
|
-
* @param options - user options
|
|
32
|
-
* @throws Will throw an error if the options are invalid. Example: wrapper is not provided or doesn't have some methods.
|
|
33
|
-
*/
|
|
34
|
-
function validatePluggableStorageOptions(options) {
|
|
35
|
-
if (!(0, lang_1.isObject)(options) || !(0, lang_1.isObject)(options.wrapper))
|
|
36
|
-
throw new Error(NO_VALID_WRAPPER);
|
|
37
|
-
var wrapper = options.wrapper;
|
|
38
|
-
var missingMethods = wrapperAdapter_1.METHODS_TO_PROMISE_WRAP.filter(function (method) { return typeof wrapper[method] !== 'function'; });
|
|
39
|
-
if (missingMethods.length)
|
|
40
|
-
throw new Error(NO_VALID_WRAPPER_INTERFACE + " The following methods are missing or invalid: " + missingMethods);
|
|
41
|
-
}
|
|
42
|
-
// Async return type in `client.track` method on consumer partial mode
|
|
43
|
-
// No need to promisify impressions cache
|
|
44
|
-
function promisifyEventsTrack(events) {
|
|
45
|
-
var origTrack = events.track;
|
|
46
|
-
events.track = function () {
|
|
47
|
-
return Promise.resolve(origTrack.apply(this, arguments));
|
|
48
|
-
};
|
|
49
|
-
return events;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Pluggable storage factory for consumer server-side & client-side SplitFactory.
|
|
53
|
-
*/
|
|
54
|
-
function PluggableStorage(options) {
|
|
55
|
-
validatePluggableStorageOptions(options);
|
|
56
|
-
var prefix = (0, KeyBuilder_1.validatePrefix)(options.prefix);
|
|
57
|
-
function PluggableStorageFactory(params) {
|
|
58
|
-
var onReadyCb = params.onReadyCb, settings = params.settings, _a = params.settings, log = _a.log, mode = _a.mode, _b = _a.scheduler, impressionsQueueSize = _b.impressionsQueueSize, eventsQueueSize = _b.eventsQueueSize;
|
|
59
|
-
var metadata = (0, utils_1.metadataBuilder)(settings);
|
|
60
|
-
var keys = new KeyBuilderSS_1.KeyBuilderSS(prefix, metadata);
|
|
61
|
-
var wrapper = (0, wrapperAdapter_1.wrapperAdapter)(log, options.wrapper);
|
|
62
|
-
var isSynchronizer = mode === undefined; // If mode is not defined, the synchronizer is running
|
|
63
|
-
var isPartialConsumer = mode === constants_1.CONSUMER_PARTIAL_MODE;
|
|
64
|
-
var telemetry = (0, TelemetryCacheInMemory_1.shouldRecordTelemetry)(params) || isSynchronizer ?
|
|
65
|
-
isPartialConsumer ?
|
|
66
|
-
new TelemetryCacheInMemory_1.TelemetryCacheInMemory() :
|
|
67
|
-
new TelemetryCachePluggable_1.TelemetryCachePluggable(log, keys, wrapper) :
|
|
68
|
-
undefined;
|
|
69
|
-
var impressionCountsCache = isPartialConsumer ?
|
|
70
|
-
new ImpressionCountsCacheInMemory_1.ImpressionCountsCacheInMemory() :
|
|
71
|
-
new ImpressionCountsCachePluggable_1.ImpressionCountsCachePluggable(log, keys.buildImpressionsCountKey(), wrapper);
|
|
72
|
-
var uniqueKeysCache = isPartialConsumer ?
|
|
73
|
-
settings.core.key === undefined ? new UniqueKeysCacheInMemory_1.UniqueKeysCacheInMemory() : new UniqueKeysCacheInMemoryCS_1.UniqueKeysCacheInMemoryCS() :
|
|
74
|
-
new UniqueKeysCachePluggable_1.UniqueKeysCachePluggable(log, keys.buildUniqueKeysKey(), wrapper);
|
|
75
|
-
// Connects to wrapper and emits SDK_READY event on main client
|
|
76
|
-
var connectPromise = wrapper.connect().then(function () {
|
|
77
|
-
if (isSynchronizer) {
|
|
78
|
-
// @TODO reuse InLocalStorage::validateCache logic
|
|
79
|
-
// In standalone or producer mode, clear storage if SDK key, flags filter criteria or flags spec version was modified
|
|
80
|
-
return wrapper.get(keys.buildHashKey()).then(function (hash) {
|
|
81
|
-
var currentHash = (0, KeyBuilder_1.getStorageHash)(settings);
|
|
82
|
-
if (hash !== currentHash) {
|
|
83
|
-
log.info(constants_2.LOG_PREFIX + 'Storage HASH has changed (SDK key, flags filter criteria or flags spec version was modified). Clearing cache');
|
|
84
|
-
return wrapper.getKeysByPrefix(keys.prefix + ".").then(function (storageKeys) {
|
|
85
|
-
return Promise.all(storageKeys.map(function (storageKey) { return wrapper.del(storageKey); }));
|
|
86
|
-
}).then(function () { return wrapper.set(keys.buildHashKey(), currentHash); });
|
|
87
|
-
}
|
|
88
|
-
}).then(function () {
|
|
89
|
-
onReadyCb();
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
// Start periodic flush of async storages if not running synchronizer (producer mode)
|
|
94
|
-
if (impressionCountsCache.start)
|
|
95
|
-
impressionCountsCache.start();
|
|
96
|
-
if (uniqueKeysCache.start)
|
|
97
|
-
uniqueKeysCache.start();
|
|
98
|
-
if (telemetry && telemetry.recordConfig)
|
|
99
|
-
telemetry.recordConfig();
|
|
100
|
-
onReadyCb();
|
|
101
|
-
}
|
|
102
|
-
}).catch(function (e) {
|
|
103
|
-
e = e || new Error('Error connecting wrapper');
|
|
104
|
-
onReadyCb(e);
|
|
105
|
-
return e; // Propagate error for shared clients
|
|
106
|
-
});
|
|
107
|
-
return {
|
|
108
|
-
splits: new SplitsCachePluggable_1.SplitsCachePluggable(log, keys, wrapper, settings.sync.__splitFiltersValidation),
|
|
109
|
-
rbSegments: new RBSegmentsCachePluggable_1.RBSegmentsCachePluggable(log, keys, wrapper),
|
|
110
|
-
segments: new SegmentsCachePluggable_1.SegmentsCachePluggable(log, keys, wrapper),
|
|
111
|
-
impressions: isPartialConsumer ? new ImpressionsCacheInMemory_1.ImpressionsCacheInMemory(impressionsQueueSize) : new ImpressionsCachePluggable_1.ImpressionsCachePluggable(log, keys.buildImpressionsKey(), wrapper, metadata),
|
|
112
|
-
impressionCounts: impressionCountsCache,
|
|
113
|
-
events: isPartialConsumer ? promisifyEventsTrack(new EventsCacheInMemory_1.EventsCacheInMemory(eventsQueueSize)) : new EventsCachePluggable_1.EventsCachePluggable(log, keys.buildEventsKey(), wrapper, metadata),
|
|
114
|
-
telemetry: telemetry,
|
|
115
|
-
uniqueKeys: uniqueKeysCache,
|
|
116
|
-
// Stop periodic flush and disconnect the underlying storage
|
|
117
|
-
destroy: function () {
|
|
118
|
-
return Promise.all(isSynchronizer ? [] : [
|
|
119
|
-
impressionCountsCache.stop && impressionCountsCache.stop(),
|
|
120
|
-
uniqueKeysCache.stop && uniqueKeysCache.stop(),
|
|
121
|
-
]).then(function () { return wrapper.disconnect(); });
|
|
122
|
-
},
|
|
123
|
-
// emits SDK_READY event on shared clients and returns a reference to the storage
|
|
124
|
-
shared: function (_, onReadyCb) {
|
|
125
|
-
connectPromise.then(onReadyCb);
|
|
126
|
-
return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, this), {
|
|
127
|
-
// no-op destroy, to disconnect the wrapper only when the main client is destroyed
|
|
128
|
-
destroy: function () { } });
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
PluggableStorageFactory.type = constants_1.STORAGE_PLUGGABLE;
|
|
133
|
-
return PluggableStorageFactory;
|
|
134
|
-
}
|
|
135
|
-
exports.PluggableStorage = PluggableStorage;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.wrapperAdapter = exports.METHODS_TO_PROMISE_WRAP = void 0;
|
|
4
|
-
var constants_1 = require("./constants");
|
|
5
|
-
exports.METHODS_TO_PROMISE_WRAP = [
|
|
6
|
-
'get',
|
|
7
|
-
'set',
|
|
8
|
-
'getAndSet',
|
|
9
|
-
'del',
|
|
10
|
-
'getKeysByPrefix',
|
|
11
|
-
'incr',
|
|
12
|
-
'decr',
|
|
13
|
-
'getMany',
|
|
14
|
-
'pushItems',
|
|
15
|
-
'popItems',
|
|
16
|
-
'getItemsCount',
|
|
17
|
-
'itemContains',
|
|
18
|
-
'addItems',
|
|
19
|
-
'removeItems',
|
|
20
|
-
'getItems',
|
|
21
|
-
'connect',
|
|
22
|
-
'disconnect'
|
|
23
|
-
];
|
|
24
|
-
/**
|
|
25
|
-
* Adapter of the Pluggable Storage Wrapper.
|
|
26
|
-
* Used to handle exceptions as rejected promises, in order to simplify the error handling on storages.
|
|
27
|
-
*
|
|
28
|
-
* @param log - logger instance
|
|
29
|
-
* @param wrapper - storage wrapper to adapt
|
|
30
|
-
* @returns an adapted version of the given storage wrapper
|
|
31
|
-
*/
|
|
32
|
-
function wrapperAdapter(log, wrapper) {
|
|
33
|
-
var wrapperAdapter = {};
|
|
34
|
-
exports.METHODS_TO_PROMISE_WRAP.forEach(function (method) {
|
|
35
|
-
// Logs error and wraps it into a rejected promise.
|
|
36
|
-
function handleError(e) {
|
|
37
|
-
log.error(constants_1.LOG_PREFIX + " Wrapper '" + method + "' operation threw an error. Message: " + e);
|
|
38
|
-
return Promise.reject(e);
|
|
39
|
-
}
|
|
40
|
-
wrapperAdapter[method] = function () {
|
|
41
|
-
try {
|
|
42
|
-
// @ts-ignore
|
|
43
|
-
return wrapper[method].apply(wrapper, arguments).then(function (value) { return value; }).catch(handleError);
|
|
44
|
-
}
|
|
45
|
-
catch (e) {
|
|
46
|
-
return handleError(e);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
// @ts-ignore
|
|
51
|
-
return wrapperAdapter;
|
|
52
|
-
}
|
|
53
|
-
exports.wrapperAdapter = wrapperAdapter;
|
package/cjs/storages/types.js
DELETED
package/cjs/storages/utils.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Shared utils for Redis and Pluggable storage
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.parseLatencyField = exports.parseExceptionField = exports.parseMetadata = exports.impressionsToJSON = exports.metadataBuilder = void 0;
|
|
5
|
-
var constants_1 = require("../utils/constants");
|
|
6
|
-
var TelemetryCacheInMemory_1 = require("./inMemory/TelemetryCacheInMemory");
|
|
7
|
-
var KeyBuilderSS_1 = require("./KeyBuilderSS");
|
|
8
|
-
function metadataBuilder(settings) {
|
|
9
|
-
return {
|
|
10
|
-
s: settings.version,
|
|
11
|
-
i: settings.runtime.ip || constants_1.UNKNOWN,
|
|
12
|
-
n: settings.runtime.hostname || constants_1.UNKNOWN,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
exports.metadataBuilder = metadataBuilder;
|
|
16
|
-
// Converts impressions to be stored in Redis or pluggable storage.
|
|
17
|
-
function impressionsToJSON(impressions, metadata) {
|
|
18
|
-
return impressions.map(function (impression) {
|
|
19
|
-
var impressionWithMetadata = {
|
|
20
|
-
m: metadata,
|
|
21
|
-
i: {
|
|
22
|
-
k: impression.keyName,
|
|
23
|
-
b: impression.bucketingKey,
|
|
24
|
-
f: impression.feature,
|
|
25
|
-
t: impression.treatment,
|
|
26
|
-
r: impression.label,
|
|
27
|
-
c: impression.changeNumber,
|
|
28
|
-
m: impression.time,
|
|
29
|
-
pt: impression.pt,
|
|
30
|
-
properties: impression.properties
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
return JSON.stringify(impressionWithMetadata);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
exports.impressionsToJSON = impressionsToJSON;
|
|
37
|
-
// Utilities used by TelemetryCacheInRedis and TelemetryCachePluggable
|
|
38
|
-
var REVERSE_METHOD_NAMES = Object.keys(KeyBuilderSS_1.METHOD_NAMES).reduce(function (acc, key) {
|
|
39
|
-
acc[KeyBuilderSS_1.METHOD_NAMES[key]] = key;
|
|
40
|
-
return acc;
|
|
41
|
-
}, {});
|
|
42
|
-
function parseMetadata(field) {
|
|
43
|
-
var parts = field.split('/');
|
|
44
|
-
if (parts.length !== 3)
|
|
45
|
-
return "invalid subsection count. Expected 3, got: " + parts.length;
|
|
46
|
-
var s = parts[0] /* metadata.s */, n = parts[1] /* metadata.n */, i = parts[2] /* metadata.i */;
|
|
47
|
-
return [JSON.stringify({ s: s, n: n, i: i })];
|
|
48
|
-
}
|
|
49
|
-
exports.parseMetadata = parseMetadata;
|
|
50
|
-
function parseExceptionField(field) {
|
|
51
|
-
var parts = field.split('/');
|
|
52
|
-
if (parts.length !== 4)
|
|
53
|
-
return "invalid subsection count. Expected 4, got: " + parts.length;
|
|
54
|
-
var s = parts[0] /* metadata.s */, n = parts[1] /* metadata.n */, i = parts[2] /* metadata.i */, m = parts[3];
|
|
55
|
-
var method = REVERSE_METHOD_NAMES[m];
|
|
56
|
-
if (!method)
|
|
57
|
-
return "unknown method '" + m + "'";
|
|
58
|
-
return [JSON.stringify({ s: s, n: n, i: i }), method];
|
|
59
|
-
}
|
|
60
|
-
exports.parseExceptionField = parseExceptionField;
|
|
61
|
-
function parseLatencyField(field) {
|
|
62
|
-
var parts = field.split('/');
|
|
63
|
-
if (parts.length !== 5)
|
|
64
|
-
return "invalid subsection count. Expected 5, got: " + parts.length;
|
|
65
|
-
var s = parts[0] /* metadata.s */, n = parts[1] /* metadata.n */, i = parts[2] /* metadata.i */, m = parts[3], b = parts[4];
|
|
66
|
-
var method = REVERSE_METHOD_NAMES[m];
|
|
67
|
-
if (!method)
|
|
68
|
-
return "unknown method '" + m + "'";
|
|
69
|
-
var bucket = parseInt(b);
|
|
70
|
-
if (isNaN(bucket) || bucket >= TelemetryCacheInMemory_1.MAX_LATENCY_BUCKET_COUNT)
|
|
71
|
-
return "invalid bucket. Expected a number between 0 and " + (TelemetryCacheInMemory_1.MAX_LATENCY_BUCKET_COUNT - 1) + ", got: " + b;
|
|
72
|
-
return [JSON.stringify({ s: s, n: n, i: i }), method, bucket];
|
|
73
|
-
}
|
|
74
|
-
exports.parseLatencyField = parseLatencyField;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.localhostFromObjectFactory = void 0;
|
|
4
|
-
var splitsParserFromSettings_1 = require("./splitsParser/splitsParserFromSettings");
|
|
5
|
-
var syncManagerOffline_1 = require("./syncManagerOffline");
|
|
6
|
-
// Singleton instance of the factory function for offline SyncManager from object
|
|
7
|
-
// SDK instances instantiate their SyncManagers with the same factory
|
|
8
|
-
exports.localhostFromObjectFactory = (0, syncManagerOffline_1.syncManagerOfflineFactory)(splitsParserFromSettings_1.splitsParserFromSettingsFactory);
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseCondition = void 0;
|
|
4
|
-
var lang_1 = require("../../../utils/lang");
|
|
5
|
-
function parseCondition(data) {
|
|
6
|
-
var treatment = data.treatment;
|
|
7
|
-
if (data.keys) {
|
|
8
|
-
return {
|
|
9
|
-
conditionType: 'WHITELIST',
|
|
10
|
-
matcherGroup: {
|
|
11
|
-
combiner: 'AND',
|
|
12
|
-
matchers: [
|
|
13
|
-
{
|
|
14
|
-
keySelector: null,
|
|
15
|
-
matcherType: 'WHITELIST',
|
|
16
|
-
negate: false,
|
|
17
|
-
whitelistMatcherData: {
|
|
18
|
-
whitelist: (0, lang_1.isString)(data.keys) ? [data.keys] : data.keys
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
},
|
|
23
|
-
partitions: [
|
|
24
|
-
{
|
|
25
|
-
treatment: treatment,
|
|
26
|
-
size: 100
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
label: "whitelisted " + treatment
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return {
|
|
34
|
-
conditionType: 'ROLLOUT',
|
|
35
|
-
matcherGroup: {
|
|
36
|
-
combiner: 'AND',
|
|
37
|
-
matchers: [
|
|
38
|
-
{
|
|
39
|
-
keySelector: null,
|
|
40
|
-
matcherType: 'ALL_KEYS',
|
|
41
|
-
negate: false
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
partitions: [
|
|
46
|
-
{
|
|
47
|
-
treatment: treatment,
|
|
48
|
-
size: 100
|
|
49
|
-
}
|
|
50
|
-
],
|
|
51
|
-
label: 'default rule'
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.parseCondition = parseCondition;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.splitsParserFromSettingsFactory = void 0;
|
|
4
|
-
var lang_1 = require("../../../utils/lang");
|
|
5
|
-
var parseCondition_1 = require("./parseCondition");
|
|
6
|
-
function hasTreatmentChanged(prev, curr) {
|
|
7
|
-
if (typeof prev !== typeof curr)
|
|
8
|
-
return true;
|
|
9
|
-
if (typeof prev === 'string') { // strings treatments, just compare
|
|
10
|
-
return prev !== curr;
|
|
11
|
-
}
|
|
12
|
-
else { // has treatment and config, compare both
|
|
13
|
-
return prev.treatment !== curr.treatment || prev.config !== curr.config;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
function splitsParserFromSettingsFactory() {
|
|
17
|
-
var previousMock = { 'emptyMock': '1' };
|
|
18
|
-
function mockUpdated(currentData) {
|
|
19
|
-
var names = Object.keys(currentData);
|
|
20
|
-
// Different amount of items
|
|
21
|
-
if (names.length !== Object.keys(previousMock).length) {
|
|
22
|
-
previousMock = (0, lang_1.merge)({}, currentData);
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
return names.some(function (name) {
|
|
26
|
-
var newSplit = !previousMock[name];
|
|
27
|
-
var newTreatment = hasTreatmentChanged(previousMock[name], currentData[name]);
|
|
28
|
-
var changed = newSplit || newTreatment;
|
|
29
|
-
if (changed)
|
|
30
|
-
previousMock = (0, lang_1.merge)({}, currentData);
|
|
31
|
-
return changed;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
* @param settings - validated object with mocked features mapping.
|
|
37
|
-
*/
|
|
38
|
-
return function splitsParserFromSettings(settings) {
|
|
39
|
-
var features = settings.features || {};
|
|
40
|
-
if (!mockUpdated(features))
|
|
41
|
-
return false;
|
|
42
|
-
var splitObjects = {};
|
|
43
|
-
(0, lang_1.forOwn)(features, function (data, splitName) {
|
|
44
|
-
var treatment = data;
|
|
45
|
-
var config = null;
|
|
46
|
-
if ((0, lang_1.isObject)(data)) {
|
|
47
|
-
treatment = data.treatment;
|
|
48
|
-
config = data.config || config;
|
|
49
|
-
}
|
|
50
|
-
var configurations = {};
|
|
51
|
-
if (config !== null)
|
|
52
|
-
configurations[treatment] = config;
|
|
53
|
-
splitObjects[splitName] = {
|
|
54
|
-
trafficTypeName: 'localhost',
|
|
55
|
-
conditions: [(0, parseCondition_1.parseCondition)({ treatment: treatment })],
|
|
56
|
-
configurations: configurations
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
return splitObjects;
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
exports.splitsParserFromSettingsFactory = splitsParserFromSettingsFactory;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.syncManagerOfflineFactory = void 0;
|
|
4
|
-
var fromObjectSyncTask_1 = require("./syncTasks/fromObjectSyncTask");
|
|
5
|
-
var objectAssign_1 = require("../../utils/lang/objectAssign");
|
|
6
|
-
var constants_1 = require("../../readiness/constants");
|
|
7
|
-
function flush() {
|
|
8
|
-
return Promise.resolve();
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Offline SyncManager factory.
|
|
12
|
-
* Can be used for server-side API, and client-side API with or without multiple clients.
|
|
13
|
-
*
|
|
14
|
-
* @param splitsParser - e.g., `splitsParserFromFile`, `splitsParserFromSettings`.
|
|
15
|
-
*/
|
|
16
|
-
function syncManagerOfflineFactory(splitsParserFactory) {
|
|
17
|
-
/**
|
|
18
|
-
* SyncManager factory for modular SDK
|
|
19
|
-
*/
|
|
20
|
-
return function (_a) {
|
|
21
|
-
var settings = _a.settings, readiness = _a.readiness, storage = _a.storage;
|
|
22
|
-
var mainSyncManager = (0, fromObjectSyncTask_1.fromObjectSyncTaskFactory)(splitsParserFactory(), storage, readiness, settings);
|
|
23
|
-
var mainStart = mainSyncManager.start;
|
|
24
|
-
var sharedStarts = [];
|
|
25
|
-
return (0, objectAssign_1.objectAssign)(mainSyncManager, {
|
|
26
|
-
start: function () {
|
|
27
|
-
mainStart();
|
|
28
|
-
sharedStarts.forEach(function (cb) { return cb(); });
|
|
29
|
-
sharedStarts.length = 0;
|
|
30
|
-
},
|
|
31
|
-
// fake flush, that resolves immediately
|
|
32
|
-
flush: flush,
|
|
33
|
-
// [Only used for client-side]
|
|
34
|
-
shared: function (matchingKey, readinessManager) {
|
|
35
|
-
// In LOCALHOST mode, shared clients are ready in the next event-loop cycle than created
|
|
36
|
-
// SDK_READY cannot be emitted directly because this will not update the readiness status
|
|
37
|
-
function emitSdkReady() {
|
|
38
|
-
readinessManager.segments.emit(constants_1.SDK_SEGMENTS_ARRIVED); // SDK_SPLITS_ARRIVED emitted by main SyncManager
|
|
39
|
-
}
|
|
40
|
-
if (mainSyncManager.isRunning())
|
|
41
|
-
setTimeout(emitSdkReady);
|
|
42
|
-
else
|
|
43
|
-
sharedStarts.push(emitSdkReady);
|
|
44
|
-
return {
|
|
45
|
-
stop: function () { },
|
|
46
|
-
flush: flush,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
exports.syncManagerOfflineFactory = syncManagerOfflineFactory;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fromObjectSyncTaskFactory = exports.fromObjectUpdaterFactory = void 0;
|
|
4
|
-
var lang_1 = require("../../../utils/lang");
|
|
5
|
-
var syncTask_1 = require("../../syncTask");
|
|
6
|
-
var constants_1 = require("../../../utils/constants");
|
|
7
|
-
var constants_2 = require("../../../readiness/constants");
|
|
8
|
-
var constants_3 = require("../../../logger/constants");
|
|
9
|
-
/**
|
|
10
|
-
* Offline equivalent of `splitChangesUpdaterFactory`
|
|
11
|
-
*/
|
|
12
|
-
function fromObjectUpdaterFactory(splitsParser, storage, readiness, settings) {
|
|
13
|
-
var log = settings.log, splitsCache = storage.splits;
|
|
14
|
-
var startingUp = true;
|
|
15
|
-
return function objectUpdater() {
|
|
16
|
-
var splits = [];
|
|
17
|
-
var loadError = null;
|
|
18
|
-
var splitsMock = {};
|
|
19
|
-
try {
|
|
20
|
-
splitsMock = splitsParser(settings);
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
loadError = err;
|
|
24
|
-
log.error(constants_3.ERROR_SYNC_OFFLINE_LOADING, [err]);
|
|
25
|
-
}
|
|
26
|
-
if (!loadError && splitsMock) {
|
|
27
|
-
log.debug(constants_3.SYNC_OFFLINE_DATA, [JSON.stringify(splitsMock)]);
|
|
28
|
-
(0, lang_1.forOwn)(splitsMock, function (val, name) {
|
|
29
|
-
// @ts-ignore Split changeNumber and seed is undefined in localhost mode
|
|
30
|
-
splits.push({
|
|
31
|
-
name: name,
|
|
32
|
-
status: 'ACTIVE',
|
|
33
|
-
killed: false,
|
|
34
|
-
trafficAllocation: 100,
|
|
35
|
-
defaultTreatment: constants_1.CONTROL,
|
|
36
|
-
conditions: val.conditions || [],
|
|
37
|
-
configurations: val.configurations,
|
|
38
|
-
trafficTypeName: val.trafficTypeName
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
return Promise.all([
|
|
42
|
-
splitsCache.clear(),
|
|
43
|
-
splitsCache.update(splits, [], Date.now())
|
|
44
|
-
]).then(function () {
|
|
45
|
-
readiness.splits.emit(constants_2.SDK_SPLITS_ARRIVED);
|
|
46
|
-
if (startingUp) {
|
|
47
|
-
startingUp = false;
|
|
48
|
-
var isCacheLoaded_1 = storage.validateCache ? storage.validateCache() : false;
|
|
49
|
-
Promise.resolve().then(function () {
|
|
50
|
-
// Emits SDK_READY_FROM_CACHE
|
|
51
|
-
if (isCacheLoaded_1)
|
|
52
|
-
readiness.splits.emit(constants_2.SDK_SPLITS_CACHE_LOADED);
|
|
53
|
-
// Emits SDK_READY
|
|
54
|
-
readiness.segments.emit(constants_2.SDK_SEGMENTS_ARRIVED);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return true;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
return Promise.resolve(true);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
exports.fromObjectUpdaterFactory = fromObjectUpdaterFactory;
|
|
66
|
-
/**
|
|
67
|
-
* PollingManager in Offline mode
|
|
68
|
-
*/
|
|
69
|
-
function fromObjectSyncTaskFactory(splitsParser, storage, readiness, settings) {
|
|
70
|
-
return (0, syncTask_1.syncTaskFactory)(settings.log, fromObjectUpdaterFactory(splitsParser, storage, readiness, settings), settings.scheduler.offlineRefreshRate, 'offlineUpdater');
|
|
71
|
-
}
|
|
72
|
-
exports.fromObjectSyncTaskFactory = fromObjectSyncTaskFactory;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mySegmentsFetcherFactory = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Factory of MySegments fetcher.
|
|
6
|
-
* MySegments fetcher is a wrapper around `mySegments` API service that parses the response and handle errors.
|
|
7
|
-
*/
|
|
8
|
-
function mySegmentsFetcherFactory(fetchMemberships) {
|
|
9
|
-
return function mySegmentsFetcher(userMatchingKey, noCache, till,
|
|
10
|
-
// Optional decorator for `fetchMemberships` promise, such as timeout or time tracker
|
|
11
|
-
decorator) {
|
|
12
|
-
var mySegmentsPromise = fetchMemberships(userMatchingKey, noCache, till);
|
|
13
|
-
if (decorator)
|
|
14
|
-
mySegmentsPromise = decorator(mySegmentsPromise);
|
|
15
|
-
return mySegmentsPromise.then(function (resp) { return resp.json(); });
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
exports.mySegmentsFetcherFactory = mySegmentsFetcherFactory;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.segmentChangesFetcherFactory = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
function greedyFetch(fetchSegmentChanges, since, segmentName, noCache, targetTill) {
|
|
6
|
-
return fetchSegmentChanges(since, segmentName, noCache, targetTill)
|
|
7
|
-
.then(function (resp) { return resp.json(); })
|
|
8
|
-
.then(function (json) {
|
|
9
|
-
var since = json.since, till = json.till;
|
|
10
|
-
if (since === till) {
|
|
11
|
-
return [json];
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
return Promise.all([json, greedyFetch(fetchSegmentChanges, till, segmentName, noCache, targetTill)]).then(function (flatMe) {
|
|
15
|
-
return (0, tslib_1.__spreadArray)([flatMe[0]], flatMe[1], true);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Factory of SegmentChanges fetcher.
|
|
22
|
-
* SegmentChanges fetcher is a wrapper around `segmentChanges` API service that parses the response and handle errors and retries.
|
|
23
|
-
*/
|
|
24
|
-
function segmentChangesFetcherFactory(fetchSegmentChanges) {
|
|
25
|
-
return function segmentChangesFetcher(since, segmentName, noCache, till,
|
|
26
|
-
// Optional decorator for `fetchSegmentChanges` promise, such as timeout or time tracker
|
|
27
|
-
decorator) {
|
|
28
|
-
var segmentsPromise = greedyFetch(fetchSegmentChanges, since, segmentName, noCache, till);
|
|
29
|
-
if (decorator)
|
|
30
|
-
segmentsPromise = decorator(segmentsPromise);
|
|
31
|
-
return segmentsPromise;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
exports.segmentChangesFetcherFactory = segmentChangesFetcherFactory;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.splitChangesFetcherFactory = void 0;
|
|
4
|
-
var constants_1 = require("../../../utils/constants");
|
|
5
|
-
var settingsValidation_1 = require("../../../utils/settingsValidation");
|
|
6
|
-
var constants_2 = require("../../../logger/constants");
|
|
7
|
-
var PROXY_CHECK_INTERVAL_MILLIS_CS = 60 * 60 * 1000; // 1 hour in Client Side
|
|
8
|
-
var PROXY_CHECK_INTERVAL_MILLIS_SS = 24 * PROXY_CHECK_INTERVAL_MILLIS_CS; // 24 hours in Server Side
|
|
9
|
-
function sdkEndpointOverridden(settings) {
|
|
10
|
-
return settings.urls.sdk !== settingsValidation_1.base.urls.sdk;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Factory of SplitChanges fetcher.
|
|
14
|
-
* SplitChanges fetcher is a wrapper around `splitChanges` API service that parses the response and handle errors.
|
|
15
|
-
*/
|
|
16
|
-
// @TODO breaking: drop support for Split Proxy below v5.10.0 and simplify the implementation
|
|
17
|
-
function splitChangesFetcherFactory(fetchSplitChanges, settings, storage) {
|
|
18
|
-
var log = settings.log;
|
|
19
|
-
var PROXY_CHECK_INTERVAL_MILLIS = settings.core.key !== undefined ? PROXY_CHECK_INTERVAL_MILLIS_CS : PROXY_CHECK_INTERVAL_MILLIS_SS;
|
|
20
|
-
var lastProxyCheckTimestamp;
|
|
21
|
-
return function splitChangesFetcher(since, noCache, till, rbSince,
|
|
22
|
-
// Optional decorator for `fetchSplitChanges` promise, such as timeout or time tracker
|
|
23
|
-
decorator) {
|
|
24
|
-
// Recheck proxy
|
|
25
|
-
if (lastProxyCheckTimestamp && (Date.now() - lastProxyCheckTimestamp) > PROXY_CHECK_INTERVAL_MILLIS) {
|
|
26
|
-
settings.sync.flagSpecVersion = constants_1.FLAG_SPEC_VERSION;
|
|
27
|
-
}
|
|
28
|
-
var splitsPromise = fetchSplitChanges(since, noCache, till, settings.sync.flagSpecVersion === constants_1.FLAG_SPEC_VERSION ? rbSince : undefined)
|
|
29
|
-
.catch(function (err) {
|
|
30
|
-
// Handle proxy error with spec 1.3
|
|
31
|
-
if ((!err.statusCode || err.statusCode === 400) && sdkEndpointOverridden(settings) && settings.sync.flagSpecVersion === constants_1.FLAG_SPEC_VERSION) {
|
|
32
|
-
log.error(constants_2.LOG_PREFIX_SYNC_SPLITS + 'Proxy error detected. Retrying with spec 1.2. If you are using Split Proxy, please upgrade to latest version');
|
|
33
|
-
lastProxyCheckTimestamp = Date.now();
|
|
34
|
-
settings.sync.flagSpecVersion = '1.2'; // fallback to 1.2 spec
|
|
35
|
-
return fetchSplitChanges(since, noCache, till); // retry request without rbSince
|
|
36
|
-
}
|
|
37
|
-
throw err;
|
|
38
|
-
});
|
|
39
|
-
if (decorator)
|
|
40
|
-
splitsPromise = decorator(splitsPromise);
|
|
41
|
-
return splitsPromise
|
|
42
|
-
.then(function (resp) { return resp.json(); })
|
|
43
|
-
.then(function (data) {
|
|
44
|
-
// Using flag spec version 1.2 or below
|
|
45
|
-
if (data.splits) {
|
|
46
|
-
return {
|
|
47
|
-
ff: {
|
|
48
|
-
d: data.splits,
|
|
49
|
-
s: data.since,
|
|
50
|
-
t: data.till
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
// Proxy recovery
|
|
55
|
-
if (lastProxyCheckTimestamp) {
|
|
56
|
-
log.info(constants_2.LOG_PREFIX_SYNC_SPLITS + 'Proxy error recovered');
|
|
57
|
-
lastProxyCheckTimestamp = undefined;
|
|
58
|
-
return splitChangesFetcher(-1, undefined, undefined, -1)
|
|
59
|
-
.then(function (splitChangesResponse) {
|
|
60
|
-
return Promise.all([storage.splits.clear(), storage.rbSegments.clear()])
|
|
61
|
-
.then(function () { return splitChangesResponse; });
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
return data;
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
exports.splitChangesFetcherFactory = splitChangesFetcherFactory;
|