@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,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InLocalStorage = void 0;
|
|
4
|
-
var ImpressionsCacheInMemory_1 = require("../inMemory/ImpressionsCacheInMemory");
|
|
5
|
-
var ImpressionCountsCacheInMemory_1 = require("../inMemory/ImpressionCountsCacheInMemory");
|
|
6
|
-
var EventsCacheInMemory_1 = require("../inMemory/EventsCacheInMemory");
|
|
7
|
-
var KeyBuilder_1 = require("../KeyBuilder");
|
|
8
|
-
var KeyBuilderCS_1 = require("../KeyBuilderCS");
|
|
9
|
-
var isLocalStorageAvailable_1 = require("../../utils/env/isLocalStorageAvailable");
|
|
10
|
-
var SplitsCacheInLocal_1 = require("./SplitsCacheInLocal");
|
|
11
|
-
var RBSegmentsCacheInLocal_1 = require("./RBSegmentsCacheInLocal");
|
|
12
|
-
var MySegmentsCacheInLocal_1 = require("./MySegmentsCacheInLocal");
|
|
13
|
-
var InMemoryStorageCS_1 = require("../inMemory/InMemoryStorageCS");
|
|
14
|
-
var constants_1 = require("./constants");
|
|
15
|
-
var constants_2 = require("../../utils/constants");
|
|
16
|
-
var TelemetryCacheInMemory_1 = require("../inMemory/TelemetryCacheInMemory");
|
|
17
|
-
var UniqueKeysCacheInMemoryCS_1 = require("../inMemory/UniqueKeysCacheInMemoryCS");
|
|
18
|
-
var key_1 = require("../../utils/key");
|
|
19
|
-
var validateCache_1 = require("./validateCache");
|
|
20
|
-
/**
|
|
21
|
-
* InLocal storage factory for standalone client-side SplitFactory
|
|
22
|
-
*/
|
|
23
|
-
function InLocalStorage(options) {
|
|
24
|
-
if (options === void 0) { options = {}; }
|
|
25
|
-
var prefix = (0, KeyBuilder_1.validatePrefix)(options.prefix);
|
|
26
|
-
function InLocalStorageCSFactory(params) {
|
|
27
|
-
// Fallback to InMemoryStorage if LocalStorage API is not available
|
|
28
|
-
if (!(0, isLocalStorageAvailable_1.isLocalStorageAvailable)()) {
|
|
29
|
-
params.settings.log.warn(constants_1.LOG_PREFIX + 'LocalStorage API is unavailable. Falling back to default MEMORY storage');
|
|
30
|
-
return (0, InMemoryStorageCS_1.InMemoryStorageCSFactory)(params);
|
|
31
|
-
}
|
|
32
|
-
var settings = params.settings, _a = params.settings, log = _a.log, _b = _a.scheduler, impressionsQueueSize = _b.impressionsQueueSize, eventsQueueSize = _b.eventsQueueSize;
|
|
33
|
-
var matchingKey = (0, key_1.getMatching)(settings.core.key);
|
|
34
|
-
var keys = new KeyBuilderCS_1.KeyBuilderCS(prefix, matchingKey);
|
|
35
|
-
var splits = new SplitsCacheInLocal_1.SplitsCacheInLocal(settings, keys);
|
|
36
|
-
var rbSegments = new RBSegmentsCacheInLocal_1.RBSegmentsCacheInLocal(settings, keys);
|
|
37
|
-
var segments = new MySegmentsCacheInLocal_1.MySegmentsCacheInLocal(log, keys);
|
|
38
|
-
var largeSegments = new MySegmentsCacheInLocal_1.MySegmentsCacheInLocal(log, (0, KeyBuilderCS_1.myLargeSegmentsKeyBuilder)(prefix, matchingKey));
|
|
39
|
-
return {
|
|
40
|
-
splits: splits,
|
|
41
|
-
rbSegments: rbSegments,
|
|
42
|
-
segments: segments,
|
|
43
|
-
largeSegments: largeSegments,
|
|
44
|
-
impressions: new ImpressionsCacheInMemory_1.ImpressionsCacheInMemory(impressionsQueueSize),
|
|
45
|
-
impressionCounts: new ImpressionCountsCacheInMemory_1.ImpressionCountsCacheInMemory(),
|
|
46
|
-
events: new EventsCacheInMemory_1.EventsCacheInMemory(eventsQueueSize),
|
|
47
|
-
telemetry: (0, TelemetryCacheInMemory_1.shouldRecordTelemetry)(params) ? new TelemetryCacheInMemory_1.TelemetryCacheInMemory(splits, segments) : undefined,
|
|
48
|
-
uniqueKeys: new UniqueKeysCacheInMemoryCS_1.UniqueKeysCacheInMemoryCS(),
|
|
49
|
-
validateCache: function () {
|
|
50
|
-
return (0, validateCache_1.validateCache)(options, settings, keys, splits, rbSegments, segments, largeSegments);
|
|
51
|
-
},
|
|
52
|
-
destroy: function () { },
|
|
53
|
-
// When using shared instantiation with MEMORY we reuse everything but segments (they are customer per key).
|
|
54
|
-
shared: function (matchingKey) {
|
|
55
|
-
return {
|
|
56
|
-
splits: this.splits,
|
|
57
|
-
rbSegments: this.rbSegments,
|
|
58
|
-
segments: new MySegmentsCacheInLocal_1.MySegmentsCacheInLocal(log, new KeyBuilderCS_1.KeyBuilderCS(prefix, matchingKey)),
|
|
59
|
-
largeSegments: new MySegmentsCacheInLocal_1.MySegmentsCacheInLocal(log, (0, KeyBuilderCS_1.myLargeSegmentsKeyBuilder)(prefix, matchingKey)),
|
|
60
|
-
impressions: this.impressions,
|
|
61
|
-
impressionCounts: this.impressionCounts,
|
|
62
|
-
events: this.events,
|
|
63
|
-
telemetry: this.telemetry,
|
|
64
|
-
uniqueKeys: this.uniqueKeys,
|
|
65
|
-
destroy: function () { }
|
|
66
|
-
};
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
InLocalStorageCSFactory.type = constants_2.STORAGE_LOCALSTORAGE;
|
|
71
|
-
return InLocalStorageCSFactory;
|
|
72
|
-
}
|
|
73
|
-
exports.InLocalStorage = InLocalStorage;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateCache = void 0;
|
|
4
|
-
var lang_1 = require("../../utils/lang");
|
|
5
|
-
var KeyBuilder_1 = require("../KeyBuilder");
|
|
6
|
-
var constants_1 = require("./constants");
|
|
7
|
-
var DEFAULT_CACHE_EXPIRATION_IN_DAYS = 10;
|
|
8
|
-
var MILLIS_IN_A_DAY = 86400000;
|
|
9
|
-
/**
|
|
10
|
-
* Validates if cache should be cleared and sets the cache `hash` if needed.
|
|
11
|
-
*
|
|
12
|
-
* @returns `true` if cache should be cleared, `false` otherwise
|
|
13
|
-
*/
|
|
14
|
-
function validateExpiration(options, settings, keys, currentTimestamp, isThereCache) {
|
|
15
|
-
var log = settings.log;
|
|
16
|
-
// Check expiration
|
|
17
|
-
var lastUpdatedTimestamp = parseInt(localStorage.getItem(keys.buildLastUpdatedKey()), 10);
|
|
18
|
-
if (!(0, lang_1.isNaNNumber)(lastUpdatedTimestamp)) {
|
|
19
|
-
var cacheExpirationInDays = (0, lang_1.isFiniteNumber)(options.expirationDays) && options.expirationDays >= 1 ? options.expirationDays : DEFAULT_CACHE_EXPIRATION_IN_DAYS;
|
|
20
|
-
var expirationTimestamp = currentTimestamp - MILLIS_IN_A_DAY * cacheExpirationInDays;
|
|
21
|
-
if (lastUpdatedTimestamp < expirationTimestamp) {
|
|
22
|
-
log.info(constants_1.LOG_PREFIX + 'Cache expired more than ' + cacheExpirationInDays + ' days ago. Cleaning up cache');
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
// Check hash
|
|
27
|
-
var storageHashKey = keys.buildHashKey();
|
|
28
|
-
var storageHash = localStorage.getItem(storageHashKey);
|
|
29
|
-
var currentStorageHash = (0, KeyBuilder_1.getStorageHash)(settings);
|
|
30
|
-
if (storageHash !== currentStorageHash) {
|
|
31
|
-
try {
|
|
32
|
-
localStorage.setItem(storageHashKey, currentStorageHash);
|
|
33
|
-
}
|
|
34
|
-
catch (e) {
|
|
35
|
-
log.error(constants_1.LOG_PREFIX + e);
|
|
36
|
-
}
|
|
37
|
-
if (isThereCache) {
|
|
38
|
-
log.info(constants_1.LOG_PREFIX + 'SDK key, flags filter criteria, or flags spec version has changed. Cleaning up cache');
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
return false; // No cache to clear
|
|
42
|
-
}
|
|
43
|
-
// Clear on init
|
|
44
|
-
if (options.clearOnInit) {
|
|
45
|
-
var lastClearTimestamp = parseInt(localStorage.getItem(keys.buildLastClear()), 10);
|
|
46
|
-
if ((0, lang_1.isNaNNumber)(lastClearTimestamp) || lastClearTimestamp < currentTimestamp - MILLIS_IN_A_DAY) {
|
|
47
|
-
log.info(constants_1.LOG_PREFIX + 'clearOnInit was set and cache was not cleared in the last 24 hours. Cleaning up cache');
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Clean cache if:
|
|
54
|
-
* - it has expired, i.e., its `lastUpdated` timestamp is older than the given `expirationTimestamp`
|
|
55
|
-
* - its hash has changed, i.e., the SDK key, flags filter criteria or flags spec version was modified
|
|
56
|
-
* - `clearOnInit` was set and cache was not cleared in the last 24 hours
|
|
57
|
-
*
|
|
58
|
-
* @returns `true` if cache is ready to be used, `false` otherwise (cache was cleared or there is no cache)
|
|
59
|
-
*/
|
|
60
|
-
function validateCache(options, settings, keys, splits, rbSegments, segments, largeSegments) {
|
|
61
|
-
var currentTimestamp = Date.now();
|
|
62
|
-
var isThereCache = splits.getChangeNumber() > -1;
|
|
63
|
-
if (validateExpiration(options, settings, keys, currentTimestamp, isThereCache)) {
|
|
64
|
-
splits.clear();
|
|
65
|
-
rbSegments.clear();
|
|
66
|
-
segments.clear();
|
|
67
|
-
largeSegments.clear();
|
|
68
|
-
// Update last clear timestamp
|
|
69
|
-
try {
|
|
70
|
-
localStorage.setItem(keys.buildLastClear(), currentTimestamp + '');
|
|
71
|
-
}
|
|
72
|
-
catch (e) {
|
|
73
|
-
settings.log.error(constants_1.LOG_PREFIX + e);
|
|
74
|
-
}
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
// Check if ready from cache
|
|
78
|
-
return isThereCache;
|
|
79
|
-
}
|
|
80
|
-
exports.validateCache = validateCache;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AttributesCacheInMemory = void 0;
|
|
4
|
-
var objectAssign_1 = require("../../utils/lang/objectAssign");
|
|
5
|
-
var AttributesCacheInMemory = /** @class */ (function () {
|
|
6
|
-
function AttributesCacheInMemory() {
|
|
7
|
-
this.attributesCache = {};
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Create or update the value for the given attribute
|
|
11
|
-
*
|
|
12
|
-
* @param attributeName - attribute name
|
|
13
|
-
* @param attributeValue - attribute value
|
|
14
|
-
* @returns the attribute was stored
|
|
15
|
-
*/
|
|
16
|
-
AttributesCacheInMemory.prototype.setAttribute = function (attributeName, attributeValue) {
|
|
17
|
-
this.attributesCache[attributeName] = attributeValue;
|
|
18
|
-
return true;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Retrieves the value of a given attribute
|
|
22
|
-
*
|
|
23
|
-
* @param attributeName - attribute name
|
|
24
|
-
* @returns stored attribute value
|
|
25
|
-
*/
|
|
26
|
-
AttributesCacheInMemory.prototype.getAttribute = function (attributeName) {
|
|
27
|
-
return this.attributesCache[attributeName];
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Create or update all the given attributes
|
|
31
|
-
*
|
|
32
|
-
* @param attributes - attributes to create or update
|
|
33
|
-
* @returns attributes were stored
|
|
34
|
-
*/
|
|
35
|
-
AttributesCacheInMemory.prototype.setAttributes = function (attributes) {
|
|
36
|
-
this.attributesCache = (0, objectAssign_1.objectAssign)(this.attributesCache, attributes);
|
|
37
|
-
return true;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Retrieve the full attributes map
|
|
41
|
-
*
|
|
42
|
-
* @returns stored attributes
|
|
43
|
-
*/
|
|
44
|
-
AttributesCacheInMemory.prototype.getAll = function () {
|
|
45
|
-
return this.attributesCache;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Removes a given attribute from the map
|
|
49
|
-
*
|
|
50
|
-
* @param attributeName - attribute to remove
|
|
51
|
-
* @returns attribute removed
|
|
52
|
-
*/
|
|
53
|
-
AttributesCacheInMemory.prototype.removeAttribute = function (attributeName) {
|
|
54
|
-
if (Object.keys(this.attributesCache).indexOf(attributeName) >= 0) {
|
|
55
|
-
delete this.attributesCache[attributeName];
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
return false;
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Clears all attributes stored in the SDK
|
|
62
|
-
*
|
|
63
|
-
*/
|
|
64
|
-
AttributesCacheInMemory.prototype.clear = function () {
|
|
65
|
-
this.attributesCache = {};
|
|
66
|
-
return true;
|
|
67
|
-
};
|
|
68
|
-
return AttributesCacheInMemory;
|
|
69
|
-
}());
|
|
70
|
-
exports.AttributesCacheInMemory = AttributesCacheInMemory;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventsCacheInMemory = void 0;
|
|
4
|
-
var MAX_QUEUE_BYTE_SIZE = 5 * 1024 * 1024; // 5M
|
|
5
|
-
var EventsCacheInMemory = /** @class */ (function () {
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* @param eventsQueueSize - number of queued events to call onFullQueueCb.
|
|
9
|
-
* Default value is 0, that means no maximum value, in case we want to avoid this being triggered.
|
|
10
|
-
*/
|
|
11
|
-
function EventsCacheInMemory(eventsQueueSize) {
|
|
12
|
-
if (eventsQueueSize === void 0) { eventsQueueSize = 0; }
|
|
13
|
-
this.maxQueue = eventsQueueSize;
|
|
14
|
-
this.queue = [];
|
|
15
|
-
this.queueByteSize = 0;
|
|
16
|
-
}
|
|
17
|
-
EventsCacheInMemory.prototype.setOnFullQueueCb = function (cb) {
|
|
18
|
-
this.onFullQueue = cb;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Add a new event object at the end of the queue.
|
|
22
|
-
*/
|
|
23
|
-
EventsCacheInMemory.prototype.track = function (data, size) {
|
|
24
|
-
if (size === void 0) { size = 0; }
|
|
25
|
-
this.queueByteSize += size;
|
|
26
|
-
this.queue.push(data);
|
|
27
|
-
this._checkForFlush();
|
|
28
|
-
return true;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Clear the data stored on the cache.
|
|
32
|
-
*/
|
|
33
|
-
EventsCacheInMemory.prototype.clear = function () {
|
|
34
|
-
this.queue = [];
|
|
35
|
-
this.queueByteSize = 0;
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Pop the collected data, used as payload for posting.
|
|
39
|
-
*/
|
|
40
|
-
EventsCacheInMemory.prototype.pop = function (toMerge) {
|
|
41
|
-
var data = this.queue;
|
|
42
|
-
this.clear();
|
|
43
|
-
return toMerge ? toMerge.concat(data) : data;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Check if the cache is empty.
|
|
47
|
-
*/
|
|
48
|
-
EventsCacheInMemory.prototype.isEmpty = function () {
|
|
49
|
-
return this.queue.length === 0;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Check if the cache queue is full and we need to flush it.
|
|
53
|
-
*/
|
|
54
|
-
EventsCacheInMemory.prototype._checkForFlush = function () {
|
|
55
|
-
if ((this.queueByteSize > MAX_QUEUE_BYTE_SIZE) ||
|
|
56
|
-
// 0 means no maximum value, in case we want to avoid this being triggered. Size limit is not affected by it.
|
|
57
|
-
(this.maxQueue > 0 && this.queue.length >= this.maxQueue)) {
|
|
58
|
-
this.onFullQueue && this.onFullQueue();
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
return EventsCacheInMemory;
|
|
62
|
-
}());
|
|
63
|
-
exports.EventsCacheInMemory = EventsCacheInMemory;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ImpressionCountsCacheInMemory = void 0;
|
|
4
|
-
var time_1 = require("../../utils/time");
|
|
5
|
-
var constants_1 = require("../inRedis/constants");
|
|
6
|
-
var ImpressionCountsCacheInMemory = /** @class */ (function () {
|
|
7
|
-
function ImpressionCountsCacheInMemory(impressionCountsCacheSize) {
|
|
8
|
-
if (impressionCountsCacheSize === void 0) { impressionCountsCacheSize = constants_1.DEFAULT_CACHE_SIZE; }
|
|
9
|
-
this.cache = {};
|
|
10
|
-
this.cacheSize = 0;
|
|
11
|
-
this.maxStorage = impressionCountsCacheSize;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Builds key to be stored in the cache with the featureName and the timeFrame truncated.
|
|
15
|
-
*/
|
|
16
|
-
ImpressionCountsCacheInMemory.prototype._makeKey = function (featureName, timeFrame) {
|
|
17
|
-
return featureName + "::" + (0, time_1.truncateTimeFrame)(timeFrame);
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Increments the quantity of impressions with the passed featureName and timeFrame.
|
|
21
|
-
*/
|
|
22
|
-
ImpressionCountsCacheInMemory.prototype.track = function (featureName, timeFrame, amount) {
|
|
23
|
-
var key = this._makeKey(featureName, timeFrame);
|
|
24
|
-
var currentAmount = this.cache[key];
|
|
25
|
-
this.cache[key] = currentAmount ? currentAmount + amount : amount;
|
|
26
|
-
if (this.onFullQueue) {
|
|
27
|
-
this.cacheSize = this.cacheSize + amount;
|
|
28
|
-
if (this.cacheSize >= this.maxStorage) {
|
|
29
|
-
this.onFullQueue();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Pop the collected data, used as payload for posting.
|
|
35
|
-
*/
|
|
36
|
-
ImpressionCountsCacheInMemory.prototype.pop = function (toMerge) {
|
|
37
|
-
var data = this.cache;
|
|
38
|
-
this.clear();
|
|
39
|
-
if (toMerge) {
|
|
40
|
-
Object.keys(data).forEach(function (key) {
|
|
41
|
-
if (toMerge[key])
|
|
42
|
-
toMerge[key] += data[key];
|
|
43
|
-
else
|
|
44
|
-
toMerge[key] = data[key];
|
|
45
|
-
});
|
|
46
|
-
return toMerge;
|
|
47
|
-
}
|
|
48
|
-
return data;
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* Clear the data stored on the cache.
|
|
52
|
-
*/
|
|
53
|
-
ImpressionCountsCacheInMemory.prototype.clear = function () {
|
|
54
|
-
this.cache = {};
|
|
55
|
-
this.cacheSize = 0;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Check if the cache is empty.
|
|
59
|
-
*/
|
|
60
|
-
ImpressionCountsCacheInMemory.prototype.isEmpty = function () {
|
|
61
|
-
return Object.keys(this.cache).length === 0;
|
|
62
|
-
};
|
|
63
|
-
return ImpressionCountsCacheInMemory;
|
|
64
|
-
}());
|
|
65
|
-
exports.ImpressionCountsCacheInMemory = ImpressionCountsCacheInMemory;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ImpressionsCacheInMemory = void 0;
|
|
4
|
-
var ImpressionsCacheInMemory = /** @class */ (function () {
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
* @param impressionsQueueSize - number of queued impressions to call onFullQueueCb.
|
|
8
|
-
* Default value is 0, that means no maximum value, in case we want to avoid this being triggered.
|
|
9
|
-
*/
|
|
10
|
-
function ImpressionsCacheInMemory(impressionsQueueSize) {
|
|
11
|
-
if (impressionsQueueSize === void 0) { impressionsQueueSize = 0; }
|
|
12
|
-
this.maxQueue = impressionsQueueSize;
|
|
13
|
-
this.queue = [];
|
|
14
|
-
}
|
|
15
|
-
ImpressionsCacheInMemory.prototype.setOnFullQueueCb = function (cb) {
|
|
16
|
-
this.onFullQueue = cb;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Store impressions in sequential order
|
|
20
|
-
*/
|
|
21
|
-
ImpressionsCacheInMemory.prototype.track = function (data) {
|
|
22
|
-
var _a;
|
|
23
|
-
(_a = this.queue).push.apply(_a, data);
|
|
24
|
-
// Check if the cache queue is full and we need to flush it.
|
|
25
|
-
if (this.maxQueue > 0 && this.queue.length >= this.maxQueue && this.onFullQueue) {
|
|
26
|
-
this.onFullQueue();
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Clear the data stored on the cache.
|
|
31
|
-
*/
|
|
32
|
-
ImpressionsCacheInMemory.prototype.clear = function () {
|
|
33
|
-
this.queue = [];
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Pop the collected data, used as payload for posting.
|
|
37
|
-
*/
|
|
38
|
-
ImpressionsCacheInMemory.prototype.pop = function (toMerge) {
|
|
39
|
-
var data = this.queue;
|
|
40
|
-
this.clear();
|
|
41
|
-
return toMerge ? toMerge.concat(data) : data;
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Check if the cache is empty.
|
|
45
|
-
*/
|
|
46
|
-
ImpressionsCacheInMemory.prototype.isEmpty = function () {
|
|
47
|
-
return this.queue.length === 0;
|
|
48
|
-
};
|
|
49
|
-
return ImpressionsCacheInMemory;
|
|
50
|
-
}());
|
|
51
|
-
exports.ImpressionsCacheInMemory = ImpressionsCacheInMemory;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InMemoryStorageFactory = void 0;
|
|
4
|
-
var SplitsCacheInMemory_1 = require("./SplitsCacheInMemory");
|
|
5
|
-
var SegmentsCacheInMemory_1 = require("./SegmentsCacheInMemory");
|
|
6
|
-
var ImpressionsCacheInMemory_1 = require("./ImpressionsCacheInMemory");
|
|
7
|
-
var EventsCacheInMemory_1 = require("./EventsCacheInMemory");
|
|
8
|
-
var ImpressionCountsCacheInMemory_1 = require("./ImpressionCountsCacheInMemory");
|
|
9
|
-
var constants_1 = require("../../utils/constants");
|
|
10
|
-
var TelemetryCacheInMemory_1 = require("./TelemetryCacheInMemory");
|
|
11
|
-
var UniqueKeysCacheInMemory_1 = require("./UniqueKeysCacheInMemory");
|
|
12
|
-
var RBSegmentsCacheInMemory_1 = require("./RBSegmentsCacheInMemory");
|
|
13
|
-
/**
|
|
14
|
-
* InMemory storage factory for standalone server-side SplitFactory
|
|
15
|
-
*
|
|
16
|
-
* @param params - parameters required by EventsCacheSync
|
|
17
|
-
*/
|
|
18
|
-
function InMemoryStorageFactory(params) {
|
|
19
|
-
var _a = params.settings, _b = _a.scheduler, impressionsQueueSize = _b.impressionsQueueSize, eventsQueueSize = _b.eventsQueueSize, __splitFiltersValidation = _a.sync.__splitFiltersValidation;
|
|
20
|
-
var splits = new SplitsCacheInMemory_1.SplitsCacheInMemory(__splitFiltersValidation);
|
|
21
|
-
var rbSegments = new RBSegmentsCacheInMemory_1.RBSegmentsCacheInMemory();
|
|
22
|
-
var segments = new SegmentsCacheInMemory_1.SegmentsCacheInMemory();
|
|
23
|
-
var storage = {
|
|
24
|
-
splits: splits,
|
|
25
|
-
rbSegments: rbSegments,
|
|
26
|
-
segments: segments,
|
|
27
|
-
impressions: new ImpressionsCacheInMemory_1.ImpressionsCacheInMemory(impressionsQueueSize),
|
|
28
|
-
impressionCounts: new ImpressionCountsCacheInMemory_1.ImpressionCountsCacheInMemory(),
|
|
29
|
-
events: new EventsCacheInMemory_1.EventsCacheInMemory(eventsQueueSize),
|
|
30
|
-
telemetry: (0, TelemetryCacheInMemory_1.shouldRecordTelemetry)(params) ? new TelemetryCacheInMemory_1.TelemetryCacheInMemory(splits, segments) : undefined,
|
|
31
|
-
uniqueKeys: new UniqueKeysCacheInMemory_1.UniqueKeysCacheInMemory(),
|
|
32
|
-
destroy: function () { }
|
|
33
|
-
};
|
|
34
|
-
// @TODO revisit storage logic in localhost mode
|
|
35
|
-
// No tracking data in localhost mode to avoid memory leaks
|
|
36
|
-
if (params.settings.mode === constants_1.LOCALHOST_MODE) {
|
|
37
|
-
var noopTrack = function () { return true; };
|
|
38
|
-
storage.impressions.track = noopTrack;
|
|
39
|
-
storage.events.track = noopTrack;
|
|
40
|
-
storage.impressionCounts.track = noopTrack;
|
|
41
|
-
storage.uniqueKeys.track = noopTrack;
|
|
42
|
-
}
|
|
43
|
-
return storage;
|
|
44
|
-
}
|
|
45
|
-
exports.InMemoryStorageFactory = InMemoryStorageFactory;
|
|
46
|
-
InMemoryStorageFactory.type = constants_1.STORAGE_MEMORY;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InMemoryStorageCSFactory = void 0;
|
|
4
|
-
var SplitsCacheInMemory_1 = require("./SplitsCacheInMemory");
|
|
5
|
-
var MySegmentsCacheInMemory_1 = require("./MySegmentsCacheInMemory");
|
|
6
|
-
var ImpressionsCacheInMemory_1 = require("./ImpressionsCacheInMemory");
|
|
7
|
-
var EventsCacheInMemory_1 = require("./EventsCacheInMemory");
|
|
8
|
-
var ImpressionCountsCacheInMemory_1 = require("./ImpressionCountsCacheInMemory");
|
|
9
|
-
var constants_1 = require("../../utils/constants");
|
|
10
|
-
var TelemetryCacheInMemory_1 = require("./TelemetryCacheInMemory");
|
|
11
|
-
var UniqueKeysCacheInMemoryCS_1 = require("./UniqueKeysCacheInMemoryCS");
|
|
12
|
-
var key_1 = require("../../utils/key");
|
|
13
|
-
var dataLoader_1 = require("../dataLoader");
|
|
14
|
-
var RBSegmentsCacheInMemory_1 = require("./RBSegmentsCacheInMemory");
|
|
15
|
-
/**
|
|
16
|
-
* InMemory storage factory for standalone client-side SplitFactory
|
|
17
|
-
*
|
|
18
|
-
* @param params - parameters required by EventsCacheSync
|
|
19
|
-
*/
|
|
20
|
-
function InMemoryStorageCSFactory(params) {
|
|
21
|
-
var _a = params.settings, log = _a.log, _b = _a.scheduler, impressionsQueueSize = _b.impressionsQueueSize, eventsQueueSize = _b.eventsQueueSize, __splitFiltersValidation = _a.sync.__splitFiltersValidation, preloadedData = _a.preloadedData, onReadyFromCacheCb = params.onReadyFromCacheCb;
|
|
22
|
-
var storages = {};
|
|
23
|
-
var splits = new SplitsCacheInMemory_1.SplitsCacheInMemory(__splitFiltersValidation);
|
|
24
|
-
var rbSegments = new RBSegmentsCacheInMemory_1.RBSegmentsCacheInMemory();
|
|
25
|
-
var segments = new MySegmentsCacheInMemory_1.MySegmentsCacheInMemory();
|
|
26
|
-
var largeSegments = new MySegmentsCacheInMemory_1.MySegmentsCacheInMemory();
|
|
27
|
-
var storage = {
|
|
28
|
-
splits: splits,
|
|
29
|
-
rbSegments: rbSegments,
|
|
30
|
-
segments: segments,
|
|
31
|
-
largeSegments: largeSegments,
|
|
32
|
-
impressions: new ImpressionsCacheInMemory_1.ImpressionsCacheInMemory(impressionsQueueSize),
|
|
33
|
-
impressionCounts: new ImpressionCountsCacheInMemory_1.ImpressionCountsCacheInMemory(),
|
|
34
|
-
events: new EventsCacheInMemory_1.EventsCacheInMemory(eventsQueueSize),
|
|
35
|
-
telemetry: (0, TelemetryCacheInMemory_1.shouldRecordTelemetry)(params) ? new TelemetryCacheInMemory_1.TelemetryCacheInMemory(splits, segments) : undefined,
|
|
36
|
-
uniqueKeys: new UniqueKeysCacheInMemoryCS_1.UniqueKeysCacheInMemoryCS(),
|
|
37
|
-
destroy: function () { },
|
|
38
|
-
// When using shared instantiation with MEMORY we reuse everything but segments (they are unique per key)
|
|
39
|
-
shared: function (matchingKey) {
|
|
40
|
-
if (!storages[matchingKey]) {
|
|
41
|
-
var segments_1 = new MySegmentsCacheInMemory_1.MySegmentsCacheInMemory();
|
|
42
|
-
var largeSegments_1 = new MySegmentsCacheInMemory_1.MySegmentsCacheInMemory();
|
|
43
|
-
if (preloadedData) {
|
|
44
|
-
(0, dataLoader_1.setCache)(log, preloadedData, { segments: segments_1, largeSegments: largeSegments_1 }, matchingKey);
|
|
45
|
-
}
|
|
46
|
-
storages[matchingKey] = {
|
|
47
|
-
splits: this.splits,
|
|
48
|
-
rbSegments: this.rbSegments,
|
|
49
|
-
segments: segments_1,
|
|
50
|
-
largeSegments: largeSegments_1,
|
|
51
|
-
impressions: this.impressions,
|
|
52
|
-
impressionCounts: this.impressionCounts,
|
|
53
|
-
events: this.events,
|
|
54
|
-
telemetry: this.telemetry,
|
|
55
|
-
uniqueKeys: this.uniqueKeys,
|
|
56
|
-
destroy: function () { }
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return storages[matchingKey];
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
// @TODO revisit storage logic in localhost mode
|
|
63
|
-
// No tracking in localhost mode to avoid memory leaks: https://github.com/splitio/javascript-commons/issues/181
|
|
64
|
-
if (params.settings.mode === constants_1.LOCALHOST_MODE) {
|
|
65
|
-
var noopTrack = function () { return true; };
|
|
66
|
-
storage.impressions.track = noopTrack;
|
|
67
|
-
storage.events.track = noopTrack;
|
|
68
|
-
storage.impressionCounts.track = noopTrack;
|
|
69
|
-
storage.uniqueKeys.track = noopTrack;
|
|
70
|
-
}
|
|
71
|
-
var matchingKey = (0, key_1.getMatching)(params.settings.core.key);
|
|
72
|
-
storages[matchingKey] = storage;
|
|
73
|
-
if (preloadedData) {
|
|
74
|
-
(0, dataLoader_1.setCache)(log, preloadedData, storage, matchingKey);
|
|
75
|
-
if (splits.getChangeNumber() > -1)
|
|
76
|
-
onReadyFromCacheCb();
|
|
77
|
-
}
|
|
78
|
-
return storage;
|
|
79
|
-
}
|
|
80
|
-
exports.InMemoryStorageCSFactory = InMemoryStorageCSFactory;
|
|
81
|
-
InMemoryStorageCSFactory.type = constants_1.STORAGE_MEMORY;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MySegmentsCacheInMemory = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var AbstractMySegmentsCacheSync_1 = require("../AbstractMySegmentsCacheSync");
|
|
6
|
-
/**
|
|
7
|
-
* Default MySegmentsCacheInMemory implementation that stores MySegments in memory.
|
|
8
|
-
* Supported by all JS runtimes.
|
|
9
|
-
*/
|
|
10
|
-
var MySegmentsCacheInMemory = /** @class */ (function (_super) {
|
|
11
|
-
(0, tslib_1.__extends)(MySegmentsCacheInMemory, _super);
|
|
12
|
-
function MySegmentsCacheInMemory() {
|
|
13
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
14
|
-
_this.segmentCache = {};
|
|
15
|
-
return _this;
|
|
16
|
-
}
|
|
17
|
-
MySegmentsCacheInMemory.prototype.addSegment = function (name) {
|
|
18
|
-
if (this.segmentCache[name])
|
|
19
|
-
return false;
|
|
20
|
-
this.segmentCache[name] = true;
|
|
21
|
-
return true;
|
|
22
|
-
};
|
|
23
|
-
MySegmentsCacheInMemory.prototype.removeSegment = function (name) {
|
|
24
|
-
if (!this.segmentCache[name])
|
|
25
|
-
return false;
|
|
26
|
-
delete this.segmentCache[name];
|
|
27
|
-
return true;
|
|
28
|
-
};
|
|
29
|
-
MySegmentsCacheInMemory.prototype.isInSegment = function (name) {
|
|
30
|
-
return this.segmentCache[name] === true;
|
|
31
|
-
};
|
|
32
|
-
MySegmentsCacheInMemory.prototype.setChangeNumber = function (changeNumber) {
|
|
33
|
-
this.cn = changeNumber;
|
|
34
|
-
};
|
|
35
|
-
MySegmentsCacheInMemory.prototype.getChangeNumber = function () {
|
|
36
|
-
return this.cn || -1;
|
|
37
|
-
};
|
|
38
|
-
MySegmentsCacheInMemory.prototype.getRegisteredSegments = function () {
|
|
39
|
-
return Object.keys(this.segmentCache);
|
|
40
|
-
};
|
|
41
|
-
MySegmentsCacheInMemory.prototype.getKeysCount = function () {
|
|
42
|
-
return 1;
|
|
43
|
-
};
|
|
44
|
-
return MySegmentsCacheInMemory;
|
|
45
|
-
}(AbstractMySegmentsCacheSync_1.AbstractMySegmentsCacheSync));
|
|
46
|
-
exports.MySegmentsCacheInMemory = MySegmentsCacheInMemory;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RBSegmentsCacheInMemory = void 0;
|
|
4
|
-
var sets_1 = require("../../utils/lang/sets");
|
|
5
|
-
var AbstractSplitsCacheSync_1 = require("../AbstractSplitsCacheSync");
|
|
6
|
-
var RBSegmentsCacheInMemory = /** @class */ (function () {
|
|
7
|
-
function RBSegmentsCacheInMemory() {
|
|
8
|
-
this.cache = {};
|
|
9
|
-
this.changeNumber = -1;
|
|
10
|
-
this.segmentsCount = 0;
|
|
11
|
-
}
|
|
12
|
-
RBSegmentsCacheInMemory.prototype.clear = function () {
|
|
13
|
-
this.cache = {};
|
|
14
|
-
this.changeNumber = -1;
|
|
15
|
-
this.segmentsCount = 0;
|
|
16
|
-
};
|
|
17
|
-
RBSegmentsCacheInMemory.prototype.update = function (toAdd, toRemove, changeNumber) {
|
|
18
|
-
var _this = this;
|
|
19
|
-
this.changeNumber = changeNumber;
|
|
20
|
-
var updated = toAdd.map(function (toAdd) { return _this.add(toAdd); }).some(function (result) { return result; });
|
|
21
|
-
return toRemove.map(function (toRemove) { return _this.remove(toRemove.name); }).some(function (result) { return result; }) || updated;
|
|
22
|
-
};
|
|
23
|
-
RBSegmentsCacheInMemory.prototype.add = function (rbSegment) {
|
|
24
|
-
var name = rbSegment.name;
|
|
25
|
-
var previous = this.get(name);
|
|
26
|
-
if (previous && (0, AbstractSplitsCacheSync_1.usesSegments)(previous))
|
|
27
|
-
this.segmentsCount--;
|
|
28
|
-
this.cache[name] = rbSegment;
|
|
29
|
-
if ((0, AbstractSplitsCacheSync_1.usesSegments)(rbSegment))
|
|
30
|
-
this.segmentsCount++;
|
|
31
|
-
return true;
|
|
32
|
-
};
|
|
33
|
-
RBSegmentsCacheInMemory.prototype.remove = function (name) {
|
|
34
|
-
var rbSegment = this.get(name);
|
|
35
|
-
if (!rbSegment)
|
|
36
|
-
return false;
|
|
37
|
-
delete this.cache[name];
|
|
38
|
-
if ((0, AbstractSplitsCacheSync_1.usesSegments)(rbSegment))
|
|
39
|
-
this.segmentsCount--;
|
|
40
|
-
return true;
|
|
41
|
-
};
|
|
42
|
-
RBSegmentsCacheInMemory.prototype.getNames = function () {
|
|
43
|
-
return Object.keys(this.cache);
|
|
44
|
-
};
|
|
45
|
-
RBSegmentsCacheInMemory.prototype.get = function (name) {
|
|
46
|
-
return this.cache[name] || null;
|
|
47
|
-
};
|
|
48
|
-
RBSegmentsCacheInMemory.prototype.getAll = function () {
|
|
49
|
-
var _this = this;
|
|
50
|
-
return this.getNames().map(function (key) { return _this.get(key); });
|
|
51
|
-
};
|
|
52
|
-
RBSegmentsCacheInMemory.prototype.contains = function (names) {
|
|
53
|
-
var namesArray = (0, sets_1.setToArray)(names);
|
|
54
|
-
var namesInStorage = this.getNames();
|
|
55
|
-
return namesArray.every(function (name) { return namesInStorage.indexOf(name) !== -1; });
|
|
56
|
-
};
|
|
57
|
-
RBSegmentsCacheInMemory.prototype.getChangeNumber = function () {
|
|
58
|
-
return this.changeNumber;
|
|
59
|
-
};
|
|
60
|
-
RBSegmentsCacheInMemory.prototype.usesSegments = function () {
|
|
61
|
-
return this.segmentsCount > 0;
|
|
62
|
-
};
|
|
63
|
-
return RBSegmentsCacheInMemory;
|
|
64
|
-
}());
|
|
65
|
-
exports.RBSegmentsCacheInMemory = RBSegmentsCacheInMemory;
|