@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
package/src/listeners/browser.ts
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-undef */
|
|
2
|
-
// @TODO eventually migrate to JS-Browser-SDK package.
|
|
3
|
-
import { ISignalListener } from './types';
|
|
4
|
-
import { IRecorderCacheSync, IStorageSync } from '../storages/types';
|
|
5
|
-
import { fromImpressionsCollector } from '../sync/submitters/impressionsSubmitter';
|
|
6
|
-
import { fromImpressionCountsCollector } from '../sync/submitters/impressionCountsSubmitter';
|
|
7
|
-
import { IResponse, ISplitApi } from '../services/types';
|
|
8
|
-
import { ISettings } from '../types';
|
|
9
|
-
import SplitIO from '../../types/splitio';
|
|
10
|
-
import { ImpressionsPayload } from '../sync/submitters/types';
|
|
11
|
-
import { objectAssign } from '../utils/lang/objectAssign';
|
|
12
|
-
import { CLEANUP_REGISTERING, CLEANUP_DEREGISTERING } from '../logger/constants';
|
|
13
|
-
import { ISyncManager } from '../sync/types';
|
|
14
|
-
import { isConsentGranted } from '../consent';
|
|
15
|
-
|
|
16
|
-
const VISIBILITYCHANGE_EVENT = 'visibilitychange';
|
|
17
|
-
const PAGEHIDE_EVENT = 'pagehide';
|
|
18
|
-
const EVENT_NAME = 'for visibilitychange and pagehide events.';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* We'll listen for events over the window object.
|
|
22
|
-
*/
|
|
23
|
-
export class BrowserSignalListener implements ISignalListener {
|
|
24
|
-
|
|
25
|
-
private fromImpressionsCollector: (data: SplitIO.ImpressionDTO[]) => ImpressionsPayload;
|
|
26
|
-
|
|
27
|
-
constructor(
|
|
28
|
-
private syncManager: ISyncManager | undefined,
|
|
29
|
-
private settings: ISettings,
|
|
30
|
-
private storage: IStorageSync,
|
|
31
|
-
private serviceApi: ISplitApi,
|
|
32
|
-
) {
|
|
33
|
-
this.flushData = this.flushData.bind(this);
|
|
34
|
-
this.flushDataIfHidden = this.flushDataIfHidden.bind(this);
|
|
35
|
-
this.fromImpressionsCollector = fromImpressionsCollector.bind(undefined, settings.core.labelsEnabled);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* start method.
|
|
40
|
-
* Called when SplitFactory is initialized, it adds event listeners to close streaming and flush impressions and events.
|
|
41
|
-
*/
|
|
42
|
-
start() {
|
|
43
|
-
this.settings.log.debug(CLEANUP_REGISTERING, [EVENT_NAME]);
|
|
44
|
-
if (typeof document !== 'undefined' && document.addEventListener) {
|
|
45
|
-
// Flush data whenever the page is hidden or unloaded.
|
|
46
|
-
document.addEventListener(VISIBILITYCHANGE_EVENT, this.flushDataIfHidden);
|
|
47
|
-
}
|
|
48
|
-
if (typeof window !== 'undefined' && window.addEventListener) {
|
|
49
|
-
// Some browsers, like Safari, does not fire the `visibilitychange` event when the page is being unloaded. Therefore, we also flush data in the `pagehide` event.
|
|
50
|
-
// If both events are triggered, the latter will find the storage empty, so no duplicate data will be submitted.
|
|
51
|
-
window.addEventListener(PAGEHIDE_EVENT, this.flushData);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* stop method.
|
|
57
|
-
* Called when client is destroyed, it removes event listeners.
|
|
58
|
-
*/
|
|
59
|
-
stop() {
|
|
60
|
-
this.settings.log.debug(CLEANUP_DEREGISTERING, [EVENT_NAME]);
|
|
61
|
-
if (typeof document !== 'undefined' && document.removeEventListener) {
|
|
62
|
-
document.removeEventListener(VISIBILITYCHANGE_EVENT, this.flushDataIfHidden);
|
|
63
|
-
}
|
|
64
|
-
if (typeof window !== 'undefined' && window.removeEventListener) {
|
|
65
|
-
window.removeEventListener(PAGEHIDE_EVENT, this.flushData);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* flushData method.
|
|
71
|
-
* Called when pagehide event is triggered. It flushed remaining impressions and events to the backend,
|
|
72
|
-
* using beacon API if possible, or falling back to regular post transport.
|
|
73
|
-
*/
|
|
74
|
-
flushData() {
|
|
75
|
-
if (!this.syncManager) return; // In consumer mode there is not sync manager and data to flush
|
|
76
|
-
const { events, telemetry } = this.settings.urls;
|
|
77
|
-
|
|
78
|
-
// Flush impressions & events data if there is user consent
|
|
79
|
-
if (isConsentGranted(this.settings)) {
|
|
80
|
-
const extraMetadata = {
|
|
81
|
-
// sim stands for Sync/Split Impressions Mode
|
|
82
|
-
sim: this.settings.sync.impressionsMode
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
this._flushData(events + '/testImpressions/beacon', this.storage.impressions, this.serviceApi.postTestImpressionsBulk, this.fromImpressionsCollector, extraMetadata);
|
|
86
|
-
this._flushData(events + '/events/beacon', this.storage.events, this.serviceApi.postEventsBulk);
|
|
87
|
-
this._flushData(events + '/testImpressions/count/beacon', this.storage.impressionCounts, this.serviceApi.postTestImpressionsCount, fromImpressionCountsCollector);
|
|
88
|
-
this._flushData(telemetry + '/v1/keys/cs/beacon', this.storage.uniqueKeys, this.serviceApi.postUniqueKeysBulkCs);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Flush telemetry data
|
|
92
|
-
if (this.storage.telemetry) this._flushData(telemetry + '/v1/metrics/usage/beacon', this.storage.telemetry, this.serviceApi.postMetricsUsage);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
flushDataIfHidden() {
|
|
96
|
-
// Precondition: document defined
|
|
97
|
-
if (document.visibilityState === 'hidden') this.flushData(); // On a 'visibilitychange' event, flush data if state is hidden
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
private _flushData<T>(url: string, cache: IRecorderCacheSync<T>, postService: (body: string) => Promise<IResponse>, fromCacheToPayload?: (cacheData: T) => any, extraMetadata?: {}) {
|
|
101
|
-
// if there is data in cache, send it to backend
|
|
102
|
-
if (!cache.isEmpty()) {
|
|
103
|
-
const dataPayload = fromCacheToPayload ? fromCacheToPayload(cache.pop()) : cache.pop();
|
|
104
|
-
if (!this._sendBeacon(url, dataPayload, extraMetadata)) {
|
|
105
|
-
postService(JSON.stringify(dataPayload)).catch(() => { }); // no-op to handle possible promise rejection
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* _sendBeacon method.
|
|
112
|
-
* Util method that check if beacon API is available, build the payload and send it.
|
|
113
|
-
* Returns true if beacon API was used successfully, false otherwise.
|
|
114
|
-
*/
|
|
115
|
-
private _sendBeacon(url: string, data: any, extraMetadata?: {}) {
|
|
116
|
-
if (typeof navigator !== 'undefined' && navigator.sendBeacon) {
|
|
117
|
-
const json = {
|
|
118
|
-
entries: data,
|
|
119
|
-
token: this.settings.core.authorizationKey,
|
|
120
|
-
sdk: this.settings.version
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
// Extend with endpoint specific metadata where needed
|
|
124
|
-
if (extraMetadata) objectAssign(json, extraMetadata);
|
|
125
|
-
|
|
126
|
-
// Stringify the payload
|
|
127
|
-
const payload = JSON.stringify(json);
|
|
128
|
-
|
|
129
|
-
// https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch
|
|
130
|
-
try {
|
|
131
|
-
return navigator.sendBeacon(url, payload);
|
|
132
|
-
} catch (e) {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
}
|
package/src/listeners/node.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// @TODO eventually migrate to Node.js SDK package.
|
|
2
|
-
import { ISignalListener } from './types';
|
|
3
|
-
import { thenable } from '../utils/promise/thenable';
|
|
4
|
-
import { MaybeThenable } from '../dtos/types';
|
|
5
|
-
import { ISettings } from '../types';
|
|
6
|
-
import { LOG_PREFIX_CLEANUP, CLEANUP_REGISTERING, CLEANUP_DEREGISTERING } from '../logger/constants';
|
|
7
|
-
import { ISyncManager } from '../sync/types';
|
|
8
|
-
|
|
9
|
-
const SIGTERM = 'SIGTERM';
|
|
10
|
-
const EVENT_NAME = 'for SIGTERM signal.';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* We'll listen for SIGTERM since it's the standard signal for server shutdown.
|
|
14
|
-
*
|
|
15
|
-
* If you're stopping the execution yourself via the keyboard, or by calling process.exit,
|
|
16
|
-
* you should call the cleanup logic yourself, since we cannot ensure the data is sent after
|
|
17
|
-
* the process is already exiting.
|
|
18
|
-
*/
|
|
19
|
-
export class NodeSignalListener implements ISignalListener {
|
|
20
|
-
|
|
21
|
-
private handler: () => MaybeThenable<any>;
|
|
22
|
-
private settings: ISettings;
|
|
23
|
-
|
|
24
|
-
constructor(
|
|
25
|
-
syncManager: ISyncManager | undefined, // private handler: () => MaybeThenable<void>,
|
|
26
|
-
settings: ISettings
|
|
27
|
-
) {
|
|
28
|
-
// @TODO review handler logic when implementing Node.js SDK
|
|
29
|
-
this.handler = function () {
|
|
30
|
-
if (syncManager) {
|
|
31
|
-
// syncManager.stop();
|
|
32
|
-
return syncManager.flush();
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
this.settings = settings;
|
|
36
|
-
this._sigtermHandler = this._sigtermHandler.bind(this);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
start() {
|
|
40
|
-
this.settings.log.debug(CLEANUP_REGISTERING, [EVENT_NAME]);
|
|
41
|
-
// eslint-disable-next-line no-undef
|
|
42
|
-
process.on(SIGTERM, this._sigtermHandler);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
stop() {
|
|
46
|
-
this.settings.log.debug(CLEANUP_DEREGISTERING, [EVENT_NAME]);
|
|
47
|
-
// eslint-disable-next-line no-undef
|
|
48
|
-
process.removeListener(SIGTERM, this._sigtermHandler);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Call the handler, clean up listeners and emit the signal again.
|
|
53
|
-
*/
|
|
54
|
-
private _sigtermHandler(): MaybeThenable<void> {
|
|
55
|
-
const wrapUp = () => {
|
|
56
|
-
// Cleaned up, remove handlers.
|
|
57
|
-
this.stop();
|
|
58
|
-
|
|
59
|
-
// This handler prevented the default behavior, start again.
|
|
60
|
-
// eslint-disable-next-line no-undef
|
|
61
|
-
process.kill(process.pid, SIGTERM);
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
this.settings.log.debug(`${LOG_PREFIX_CLEANUP}Split SDK graceful shutdown after SIGTERM.`);
|
|
65
|
-
|
|
66
|
-
let handlerResult = null;
|
|
67
|
-
|
|
68
|
-
try {
|
|
69
|
-
handlerResult = this.handler();
|
|
70
|
-
} catch (err) {
|
|
71
|
-
this.settings.log.error(`${LOG_PREFIX_CLEANUP}Error with Split SDK graceful shutdown: ${err}`);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (thenable(handlerResult)) {
|
|
75
|
-
// Always exit, even with errors. The promise is returned for UT purposes.
|
|
76
|
-
return handlerResult.then(wrapUp).catch(wrapUp);
|
|
77
|
-
} else {
|
|
78
|
-
wrapUp();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
package/src/listeners/types.ts
DELETED
package/src/logger/constants.ts
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Message codes used to trim string log messages from commons and client-side API modules,
|
|
3
|
-
* in order to reduce the minimal SDK size for Browser and eventually other client-side environments.
|
|
4
|
-
*
|
|
5
|
-
* Modules related to the server-side API (e.g., segmentsSyncTask), platform-specific components (e.g., signal listeners)
|
|
6
|
-
* and pluggable components (e.g., pluggable integrations & storages) can use the logger with string literals.
|
|
7
|
-
*/
|
|
8
|
-
export const ENGINE_COMBINER_AND = 0;
|
|
9
|
-
export const ENGINE_COMBINER_IFELSEIF = 1;
|
|
10
|
-
export const ENGINE_COMBINER_IFELSEIF_NO_TREATMENT = 2;
|
|
11
|
-
export const ENGINE_BUCKET = 3;
|
|
12
|
-
export const ENGINE_MATCHER_DEPENDENCY = 10;
|
|
13
|
-
export const ENGINE_MATCHER_DEPENDENCY_PRE = 11;
|
|
14
|
-
export const ENGINE_VALUE = 23;
|
|
15
|
-
export const ENGINE_SANITIZE = 24;
|
|
16
|
-
export const CLEANUP_REGISTERING = 25;
|
|
17
|
-
export const CLEANUP_DEREGISTERING = 26;
|
|
18
|
-
export const RETRIEVE_CLIENT_DEFAULT = 27;
|
|
19
|
-
export const RETRIEVE_CLIENT_EXISTING = 28;
|
|
20
|
-
export const RETRIEVE_MANAGER = 29;
|
|
21
|
-
export const SYNC_OFFLINE_DATA = 30;
|
|
22
|
-
export const SYNC_SPLITS_FETCH = 31;
|
|
23
|
-
export const SYNC_SPLITS_UPDATE = 32;
|
|
24
|
-
export const SYNC_RBS_UPDATE = 33;
|
|
25
|
-
export const STREAMING_NEW_MESSAGE = 35;
|
|
26
|
-
export const SYNC_TASK_START = 36;
|
|
27
|
-
export const SYNC_TASK_EXECUTE = 37;
|
|
28
|
-
export const SYNC_TASK_STOP = 38;
|
|
29
|
-
export const SETTINGS_SPLITS_FILTER = 39;
|
|
30
|
-
export const ENGINE_MATCHER_RESULT = 40;
|
|
31
|
-
export const ENGINE_DEFAULT = 41;
|
|
32
|
-
|
|
33
|
-
export const CLIENT_READY_FROM_CACHE = 100;
|
|
34
|
-
export const CLIENT_READY = 101;
|
|
35
|
-
export const IMPRESSION = 102;
|
|
36
|
-
export const IMPRESSION_QUEUEING = 103;
|
|
37
|
-
export const NEW_SHARED_CLIENT = 104;
|
|
38
|
-
export const NEW_FACTORY = 105;
|
|
39
|
-
export const POLLING_SMART_PAUSING = 106;
|
|
40
|
-
export const POLLING_START = 107;
|
|
41
|
-
export const POLLING_STOP = 108;
|
|
42
|
-
export const SYNC_SPLITS_FETCH_RETRY = 109;
|
|
43
|
-
export const STREAMING_REFRESH_TOKEN = 110;
|
|
44
|
-
export const STREAMING_RECONNECT = 111;
|
|
45
|
-
export const STREAMING_CONNECTING = 112;
|
|
46
|
-
export const STREAMING_DISABLED = 113;
|
|
47
|
-
export const STREAMING_DISCONNECTING = 114;
|
|
48
|
-
export const SUBMITTERS_PUSH_FULL_QUEUE = 115;
|
|
49
|
-
export const SUBMITTERS_PUSH = 116;
|
|
50
|
-
export const SYNC_START_POLLING = 117;
|
|
51
|
-
export const SYNC_CONTINUE_POLLING = 118;
|
|
52
|
-
export const SYNC_STOP_POLLING = 119;
|
|
53
|
-
export const EVENTS_TRACKER_SUCCESS = 120;
|
|
54
|
-
export const IMPRESSIONS_TRACKER_SUCCESS = 121;
|
|
55
|
-
export const USER_CONSENT_UPDATED = 122;
|
|
56
|
-
export const USER_CONSENT_NOT_UPDATED = 123;
|
|
57
|
-
export const USER_CONSENT_INITIAL = 124;
|
|
58
|
-
|
|
59
|
-
export const ENGINE_VALUE_INVALID = 200;
|
|
60
|
-
export const ENGINE_VALUE_NO_ATTRIBUTES = 201;
|
|
61
|
-
export const CLIENT_NO_LISTENER = 202;
|
|
62
|
-
export const CLIENT_NOT_READY = 203;
|
|
63
|
-
export const SYNC_MYSEGMENTS_FETCH_RETRY = 204;
|
|
64
|
-
export const SYNC_SPLITS_FETCH_FAILS = 205;
|
|
65
|
-
export const STREAMING_PARSING_ERROR_FAILS = 206;
|
|
66
|
-
export const STREAMING_PARSING_MESSAGE_FAILS = 207;
|
|
67
|
-
export const STREAMING_FALLBACK = 208;
|
|
68
|
-
export const SUBMITTERS_PUSH_FAILS = 209;
|
|
69
|
-
export const SUBMITTERS_PUSH_RETRY = 210;
|
|
70
|
-
export const WARN_SETTING_NULL = 211;
|
|
71
|
-
export const WARN_TRIMMING_PROPERTIES = 212;
|
|
72
|
-
export const WARN_CONVERTING = 213;
|
|
73
|
-
export const WARN_TRIMMING = 214;
|
|
74
|
-
export const WARN_NOT_EXISTENT_SPLIT = 215;
|
|
75
|
-
export const WARN_LOWERCASE_TRAFFIC_TYPE = 216;
|
|
76
|
-
export const WARN_NOT_EXISTENT_TT = 217;
|
|
77
|
-
export const WARN_INTEGRATION_INVALID = 218;
|
|
78
|
-
export const WARN_SPLITS_FILTER_IGNORED = 219;
|
|
79
|
-
export const WARN_SPLITS_FILTER_INVALID = 220;
|
|
80
|
-
export const WARN_SPLITS_FILTER_EMPTY = 221;
|
|
81
|
-
export const WARN_SDK_KEY = 222;
|
|
82
|
-
export const STREAMING_PARSING_MEMBERSHIPS_UPDATE = 223;
|
|
83
|
-
export const STREAMING_PARSING_SPLIT_UPDATE = 224;
|
|
84
|
-
export const WARN_INVALID_FLAGSET = 225;
|
|
85
|
-
export const WARN_LOWERCASE_FLAGSET = 226;
|
|
86
|
-
export const WARN_FLAGSET_NOT_CONFIGURED = 227;
|
|
87
|
-
export const WARN_FLAGSET_WITHOUT_FLAGS = 228;
|
|
88
|
-
|
|
89
|
-
export const ERROR_ENGINE_COMBINER_IFELSEIF = 300;
|
|
90
|
-
export const ERROR_LOGLEVEL_INVALID = 301;
|
|
91
|
-
export const ERROR_CLIENT_LISTENER = 302;
|
|
92
|
-
export const ERROR_CLIENT_CANNOT_GET_READY = 303;
|
|
93
|
-
export const ERROR_SYNC_OFFLINE_LOADING = 304;
|
|
94
|
-
export const ERROR_STREAMING_SSE = 305;
|
|
95
|
-
export const ERROR_STREAMING_AUTH = 306;
|
|
96
|
-
export const ERROR_IMPRESSIONS_TRACKER = 307;
|
|
97
|
-
export const ERROR_IMPRESSIONS_LISTENER = 308;
|
|
98
|
-
export const ERROR_EVENTS_TRACKER = 309;
|
|
99
|
-
export const ERROR_EVENT_TYPE_FORMAT = 310;
|
|
100
|
-
export const ERROR_NOT_PLAIN_OBJECT = 311;
|
|
101
|
-
export const ERROR_SIZE_EXCEEDED = 312;
|
|
102
|
-
export const ERROR_NOT_FINITE = 313;
|
|
103
|
-
export const ERROR_CLIENT_DESTROYED = 314;
|
|
104
|
-
export const ERROR_NULL = 315;
|
|
105
|
-
export const ERROR_TOO_LONG = 316;
|
|
106
|
-
export const ERROR_INVALID_KEY_OBJECT = 317;
|
|
107
|
-
export const ERROR_INVALID = 318;
|
|
108
|
-
export const ERROR_EMPTY = 319;
|
|
109
|
-
export const ERROR_EMPTY_ARRAY = 320;
|
|
110
|
-
export const ERROR_INVALID_CONFIG_PARAM = 321;
|
|
111
|
-
export const ERROR_HTTP = 322;
|
|
112
|
-
export const ERROR_STORAGE_INVALID = 324;
|
|
113
|
-
export const ERROR_NOT_BOOLEAN = 325;
|
|
114
|
-
export const ERROR_MIN_CONFIG_PARAM = 326;
|
|
115
|
-
export const ERROR_TOO_MANY_SETS = 327;
|
|
116
|
-
export const ERROR_SETS_FILTER_EXCLUSIVE = 328;
|
|
117
|
-
export const ENGINE_MATCHER_ERROR = 329;
|
|
118
|
-
|
|
119
|
-
// Log prefixes (a.k.a. tags or categories)
|
|
120
|
-
export const LOG_PREFIX_SETTINGS = 'settings';
|
|
121
|
-
export const LOG_PREFIX_INSTANTIATION = 'Factory instantiation';
|
|
122
|
-
export const LOG_PREFIX_CLIENT_INSTANTIATION = 'Client instantiation';
|
|
123
|
-
export const LOG_PREFIX_ENGINE = 'engine';
|
|
124
|
-
export const LOG_PREFIX_ENGINE_COMBINER = LOG_PREFIX_ENGINE + ':combiner: ';
|
|
125
|
-
export const LOG_PREFIX_ENGINE_MATCHER = LOG_PREFIX_ENGINE + ':matcher: ';
|
|
126
|
-
export const LOG_PREFIX_ENGINE_VALUE = LOG_PREFIX_ENGINE + ':value: ';
|
|
127
|
-
export const LOG_PREFIX_SYNC = 'sync';
|
|
128
|
-
export const LOG_PREFIX_SYNC_MANAGER = LOG_PREFIX_SYNC + ':sync-manager: ';
|
|
129
|
-
export const LOG_PREFIX_SYNC_OFFLINE = LOG_PREFIX_SYNC + ':offline: ';
|
|
130
|
-
export const LOG_PREFIX_SYNC_STREAMING = LOG_PREFIX_SYNC + ':streaming: ';
|
|
131
|
-
export const LOG_PREFIX_SYNC_SPLITS = LOG_PREFIX_SYNC + ':featureflag-changes: ';
|
|
132
|
-
export const LOG_PREFIX_SYNC_SEGMENTS = LOG_PREFIX_SYNC + ':segment-changes: ';
|
|
133
|
-
export const LOG_PREFIX_SYNC_MYSEGMENTS = LOG_PREFIX_SYNC + ':my-segments: ';
|
|
134
|
-
export const LOG_PREFIX_SYNC_POLLING = LOG_PREFIX_SYNC + ':polling-manager: ';
|
|
135
|
-
export const LOG_PREFIX_SYNC_SUBMITTERS = LOG_PREFIX_SYNC + ':submitter: ';
|
|
136
|
-
export const LOG_PREFIX_IMPRESSIONS_TRACKER = 'impressions-tracker: ';
|
|
137
|
-
export const LOG_PREFIX_EVENTS_TRACKER = 'events-tracker: ';
|
|
138
|
-
export const LOG_PREFIX_UNIQUE_KEYS_TRACKER = 'unique-keys-tracker: ';
|
|
139
|
-
export const LOG_PREFIX_CLEANUP = 'cleanup: ';
|
package/src/logger/index.ts
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { objectAssign } from '../utils/lang/objectAssign';
|
|
2
|
-
import { ILoggerOptions, ILogger } from './types';
|
|
3
|
-
import { find, isObject } from '../utils/lang';
|
|
4
|
-
import SplitIO from '../../types/splitio';
|
|
5
|
-
|
|
6
|
-
export const LogLevels: SplitIO.ILoggerAPI['LogLevel'] = {
|
|
7
|
-
DEBUG: 'DEBUG',
|
|
8
|
-
INFO: 'INFO',
|
|
9
|
-
WARN: 'WARN',
|
|
10
|
-
ERROR: 'ERROR',
|
|
11
|
-
NONE: 'NONE'
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const LogLevelIndexes = {
|
|
15
|
-
DEBUG: 1,
|
|
16
|
-
INFO: 2,
|
|
17
|
-
WARN: 3,
|
|
18
|
-
ERROR: 4,
|
|
19
|
-
NONE: 5
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export function isLogLevelString(str: string): str is SplitIO.LogLevel {
|
|
23
|
-
return !!find(LogLevels, (lvl: string) => str === lvl);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// exported for testing purposes only
|
|
27
|
-
export function _sprintf(format: string = '', args: any[] = []): string {
|
|
28
|
-
let i = 0;
|
|
29
|
-
return format.replace(/%s/g, function () {
|
|
30
|
-
let arg = args[i++];
|
|
31
|
-
if (isObject(arg) || Array.isArray(arg)) {
|
|
32
|
-
try {
|
|
33
|
-
arg = JSON.stringify(arg);
|
|
34
|
-
} catch (e) { /* empty */ }
|
|
35
|
-
}
|
|
36
|
-
return arg;
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const defaultOptions = {
|
|
41
|
-
prefix: 'splitio',
|
|
42
|
-
logLevel: LogLevels.NONE,
|
|
43
|
-
showLevel: true,
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export class Logger implements ILogger {
|
|
47
|
-
|
|
48
|
-
private options: Required<ILoggerOptions>;
|
|
49
|
-
private codes: Map<number, string>;
|
|
50
|
-
private logLevel: number;
|
|
51
|
-
|
|
52
|
-
constructor(options?: ILoggerOptions, codes?: Map<number, string>) {
|
|
53
|
-
this.options = objectAssign({}, defaultOptions, options);
|
|
54
|
-
this.codes = codes || new Map();
|
|
55
|
-
this.logLevel = LogLevelIndexes[this.options.logLevel];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
setLogLevel(logLevel: SplitIO.LogLevel) {
|
|
59
|
-
this.options.logLevel = logLevel;
|
|
60
|
-
this.logLevel = LogLevelIndexes[logLevel];
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
debug(msg: string | number, args?: any[]) {
|
|
64
|
-
if (this._shouldLog(LogLevelIndexes.DEBUG)) this._log(LogLevels.DEBUG, msg, args);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
info(msg: string | number, args?: any[]) {
|
|
68
|
-
if (this._shouldLog(LogLevelIndexes.INFO)) this._log(LogLevels.INFO, msg, args);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
warn(msg: string | number, args?: any[]) {
|
|
72
|
-
if (this._shouldLog(LogLevelIndexes.WARN)) this._log(LogLevels.WARN, msg, args);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
error(msg: string | number, args?: any[]) {
|
|
76
|
-
if (this._shouldLog(LogLevelIndexes.ERROR)) this._log(LogLevels.ERROR, msg, args);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
private _log(level: SplitIO.LogLevel, msg: string | number, args?: any[]) {
|
|
80
|
-
if (typeof msg === 'number') {
|
|
81
|
-
const format = this.codes.get(msg);
|
|
82
|
-
msg = format ? _sprintf(format, args) : `Message code ${msg}${args ? ', with args: ' + args.toString() : ''}`;
|
|
83
|
-
} else {
|
|
84
|
-
if (args) msg = _sprintf(msg, args);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const formattedText = this._generateLogMessage(level, msg);
|
|
88
|
-
|
|
89
|
-
console.log(formattedText);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
private _generateLogMessage(level: SplitIO.LogLevel, text: string) {
|
|
93
|
-
const textPre = ' => ';
|
|
94
|
-
let result = '';
|
|
95
|
-
|
|
96
|
-
if (this.options.showLevel) {
|
|
97
|
-
result += '[' + level + ']' + (level === LogLevels.INFO || level === LogLevels.WARN ? ' ' : '') + ' ';
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (this.options.prefix) {
|
|
101
|
-
result += this.options.prefix + textPre;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return result += text;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
private _shouldLog(level: number) {
|
|
108
|
-
return level >= this.logLevel;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as c from '../constants';
|
|
2
|
-
import { codesInfo } from './info';
|
|
3
|
-
|
|
4
|
-
export const codesDebug: [number, string][] = codesInfo.concat([
|
|
5
|
-
// evaluator
|
|
6
|
-
[c.ENGINE_COMBINER_AND, c.LOG_PREFIX_ENGINE_COMBINER + '[andCombiner] evaluates to %s'],
|
|
7
|
-
[c.ENGINE_COMBINER_IFELSEIF, c.LOG_PREFIX_ENGINE_COMBINER + 'Treatment found: %s'],
|
|
8
|
-
[c.ENGINE_COMBINER_IFELSEIF_NO_TREATMENT, c.LOG_PREFIX_ENGINE_COMBINER + 'All predicates evaluated, no treatment found.'],
|
|
9
|
-
[c.ENGINE_BUCKET, c.LOG_PREFIX_ENGINE + ': using algo "murmur" bucket %s for key %s using seed %s - treatment %s'],
|
|
10
|
-
[c.ENGINE_MATCHER_DEPENDENCY, c.LOG_PREFIX_ENGINE_MATCHER + '[IN_SPLIT_TREATMENT] parent feature flag "%s" evaluated to "%s" with label "%s". %s evaluated treatment is part of %s ? %s.'],
|
|
11
|
-
[c.ENGINE_MATCHER_DEPENDENCY_PRE, c.LOG_PREFIX_ENGINE_MATCHER + '[IN_SPLIT_TREATMENT] will evaluate parent feature flag: "%s" with key: %s %s'],
|
|
12
|
-
[c.ENGINE_VALUE, c.LOG_PREFIX_ENGINE_VALUE + 'Extracted attribute `%s`. %s will be used for matching.'],
|
|
13
|
-
[c.ENGINE_SANITIZE, c.LOG_PREFIX_ENGINE + ':sanitize: Attempted to sanitize %s which should be of type %s. Sanitized and processed value => %s'],
|
|
14
|
-
[c.ENGINE_MATCHER_RESULT, c.LOG_PREFIX_ENGINE_MATCHER + '[%s] Result: %s. Rule value: %s. Evaluation value: %s'],
|
|
15
|
-
[c.ENGINE_DEFAULT, c.LOG_PREFIX_ENGINE + 'Evaluates to default treatment. %s'],
|
|
16
|
-
// SDK
|
|
17
|
-
[c.CLEANUP_REGISTERING, c.LOG_PREFIX_CLEANUP + 'Registering cleanup handler %s'],
|
|
18
|
-
[c.CLEANUP_DEREGISTERING, c.LOG_PREFIX_CLEANUP + 'Deregistering cleanup handler %s'],
|
|
19
|
-
[c.RETRIEVE_CLIENT_DEFAULT, 'Retrieving default SDK client.'],
|
|
20
|
-
[c.RETRIEVE_CLIENT_EXISTING, 'Retrieving existing SDK client.'],
|
|
21
|
-
[c.RETRIEVE_MANAGER, 'Retrieving manager instance.'],
|
|
22
|
-
// synchronizer
|
|
23
|
-
[c.SYNC_OFFLINE_DATA, c.LOG_PREFIX_SYNC_OFFLINE + 'Feature flags data: \n%s'],
|
|
24
|
-
[c.SYNC_SPLITS_FETCH, c.LOG_PREFIX_SYNC_SPLITS + 'Spin up feature flags update using since = %s and rbSince = %s.'],
|
|
25
|
-
[c.SYNC_SPLITS_UPDATE, c.LOG_PREFIX_SYNC_SPLITS + 'New feature flags: %s. Removed feature flags: %s.'],
|
|
26
|
-
[c.SYNC_RBS_UPDATE, c.LOG_PREFIX_SYNC_SPLITS + 'New rule-based segments: %s. Removed rule-based segments: %s.'],
|
|
27
|
-
[c.STREAMING_NEW_MESSAGE, c.LOG_PREFIX_SYNC_STREAMING + 'New SSE message received, with data: %s.'],
|
|
28
|
-
[c.SYNC_TASK_START, c.LOG_PREFIX_SYNC + ': Starting %s. Running each %s millis'],
|
|
29
|
-
[c.SYNC_TASK_EXECUTE, c.LOG_PREFIX_SYNC + ': Running %s'],
|
|
30
|
-
[c.SYNC_TASK_STOP, c.LOG_PREFIX_SYNC + ': Stopping %s'],
|
|
31
|
-
// initialization / settings validation
|
|
32
|
-
[c.SETTINGS_SPLITS_FILTER, c.LOG_PREFIX_SETTINGS + ': feature flags filtering criteria is "%s".']
|
|
33
|
-
]);
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import * as c from '../constants';
|
|
2
|
-
|
|
3
|
-
export const codesError: [number, string][] = [
|
|
4
|
-
// evaluator
|
|
5
|
-
[c.ERROR_ENGINE_COMBINER_IFELSEIF, c.LOG_PREFIX_ENGINE_COMBINER + 'Invalid feature flag, no valid rules or unsupported targeting rule type found'],
|
|
6
|
-
[c.ENGINE_MATCHER_ERROR, c.LOG_PREFIX_ENGINE_MATCHER + '[%s] %s'],
|
|
7
|
-
// SDK
|
|
8
|
-
[c.ERROR_LOGLEVEL_INVALID, 'logger: Invalid Log Level - No changes to the logs will be applied.'],
|
|
9
|
-
[c.ERROR_CLIENT_CANNOT_GET_READY, 'The SDK will not get ready. Reason: %s'],
|
|
10
|
-
[c.ERROR_IMPRESSIONS_TRACKER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Could not store impressions bulk with %s impression(s). Error: %s'],
|
|
11
|
-
[c.ERROR_IMPRESSIONS_LISTENER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Impression listener logImpression method threw: %s.'],
|
|
12
|
-
[c.ERROR_EVENTS_TRACKER, c.LOG_PREFIX_EVENTS_TRACKER + 'Failed to queue %s'],
|
|
13
|
-
// synchronizer
|
|
14
|
-
[c.ERROR_SYNC_OFFLINE_LOADING, c.LOG_PREFIX_SYNC_OFFLINE + 'There was an issue loading the mock feature flags data. No changes will be applied to the current cache. %s'],
|
|
15
|
-
[c.ERROR_STREAMING_SSE, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to connect or error on streaming connection, with error message: %s'],
|
|
16
|
-
[c.ERROR_STREAMING_AUTH, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to authenticate for streaming. Error: %s.'],
|
|
17
|
-
[c.ERROR_HTTP, 'HTTP request failed with %s. URL: %s. Message: %s'],
|
|
18
|
-
// client status
|
|
19
|
-
[c.ERROR_CLIENT_LISTENER, 'A listener was added for %s on the SDK, which has already fired and won\'t be emitted again. The callback won\'t be executed.'],
|
|
20
|
-
[c.ERROR_CLIENT_DESTROYED, '%s: Client has already been destroyed - no calls possible.'],
|
|
21
|
-
// input validation
|
|
22
|
-
[c.ERROR_EVENT_TYPE_FORMAT, '%s: you passed "%s", event_type must adhere to the regular expression /^[a-zA-Z0-9][-_.:a-zA-Z0-9]{0,79}$/g. This means an event_type must be alphanumeric, cannot be more than 80 characters long, and can only include a dash, underscore, period, or colon as separators of alphanumeric characters.'],
|
|
23
|
-
[c.ERROR_NOT_PLAIN_OBJECT, '%s: %s must be a plain object.'],
|
|
24
|
-
[c.ERROR_SIZE_EXCEEDED, '%s: the maximum size allowed for the properties is 32768 bytes, which was exceeded.'],
|
|
25
|
-
[c.ERROR_NOT_FINITE, '%s: value must be a finite number.'],
|
|
26
|
-
[c.ERROR_NULL, '%s: you passed a null or undefined %s. It must be a non-empty string.'],
|
|
27
|
-
[c.ERROR_TOO_LONG, '%s: %s too long. It must have 250 characters or less.'],
|
|
28
|
-
[c.ERROR_INVALID_KEY_OBJECT, '%s: Key must be an object with bucketingKey and matchingKey with valid string properties.'],
|
|
29
|
-
[c.ERROR_INVALID, '%s: you passed an invalid %s. It must be a non-empty string.'],
|
|
30
|
-
[c.ERROR_EMPTY, '%s: you passed an empty %s. It must be a non-empty string.'],
|
|
31
|
-
[c.ERROR_EMPTY_ARRAY, '%s: %s must be a non-empty array.'],
|
|
32
|
-
[c.ERROR_NOT_BOOLEAN, '%s: provided param must be a boolean value.'],
|
|
33
|
-
// initialization / settings validation
|
|
34
|
-
[c.ERROR_INVALID_CONFIG_PARAM, c.LOG_PREFIX_SETTINGS + ': you passed an invalid "%s" config param. It should be one of the following values: %s. Defaulting to "%s".'],
|
|
35
|
-
[c.ERROR_STORAGE_INVALID, c.LOG_PREFIX_SETTINGS+': the provided storage is invalid.%s Falling back into default MEMORY storage'],
|
|
36
|
-
[c.ERROR_MIN_CONFIG_PARAM, c.LOG_PREFIX_SETTINGS + ': the provided "%s" config param is lower than allowed. Setting to the minimum value %s seconds'],
|
|
37
|
-
[c.ERROR_TOO_MANY_SETS, c.LOG_PREFIX_SETTINGS + ': the amount of flag sets provided are big causing uri length error.'],
|
|
38
|
-
[c.ERROR_SETS_FILTER_EXCLUSIVE, c.LOG_PREFIX_SETTINGS+': the Set filter is exclusive and cannot be used simultaneously with names or prefix filters. Ignoring names and prefixes.'],
|
|
39
|
-
];
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import * as c from '../constants';
|
|
2
|
-
import { codesWarn } from './warn';
|
|
3
|
-
|
|
4
|
-
const READY_MSG = 'Split SDK client is ready';
|
|
5
|
-
|
|
6
|
-
export const codesInfo: [number, string][] = codesWarn.concat([
|
|
7
|
-
// client status
|
|
8
|
-
[c.CLIENT_READY_FROM_CACHE, READY_MSG + ' from cache'],
|
|
9
|
-
[c.CLIENT_READY, READY_MSG],
|
|
10
|
-
// SDK
|
|
11
|
-
[c.IMPRESSION, c.LOG_PREFIX_IMPRESSIONS_TRACKER +'Feature flag: %s. Key: %s. Evaluation: %s. Label: %s'],
|
|
12
|
-
[c.IMPRESSION_QUEUEING, c.LOG_PREFIX_IMPRESSIONS_TRACKER +'Queueing corresponding impression.'],
|
|
13
|
-
[c.NEW_SHARED_CLIENT, 'New shared client instance created.'],
|
|
14
|
-
[c.NEW_FACTORY, 'New Split SDK instance created.'],
|
|
15
|
-
[c.EVENTS_TRACKER_SUCCESS, c.LOG_PREFIX_EVENTS_TRACKER + 'Successfully queued %s'],
|
|
16
|
-
[c.IMPRESSIONS_TRACKER_SUCCESS, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Successfully stored %s impression(s).'],
|
|
17
|
-
[c.USER_CONSENT_UPDATED, 'UserConsent: consent status changed from %s to %s.'],
|
|
18
|
-
[c.USER_CONSENT_NOT_UPDATED, 'UserConsent: call had no effect because it was the current consent status (%s).'],
|
|
19
|
-
[c.USER_CONSENT_INITIAL, 'Starting the SDK with %s user consent. No data will be sent.'],
|
|
20
|
-
|
|
21
|
-
// synchronizer
|
|
22
|
-
[c.POLLING_SMART_PAUSING, c.LOG_PREFIX_SYNC_POLLING + 'Turning segments data polling %s.'],
|
|
23
|
-
[c.POLLING_START, c.LOG_PREFIX_SYNC_POLLING + 'Starting polling'],
|
|
24
|
-
[c.POLLING_STOP, c.LOG_PREFIX_SYNC_POLLING + 'Stopping polling'],
|
|
25
|
-
[c.SYNC_SPLITS_FETCH_RETRY, c.LOG_PREFIX_SYNC_SPLITS + 'Retrying download of feature flags #%s. Reason: %s'],
|
|
26
|
-
[c.SUBMITTERS_PUSH_FULL_QUEUE, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Flushing full %s queue and resetting timer.'],
|
|
27
|
-
[c.SUBMITTERS_PUSH, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Pushing %s.'],
|
|
28
|
-
[c.STREAMING_REFRESH_TOKEN, c.LOG_PREFIX_SYNC_STREAMING + 'Refreshing streaming token in %s seconds, and connecting streaming in %s seconds.'],
|
|
29
|
-
[c.STREAMING_RECONNECT, c.LOG_PREFIX_SYNC_STREAMING + 'Attempting to reconnect streaming in %s seconds.'],
|
|
30
|
-
[c.STREAMING_CONNECTING, c.LOG_PREFIX_SYNC_STREAMING + 'Connecting streaming.'],
|
|
31
|
-
[c.STREAMING_DISABLED, c.LOG_PREFIX_SYNC_STREAMING + 'Streaming is disabled for given SDK key. Switching to polling mode.'],
|
|
32
|
-
[c.STREAMING_DISCONNECTING, c.LOG_PREFIX_SYNC_STREAMING + 'Disconnecting streaming.'],
|
|
33
|
-
[c.SYNC_START_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming not available. Starting polling.'],
|
|
34
|
-
[c.SYNC_CONTINUE_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming couldn\'t connect. Continue polling.'],
|
|
35
|
-
[c.SYNC_STOP_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming connected. Syncing and stopping polling.'],
|
|
36
|
-
]);
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import * as c from '../constants';
|
|
2
|
-
import { codesError } from './error';
|
|
3
|
-
|
|
4
|
-
export const codesWarn: [number, string][] = codesError.concat([
|
|
5
|
-
// evaluator
|
|
6
|
-
[c.ENGINE_VALUE_INVALID, c.LOG_PREFIX_ENGINE_VALUE + 'Value %s doesn\'t match with expected type.'],
|
|
7
|
-
[c.ENGINE_VALUE_NO_ATTRIBUTES, c.LOG_PREFIX_ENGINE_VALUE + 'Defined attribute `%s`. No attributes received.'],
|
|
8
|
-
// synchronizer
|
|
9
|
-
[c.SYNC_MYSEGMENTS_FETCH_RETRY, c.LOG_PREFIX_SYNC_MYSEGMENTS + 'Retrying download of segments #%s. Reason: %s'],
|
|
10
|
-
[c.SYNC_SPLITS_FETCH_FAILS, c.LOG_PREFIX_SYNC_SPLITS + 'Error while doing fetch of feature flags. %s'],
|
|
11
|
-
[c.STREAMING_PARSING_ERROR_FAILS, c.LOG_PREFIX_SYNC_STREAMING + 'Error parsing SSE error notification: %s'],
|
|
12
|
-
[c.STREAMING_PARSING_MESSAGE_FAILS, c.LOG_PREFIX_SYNC_STREAMING + 'Error parsing SSE message notification: %s'],
|
|
13
|
-
[c.STREAMING_FALLBACK, c.LOG_PREFIX_SYNC_STREAMING + 'Falling back to polling mode. Reason: %s'],
|
|
14
|
-
[c.SUBMITTERS_PUSH_FAILS, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Dropping %s after retry. Reason: %s.'],
|
|
15
|
-
[c.SUBMITTERS_PUSH_RETRY, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Failed to push %s, keeping data to retry on next iteration. Reason: %s.'],
|
|
16
|
-
// client status
|
|
17
|
-
[c.CLIENT_NOT_READY, '%s: the SDK is not ready, results may be incorrect%s. Make sure to wait for SDK readiness before using this method.'],
|
|
18
|
-
[c.CLIENT_NO_LISTENER, 'No listeners for SDK Readiness detected. Incorrect control treatments could have been logged if you called getTreatment/s while the SDK was not yet ready.'],
|
|
19
|
-
// input validation
|
|
20
|
-
[c.WARN_SETTING_NULL, '%s: Property "%s" is of invalid type. Setting value to null.'],
|
|
21
|
-
[c.WARN_TRIMMING_PROPERTIES, '%s: more than 300 properties were provided. Some of them will be trimmed when processed.'],
|
|
22
|
-
[c.WARN_CONVERTING, '%s: %s "%s" is not of type string, converting.'],
|
|
23
|
-
[c.WARN_TRIMMING, '%s: %s "%s" has extra whitespace, trimming.'],
|
|
24
|
-
[c.WARN_NOT_EXISTENT_SPLIT, '%s: feature flag "%s" does not exist in this environment. Please double check what feature flags exist in the Split user interface.'],
|
|
25
|
-
[c.WARN_LOWERCASE_TRAFFIC_TYPE, '%s: traffic_type_name should be all lowercase - converting string to lowercase.'],
|
|
26
|
-
[c.WARN_NOT_EXISTENT_TT, '%s: traffic type "%s" does not have any corresponding feature flag in this environment, make sure you\'re tracking your events to a valid traffic type defined in the Split user interface.'],
|
|
27
|
-
[c.WARN_FLAGSET_NOT_CONFIGURED, '%s: you passed %s which is not part of the configured FlagSetsFilter, ignoring Flag Set.'],
|
|
28
|
-
// initialization / settings validation
|
|
29
|
-
[c.WARN_INTEGRATION_INVALID, c.LOG_PREFIX_SETTINGS + ': %s integration item(s) at settings is invalid. %s'],
|
|
30
|
-
[c.WARN_SPLITS_FILTER_IGNORED, c.LOG_PREFIX_SETTINGS + ': feature flag filters are not applicable for Consumer modes where the SDK does not keep rollout data in sync. Filters were discarded'],
|
|
31
|
-
[c.WARN_SPLITS_FILTER_INVALID, c.LOG_PREFIX_SETTINGS + ': feature flag filter at position %s is invalid. It must be an object with a valid filter type ("bySet", "byName" or "byPrefix") and a list of "values".'],
|
|
32
|
-
[c.WARN_SPLITS_FILTER_EMPTY, c.LOG_PREFIX_SETTINGS + ': feature flag filter configuration must be a non-empty array of filter objects.'],
|
|
33
|
-
[c.WARN_SDK_KEY, c.LOG_PREFIX_SETTINGS + ': You already have %s. We recommend keeping only one instance of the factory at all times (Singleton pattern) and reusing it throughout your application'],
|
|
34
|
-
|
|
35
|
-
[c.STREAMING_PARSING_MEMBERSHIPS_UPDATE, c.LOG_PREFIX_SYNC_STREAMING + 'Fetching Memberships due to an error processing %s notification: %s'],
|
|
36
|
-
[c.STREAMING_PARSING_SPLIT_UPDATE, c.LOG_PREFIX_SYNC_STREAMING + 'Fetching SplitChanges due to an error processing %s notification: %s'],
|
|
37
|
-
[c.WARN_INVALID_FLAGSET, '%s: you passed %s, flag set must adhere to the regular expressions %s. This means a flag set must start with a letter or number, be in lowercase, alphanumeric and have a max length of 50 characters. %s was discarded.'],
|
|
38
|
-
[c.WARN_LOWERCASE_FLAGSET, '%s: flag set %s should be all lowercase - converting string to lowercase.'],
|
|
39
|
-
[c.WARN_FLAGSET_WITHOUT_FLAGS, '%s: you passed %s flag set that does not contain cached feature flag names. Please double check what flag sets are in use in the Split user interface.'],
|
|
40
|
-
]);
|