@splitsoftware/splitio-commons 2.4.2-rc.3 → 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 +895 -152
- 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 -2083
- 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 -50
- package/cjs/storages/findLatencyIndex.js +0 -18
- package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -81
- package/cjs/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -117
- package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +0 -204
- package/cjs/storages/inLocalStorage/constants.js +0 -5
- package/cjs/storages/inLocalStorage/index.js +0 -91
- package/cjs/storages/inLocalStorage/storageAdapter.js +0 -54
- package/cjs/storages/inLocalStorage/validateCache.js +0 -85
- 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 -63
- package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +0 -46
- package/cjs/storages/inMemory/RBSegmentsCacheInMemory.js +0 -61
- 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 -71
- 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 -83
- package/cjs/sync/polling/updaters/segmentChangesUpdater.js +0 -80
- package/cjs/sync/polling/updaters/splitChangesUpdater.js +0 -190
- 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 -176
- 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 -39
- 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 -46
- package/esm/storages/findLatencyIndex.js +0 -14
- package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -78
- package/esm/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -114
- package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +0 -201
- package/esm/storages/inLocalStorage/constants.js +0 -2
- package/esm/storages/inLocalStorage/index.js +0 -87
- package/esm/storages/inLocalStorage/storageAdapter.js +0 -50
- package/esm/storages/inLocalStorage/validateCache.js +0 -81
- 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 -59
- package/esm/storages/inMemory/MySegmentsCacheInMemory.js +0 -43
- package/esm/storages/inMemory/RBSegmentsCacheInMemory.js +0 -58
- 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 -66
- 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 -79
- package/esm/sync/polling/updaters/segmentChangesUpdater.js +0 -76
- package/esm/sync/polling/updaters/splitChangesUpdater.js +0 -184
- 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 -172
- 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 -33
- 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 -131
- 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 -55
- package/src/storages/findLatencyIndex.ts +0 -16
- package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +0 -87
- package/src/storages/inLocalStorage/RBSegmentsCacheInLocal.ts +0 -137
- package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +0 -241
- package/src/storages/inLocalStorage/constants.ts +0 -2
- package/src/storages/inLocalStorage/index.ts +0 -104
- package/src/storages/inLocalStorage/storageAdapter.ts +0 -62
- package/src/storages/inLocalStorage/validateCache.ts +0 -99
- 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 -69
- package/src/storages/inMemory/MySegmentsCacheInMemory.ts +0 -49
- package/src/storages/inMemory/RBSegmentsCacheInMemory.ts +0 -68
- 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 -538
- 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 -97
- 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 -104
- package/src/sync/polling/updaters/segmentChangesUpdater.ts +0 -92
- package/src/sync/polling/updaters/splitChangesUpdater.ts +0 -220
- 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 -195
- 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 -79
- 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 -32
- 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,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hash128 = void 0;
|
|
4
|
-
/* eslint-disable no-fallthrough */
|
|
5
|
-
var common_1 = require("./common");
|
|
6
|
-
/*!
|
|
7
|
-
* +----------------------------------------------------------------------------------+
|
|
8
|
-
* | murmurHash3.js v3.0.0 (http://github.com/karanlyons/murmurHash3.js) |
|
|
9
|
-
* | A TypeScript/JavaScript implementation of MurmurHash3's hashing algorithms. |
|
|
10
|
-
* |----------------------------------------------------------------------------------|
|
|
11
|
-
* | Copyright (c) 2012-2020 Karan Lyons. Freely distributable under the MIT license. |
|
|
12
|
-
* +----------------------------------------------------------------------------------+
|
|
13
|
-
*/
|
|
14
|
-
// PUBLIC FUNCTIONS
|
|
15
|
-
// ----------------
|
|
16
|
-
function hash128x86(key, seed) {
|
|
17
|
-
//
|
|
18
|
-
// Given a string and an optional seed as an int, returns a 128 bit
|
|
19
|
-
// hash using the x86 flavor of MurmurHash3, as an unsigned hex.
|
|
20
|
-
//
|
|
21
|
-
key = key || '';
|
|
22
|
-
seed = seed || 0;
|
|
23
|
-
var remainder = key.length % 16;
|
|
24
|
-
var bytes = key.length - remainder;
|
|
25
|
-
var h1 = seed;
|
|
26
|
-
var h2 = seed;
|
|
27
|
-
var h3 = seed;
|
|
28
|
-
var h4 = seed;
|
|
29
|
-
var k1 = 0;
|
|
30
|
-
var k2 = 0;
|
|
31
|
-
var k3 = 0;
|
|
32
|
-
var k4 = 0;
|
|
33
|
-
var c1 = 0x239b961b;
|
|
34
|
-
var c2 = 0xab0e9789;
|
|
35
|
-
var c3 = 0x38b34ae5;
|
|
36
|
-
var c4 = 0xa1e38b93;
|
|
37
|
-
for (var i = 0; i < bytes; i = i + 16) {
|
|
38
|
-
k1 = ((key.charCodeAt(i) & 0xff)) | ((key.charCodeAt(i + 1) & 0xff) << 8) | ((key.charCodeAt(i + 2) & 0xff) << 16) | ((key.charCodeAt(i + 3) & 0xff) << 24);
|
|
39
|
-
k2 = ((key.charCodeAt(i + 4) & 0xff)) | ((key.charCodeAt(i + 5) & 0xff) << 8) | ((key.charCodeAt(i + 6) & 0xff) << 16) | ((key.charCodeAt(i + 7) & 0xff) << 24);
|
|
40
|
-
k3 = ((key.charCodeAt(i + 8) & 0xff)) | ((key.charCodeAt(i + 9) & 0xff) << 8) | ((key.charCodeAt(i + 10) & 0xff) << 16) | ((key.charCodeAt(i + 11) & 0xff) << 24);
|
|
41
|
-
k4 = ((key.charCodeAt(i + 12) & 0xff)) | ((key.charCodeAt(i + 13) & 0xff) << 8) | ((key.charCodeAt(i + 14) & 0xff) << 16) | ((key.charCodeAt(i + 15) & 0xff) << 24);
|
|
42
|
-
k1 = (0, common_1.x86Multiply)(k1, c1);
|
|
43
|
-
k1 = (0, common_1.x86Rotl)(k1, 15);
|
|
44
|
-
k1 = (0, common_1.x86Multiply)(k1, c2);
|
|
45
|
-
h1 ^= k1;
|
|
46
|
-
h1 = (0, common_1.x86Rotl)(h1, 19);
|
|
47
|
-
h1 += h2;
|
|
48
|
-
h1 = (0, common_1.x86Multiply)(h1, 5) + 0x561ccd1b;
|
|
49
|
-
k2 = (0, common_1.x86Multiply)(k2, c2);
|
|
50
|
-
k2 = (0, common_1.x86Rotl)(k2, 16);
|
|
51
|
-
k2 = (0, common_1.x86Multiply)(k2, c3);
|
|
52
|
-
h2 ^= k2;
|
|
53
|
-
h2 = (0, common_1.x86Rotl)(h2, 17);
|
|
54
|
-
h2 += h3;
|
|
55
|
-
h2 = (0, common_1.x86Multiply)(h2, 5) + 0x0bcaa747;
|
|
56
|
-
k3 = (0, common_1.x86Multiply)(k3, c3);
|
|
57
|
-
k3 = (0, common_1.x86Rotl)(k3, 17);
|
|
58
|
-
k3 = (0, common_1.x86Multiply)(k3, c4);
|
|
59
|
-
h3 ^= k3;
|
|
60
|
-
h3 = (0, common_1.x86Rotl)(h3, 15);
|
|
61
|
-
h3 += h4;
|
|
62
|
-
h3 = (0, common_1.x86Multiply)(h3, 5) + 0x96cd1c35;
|
|
63
|
-
k4 = (0, common_1.x86Multiply)(k4, c4);
|
|
64
|
-
k4 = (0, common_1.x86Rotl)(k4, 18);
|
|
65
|
-
k4 = (0, common_1.x86Multiply)(k4, c1);
|
|
66
|
-
h4 ^= k4;
|
|
67
|
-
h4 = (0, common_1.x86Rotl)(h4, 13);
|
|
68
|
-
h4 += h1;
|
|
69
|
-
h4 = (0, common_1.x86Multiply)(h4, 5) + 0x32ac3b17;
|
|
70
|
-
}
|
|
71
|
-
k1 = 0;
|
|
72
|
-
k2 = 0;
|
|
73
|
-
k3 = 0;
|
|
74
|
-
k4 = 0;
|
|
75
|
-
switch (remainder) {
|
|
76
|
-
case 15:
|
|
77
|
-
k4 ^= key.charCodeAt(i + 14) << 16;
|
|
78
|
-
case 14:
|
|
79
|
-
k4 ^= key.charCodeAt(i + 13) << 8;
|
|
80
|
-
case 13:
|
|
81
|
-
k4 ^= key.charCodeAt(i + 12);
|
|
82
|
-
k4 = (0, common_1.x86Multiply)(k4, c4);
|
|
83
|
-
k4 = (0, common_1.x86Rotl)(k4, 18);
|
|
84
|
-
k4 = (0, common_1.x86Multiply)(k4, c1);
|
|
85
|
-
h4 ^= k4;
|
|
86
|
-
case 12:
|
|
87
|
-
k3 ^= key.charCodeAt(i + 11) << 24;
|
|
88
|
-
case 11:
|
|
89
|
-
k3 ^= key.charCodeAt(i + 10) << 16;
|
|
90
|
-
case 10:
|
|
91
|
-
k3 ^= key.charCodeAt(i + 9) << 8;
|
|
92
|
-
case 9:
|
|
93
|
-
k3 ^= key.charCodeAt(i + 8);
|
|
94
|
-
k3 = (0, common_1.x86Multiply)(k3, c3);
|
|
95
|
-
k3 = (0, common_1.x86Rotl)(k3, 17);
|
|
96
|
-
k3 = (0, common_1.x86Multiply)(k3, c4);
|
|
97
|
-
h3 ^= k3;
|
|
98
|
-
case 8:
|
|
99
|
-
k2 ^= key.charCodeAt(i + 7) << 24;
|
|
100
|
-
case 7:
|
|
101
|
-
k2 ^= key.charCodeAt(i + 6) << 16;
|
|
102
|
-
case 6:
|
|
103
|
-
k2 ^= key.charCodeAt(i + 5) << 8;
|
|
104
|
-
case 5:
|
|
105
|
-
k2 ^= key.charCodeAt(i + 4);
|
|
106
|
-
k2 = (0, common_1.x86Multiply)(k2, c2);
|
|
107
|
-
k2 = (0, common_1.x86Rotl)(k2, 16);
|
|
108
|
-
k2 = (0, common_1.x86Multiply)(k2, c3);
|
|
109
|
-
h2 ^= k2;
|
|
110
|
-
case 4:
|
|
111
|
-
k1 ^= key.charCodeAt(i + 3) << 24;
|
|
112
|
-
case 3:
|
|
113
|
-
k1 ^= key.charCodeAt(i + 2) << 16;
|
|
114
|
-
case 2:
|
|
115
|
-
k1 ^= key.charCodeAt(i + 1) << 8;
|
|
116
|
-
case 1:
|
|
117
|
-
k1 ^= key.charCodeAt(i);
|
|
118
|
-
k1 = (0, common_1.x86Multiply)(k1, c1);
|
|
119
|
-
k1 = (0, common_1.x86Rotl)(k1, 15);
|
|
120
|
-
k1 = (0, common_1.x86Multiply)(k1, c2);
|
|
121
|
-
h1 ^= k1;
|
|
122
|
-
}
|
|
123
|
-
h1 ^= key.length;
|
|
124
|
-
h2 ^= key.length;
|
|
125
|
-
h3 ^= key.length;
|
|
126
|
-
h4 ^= key.length;
|
|
127
|
-
h1 += h2;
|
|
128
|
-
h1 += h3;
|
|
129
|
-
h1 += h4;
|
|
130
|
-
h2 += h1;
|
|
131
|
-
h3 += h1;
|
|
132
|
-
h4 += h1;
|
|
133
|
-
h1 = (0, common_1.x86Fmix)(h1);
|
|
134
|
-
h2 = (0, common_1.x86Fmix)(h2);
|
|
135
|
-
h3 = (0, common_1.x86Fmix)(h3);
|
|
136
|
-
h4 = (0, common_1.x86Fmix)(h4);
|
|
137
|
-
h1 += h2;
|
|
138
|
-
h1 += h3;
|
|
139
|
-
h1 += h4;
|
|
140
|
-
h2 += h1;
|
|
141
|
-
h3 += h1;
|
|
142
|
-
h4 += h1;
|
|
143
|
-
return ('00000000' + (h1 >>> 0).toString(16)).slice(-8) + ('00000000' + (h2 >>> 0).toString(16)).slice(-8) + ('00000000' + (h3 >>> 0).toString(16)).slice(-8) + ('00000000' + (h4 >>> 0).toString(16)).slice(-8);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* x86 version of Murmur3 for 128bits.
|
|
147
|
-
* Used by hashImpression128 because in JS it is more efficient than the x64 version, no matter the underlying OS/CPU arch.
|
|
148
|
-
*
|
|
149
|
-
* @param str - The string to hash.
|
|
150
|
-
*/
|
|
151
|
-
function hash128(str, seed) {
|
|
152
|
-
return hash128x86((0, common_1.UTF16ToUTF8)(str), seed >>> 0);
|
|
153
|
-
}
|
|
154
|
-
exports.hash128 = hash128;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hash64 = void 0;
|
|
4
|
-
var murmur3_128_1 = require("./murmur3_128");
|
|
5
|
-
/**
|
|
6
|
-
* Use instead of parseInt, to not lose precision when converting big integers (greater than 2^53 - 1)
|
|
7
|
-
*/
|
|
8
|
-
function hex2dec(s) {
|
|
9
|
-
var i, j, digits = [0], carry;
|
|
10
|
-
for (i = 0; i < s.length; i += 1) {
|
|
11
|
-
carry = parseInt(s.charAt(i), 16);
|
|
12
|
-
for (j = digits.length - 1; j >= 0; j -= 1) {
|
|
13
|
-
digits[j] = digits[j] * 16 + carry;
|
|
14
|
-
carry = digits[j] / 10 | 0;
|
|
15
|
-
digits[j] %= 10;
|
|
16
|
-
}
|
|
17
|
-
while (carry > 0) {
|
|
18
|
-
digits.unshift(carry % 10);
|
|
19
|
-
carry = carry / 10 | 0;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return digits.join('');
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Gets the higher 64 bits of the x64 version of Murmur3 for 128bits, as decimal and hexadecimal number strings.
|
|
26
|
-
* Used for MySegments channel V2 notifications.
|
|
27
|
-
* @param str - The string to hash
|
|
28
|
-
*/
|
|
29
|
-
function hash64(str) {
|
|
30
|
-
var hex = (0, murmur3_128_1.hash128)(str).slice(0, 16);
|
|
31
|
-
return {
|
|
32
|
-
hex: hex,
|
|
33
|
-
dec: hex2dec(hex) // KeyList notification
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
exports.hash64 = hash64;
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
Trimmed version of "utfx" library (https://www.npmjs.com/package/utfx/v/1.0.1) used to encode,
|
|
4
|
-
decode and convert UTF8 / UTF16 in JavaScript, with the minimal methods used by the SDK.
|
|
5
|
-
|
|
6
|
-
utfx (c) 2014 Daniel Wirtz <dcode@dcode.io>
|
|
7
|
-
Released under the Apache License, Version 2.0
|
|
8
|
-
see: https://github.com/dcodeIO/utfx for details
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.stringDestination = exports.stringSource = exports.encodeUTF16toUTF8 = void 0;
|
|
12
|
-
/**
|
|
13
|
-
* Encodes UTF8 code points to UTF8 bytes.
|
|
14
|
-
* @param src - Code points source, either as a function returning the next code point
|
|
15
|
-
* respectively `null` if there are no more code points left or a single numeric code point.
|
|
16
|
-
* @param dst - Bytes destination as a function successively called with the next byte
|
|
17
|
-
*/
|
|
18
|
-
function encodeUTF8(src, dst) {
|
|
19
|
-
var cp = null;
|
|
20
|
-
if (typeof src === 'number')
|
|
21
|
-
cp = src, src = function () { return null; };
|
|
22
|
-
while (cp !== null || (cp = src()) !== null) {
|
|
23
|
-
if (cp < 0x80)
|
|
24
|
-
dst(cp & 0x7F);
|
|
25
|
-
else if (cp < 0x800)
|
|
26
|
-
dst(((cp >> 6) & 0x1F) | 0xC0), dst((cp & 0x3F) | 0x80);
|
|
27
|
-
else if (cp < 0x10000)
|
|
28
|
-
dst(((cp >> 12) & 0x0F) | 0xE0), dst(((cp >> 6) & 0x3F) | 0x80), dst((cp & 0x3F) | 0x80);
|
|
29
|
-
else
|
|
30
|
-
dst(((cp >> 18) & 0x07) | 0xF0), dst(((cp >> 12) & 0x3F) | 0x80), dst(((cp >> 6) & 0x3F) | 0x80), dst((cp & 0x3F) | 0x80);
|
|
31
|
-
cp = null;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Converts UTF16 characters to UTF8 code points.
|
|
36
|
-
* @param src - Characters source as a function returning the next char code respectively
|
|
37
|
-
* `null` if there are no more characters left.
|
|
38
|
-
* @param dst - Code points destination as a function successively called with each converted code
|
|
39
|
-
* point.
|
|
40
|
-
*/
|
|
41
|
-
function UTF16toUTF8(src, dst) {
|
|
42
|
-
var c1, c2 = null;
|
|
43
|
-
// eslint-disable-next-line no-constant-condition
|
|
44
|
-
while (true) {
|
|
45
|
-
if ((c1 = c2 !== null ? c2 : src()) === null)
|
|
46
|
-
break;
|
|
47
|
-
if (c1 >= 0xD800 && c1 <= 0xDFFF) {
|
|
48
|
-
if ((c2 = src()) !== null) {
|
|
49
|
-
if (c2 >= 0xDC00 && c2 <= 0xDFFF) {
|
|
50
|
-
dst((c1 - 0xD800) * 0x400 + c2 - 0xDC00 + 0x10000);
|
|
51
|
-
c2 = null;
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
dst(c1);
|
|
57
|
-
}
|
|
58
|
-
if (c2 !== null)
|
|
59
|
-
dst(c2);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Converts and encodes UTF16 characters to UTF8 bytes.
|
|
63
|
-
* @param src - Characters source as a function returning the next char code respectively `null`
|
|
64
|
-
* if there are no more characters left.
|
|
65
|
-
* @param dst - Bytes destination as a function successively called with the next byte.
|
|
66
|
-
*/
|
|
67
|
-
function encodeUTF16toUTF8(src, dst) {
|
|
68
|
-
UTF16toUTF8(src, function (cp) {
|
|
69
|
-
encodeUTF8(cp, dst);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
exports.encodeUTF16toUTF8 = encodeUTF16toUTF8;
|
|
73
|
-
/**
|
|
74
|
-
* String.fromCharCode reference for compile time renaming.
|
|
75
|
-
*/
|
|
76
|
-
var stringFromCharCode = String.fromCharCode;
|
|
77
|
-
/**
|
|
78
|
-
* Creates a source function for a string.
|
|
79
|
-
* @param s - String to read from
|
|
80
|
-
* @returns Source function returning the next char code respectively `null` if there are
|
|
81
|
-
* no more characters left.
|
|
82
|
-
* @throws If the argument is invalid
|
|
83
|
-
*/
|
|
84
|
-
function stringSource(s) {
|
|
85
|
-
if (typeof s !== 'string')
|
|
86
|
-
throw TypeError('Illegal argument: ' + (typeof s));
|
|
87
|
-
var i = 0;
|
|
88
|
-
return function () {
|
|
89
|
-
return i >= s.length ? null : s.charCodeAt(i++);
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
exports.stringSource = stringSource;
|
|
93
|
-
/**
|
|
94
|
-
* Creates a destination function for a string.
|
|
95
|
-
* @returns Destination function successively called with the next char code.
|
|
96
|
-
* Returns the final string when called without arguments.
|
|
97
|
-
*/
|
|
98
|
-
function stringDestination() {
|
|
99
|
-
var cs = [], ps = [];
|
|
100
|
-
return function () {
|
|
101
|
-
if (arguments.length === 0)
|
|
102
|
-
return ps.join('') + stringFromCharCode.apply(String, cs);
|
|
103
|
-
if (cs.length + arguments.length > 1024)
|
|
104
|
-
ps.push(stringFromCharCode.apply(String, cs)), cs.length = 0; // @ts-ignore
|
|
105
|
-
Array.prototype.push.apply(cs, arguments);
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
exports.stringDestination = stringDestination;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.thenable = void 0;
|
|
4
|
-
// returns true if the given value is a thenable object
|
|
5
|
-
function thenable(o) {
|
|
6
|
-
return o !== undefined && o !== null && typeof o.then === 'function';
|
|
7
|
-
}
|
|
8
|
-
exports.thenable = thenable;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.timeout = void 0;
|
|
4
|
-
function timeout(ms, promise) {
|
|
5
|
-
if (ms < 1)
|
|
6
|
-
return promise;
|
|
7
|
-
return new Promise(function (resolve, reject) {
|
|
8
|
-
var tid = setTimeout(function () {
|
|
9
|
-
reject(new Error("Operation timed out because it exceeded the configured time limit of " + ms + " ms."));
|
|
10
|
-
}, ms);
|
|
11
|
-
promise.then(function (res) {
|
|
12
|
-
clearTimeout(tid);
|
|
13
|
-
resolve(res);
|
|
14
|
-
}, function (err) {
|
|
15
|
-
clearTimeout(tid);
|
|
16
|
-
reject(err);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
exports.timeout = timeout;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.promiseWrapper = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* wraps a given promise in a new one with a default onRejected function,
|
|
6
|
-
* that handles the promise rejection if not other onRejected handler is provided.
|
|
7
|
-
*
|
|
8
|
-
* Caveats:
|
|
9
|
-
* - There are some cases where the `defaultOnRejected` handler is not invoked
|
|
10
|
-
* and the promise rejection must be handled by the user (same as the Promise spec):
|
|
11
|
-
* - using async/await syntax with a transpiler to Promises
|
|
12
|
-
* - setting an `onFinally` handler as the first handler (e.g. `promiseWrapper(Promise.reject()).finally(...)`)
|
|
13
|
-
* - setting more than one handler with at least one of them being an onRejected handler
|
|
14
|
-
* - If the wrapped promise is rejected when using native async/await syntax, the `defaultOnRejected` handler is invoked
|
|
15
|
-
* and neither the catch block nor the remaining try block are executed.
|
|
16
|
-
*
|
|
17
|
-
* @param customPromise - promise to wrap
|
|
18
|
-
* @param defaultOnRejected - default onRejected function
|
|
19
|
-
* @returns a promise that doesn't need to be handled for rejection (except when using async/await syntax) and
|
|
20
|
-
* includes a method named `hasOnFulfilled` that returns true if the promise has attached an onFulfilled handler.
|
|
21
|
-
*/
|
|
22
|
-
function promiseWrapper(customPromise, defaultOnRejected) {
|
|
23
|
-
var hasOnFulfilled = false;
|
|
24
|
-
var hasOnRejected = false;
|
|
25
|
-
function chain(promise) {
|
|
26
|
-
var newPromise = new Promise(function (res, rej) {
|
|
27
|
-
return promise.then(res, function (value) {
|
|
28
|
-
if (hasOnRejected) {
|
|
29
|
-
rej(value);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
defaultOnRejected(value);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
var originalThen = newPromise.then;
|
|
37
|
-
// Using `defineProperty` in case Promise.prototype.then property is not writable
|
|
38
|
-
Object.defineProperty(newPromise, 'then', {
|
|
39
|
-
value: function (onfulfilled, onrejected) {
|
|
40
|
-
var result = originalThen.call(newPromise, onfulfilled, onrejected);
|
|
41
|
-
if (typeof onfulfilled === 'function')
|
|
42
|
-
hasOnFulfilled = true;
|
|
43
|
-
if (typeof onrejected === 'function') {
|
|
44
|
-
hasOnRejected = true;
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
return chain(result);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
return newPromise;
|
|
53
|
-
}
|
|
54
|
-
var result = chain(customPromise);
|
|
55
|
-
result.hasOnFulfilled = function () { return hasOnFulfilled; };
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
exports.promiseWrapper = promiseWrapper;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateConsent = void 0;
|
|
4
|
-
var constants_1 = require("../../logger/constants");
|
|
5
|
-
var constants_2 = require("../constants");
|
|
6
|
-
var lang_1 = require("../lang");
|
|
7
|
-
var userConsentValues = [constants_2.CONSENT_DECLINED, constants_2.CONSENT_GRANTED, constants_2.CONSENT_UNKNOWN];
|
|
8
|
-
function validateConsent(_a) {
|
|
9
|
-
var userConsent = _a.userConsent, log = _a.log;
|
|
10
|
-
userConsent = (0, lang_1.stringToUpperCase)(userConsent);
|
|
11
|
-
if (userConsentValues.indexOf(userConsent) > -1)
|
|
12
|
-
return userConsent;
|
|
13
|
-
log.error(constants_1.ERROR_INVALID_CONFIG_PARAM, ['userConsent', userConsentValues, constants_2.CONSENT_GRANTED]);
|
|
14
|
-
return constants_2.CONSENT_GRANTED;
|
|
15
|
-
}
|
|
16
|
-
exports.validateConsent = validateConsent;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validImpressionsMode = void 0;
|
|
4
|
-
var constants_1 = require("../../logger/constants");
|
|
5
|
-
var constants_2 = require("../constants");
|
|
6
|
-
var lang_1 = require("../lang");
|
|
7
|
-
function validImpressionsMode(log, impressionsMode) {
|
|
8
|
-
impressionsMode = (0, lang_1.stringToUpperCase)(impressionsMode);
|
|
9
|
-
if ([constants_2.DEBUG, constants_2.OPTIMIZED, constants_2.NONE].indexOf(impressionsMode) > -1)
|
|
10
|
-
return impressionsMode;
|
|
11
|
-
log.error(constants_1.ERROR_INVALID_CONFIG_PARAM, ['impressionsMode', [constants_2.DEBUG, constants_2.OPTIMIZED, constants_2.NONE], constants_2.OPTIMIZED]);
|
|
12
|
-
return constants_2.OPTIMIZED;
|
|
13
|
-
}
|
|
14
|
-
exports.validImpressionsMode = validImpressionsMode;
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.settingsValidation = exports.base = void 0;
|
|
4
|
-
var lang_1 = require("../lang");
|
|
5
|
-
var mode_1 = require("./mode");
|
|
6
|
-
var splitFilters_1 = require("./splitFilters");
|
|
7
|
-
var constants_1 = require("../constants");
|
|
8
|
-
var impressionsMode_1 = require("./impressionsMode");
|
|
9
|
-
var key_1 = require("../inputValidation/key");
|
|
10
|
-
var constants_2 = require("../../logger/constants");
|
|
11
|
-
// Exported for telemetry
|
|
12
|
-
exports.base = {
|
|
13
|
-
// Define which kind of object you want to retrieve from SplitFactory
|
|
14
|
-
mode: constants_1.STANDALONE_MODE,
|
|
15
|
-
core: {
|
|
16
|
-
// API token (tight to an environment)
|
|
17
|
-
authorizationKey: undefined,
|
|
18
|
-
// key used in your system (only required for browser version)
|
|
19
|
-
key: undefined,
|
|
20
|
-
// toggle impressions tracking of labels
|
|
21
|
-
labelsEnabled: true,
|
|
22
|
-
// toggle sendind (true) or not sending (false) IP and Host Name with impressions, events, and telemetries requests (only used on nodejs version)
|
|
23
|
-
IPAddressesEnabled: undefined
|
|
24
|
-
},
|
|
25
|
-
scheduler: {
|
|
26
|
-
// fetch feature updates each 60 sec
|
|
27
|
-
featuresRefreshRate: 60,
|
|
28
|
-
// fetch segments updates each 60 sec
|
|
29
|
-
segmentsRefreshRate: 60,
|
|
30
|
-
// publish telemetry stats each 3600 secs (1 hour)
|
|
31
|
-
telemetryRefreshRate: 3600,
|
|
32
|
-
// publish evaluations each 300 sec (default value for OPTIMIZED impressions mode)
|
|
33
|
-
impressionsRefreshRate: 300,
|
|
34
|
-
// fetch offline changes each 15 sec
|
|
35
|
-
offlineRefreshRate: 15,
|
|
36
|
-
// publish events every 60 seconds after the first flush
|
|
37
|
-
eventsPushRate: 60,
|
|
38
|
-
// how many events will be queued before flushing
|
|
39
|
-
eventsQueueSize: 500,
|
|
40
|
-
// how many impressions will be queued before flushing
|
|
41
|
-
impressionsQueueSize: 30000,
|
|
42
|
-
// backoff base seconds to wait before re attempting to connect to push notifications
|
|
43
|
-
pushRetryBackoffBase: 1,
|
|
44
|
-
},
|
|
45
|
-
urls: {
|
|
46
|
-
// CDN having all the information for your environment
|
|
47
|
-
sdk: 'https://sdk.split.io/api',
|
|
48
|
-
// SDK event and impression endpoints
|
|
49
|
-
events: 'https://events.split.io/api',
|
|
50
|
-
// SDK Auth Server
|
|
51
|
-
auth: 'https://auth.split.io/api',
|
|
52
|
-
// Streaming Server
|
|
53
|
-
streaming: 'https://streaming.split.io',
|
|
54
|
-
// Telemetry Server
|
|
55
|
-
telemetry: 'https://telemetry.split.io/api',
|
|
56
|
-
},
|
|
57
|
-
// Defines which kind of storage we should instantiate.
|
|
58
|
-
storage: undefined,
|
|
59
|
-
// Defines if the logs are enabled, SDK wide.
|
|
60
|
-
debug: undefined,
|
|
61
|
-
// Defines the impression listener.
|
|
62
|
-
impressionListener: undefined,
|
|
63
|
-
// Instance version.
|
|
64
|
-
version: undefined,
|
|
65
|
-
// List of integrations.
|
|
66
|
-
integrations: undefined,
|
|
67
|
-
// toggle using (true) or not using (false) Server-Side Events for synchronizing storage
|
|
68
|
-
streamingEnabled: true,
|
|
69
|
-
sync: {
|
|
70
|
-
splitFilters: undefined,
|
|
71
|
-
// impressions collection mode
|
|
72
|
-
impressionsMode: constants_1.OPTIMIZED,
|
|
73
|
-
enabled: true,
|
|
74
|
-
flagSpecVersion: constants_1.FLAG_SPEC_VERSION
|
|
75
|
-
},
|
|
76
|
-
// Logger
|
|
77
|
-
log: undefined
|
|
78
|
-
};
|
|
79
|
-
function fromSecondsToMillis(n) {
|
|
80
|
-
return Math.round(n * 1000);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Validates the given config and use it to build a settings object.
|
|
84
|
-
* NOTE: it doesn't validate the SDK Key. Call `validateApiKey` or `validateAndTrackApiKey` for that after settings validation.
|
|
85
|
-
*
|
|
86
|
-
* @param config - user defined configuration
|
|
87
|
-
* @param validationParams - defaults and fields validators used to validate and creates a settings object from a given config
|
|
88
|
-
*/
|
|
89
|
-
function settingsValidation(config, validationParams) {
|
|
90
|
-
var defaults = validationParams.defaults, runtime = validationParams.runtime, storage = validationParams.storage, integrations = validationParams.integrations, logger = validationParams.logger, consent = validationParams.consent, flagSpec = validationParams.flagSpec;
|
|
91
|
-
// creates a settings object merging base, defaults and config objects.
|
|
92
|
-
var withDefaults = (0, lang_1.merge)({}, exports.base, defaults, config);
|
|
93
|
-
// Keeps reference to the `features` property
|
|
94
|
-
withDefaults.features = (0, lang_1.get)(config, 'features');
|
|
95
|
-
// ensure a valid logger.
|
|
96
|
-
// First thing to validate, since other validators might use the logger.
|
|
97
|
-
var log = logger(withDefaults); // @ts-ignore, modify readonly prop
|
|
98
|
-
withDefaults.log = log;
|
|
99
|
-
// ensure a valid impressionsMode
|
|
100
|
-
var sync = withDefaults.sync;
|
|
101
|
-
sync.impressionsMode = (0, impressionsMode_1.validImpressionsMode)(log, sync.impressionsMode);
|
|
102
|
-
function validateMinValue(paramName, actualValue, minValue) {
|
|
103
|
-
if (actualValue >= minValue)
|
|
104
|
-
return actualValue;
|
|
105
|
-
// actualValue is not a number or is lower than minValue
|
|
106
|
-
log.error(constants_2.ERROR_MIN_CONFIG_PARAM, [paramName, minValue]);
|
|
107
|
-
return minValue;
|
|
108
|
-
}
|
|
109
|
-
// Scheduler periods
|
|
110
|
-
var scheduler = withDefaults.scheduler, startup = withDefaults.startup;
|
|
111
|
-
scheduler.featuresRefreshRate = fromSecondsToMillis(scheduler.featuresRefreshRate);
|
|
112
|
-
scheduler.segmentsRefreshRate = fromSecondsToMillis(scheduler.segmentsRefreshRate);
|
|
113
|
-
scheduler.offlineRefreshRate = fromSecondsToMillis(scheduler.offlineRefreshRate);
|
|
114
|
-
scheduler.eventsPushRate = fromSecondsToMillis(scheduler.eventsPushRate);
|
|
115
|
-
scheduler.telemetryRefreshRate = fromSecondsToMillis(validateMinValue('telemetryRefreshRate', scheduler.telemetryRefreshRate, 60));
|
|
116
|
-
// Default impressionsRefreshRate for DEBUG mode is 60 secs
|
|
117
|
-
if ((0, lang_1.get)(config, 'scheduler.impressionsRefreshRate') === undefined && sync.impressionsMode === constants_1.DEBUG)
|
|
118
|
-
scheduler.impressionsRefreshRate = 60;
|
|
119
|
-
scheduler.impressionsRefreshRate = fromSecondsToMillis(scheduler.impressionsRefreshRate);
|
|
120
|
-
// Log deprecation for old telemetry param
|
|
121
|
-
if (scheduler.metricsRefreshRate)
|
|
122
|
-
log.warn('`metricsRefreshRate` will be deprecated soon. For configuring telemetry rates, update `telemetryRefreshRate` value in configs');
|
|
123
|
-
// Startup periods
|
|
124
|
-
startup.requestTimeoutBeforeReady = fromSecondsToMillis(startup.requestTimeoutBeforeReady);
|
|
125
|
-
startup.readyTimeout = fromSecondsToMillis(startup.readyTimeout);
|
|
126
|
-
startup.eventsFirstPushWindow = fromSecondsToMillis(startup.eventsFirstPushWindow);
|
|
127
|
-
// ensure a valid SDK mode
|
|
128
|
-
// @ts-ignore, modify readonly prop
|
|
129
|
-
withDefaults.mode = (0, mode_1.validateMode)(withDefaults.core.authorizationKey, withDefaults.mode);
|
|
130
|
-
// ensure a valid Storage based on mode defined.
|
|
131
|
-
// @ts-ignore, modify readonly prop
|
|
132
|
-
if (storage)
|
|
133
|
-
withDefaults.storage = storage(withDefaults);
|
|
134
|
-
// Validate key and TT (for client-side)
|
|
135
|
-
var maybeKey = withDefaults.core.key;
|
|
136
|
-
if (validationParams.acceptKey) {
|
|
137
|
-
// Although `key` is required in client-side, it can be omitted in LOCALHOST mode. In that case, the value `localhost_key` is used.
|
|
138
|
-
if (withDefaults.mode === constants_1.LOCALHOST_MODE && maybeKey === undefined) {
|
|
139
|
-
withDefaults.core.key = 'localhost_key';
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
// Keeping same behavior than JS SDK: if settings key or TT are invalid,
|
|
143
|
-
// `false` value is used as bound key/TT of the default client, which leads to some issues.
|
|
144
|
-
// @ts-ignore, @TODO handle invalid keys as a non-recoverable error?
|
|
145
|
-
withDefaults.core.key = (0, key_1.validateKey)(log, maybeKey, constants_2.LOG_PREFIX_CLIENT_INSTANTIATION);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
// On server-side, key is undefined and used to distinguish from client-side
|
|
150
|
-
if (maybeKey !== undefined)
|
|
151
|
-
log.warn('Provided `key` is ignored in server-side SDK.'); // @ts-ignore
|
|
152
|
-
withDefaults.core.key = undefined;
|
|
153
|
-
}
|
|
154
|
-
// Current ip/hostname information
|
|
155
|
-
// @ts-ignore, modify readonly prop
|
|
156
|
-
withDefaults.runtime = runtime(withDefaults);
|
|
157
|
-
// ensure a valid list of integrations.
|
|
158
|
-
// `integrations` returns an array of valid integration items.
|
|
159
|
-
// @ts-ignore, modify readonly prop
|
|
160
|
-
if (integrations)
|
|
161
|
-
withDefaults.integrations = integrations(withDefaults);
|
|
162
|
-
// validate push options
|
|
163
|
-
if (withDefaults.streamingEnabled !== false) { // @ts-ignore, modify readonly prop
|
|
164
|
-
withDefaults.streamingEnabled = true;
|
|
165
|
-
// Backoff bases.
|
|
166
|
-
// We are not checking if bases are positive numbers. Thus, we might be re-authenticating immediately (`setTimeout` with NaN or negative number)
|
|
167
|
-
scheduler.pushRetryBackoffBase = fromSecondsToMillis(scheduler.pushRetryBackoffBase);
|
|
168
|
-
}
|
|
169
|
-
// validate sync enabled
|
|
170
|
-
if (sync.enabled !== false) {
|
|
171
|
-
sync.enabled = true;
|
|
172
|
-
}
|
|
173
|
-
// validate the `splitFilters` settings and parse splits query
|
|
174
|
-
var splitFiltersValidation = (0, splitFilters_1.validateSplitFilters)(log, sync.splitFilters, withDefaults.mode);
|
|
175
|
-
sync.splitFilters = splitFiltersValidation.validFilters;
|
|
176
|
-
sync.__splitFiltersValidation = splitFiltersValidation;
|
|
177
|
-
// ensure a valid flag spec version
|
|
178
|
-
sync.flagSpecVersion = flagSpec ? flagSpec(withDefaults) : constants_1.FLAG_SPEC_VERSION;
|
|
179
|
-
// ensure a valid user consent value
|
|
180
|
-
// @ts-ignore, modify readonly prop
|
|
181
|
-
withDefaults.userConsent = consent ? consent(withDefaults) : undefined;
|
|
182
|
-
return withDefaults;
|
|
183
|
-
}
|
|
184
|
-
exports.settingsValidation = settingsValidation;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateIntegrations = void 0;
|
|
4
|
-
var constants_1 = require("../../../logger/constants");
|
|
5
|
-
/**
|
|
6
|
-
* This function validates `settings.integrations` object
|
|
7
|
-
*
|
|
8
|
-
* @param settings - config object provided by the user to initialize the sdk
|
|
9
|
-
* @param integrationValidator - filter used to remove invalid integration items
|
|
10
|
-
* @param extraWarning - optional string used to better describe why an item might be invalid
|
|
11
|
-
*
|
|
12
|
-
* @returns array of valid integration items. The array might be empty if `settings` object does not have valid integrations.
|
|
13
|
-
*/
|
|
14
|
-
function validateIntegrations(settings, integrationValidator, extraWarning) {
|
|
15
|
-
var integrations = settings.integrations, log = settings.log;
|
|
16
|
-
// If integrations is not an array or an empty array, we return an empty array (no integrations).
|
|
17
|
-
if (!Array.isArray(integrations) || integrations.length === 0)
|
|
18
|
-
return [];
|
|
19
|
-
// We remove invalid integration items
|
|
20
|
-
var validIntegrations = integrations.filter(integrationValidator);
|
|
21
|
-
// Log a warning if at least one item is invalid
|
|
22
|
-
var invalids = integrations.length - validIntegrations.length;
|
|
23
|
-
if (invalids)
|
|
24
|
-
log.warn(constants_1.WARN_INTEGRATION_INVALID, [invalids, extraWarning || '']);
|
|
25
|
-
return validIntegrations;
|
|
26
|
-
}
|
|
27
|
-
exports.validateIntegrations = validateIntegrations;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateConfigurableIntegrations = void 0;
|
|
4
|
-
var common_1 = require("./common");
|
|
5
|
-
var lang_1 = require("../../lang");
|
|
6
|
-
/**
|
|
7
|
-
* This function validates `settings.integrations` object that consists of a list of configuration items, used by the isomorphic JS SDK.
|
|
8
|
-
*
|
|
9
|
-
* @param settings - config object provided by the user to initialize the sdk
|
|
10
|
-
* @param validIntegrationTypes - list of integration types to filter from `settings.integrations`
|
|
11
|
-
*
|
|
12
|
-
* @returns array of valid integration items. The array might be empty if `settings` object does not have valid integrations.
|
|
13
|
-
*/
|
|
14
|
-
function validateConfigurableIntegrations(settings, validIntegrationTypes) {
|
|
15
|
-
if (validIntegrationTypes === void 0) { validIntegrationTypes = []; }
|
|
16
|
-
return (0, common_1.validateIntegrations)(settings, function (integration) { return integration && (0, lang_1.isString)(integration.type) && validIntegrationTypes.indexOf(integration.type) > -1; }, 'Integration items must have a valid "type" value');
|
|
17
|
-
}
|
|
18
|
-
exports.validateConfigurableIntegrations = validateConfigurableIntegrations;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validatePluggableIntegrations = void 0;
|
|
4
|
-
var common_1 = require("./common");
|
|
5
|
-
/**
|
|
6
|
-
* This function validates `settings.integrations` object that consists of a list of pluggable integration factories.
|
|
7
|
-
*
|
|
8
|
-
* @param settings - config object provided by the user to initialize the sdk
|
|
9
|
-
*
|
|
10
|
-
* @returns array of valid integration factories. The array might be empty if `settings` object does not have valid integrations.
|
|
11
|
-
*/
|
|
12
|
-
function validatePluggableIntegrations(settings) {
|
|
13
|
-
return (0, common_1.validateIntegrations)(settings, function (integration) { return typeof integration === 'function'; }, 'Integration items must be functions that initialize the integrations');
|
|
14
|
-
}
|
|
15
|
-
exports.validatePluggableIntegrations = validatePluggableIntegrations;
|