@splitsoftware/splitio 10.17.3-rc.1 → 10.17.3-rc.4
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 +3 -0
- package/es/client/attributesDecoration.js +116 -0
- package/es/client/browser.js +39 -0
- package/es/client/client.js +155 -0
- package/es/client/inputValidation.js +117 -0
- package/es/client/node.js +6 -0
- package/es/{factory → client}/package.json +0 -0
- package/es/engine/combiners/and.js +54 -0
- package/es/engine/combiners/ifelseif.js +73 -0
- package/es/engine/condition/index.js +62 -0
- package/es/engine/convertions/index.js +29 -0
- package/es/engine/engine/index.js +60 -0
- package/es/engine/engine/legacy.js +77 -0
- package/es/engine/engine/murmur3/common.js +40 -0
- package/es/engine/engine/murmur3/murmur3.js +83 -0
- package/es/engine/engine/murmur3/murmur3_128.js +250 -0
- package/es/engine/engine/murmur3/murmur3_128_x86.js +183 -0
- package/es/engine/engine/murmur3/murmur3_64.js +52 -0
- package/es/engine/engine/murmur3/utfx.js +112 -0
- package/es/engine/evaluator/index.js +111 -0
- package/es/engine/index.js +112 -0
- package/es/engine/matchers/all.js +32 -0
- package/es/engine/matchers/between.js +35 -0
- package/es/engine/matchers/boolean.js +35 -0
- package/es/engine/matchers/cont_all.js +51 -0
- package/es/engine/matchers/cont_any.js +47 -0
- package/es/engine/matchers/cont_str.js +38 -0
- package/es/engine/matchers/dependency.js +50 -0
- package/es/engine/matchers/eq.js +35 -0
- package/es/engine/matchers/eq_set.js +49 -0
- package/es/engine/matchers/ew.js +38 -0
- package/es/engine/matchers/gte.js +35 -0
- package/es/engine/matchers/index.js +65 -0
- package/es/engine/matchers/lte.js +35 -0
- package/es/engine/matchers/part_of.js +49 -0
- package/es/engine/matchers/segment.js +39 -0
- package/es/engine/matchers/string.js +44 -0
- package/es/engine/matchers/sw.js +38 -0
- package/es/engine/matchers/types.js +48 -0
- package/es/engine/matchers/whitelist.js +36 -0
- package/es/engine/parser/index.js +69 -0
- package/es/engine/parser/segments.js +22 -0
- package/es/engine/transforms/matcherGroup.js +43 -0
- package/es/engine/transforms/matchers.js +109 -0
- package/es/engine/transforms/segment.js +28 -0
- package/es/engine/transforms/set.js +20 -0
- package/es/engine/transforms/unaryNumeric.js +20 -0
- package/es/engine/transforms/whitelist.js +22 -0
- package/es/engine/treatments/index.js +67 -0
- package/es/engine/value/index.js +54 -0
- package/es/engine/value/sanitize.js +125 -0
- package/es/events/index.js +65 -0
- package/es/factory/offline.js +50 -0
- package/es/factory/online.js +113 -0
- package/es/impressions/counter.js +52 -0
- package/es/impressions/hasher/buildKey.js +3 -0
- package/es/impressions/hasher/hashImpression128.js +5 -0
- package/es/impressions/hasher/hashImpression32.js +5 -0
- package/es/impressions/observer/browser.js +9 -0
- package/es/impressions/observer/node.js +9 -0
- package/es/impressions/observer/observer.js +21 -0
- package/es/{platform/getEventSource → impressions/observer}/package.json +0 -0
- package/es/index.js +132 -1
- package/es/integrations/browser.js +62 -0
- package/es/integrations/ga/GaToSplit.js +246 -0
- package/es/integrations/ga/SplitToGa.js +127 -0
- package/es/integrations/node.js +3 -0
- package/es/{platform/getFetch → integrations}/package.json +0 -0
- package/es/listeners/browser.js +157 -0
- package/es/listeners/node.js +65 -0
- package/es/{platform → listeners}/package.json +0 -0
- package/es/manager/index.js +104 -0
- package/es/metrics/Collectors.js +100 -0
- package/es/metrics/index.js +157 -0
- package/es/producer/browser/Partial.js +103 -0
- package/es/producer/browser.js +70 -0
- package/es/producer/fetcher/MySegments.js +47 -0
- package/es/producer/fetcher/SegmentChanges.js +52 -0
- package/es/producer/fetcher/SplitChanges.js +46 -0
- package/es/producer/node.js +130 -0
- package/es/producer/offline/browser.js +26 -0
- package/es/producer/offline/node.js +26 -0
- package/es/{settings → producer/offline}/package.json +0 -0
- package/{lib/factory → es/producer}/package.json +0 -0
- package/es/producer/task.js +50 -0
- package/es/producer/updater/MySegments.js +108 -0
- package/es/producer/updater/SegmentChanges.js +135 -0
- package/es/producer/updater/SplitChanges.js +131 -0
- package/es/producer/updater/SplitChangesFromFeatures.js +21 -0
- package/es/producer/updater/SplitChangesFromFileSystem.js +21 -0
- package/es/producer/updater/SplitChangesFromObject.js +73 -0
- package/es/readiness/index.js +123 -0
- package/es/readiness/statusManager.js +114 -0
- package/es/services/auth/auth.js +25 -0
- package/es/services/auth/index.js +2 -0
- package/es/services/events/bulk.js +22 -0
- package/es/services/events/index.js +17 -0
- package/{src/platform → es/services}/getEventSource/browser.js +2 -2
- package/es/{platform → services}/getEventSource/node.js +1 -1
- package/{lib/platform → es/services}/getEventSource/package.json +0 -0
- package/es/{platform → services}/getFetch/browser.js +1 -1
- package/es/{platform → services}/getFetch/node.js +1 -1
- package/{lib/platform → es/services}/getFetch/package.json +0 -0
- package/es/services/impressions/bulk.js +26 -0
- package/es/services/impressions/count.js +7 -0
- package/es/services/impressions/dto.js +73 -0
- package/es/services/impressions/index.js +17 -0
- package/es/services/impressions/post.js +22 -0
- package/es/services/metrics/counters.js +24 -0
- package/es/services/metrics/dto.js +38 -0
- package/es/services/metrics/index.js +17 -0
- package/es/services/metrics/times.js +24 -0
- package/es/services/mySegments/get.js +26 -0
- package/es/services/mySegments/index.js +17 -0
- package/es/services/request/index.js +43 -0
- package/es/services/request/options/browser.js +18 -0
- package/es/{platform → services}/request/options/node.js +2 -2
- package/{lib/platform → es/services/request/options}/package.json +0 -0
- package/es/services/segmentChanges/get.js +21 -0
- package/es/services/segmentChanges/index.js +17 -0
- package/es/services/splitChanges/get.js +19 -0
- package/es/services/splitChanges/index.js +17 -0
- package/es/services/splitChanges/offline/browser.js +63 -0
- package/es/services/splitChanges/offline/node.js +176 -0
- package/{lib/settings → es/services/splitChanges/offline}/package.json +0 -0
- package/es/services/splitChanges/offline/parseCondition.js +43 -0
- package/es/services/transport/index.js +51 -0
- package/es/storage/AttributesCache/InMemory.js +85 -0
- package/es/storage/BaseMetricsAsyncCache.js +23 -0
- package/es/storage/CountCache/InMemory.js +48 -0
- package/es/storage/CountCache/InRedis.js +42 -0
- package/es/storage/EventsCache/InMemory.js +109 -0
- package/es/storage/EventsCache/InRedis.js +65 -0
- package/es/storage/ImpressionsCache/InMemory.js +71 -0
- package/es/storage/ImpressionsCache/InRedis.js +73 -0
- package/es/storage/Keys.js +125 -0
- package/es/storage/KeysLocalStorage.js +58 -0
- package/es/storage/LatencyCache/InMemory.js +56 -0
- package/es/storage/LatencyCache/InRedis.js +44 -0
- package/es/storage/LatencyCache/findIndex.js +2 -0
- package/es/storage/Meta.js +7 -0
- package/es/storage/RedisAdapter.js +198 -0
- package/es/storage/SegmentCache/InLocalStorage/index.js +162 -0
- package/es/storage/SegmentCache/InMemory/browser.js +107 -0
- package/es/storage/SegmentCache/InMemory/node.js +82 -0
- package/{src/factory → es/storage/SegmentCache/InMemory}/package.json +0 -0
- package/es/storage/SegmentCache/InRedis/index.js +81 -0
- package/es/storage/SplitCache/InLocalStorage.js +332 -0
- package/es/storage/SplitCache/InMemory.js +162 -0
- package/es/storage/SplitCache/InRedis.js +214 -0
- package/es/storage/SplitCache/killLocally.js +35 -0
- package/es/storage/browser.js +101 -0
- package/es/storage/node.js +81 -0
- package/{src/platform/getEventSource → es/storage}/package.json +0 -0
- package/es/sync/AuthClient/index.js +34 -0
- package/es/sync/PushManager/index.js +315 -0
- package/es/sync/PushManager/mySegmentsV2utils.js +76 -0
- package/es/sync/PushManager/pushRequirements/browser.js +23 -0
- package/es/sync/PushManager/pushRequirements/node.js +18 -0
- package/{src/platform/getFetch → es/sync/PushManager/pushRequirements}/package.json +0 -0
- package/es/sync/SSEClient/index.js +93 -0
- package/es/sync/SSEHandler/NotificationKeeper.js +97 -0
- package/es/sync/SSEHandler/NotificationParser.js +31 -0
- package/es/sync/SSEHandler/index.js +110 -0
- package/es/sync/SegmentUpdateWorker/browser.js +74 -0
- package/es/sync/SegmentUpdateWorker/node.js +79 -0
- package/{src/platform → es/sync/SegmentUpdateWorker}/package.json +0 -0
- package/es/sync/SplitUpdateWorker/index.js +86 -0
- package/es/sync/browser.js +125 -0
- package/es/sync/constants.js +42 -0
- package/es/sync/node.js +60 -0
- package/{src/settings → es/sync}/package.json +0 -0
- package/es/trackers/event.js +53 -0
- package/es/trackers/impressions.js +132 -0
- package/es/umd.js +1 -2
- package/es/utils/backoff/index.js +51 -0
- package/es/utils/base64/browser.js +19 -0
- package/es/utils/base64/node.js +19 -0
- package/es/utils/base64/package.json +4 -0
- package/es/utils/binarySearch/index.js +50 -0
- package/es/utils/constants/index.js +38 -0
- package/es/utils/context/constants.js +30 -0
- package/es/utils/context/index.js +101 -0
- package/es/utils/decompress/index.js +476 -0
- package/es/utils/fn/repeat.js +58 -0
- package/es/utils/inputValidation/apiKey.js +39 -0
- package/es/utils/inputValidation/attribute.js +22 -0
- package/es/utils/inputValidation/attributes.js +19 -0
- package/es/utils/inputValidation/event.js +23 -0
- package/es/utils/inputValidation/eventProperties.js +69 -0
- package/es/utils/inputValidation/eventValue.js +9 -0
- package/es/utils/inputValidation/index.js +11 -0
- package/es/utils/inputValidation/isOperational.js +14 -0
- package/es/utils/inputValidation/key.js +50 -0
- package/es/utils/inputValidation/split.js +47 -0
- package/es/utils/inputValidation/splitFilters.js +121 -0
- package/es/utils/inputValidation/splits.js +27 -0
- package/es/utils/inputValidation/trafficType.js +55 -0
- package/es/utils/jwt/hashUserKey.js +11 -0
- package/es/utils/jwt/index.js +14 -0
- package/es/utils/key/factory.js +38 -0
- package/es/utils/key/parser.js +34 -0
- package/es/utils/labels/index.js +7 -0
- package/es/utils/lang/Errors.js +41 -0
- package/es/utils/lang/Sets.js +114 -0
- package/es/utils/lang/index.js +305 -0
- package/es/utils/localstorage/isAvailable.js +26 -0
- package/es/utils/logger/LoggerFactory.js +86 -0
- package/es/utils/logger/index.js +97 -0
- package/es/utils/lrucache/linkedlist.js +122 -0
- package/es/utils/lrucache/lru.spec.js +24 -0
- package/es/utils/lrucache/lrucache.js +80 -0
- package/es/utils/now/browser.js +27 -0
- package/es/utils/now/node.js +19 -0
- package/es/utils/now/package.json +4 -0
- package/es/utils/promise/thenable.js +3 -0
- package/es/utils/promise/timeout.js +34 -0
- package/es/utils/promise/wrapper.js +58 -0
- package/es/{settings → utils/settings}/defaults/browser.js +2 -5
- package/es/{settings → utils/settings}/defaults/node.js +2 -5
- package/es/utils/settings/defaults/package.json +4 -0
- package/es/utils/settings/impressionsMode.js +16 -0
- package/es/utils/settings/index.js +194 -0
- package/es/utils/settings/integrations/browser.js +8 -0
- package/es/utils/settings/integrations/common.js +30 -0
- package/es/utils/settings/integrations/node.js +7 -0
- package/es/utils/settings/integrations/package.json +4 -0
- package/es/utils/settings/language/browser.js +16 -0
- package/es/utils/settings/language/node.js +16 -0
- package/es/utils/settings/language/package.json +4 -0
- package/es/utils/settings/mode.js +10 -0
- package/es/utils/settings/runtime/browser.js +21 -0
- package/es/{settings → utils/settings}/runtime/node.js +4 -6
- package/es/utils/settings/runtime/package.json +4 -0
- package/es/{settings → utils/settings}/storage/browser.js +17 -16
- package/es/{settings → utils/settings}/storage/node.js +16 -25
- package/es/utils/settings/storage/package.json +4 -0
- package/es/utils/splits/usesSegments.js +21 -0
- package/es/utils/time/index.js +8 -0
- package/es/utils/timeTracker/index.js +216 -0
- package/es/utils/timeTracker/timer.js +25 -0
- package/lib/client/attributesDecoration.js +128 -0
- package/lib/client/browser.js +50 -0
- package/lib/client/client.js +174 -0
- package/lib/client/inputValidation.js +129 -0
- package/lib/client/node.js +14 -0
- package/lib/client/package.json +4 -0
- package/lib/engine/combiners/and.js +65 -0
- package/lib/engine/combiners/ifelseif.js +88 -0
- package/lib/engine/condition/index.js +76 -0
- package/lib/engine/convertions/index.js +36 -0
- package/lib/engine/engine/index.js +71 -0
- package/lib/engine/engine/legacy.js +83 -0
- package/lib/engine/engine/murmur3/common.js +52 -0
- package/lib/engine/engine/murmur3/murmur3.js +90 -0
- package/lib/engine/engine/murmur3/murmur3_128.js +256 -0
- package/lib/engine/engine/murmur3/murmur3_128_x86.js +189 -0
- package/lib/engine/engine/murmur3/murmur3_64.js +57 -0
- package/lib/engine/engine/murmur3/utfx.js +121 -0
- package/lib/engine/evaluator/index.js +129 -0
- package/lib/engine/index.js +128 -0
- package/lib/engine/matchers/all.js +41 -0
- package/lib/engine/matchers/between.js +44 -0
- package/lib/engine/matchers/boolean.js +44 -0
- package/lib/engine/matchers/cont_all.js +61 -0
- package/lib/engine/matchers/cont_any.js +57 -0
- package/lib/engine/matchers/cont_str.js +48 -0
- package/lib/engine/matchers/dependency.js +60 -0
- package/lib/engine/matchers/eq.js +44 -0
- package/lib/engine/matchers/eq_set.js +59 -0
- package/lib/engine/matchers/ew.js +48 -0
- package/lib/engine/matchers/gte.js +44 -0
- package/lib/engine/matchers/index.js +90 -0
- package/lib/engine/matchers/lte.js +44 -0
- package/lib/engine/matchers/part_of.js +59 -0
- package/lib/engine/matchers/segment.js +49 -0
- package/lib/engine/matchers/string.js +53 -0
- package/lib/engine/matchers/sw.js +48 -0
- package/lib/engine/matchers/types.js +57 -0
- package/lib/engine/matchers/whitelist.js +46 -0
- package/lib/engine/parser/index.js +84 -0
- package/lib/engine/parser/segments.js +28 -0
- package/lib/engine/transforms/matcherGroup.js +54 -0
- package/lib/engine/transforms/matchers.js +124 -0
- package/lib/engine/transforms/segment.js +34 -0
- package/lib/engine/transforms/set.js +26 -0
- package/lib/engine/transforms/unaryNumeric.js +26 -0
- package/lib/engine/transforms/whitelist.js +28 -0
- package/lib/engine/treatments/index.js +73 -0
- package/lib/engine/value/index.js +64 -0
- package/lib/engine/value/sanitize.js +137 -0
- package/lib/events/index.js +80 -0
- package/lib/factory/offline.js +62 -0
- package/lib/factory/online.js +129 -0
- package/lib/impressions/counter.js +61 -0
- package/lib/impressions/hasher/buildKey.js +8 -0
- package/lib/impressions/hasher/hashImpression128.js +12 -0
- package/lib/impressions/hasher/hashImpression32.js +14 -0
- package/lib/impressions/observer/browser.js +19 -0
- package/lib/impressions/observer/node.js +19 -0
- package/lib/impressions/observer/observer.js +29 -0
- package/lib/impressions/observer/package.json +4 -0
- package/lib/index.js +151 -3
- package/lib/integrations/browser.js +72 -0
- package/lib/integrations/ga/GaToSplit.js +267 -0
- package/lib/integrations/ga/SplitToGa.js +138 -0
- package/lib/integrations/node.js +9 -0
- package/lib/integrations/package.json +4 -0
- package/lib/listeners/browser.js +173 -0
- package/lib/listeners/node.js +74 -0
- package/lib/listeners/package.json +4 -0
- package/lib/manager/index.js +115 -0
- package/lib/metrics/Collectors.js +118 -0
- package/lib/metrics/index.js +182 -0
- package/lib/producer/browser/Partial.js +114 -0
- package/lib/producer/browser.js +82 -0
- package/lib/producer/fetcher/MySegments.js +59 -0
- package/lib/producer/fetcher/SegmentChanges.js +62 -0
- package/lib/producer/fetcher/SplitChanges.js +58 -0
- package/lib/producer/node.js +142 -0
- package/lib/producer/offline/browser.js +35 -0
- package/lib/producer/offline/node.js +35 -0
- package/lib/producer/offline/package.json +4 -0
- package/lib/producer/package.json +4 -0
- package/lib/producer/task.js +61 -0
- package/lib/producer/updater/MySegments.js +119 -0
- package/lib/producer/updater/SegmentChanges.js +148 -0
- package/lib/producer/updater/SplitChanges.js +145 -0
- package/lib/producer/updater/SplitChangesFromFeatures.js +30 -0
- package/lib/producer/updater/SplitChangesFromFileSystem.js +30 -0
- package/lib/producer/updater/SplitChangesFromObject.js +84 -0
- package/lib/readiness/index.js +132 -0
- package/lib/readiness/statusManager.js +124 -0
- package/lib/services/auth/auth.js +32 -0
- package/lib/services/auth/index.js +11 -0
- package/lib/services/events/bulk.js +31 -0
- package/lib/services/events/index.js +26 -0
- package/lib/{platform → services}/getEventSource/browser.js +1 -1
- package/lib/{platform → services}/getEventSource/node.js +1 -1
- package/lib/services/getEventSource/package.json +4 -0
- package/lib/{platform → services}/getFetch/browser.js +1 -1
- package/lib/{platform → services}/getFetch/node.js +1 -1
- package/lib/services/getFetch/package.json +4 -0
- package/lib/services/impressions/bulk.js +36 -0
- package/lib/services/impressions/count.js +16 -0
- package/lib/services/impressions/dto.js +81 -0
- package/lib/services/impressions/index.js +26 -0
- package/lib/services/impressions/post.js +31 -0
- package/lib/services/metrics/counters.js +33 -0
- package/lib/services/metrics/dto.js +46 -0
- package/lib/services/metrics/index.js +26 -0
- package/lib/services/metrics/times.js +33 -0
- package/lib/services/mySegments/get.js +35 -0
- package/lib/services/mySegments/index.js +26 -0
- package/lib/services/request/index.js +53 -0
- package/lib/services/request/options/browser.js +23 -0
- package/lib/{platform → services}/request/options/node.js +2 -2
- package/lib/services/request/options/package.json +4 -0
- package/lib/services/segmentChanges/get.js +29 -0
- package/lib/services/segmentChanges/index.js +26 -0
- package/lib/services/splitChanges/get.js +27 -0
- package/lib/services/splitChanges/index.js +26 -0
- package/lib/services/splitChanges/offline/browser.js +71 -0
- package/lib/services/splitChanges/offline/node.js +189 -0
- package/lib/services/splitChanges/offline/package.json +4 -0
- package/lib/services/splitChanges/offline/parseCondition.js +49 -0
- package/lib/services/transport/index.js +62 -0
- package/lib/storage/AttributesCache/InMemory.js +93 -0
- package/lib/storage/BaseMetricsAsyncCache.js +28 -0
- package/lib/storage/CountCache/InMemory.js +54 -0
- package/lib/storage/CountCache/InRedis.js +50 -0
- package/lib/storage/EventsCache/InMemory.js +118 -0
- package/lib/storage/EventsCache/InRedis.js +74 -0
- package/lib/storage/ImpressionsCache/InMemory.js +77 -0
- package/lib/storage/ImpressionsCache/InRedis.js +79 -0
- package/lib/storage/Keys.js +132 -0
- package/lib/storage/KeysLocalStorage.js +69 -0
- package/lib/storage/LatencyCache/InMemory.js +64 -0
- package/lib/storage/LatencyCache/InRedis.js +53 -0
- package/lib/storage/LatencyCache/findIndex.js +12 -0
- package/lib/storage/Meta.js +12 -0
- package/lib/storage/RedisAdapter.js +212 -0
- package/lib/storage/SegmentCache/InLocalStorage/index.js +171 -0
- package/lib/storage/SegmentCache/InMemory/browser.js +113 -0
- package/lib/storage/SegmentCache/InMemory/node.js +89 -0
- package/lib/storage/SegmentCache/InMemory/package.json +4 -0
- package/lib/storage/SegmentCache/InRedis/index.js +87 -0
- package/lib/storage/SplitCache/InLocalStorage.js +344 -0
- package/lib/storage/SplitCache/InMemory.js +172 -0
- package/lib/storage/SplitCache/InRedis.js +224 -0
- package/lib/storage/SplitCache/killLocally.js +42 -0
- package/lib/storage/browser.js +122 -0
- package/lib/storage/node.js +104 -0
- package/lib/storage/package.json +4 -0
- package/lib/sync/AuthClient/index.js +44 -0
- package/lib/sync/PushManager/index.js +340 -0
- package/lib/sync/PushManager/mySegmentsV2utils.js +87 -0
- package/lib/sync/PushManager/pushRequirements/browser.js +30 -0
- package/lib/sync/PushManager/pushRequirements/node.js +25 -0
- package/lib/sync/PushManager/pushRequirements/package.json +4 -0
- package/lib/sync/SSEClient/index.js +101 -0
- package/lib/sync/SSEHandler/NotificationKeeper.js +104 -0
- package/lib/sync/SSEHandler/NotificationParser.js +39 -0
- package/lib/sync/SSEHandler/index.js +121 -0
- package/lib/sync/SegmentUpdateWorker/browser.js +81 -0
- package/lib/sync/SegmentUpdateWorker/node.js +86 -0
- package/lib/sync/SegmentUpdateWorker/package.json +4 -0
- package/lib/sync/SplitUpdateWorker/index.js +93 -0
- package/lib/sync/browser.js +139 -0
- package/lib/sync/constants.js +59 -0
- package/lib/sync/node.js +71 -0
- package/lib/sync/package.json +4 -0
- package/lib/trackers/event.js +64 -0
- package/lib/trackers/impressions.js +146 -0
- package/lib/umd.js +0 -1
- package/lib/utils/backoff/index.js +57 -0
- package/lib/utils/base64/browser.js +26 -0
- package/lib/utils/base64/node.js +26 -0
- package/lib/utils/base64/package.json +4 -0
- package/lib/utils/binarySearch/index.js +56 -0
- package/lib/utils/constants/index.js +60 -0
- package/lib/utils/context/constants.js +49 -0
- package/lib/utils/context/index.js +111 -0
- package/lib/utils/decompress/index.js +483 -0
- package/lib/utils/fn/repeat.js +64 -0
- package/lib/utils/inputValidation/apiKey.js +51 -0
- package/lib/utils/inputValidation/attribute.js +32 -0
- package/lib/utils/inputValidation/attributes.js +32 -0
- package/lib/utils/inputValidation/event.js +33 -0
- package/lib/utils/inputValidation/eventProperties.js +78 -0
- package/lib/utils/inputValidation/eventValue.js +19 -0
- package/lib/utils/inputValidation/index.js +48 -0
- package/lib/utils/inputValidation/isOperational.js +25 -0
- package/lib/utils/inputValidation/key.js +59 -0
- package/lib/utils/inputValidation/split.js +60 -0
- package/lib/utils/inputValidation/splitFilters.js +134 -0
- package/lib/utils/inputValidation/splits.js +38 -0
- package/lib/utils/inputValidation/trafficType.js +68 -0
- package/lib/utils/jwt/hashUserKey.js +19 -0
- package/lib/utils/jwt/index.js +19 -0
- package/lib/utils/key/factory.js +46 -0
- package/lib/utils/key/parser.js +42 -0
- package/lib/utils/labels/index.js +18 -0
- package/lib/utils/lang/Errors.js +58 -0
- package/lib/utils/lang/Sets.js +127 -0
- package/lib/utils/lang/index.js +350 -0
- package/lib/utils/localstorage/isAvailable.js +31 -0
- package/lib/utils/logger/LoggerFactory.js +98 -0
- package/lib/utils/logger/index.js +109 -0
- package/lib/utils/lrucache/linkedlist.js +132 -0
- package/lib/utils/lrucache/lru.spec.js +30 -0
- package/lib/utils/lrucache/lrucache.js +88 -0
- package/lib/utils/now/browser.js +33 -0
- package/lib/utils/now/node.js +24 -0
- package/lib/utils/now/package.json +4 -0
- package/lib/utils/promise/thenable.js +10 -0
- package/lib/utils/promise/timeout.js +40 -0
- package/lib/utils/promise/wrapper.js +63 -0
- package/{src → lib/utils}/settings/defaults/browser.js +6 -6
- package/{src → lib/utils}/settings/defaults/node.js +6 -6
- package/lib/utils/settings/defaults/package.json +4 -0
- package/lib/utils/settings/impressionsMode.js +26 -0
- package/lib/utils/settings/index.js +214 -0
- package/lib/utils/settings/integrations/browser.js +17 -0
- package/lib/utils/settings/integrations/common.js +40 -0
- package/lib/utils/settings/integrations/node.js +13 -0
- package/lib/utils/settings/integrations/package.json +4 -0
- package/lib/utils/settings/language/browser.js +22 -0
- package/lib/utils/settings/language/node.js +22 -0
- package/lib/utils/settings/language/package.json +4 -0
- package/lib/utils/settings/mode.js +16 -0
- package/lib/utils/settings/runtime/browser.js +26 -0
- package/lib/{settings → utils/settings}/runtime/node.js +5 -7
- package/lib/utils/settings/runtime/package.json +4 -0
- package/lib/{settings → utils/settings}/storage/browser.js +24 -20
- package/lib/{settings → utils/settings}/storage/node.js +17 -26
- package/lib/utils/settings/storage/package.json +4 -0
- package/lib/utils/splits/usesSegments.js +27 -0
- package/lib/utils/time/index.js +12 -0
- package/lib/utils/timeTracker/index.js +213 -0
- package/lib/utils/timeTracker/timer.js +33 -0
- package/package.json +15 -19
- package/src/client/attributesDecoration.js +112 -0
- package/src/client/browser.js +41 -0
- package/src/client/client.js +131 -0
- package/src/client/inputValidation.js +130 -0
- package/src/client/node.js +8 -0
- package/src/client/package.json +4 -0
- package/src/engine/combiners/and.js +55 -0
- package/src/engine/combiners/ifelseif.js +74 -0
- package/src/engine/condition/index.js +65 -0
- package/src/engine/convertions/index.js +22 -0
- package/src/engine/engine/index.js +63 -0
- package/src/engine/engine/legacy.js +66 -0
- package/src/engine/engine/murmur3/common.js +54 -0
- package/src/engine/engine/murmur3/murmur3.js +79 -0
- package/src/engine/engine/murmur3/murmur3_128.js +273 -0
- package/src/engine/engine/murmur3/murmur3_128_x86.js +188 -0
- package/src/engine/engine/murmur3/murmur3_64.js +34 -0
- package/src/engine/engine/murmur3/utfx.js +111 -0
- package/src/engine/evaluator/index.js +148 -0
- package/src/engine/index.js +123 -0
- package/src/engine/matchers/all.js +29 -0
- package/src/engine/matchers/between.js +30 -0
- package/src/engine/matchers/boolean.js +29 -0
- package/src/engine/matchers/cont_all.js +40 -0
- package/src/engine/matchers/cont_any.js +35 -0
- package/src/engine/matchers/cont_str.js +31 -0
- package/src/engine/matchers/dependency.js +52 -0
- package/src/engine/matchers/eq.js +30 -0
- package/src/engine/matchers/eq_set.js +37 -0
- package/src/engine/matchers/ew.js +31 -0
- package/src/engine/matchers/gte.js +30 -0
- package/src/engine/matchers/index.js +71 -0
- package/src/engine/matchers/lte.js +30 -0
- package/src/engine/matchers/part_of.js +37 -0
- package/src/engine/matchers/segment.js +41 -0
- package/src/engine/matchers/string.js +39 -0
- package/src/engine/matchers/sw.js +31 -0
- package/src/engine/matchers/types.js +52 -0
- package/src/engine/matchers/whitelist.js +30 -0
- package/src/engine/parser/index.js +79 -0
- package/src/engine/parser/segments.js +31 -0
- package/src/engine/transforms/matcherGroup.js +45 -0
- package/src/engine/transforms/matchers.js +118 -0
- package/src/engine/transforms/segment.js +23 -0
- package/src/engine/transforms/set.js +20 -0
- package/src/engine/transforms/unaryNumeric.js +20 -0
- package/src/engine/transforms/whitelist.js +22 -0
- package/src/engine/treatments/index.js +67 -0
- package/src/engine/value/index.js +53 -0
- package/src/engine/value/sanitize.js +117 -0
- package/src/events/index.js +62 -0
- package/src/factory/offline.js +60 -0
- package/src/factory/online.js +127 -0
- package/src/impressions/counter.js +43 -0
- package/src/impressions/hasher/buildKey.js +3 -0
- package/src/impressions/hasher/hashImpression128.js +6 -0
- package/src/impressions/hasher/hashImpression32.js +6 -0
- package/src/impressions/observer/browser.js +8 -0
- package/src/impressions/observer/node.js +8 -0
- package/src/impressions/observer/observer.js +17 -0
- package/src/impressions/observer/package.json +4 -0
- package/src/index.js +140 -1
- package/src/integrations/browser.js +57 -0
- package/src/integrations/ga/GaToSplit.js +278 -0
- package/src/integrations/ga/SplitToGa.js +125 -0
- package/src/integrations/node.js +4 -0
- package/src/integrations/package.json +4 -0
- package/src/listeners/browser.js +137 -0
- package/src/listeners/node.js +59 -0
- package/src/listeners/package.json +4 -0
- package/src/manager/index.js +103 -0
- package/src/metrics/Collectors.js +77 -0
- package/src/metrics/index.js +174 -0
- package/src/producer/browser/Partial.js +104 -0
- package/src/producer/browser.js +82 -0
- package/src/producer/fetcher/MySegments.js +40 -0
- package/src/producer/fetcher/SegmentChanges.js +52 -0
- package/src/producer/fetcher/SplitChanges.js +39 -0
- package/src/producer/node.js +142 -0
- package/src/producer/offline/browser.js +28 -0
- package/src/producer/offline/node.js +28 -0
- package/src/producer/offline/package.json +4 -0
- package/src/producer/package.json +4 -0
- package/src/producer/task.js +57 -0
- package/src/producer/updater/MySegments.js +104 -0
- package/src/producer/updater/SegmentChanges.js +126 -0
- package/src/producer/updater/SplitChanges.js +138 -0
- package/src/producer/updater/SplitChangesFromFeatures.js +23 -0
- package/src/producer/updater/SplitChangesFromFileSystem.js +23 -0
- package/src/producer/updater/SplitChangesFromObject.js +81 -0
- package/src/readiness/index.js +125 -0
- package/src/readiness/statusManager.js +121 -0
- package/src/services/auth/auth.js +21 -0
- package/src/services/auth/index.js +3 -0
- package/src/services/events/bulk.js +23 -0
- package/src/services/events/index.js +18 -0
- package/{es/platform → src/services}/getEventSource/browser.js +1 -1
- package/src/{platform → services}/getEventSource/node.js +2 -2
- package/src/services/getEventSource/package.json +4 -0
- package/src/{platform → services}/getFetch/browser.js +2 -2
- package/src/{platform → services}/getFetch/node.js +1 -1
- package/src/services/getFetch/package.json +4 -0
- package/src/services/impressions/bulk.js +26 -0
- package/src/services/impressions/count.js +8 -0
- package/src/services/impressions/dto.js +71 -0
- package/src/services/impressions/index.js +18 -0
- package/src/services/impressions/post.js +23 -0
- package/src/services/metrics/counters.js +25 -0
- package/src/services/metrics/dto.js +44 -0
- package/src/services/metrics/index.js +18 -0
- package/src/services/metrics/times.js +25 -0
- package/src/services/mySegments/get.js +27 -0
- package/src/services/mySegments/index.js +18 -0
- package/src/services/request/index.js +43 -0
- package/src/services/request/options/browser.js +18 -0
- package/src/{platform → services}/request/options/node.js +2 -2
- package/src/services/request/options/package.json +4 -0
- package/src/services/segmentChanges/get.js +20 -0
- package/src/services/segmentChanges/index.js +18 -0
- package/src/services/splitChanges/get.js +20 -0
- package/src/services/splitChanges/index.js +18 -0
- package/src/services/splitChanges/offline/browser.js +66 -0
- package/src/services/splitChanges/offline/node.js +190 -0
- package/src/services/splitChanges/offline/package.json +4 -0
- package/src/services/splitChanges/offline/parseCondition.js +52 -0
- package/src/services/transport/index.js +44 -0
- package/src/storage/AttributesCache/InMemory.js +76 -0
- package/src/storage/BaseMetricsAsyncCache.js +14 -0
- package/src/storage/CountCache/InMemory.js +48 -0
- package/src/storage/CountCache/InRedis.js +32 -0
- package/src/storage/EventsCache/InMemory.js +99 -0
- package/src/storage/EventsCache/InRedis.js +62 -0
- package/src/storage/ImpressionsCache/InMemory.js +62 -0
- package/src/storage/ImpressionsCache/InRedis.js +65 -0
- package/src/storage/Keys.js +122 -0
- package/src/storage/KeysLocalStorage.js +52 -0
- package/src/storage/LatencyCache/InMemory.js +56 -0
- package/src/storage/LatencyCache/InRedis.js +35 -0
- package/src/storage/LatencyCache/findIndex.js +7 -0
- package/src/storage/Meta.js +7 -0
- package/src/storage/RedisAdapter.js +170 -0
- package/src/storage/SegmentCache/InLocalStorage/index.js +140 -0
- package/src/storage/SegmentCache/InMemory/browser.js +99 -0
- package/src/storage/SegmentCache/InMemory/node.js +84 -0
- package/src/storage/SegmentCache/InMemory/package.json +4 -0
- package/src/storage/SegmentCache/InRedis/index.js +71 -0
- package/src/storage/SplitCache/InLocalStorage.js +324 -0
- package/src/storage/SplitCache/InMemory.js +145 -0
- package/src/storage/SplitCache/InRedis.js +187 -0
- package/src/storage/SplitCache/killLocally.js +33 -0
- package/src/storage/browser.js +110 -0
- package/src/storage/node.js +83 -0
- package/src/storage/package.json +4 -0
- package/src/sync/AuthClient/index.js +31 -0
- package/src/sync/PushManager/index.js +328 -0
- package/src/sync/PushManager/mySegmentsV2utils.js +76 -0
- package/src/sync/PushManager/pushRequirements/browser.js +20 -0
- package/src/sync/PushManager/pushRequirements/node.js +16 -0
- package/src/sync/PushManager/pushRequirements/package.json +4 -0
- package/src/sync/SSEClient/index.js +92 -0
- package/src/sync/SSEHandler/NotificationKeeper.js +90 -0
- package/src/sync/SSEHandler/NotificationParser.js +35 -0
- package/src/sync/SSEHandler/index.js +110 -0
- package/src/sync/SegmentUpdateWorker/browser.js +67 -0
- package/src/sync/SegmentUpdateWorker/node.js +73 -0
- package/src/sync/SegmentUpdateWorker/package.json +4 -0
- package/src/sync/SplitUpdateWorker/index.js +79 -0
- package/src/sync/browser.js +130 -0
- package/src/sync/constants.js +43 -0
- package/src/sync/node.js +66 -0
- package/src/sync/package.json +4 -0
- package/src/trackers/event.js +47 -0
- package/src/trackers/impressions.js +123 -0
- package/src/umd.js +0 -1
- package/src/utils/backoff/index.js +46 -0
- package/src/utils/base64/browser.js +19 -0
- package/src/utils/base64/node.js +19 -0
- package/src/utils/base64/package.json +4 -0
- package/src/utils/binarySearch/index.js +50 -0
- package/src/utils/constants/index.js +41 -0
- package/src/utils/context/constants.js +18 -0
- package/src/utils/context/index.js +84 -0
- package/src/utils/decompress/index.js +428 -0
- package/src/utils/fn/repeat.js +48 -0
- package/src/utils/inputValidation/apiKey.js +42 -0
- package/src/utils/inputValidation/attribute.js +22 -0
- package/src/utils/inputValidation/attributes.js +26 -0
- package/src/utils/inputValidation/event.js +23 -0
- package/src/utils/inputValidation/eventProperties.js +65 -0
- package/src/utils/inputValidation/eventValue.js +11 -0
- package/src/utils/inputValidation/index.js +11 -0
- package/src/utils/inputValidation/isOperational.js +16 -0
- package/src/utils/inputValidation/key.js +53 -0
- package/src/utils/inputValidation/split.js +42 -0
- package/src/utils/inputValidation/splitFilters.js +108 -0
- package/src/utils/inputValidation/splits.js +21 -0
- package/src/utils/inputValidation/trafficType.js +58 -0
- package/src/utils/jwt/hashUserKey.js +11 -0
- package/src/utils/jwt/index.js +15 -0
- package/src/utils/key/factory.js +34 -0
- package/src/utils/key/parser.js +34 -0
- package/src/utils/labels/index.js +7 -0
- package/src/utils/lang/Errors.js +19 -0
- package/src/utils/lang/Sets.js +94 -0
- package/src/utils/lang/index.js +291 -0
- package/src/utils/localstorage/isAvailable.js +26 -0
- package/src/utils/logger/LoggerFactory.js +90 -0
- package/src/utils/logger/index.js +93 -0
- package/src/utils/lrucache/linkedlist.js +116 -0
- package/src/utils/lrucache/lru.spec.js +26 -0
- package/src/utils/lrucache/lrucache.js +49 -0
- package/src/utils/now/browser.js +29 -0
- package/src/utils/now/node.js +21 -0
- package/src/utils/now/package.json +4 -0
- package/src/utils/promise/thenable.js +1 -0
- package/src/utils/promise/timeout.js +38 -0
- package/src/utils/promise/wrapper.js +60 -0
- package/{lib → src/utils}/settings/defaults/browser.js +3 -13
- package/{lib → src/utils}/settings/defaults/node.js +2 -12
- package/src/utils/settings/defaults/package.json +4 -0
- package/src/utils/settings/impressionsMode.js +15 -0
- package/src/utils/settings/index.js +217 -0
- package/src/utils/settings/integrations/browser.js +8 -0
- package/src/utils/settings/integrations/common.js +32 -0
- package/src/{settings → utils/settings}/integrations/node.js +3 -1
- package/src/utils/settings/integrations/package.json +4 -0
- package/src/utils/settings/language/browser.js +17 -0
- package/src/utils/settings/language/node.js +17 -0
- package/src/utils/settings/language/package.json +4 -0
- package/src/utils/settings/mode.js +12 -0
- package/src/utils/settings/runtime/browser.js +22 -0
- package/src/{settings → utils/settings}/runtime/node.js +6 -9
- package/src/utils/settings/runtime/package.json +4 -0
- package/src/{settings → utils/settings}/storage/browser.js +18 -13
- package/src/{settings → utils/settings}/storage/node.js +14 -19
- package/src/utils/settings/storage/package.json +4 -0
- package/src/utils/splits/usesSegments.js +17 -0
- package/src/utils/time/index.js +8 -0
- package/src/utils/timeTracker/index.js +223 -0
- package/src/utils/timeTracker/timer.js +27 -0
- package/types/splitio.d.ts +5 -22
- package/client/package.json +0 -5
- package/es/factory/browser.js +0 -58
- package/es/factory/node.js +0 -59
- package/es/platform/EventEmitter.js +0 -412
- package/es/platform/browser.js +0 -10
- package/es/platform/node.js +0 -12
- package/es/settings/browser.js +0 -18
- package/es/settings/defaults/version.js +0 -1
- package/es/settings/integrations/browser.js +0 -5
- package/es/settings/integrations/node.js +0 -5
- package/es/settings/node.js +0 -20
- package/lib/factory/browser.js +0 -79
- package/lib/factory/node.js +0 -78
- package/lib/platform/EventEmitter.js +0 -417
- package/lib/platform/browser.js +0 -21
- package/lib/platform/node.js +0 -26
- package/lib/settings/browser.js +0 -30
- package/lib/settings/defaults/version.js +0 -6
- package/lib/settings/integrations/browser.js +0 -14
- package/lib/settings/integrations/node.js +0 -12
- package/lib/settings/node.js +0 -33
- package/server/package.json +0 -5
- package/src/.DS_Store +0 -0
- package/src/factory/browser.js +0 -74
- package/src/factory/node.js +0 -71
- package/src/platform/.DS_Store +0 -0
- package/src/platform/EventEmitter.js +0 -443
- package/src/platform/browser.js +0 -12
- package/src/platform/node.js +0 -14
- package/src/settings/.DS_Store +0 -0
- package/src/settings/browser.js +0 -18
- package/src/settings/defaults/version.js +0 -1
- package/src/settings/integrations/browser.js +0 -6
- package/src/settings/node.js +0 -20
- package/types/client/index.d.ts +0 -14
- package/types/server/index.d.ts +0 -20
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.ControlTypes = exports.OCCUPANCY = exports.CONTROL = exports.SPLIT_UPDATE = exports.SPLIT_KILL = exports.SEGMENT_UPDATE = exports.MY_SEGMENTS_UPDATE_V2 = exports.MY_SEGMENTS_UPDATE = exports.PUSH_SUBSYSTEM_DOWN = exports.PUSH_SUBSYSTEM_UP = exports.PUSH_RETRYABLE_ERROR = exports.PUSH_NONRETRYABLE_ERROR = exports.SECONDS_BEFORE_EXPIRATION = void 0;
|
|
5
|
+
// time for refresh token
|
|
6
|
+
var SECONDS_BEFORE_EXPIRATION = 600; // Internal SDK events, subscribed by SyncManager and PushManager
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* emitted on SSE and Authenticate non-recoverable errors, STREAMING_DISABLED control notification and authentication with pushEnabled false
|
|
10
|
+
* triggers `handleNonRetryableError` call
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
exports.SECONDS_BEFORE_EXPIRATION = SECONDS_BEFORE_EXPIRATION;
|
|
14
|
+
var PUSH_NONRETRYABLE_ERROR = 'PUSH_NONRETRYABLE_ERROR';
|
|
15
|
+
/**
|
|
16
|
+
* emitted on SSE and Authenticate recoverable errors
|
|
17
|
+
* triggers `handleRetryableError` call
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
exports.PUSH_NONRETRYABLE_ERROR = PUSH_NONRETRYABLE_ERROR;
|
|
21
|
+
var PUSH_RETRYABLE_ERROR = 'PUSH_RETRYABLE_ERROR';
|
|
22
|
+
/**
|
|
23
|
+
* emitted on STREAMING_RESUMED control notification, OCCUPANCY different than 0, and SSE onopen event
|
|
24
|
+
* triggers `stopPollingAndSyncAll` call
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
exports.PUSH_RETRYABLE_ERROR = PUSH_RETRYABLE_ERROR;
|
|
28
|
+
var PUSH_SUBSYSTEM_UP = 'PUSH_SUBSYSTEM_UP';
|
|
29
|
+
/**
|
|
30
|
+
* emitted on STREAMING_PAUSED control notification, OCCUPANCY equal to 0, PUSH_NONRETRYABLE_ERROR and PUSH_RETRYABLE_ERROR events.
|
|
31
|
+
* triggers `startPolling` and `stopWorkers` calls
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
exports.PUSH_SUBSYSTEM_UP = PUSH_SUBSYSTEM_UP;
|
|
35
|
+
var PUSH_SUBSYSTEM_DOWN = 'PUSH_SUBSYSTEM_DOWN'; // Update-type push notifications, handled by NotificationProcessor
|
|
36
|
+
|
|
37
|
+
exports.PUSH_SUBSYSTEM_DOWN = PUSH_SUBSYSTEM_DOWN;
|
|
38
|
+
var MY_SEGMENTS_UPDATE = 'MY_SEGMENTS_UPDATE';
|
|
39
|
+
exports.MY_SEGMENTS_UPDATE = MY_SEGMENTS_UPDATE;
|
|
40
|
+
var MY_SEGMENTS_UPDATE_V2 = 'MY_SEGMENTS_UPDATE_V2';
|
|
41
|
+
exports.MY_SEGMENTS_UPDATE_V2 = MY_SEGMENTS_UPDATE_V2;
|
|
42
|
+
var SEGMENT_UPDATE = 'SEGMENT_UPDATE';
|
|
43
|
+
exports.SEGMENT_UPDATE = SEGMENT_UPDATE;
|
|
44
|
+
var SPLIT_KILL = 'SPLIT_KILL';
|
|
45
|
+
exports.SPLIT_KILL = SPLIT_KILL;
|
|
46
|
+
var SPLIT_UPDATE = 'SPLIT_UPDATE'; // Control-type push notifications, handled by NotificationKeeper
|
|
47
|
+
|
|
48
|
+
exports.SPLIT_UPDATE = SPLIT_UPDATE;
|
|
49
|
+
var CONTROL = 'CONTROL';
|
|
50
|
+
exports.CONTROL = CONTROL;
|
|
51
|
+
var OCCUPANCY = 'OCCUPANCY';
|
|
52
|
+
exports.OCCUPANCY = OCCUPANCY;
|
|
53
|
+
var ControlTypes = {
|
|
54
|
+
STREAMING_DISABLED: 'STREAMING_DISABLED',
|
|
55
|
+
STREAMING_PAUSED: 'STREAMING_PAUSED',
|
|
56
|
+
STREAMING_RESUMED: 'STREAMING_RESUMED',
|
|
57
|
+
STREAMING_RESET: 'STREAMING_RESET'
|
|
58
|
+
};
|
|
59
|
+
exports.ControlTypes = ControlTypes;
|
package/lib/sync/node.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = NodeSyncManagerFactory;
|
|
7
|
+
|
|
8
|
+
var _PushManager = _interopRequireDefault(require("./PushManager"));
|
|
9
|
+
|
|
10
|
+
var _producer = _interopRequireDefault(require("../producer"));
|
|
11
|
+
|
|
12
|
+
var _logger = _interopRequireDefault(require("../utils/logger"));
|
|
13
|
+
|
|
14
|
+
var _constants = require("./constants");
|
|
15
|
+
|
|
16
|
+
var log = (0, _logger.default)('splitio-sync:sync-manager');
|
|
17
|
+
/**
|
|
18
|
+
* Factory of SyncManager for node
|
|
19
|
+
*
|
|
20
|
+
* @param context main client context
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
function NodeSyncManagerFactory(context) {
|
|
24
|
+
var producer = (0, _producer.default)(context);
|
|
25
|
+
var settings = context.get(context.constants.SETTINGS); // add producer into the context before creating the PushManager
|
|
26
|
+
|
|
27
|
+
context.put(context.constants.PRODUCER, producer);
|
|
28
|
+
var pushManager = settings.streamingEnabled ? (0, _PushManager.default)(context) : undefined;
|
|
29
|
+
|
|
30
|
+
function startPolling() {
|
|
31
|
+
if (!producer.isRunning()) {
|
|
32
|
+
log.info('Streaming not available. Starting periodic fetch of data.');
|
|
33
|
+
producer.start();
|
|
34
|
+
} else {
|
|
35
|
+
log.info('Streaming couldn\'t connect. Continue periodic fetch of data.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function stopPollingAndSyncAll() {
|
|
40
|
+
log.info('PUSH (re)connected. Syncing and stopping periodic fetch of data.'); // if polling, stop
|
|
41
|
+
|
|
42
|
+
if (producer.isRunning()) producer.stop();
|
|
43
|
+
syncAll();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function syncAll() {
|
|
47
|
+
// fetch splits and segments. There is no need to catch this promise (it is handled by `SplitChangesUpdater`)
|
|
48
|
+
producer.synchronizeSplits().then(function () {
|
|
49
|
+
producer.synchronizeSegment();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return {
|
|
54
|
+
start: function start() {
|
|
55
|
+
// start syncing
|
|
56
|
+
if (pushManager) {
|
|
57
|
+
syncAll();
|
|
58
|
+
pushManager.on(_constants.PUSH_SUBSYSTEM_UP, stopPollingAndSyncAll);
|
|
59
|
+
pushManager.on(_constants.PUSH_SUBSYSTEM_DOWN, startPolling);
|
|
60
|
+
setTimeout(pushManager.start); // Run in next event-loop cycle as in browser
|
|
61
|
+
} else {
|
|
62
|
+
producer.start();
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
stop: function stop() {
|
|
66
|
+
// stop syncing
|
|
67
|
+
if (pushManager) pushManager.stop();
|
|
68
|
+
if (producer.isRunning()) producer.stop();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _objectAssign = _interopRequireDefault(require("object-assign"));
|
|
9
|
+
|
|
10
|
+
var _logger = _interopRequireDefault(require("../utils/logger"));
|
|
11
|
+
|
|
12
|
+
var _thenable = _interopRequireDefault(require("../utils/promise/thenable"));
|
|
13
|
+
|
|
14
|
+
var log = (0, _logger.default)('splitio-client:event-tracker');
|
|
15
|
+
|
|
16
|
+
function EventTracker(context) {
|
|
17
|
+
var collector = context.get(context.constants.STORAGE).events;
|
|
18
|
+
var integrationsManager = context.get(context.constants.INTEGRATIONS_MANAGER, true);
|
|
19
|
+
|
|
20
|
+
function queueEventsCallback(eventData, tracked) {
|
|
21
|
+
var eventTypeId = eventData.eventTypeId,
|
|
22
|
+
trafficTypeName = eventData.trafficTypeName,
|
|
23
|
+
key = eventData.key,
|
|
24
|
+
value = eventData.value,
|
|
25
|
+
timestamp = eventData.timestamp,
|
|
26
|
+
properties = eventData.properties; // Logging every prop would be too much.
|
|
27
|
+
|
|
28
|
+
var msg = "event of type \"" + eventTypeId + "\" for traffic type \"" + trafficTypeName + "\". Key: " + key + ". Value: " + value + ". Timestamp: " + timestamp + ". " + (properties ? 'With properties.' : 'With no properties.');
|
|
29
|
+
|
|
30
|
+
if (tracked) {
|
|
31
|
+
log.info("Successfully queued " + msg);
|
|
32
|
+
|
|
33
|
+
if (integrationsManager) {
|
|
34
|
+
// Wrap in a timeout because we don't want it to be blocking.
|
|
35
|
+
setTimeout(function () {
|
|
36
|
+
// copy of event, to avoid unexpected behaviour if modified by integrations
|
|
37
|
+
var eventDataCopy = (0, _objectAssign.default)({}, eventData);
|
|
38
|
+
if (eventData.properties) eventDataCopy.properties = (0, _objectAssign.default)({}, eventData.properties); // integrationsManager does not throw errors (they are internally handled by each integration module)
|
|
39
|
+
|
|
40
|
+
integrationsManager.handleEvent(eventDataCopy);
|
|
41
|
+
}, 0);
|
|
42
|
+
}
|
|
43
|
+
} else {
|
|
44
|
+
log.warn("Failed to queue " + msg);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return tracked;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
track: function track(eventData, size) {
|
|
52
|
+
var tracked = collector.track(eventData, size);
|
|
53
|
+
|
|
54
|
+
if ((0, _thenable.default)(tracked)) {
|
|
55
|
+
return tracked.then(queueEventsCallback.bind(null, eventData));
|
|
56
|
+
} else {
|
|
57
|
+
return queueEventsCallback(eventData, tracked);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
var _default = EventTracker;
|
|
64
|
+
exports.default = _default;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _objectAssign = _interopRequireDefault(require("object-assign"));
|
|
9
|
+
|
|
10
|
+
var _logger = _interopRequireDefault(require("../utils/logger"));
|
|
11
|
+
|
|
12
|
+
var _thenable = _interopRequireDefault(require("../utils/promise/thenable"));
|
|
13
|
+
|
|
14
|
+
var _observer = _interopRequireDefault(require("../impressions/observer"));
|
|
15
|
+
|
|
16
|
+
var _time = require("../utils/time");
|
|
17
|
+
|
|
18
|
+
var _constants = require("../utils/constants");
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
Copyright 2016 Split Software
|
|
22
|
+
|
|
23
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
24
|
+
you may not use this file except in compliance with the License.
|
|
25
|
+
You may obtain a copy of the License at
|
|
26
|
+
|
|
27
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
28
|
+
|
|
29
|
+
Unless required by applicable law or agreed to in writing, software
|
|
30
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
31
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
32
|
+
See the License for the specific language governing permissions and
|
|
33
|
+
limitations under the License.
|
|
34
|
+
**/
|
|
35
|
+
var log = (0, _logger.default)('splitio-client:impressions-tracker');
|
|
36
|
+
/**
|
|
37
|
+
* Checks if impressions previous time should be added or not.
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
function shouldAddPt(settings) {
|
|
41
|
+
return [_constants.PRODUCER_MODE, _constants.STANDALONE_MODE].indexOf(settings.mode) > -1 ? true : false;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Checks if it should dedupe impressions or not.
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
function shouldBeOptimized(settings) {
|
|
49
|
+
if (!shouldAddPt(settings)) return false;
|
|
50
|
+
return settings.sync.impressionsMode === _constants.OPTIMIZED ? true : false;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function ImpressionsTracker(context) {
|
|
54
|
+
var collector = context.get(context.constants.STORAGE).impressions;
|
|
55
|
+
var settings = context.get(context.constants.SETTINGS);
|
|
56
|
+
var listener = settings.impressionListener;
|
|
57
|
+
var integrationsManager = context.get(context.constants.INTEGRATIONS_MANAGER, true);
|
|
58
|
+
var _settings$runtime = settings.runtime,
|
|
59
|
+
ip = _settings$runtime.ip,
|
|
60
|
+
hostname = _settings$runtime.hostname;
|
|
61
|
+
var sdkLanguageVersion = settings.version;
|
|
62
|
+
var _queue = [];
|
|
63
|
+
var shouldAddPreviousTime = shouldAddPt(settings);
|
|
64
|
+
var isOptimized = shouldBeOptimized(settings);
|
|
65
|
+
var observer = (0, _observer.default)(); // Instantiates observer
|
|
66
|
+
|
|
67
|
+
var impressionsCounter = context.get(context.constants.IMPRESSIONS_COUNTER);
|
|
68
|
+
return {
|
|
69
|
+
queue: function queue(impression, attributes) {
|
|
70
|
+
_queue.push({
|
|
71
|
+
impression: impression,
|
|
72
|
+
attributes: attributes
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
track: function track() {
|
|
76
|
+
var impressionsCount = _queue.length;
|
|
77
|
+
|
|
78
|
+
var slice = _queue.splice(0, impressionsCount);
|
|
79
|
+
|
|
80
|
+
var impressionsToStore = []; // Track only the impressions that are going to be stored
|
|
81
|
+
// Wraps impressions to store and adds previousTime if it corresponds
|
|
82
|
+
|
|
83
|
+
slice.forEach(function (_ref) {
|
|
84
|
+
var impression = _ref.impression;
|
|
85
|
+
|
|
86
|
+
if (shouldAddPreviousTime) {
|
|
87
|
+
// Adds previous time if it is enabled
|
|
88
|
+
impression.pt = observer.testAndSet(impression);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
var now = Date.now();
|
|
92
|
+
|
|
93
|
+
if (isOptimized && impressionsCounter) {
|
|
94
|
+
// Increments impression counter per featureName
|
|
95
|
+
impressionsCounter.inc(impression.feature, now, 1);
|
|
96
|
+
} // Checks if the impression should be added in queue to be sent
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
if (!isOptimized || !impression.pt || impression.pt < (0, _time.truncateTimeFrame)(now)) {
|
|
100
|
+
impressionsToStore.push(impression);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
var res = collector.track(impressionsToStore); // If we're on an async storage, handle error and log it.
|
|
104
|
+
|
|
105
|
+
if ((0, _thenable.default)(res)) {
|
|
106
|
+
res.then(function () {
|
|
107
|
+
log.debug("Successfully stored " + impressionsCount + " impression" + (impressionsCount === 1 ? '' : 's') + ".");
|
|
108
|
+
}).catch(function (err) {
|
|
109
|
+
log.error("Could not store impressions bulk with " + impressionsCount + " impression" + (impressionsCount === 1 ? '' : 's') + ". Error: " + err);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (listener || integrationsManager) {
|
|
114
|
+
var _loop = function _loop(i) {
|
|
115
|
+
var impressionData = {
|
|
116
|
+
// copy of impression, to avoid unexpected behaviour if modified by integrations or impressionListener
|
|
117
|
+
impression: (0, _objectAssign.default)({}, slice[i].impression),
|
|
118
|
+
attributes: slice[i].attributes,
|
|
119
|
+
ip: ip,
|
|
120
|
+
hostname: hostname,
|
|
121
|
+
sdkLanguageVersion: sdkLanguageVersion
|
|
122
|
+
}; // Wrap in a timeout because we don't want it to be blocking.
|
|
123
|
+
|
|
124
|
+
setTimeout(function () {
|
|
125
|
+
// integrationsManager.handleImpression does not throw errors
|
|
126
|
+
if (integrationsManager) integrationsManager.handleImpression(impressionData);
|
|
127
|
+
|
|
128
|
+
try {
|
|
129
|
+
// An exception on the listeners should not break the SDK.
|
|
130
|
+
if (listener) listener.logImpression(impressionData);
|
|
131
|
+
} catch (err) {
|
|
132
|
+
log.error("Impression listener logImpression method threw: " + err + ".");
|
|
133
|
+
}
|
|
134
|
+
}, 0);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
for (var i = 0; i < impressionsCount; i++) {
|
|
138
|
+
_loop(i);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
var _default = ImpressionsTracker;
|
|
146
|
+
exports.default = _default;
|
package/lib/umd.js
CHANGED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var Backoff = /*#__PURE__*/function () {
|
|
7
|
+
/**
|
|
8
|
+
* Schedule function calls with exponential backoff
|
|
9
|
+
*
|
|
10
|
+
* @param {function} cb
|
|
11
|
+
* @param {number} baseMillis
|
|
12
|
+
* @param {number} maxMillis
|
|
13
|
+
*/
|
|
14
|
+
function Backoff(cb, baseMillis, maxMillis) {
|
|
15
|
+
this.baseMillis = baseMillis || Backoff.DEFAULT_BASE_MILLIS;
|
|
16
|
+
this.maxMillis = maxMillis || Backoff.DEFAULT_MAX_MILLIS;
|
|
17
|
+
this.attempts = 0;
|
|
18
|
+
this.cb = cb;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Schedule a next call to `cb`
|
|
22
|
+
* @returns scheduled delay in milliseconds
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
var _proto = Backoff.prototype;
|
|
27
|
+
|
|
28
|
+
_proto.scheduleCall = function scheduleCall() {
|
|
29
|
+
var _this = this;
|
|
30
|
+
|
|
31
|
+
var delayInMillis = Math.min(this.baseMillis * Math.pow(2, this.attempts), this.maxMillis);
|
|
32
|
+
if (this.timeoutID) clearTimeout(this.timeoutID);
|
|
33
|
+
this.timeoutID = setTimeout(function () {
|
|
34
|
+
_this.cb();
|
|
35
|
+
}, delayInMillis);
|
|
36
|
+
this.attempts++;
|
|
37
|
+
return delayInMillis;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
_proto.reset = function reset() {
|
|
41
|
+
this.attempts = 0;
|
|
42
|
+
|
|
43
|
+
if (this.timeoutID) {
|
|
44
|
+
clearTimeout(this.timeoutID);
|
|
45
|
+
this.timeoutID = 0;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return Backoff;
|
|
50
|
+
}();
|
|
51
|
+
|
|
52
|
+
Backoff.DEFAULT_BASE_MILLIS = 1000; // 1 second
|
|
53
|
+
|
|
54
|
+
Backoff.DEFAULT_MAX_MILLIS = 1800000; // 30 minutes
|
|
55
|
+
|
|
56
|
+
var _default = Backoff;
|
|
57
|
+
exports.default = _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.decodeFromBase64 = decodeFromBase64;
|
|
5
|
+
exports.encodeToBase64 = encodeToBase64;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Decode a given string value in Base64 format
|
|
9
|
+
*
|
|
10
|
+
* @param {string} value to decode
|
|
11
|
+
* @throws {ReferenceError} if `atob` function is not defined
|
|
12
|
+
*/
|
|
13
|
+
function decodeFromBase64(value) {
|
|
14
|
+
return atob(value);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Encode a given string value to Base64 format.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} value to encode
|
|
20
|
+
* @throws {ReferenceError} if `btoa` function is not defined
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
function encodeToBase64(value) {
|
|
25
|
+
return btoa(value);
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.decodeFromBase64 = decodeFromBase64;
|
|
5
|
+
exports.encodeToBase64 = encodeToBase64;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Decode a given string value in Base64 format
|
|
9
|
+
*
|
|
10
|
+
* @param {string} value to decode
|
|
11
|
+
*/
|
|
12
|
+
function decodeFromBase64(value) {
|
|
13
|
+
// for node (version mayor than v4)
|
|
14
|
+
return Buffer.from(value, 'base64').toString('binary');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Encode a given string value to Base64 format
|
|
18
|
+
*
|
|
19
|
+
* @param {string} value to encode
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
function encodeToBase64(value) {
|
|
24
|
+
// for node (version mayor than v4)
|
|
25
|
+
return Buffer.from(value).toString('base64');
|
|
26
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
Copyright 2016 Split Software
|
|
8
|
+
|
|
9
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
you may not use this file except in compliance with the License.
|
|
11
|
+
You may obtain a copy of the License at
|
|
12
|
+
|
|
13
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
|
|
15
|
+
Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
See the License for the specific language governing permissions and
|
|
19
|
+
limitations under the License.
|
|
20
|
+
**/
|
|
21
|
+
function bs(items, value) {
|
|
22
|
+
var startIndex = 0;
|
|
23
|
+
var stopIndex = items.length - 1;
|
|
24
|
+
var middle = Math.floor((stopIndex + startIndex) / 2);
|
|
25
|
+
var minIndex = startIndex;
|
|
26
|
+
var maxIndex = stopIndex;
|
|
27
|
+
|
|
28
|
+
while (items[middle] !== value && startIndex < stopIndex) {
|
|
29
|
+
// adjust search area
|
|
30
|
+
if (value < items[middle]) {
|
|
31
|
+
stopIndex = middle - 1;
|
|
32
|
+
} else if (value > items[middle]) {
|
|
33
|
+
startIndex = middle + 1;
|
|
34
|
+
} // recalculate middle
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
middle = Math.floor((stopIndex + startIndex) / 2);
|
|
38
|
+
} // correct if middle is out of range
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
if (middle < minIndex) {
|
|
42
|
+
middle = minIndex;
|
|
43
|
+
} else if (middle > maxIndex) {
|
|
44
|
+
middle = maxIndex;
|
|
45
|
+
} // we want to always return based on strict minor comparation
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
if (value < items[middle] && middle > minIndex) {
|
|
49
|
+
return middle - 1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return middle;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
var _default = bs;
|
|
56
|
+
exports.default = _default;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.OPTIMIZED = exports.DEBUG = exports.FILTERS_METADATA = exports.SPLIT_EVENT = exports.SPLIT_IMPRESSION = exports.SPLIT_TO_GOOGLE_ANALYTICS = exports.GOOGLE_ANALYTICS_TO_SPLIT = exports.NA = exports.UNKNOWN = exports.CONTROL_WITH_CONFIG = exports.CONTROL = exports.STORAGE_LOCALSTORAGE = exports.STORAGE_REDIS = exports.STORAGE_MEMORY = exports.CONSUMER_MODE = exports.PRODUCER_MODE = exports.STANDALONE_MODE = exports.LOCALHOST_MODE = void 0;
|
|
5
|
+
// SDK Modes
|
|
6
|
+
var LOCALHOST_MODE = 'localhost';
|
|
7
|
+
exports.LOCALHOST_MODE = LOCALHOST_MODE;
|
|
8
|
+
var STANDALONE_MODE = 'standalone';
|
|
9
|
+
exports.STANDALONE_MODE = STANDALONE_MODE;
|
|
10
|
+
var PRODUCER_MODE = 'producer';
|
|
11
|
+
exports.PRODUCER_MODE = PRODUCER_MODE;
|
|
12
|
+
var CONSUMER_MODE = 'consumer'; // Storage types
|
|
13
|
+
|
|
14
|
+
exports.CONSUMER_MODE = CONSUMER_MODE;
|
|
15
|
+
var STORAGE_MEMORY = 'MEMORY';
|
|
16
|
+
exports.STORAGE_MEMORY = STORAGE_MEMORY;
|
|
17
|
+
var STORAGE_REDIS = 'REDIS';
|
|
18
|
+
exports.STORAGE_REDIS = STORAGE_REDIS;
|
|
19
|
+
var STORAGE_LOCALSTORAGE = 'LOCALSTORAGE'; // Special treatments
|
|
20
|
+
|
|
21
|
+
exports.STORAGE_LOCALSTORAGE = STORAGE_LOCALSTORAGE;
|
|
22
|
+
var CONTROL = 'control';
|
|
23
|
+
exports.CONTROL = CONTROL;
|
|
24
|
+
var CONTROL_WITH_CONFIG = {
|
|
25
|
+
treatment: CONTROL,
|
|
26
|
+
config: null
|
|
27
|
+
}; // Constants for unknown and not-applicable values
|
|
28
|
+
|
|
29
|
+
exports.CONTROL_WITH_CONFIG = CONTROL_WITH_CONFIG;
|
|
30
|
+
var UNKNOWN = 'unknown';
|
|
31
|
+
exports.UNKNOWN = UNKNOWN;
|
|
32
|
+
var NA = 'NA'; // Integration types
|
|
33
|
+
|
|
34
|
+
exports.NA = NA;
|
|
35
|
+
var GOOGLE_ANALYTICS_TO_SPLIT = 'GOOGLE_ANALYTICS_TO_SPLIT';
|
|
36
|
+
exports.GOOGLE_ANALYTICS_TO_SPLIT = GOOGLE_ANALYTICS_TO_SPLIT;
|
|
37
|
+
var SPLIT_TO_GOOGLE_ANALYTICS = 'SPLIT_TO_GOOGLE_ANALYTICS'; // Integration data types
|
|
38
|
+
|
|
39
|
+
exports.SPLIT_TO_GOOGLE_ANALYTICS = SPLIT_TO_GOOGLE_ANALYTICS;
|
|
40
|
+
var SPLIT_IMPRESSION = 'IMPRESSION';
|
|
41
|
+
exports.SPLIT_IMPRESSION = SPLIT_IMPRESSION;
|
|
42
|
+
var SPLIT_EVENT = 'EVENT'; // Split filters metadata.
|
|
43
|
+
// Ordered according to their precedency when forming the filter query string: `&names=<values>&prefixes=<values>`
|
|
44
|
+
|
|
45
|
+
exports.SPLIT_EVENT = SPLIT_EVENT;
|
|
46
|
+
var FILTERS_METADATA = [{
|
|
47
|
+
type: 'byName',
|
|
48
|
+
maxLength: 400,
|
|
49
|
+
queryParam: 'names='
|
|
50
|
+
}, {
|
|
51
|
+
type: 'byPrefix',
|
|
52
|
+
maxLength: 50,
|
|
53
|
+
queryParam: 'prefixes='
|
|
54
|
+
}]; // Impression collection modes
|
|
55
|
+
|
|
56
|
+
exports.FILTERS_METADATA = FILTERS_METADATA;
|
|
57
|
+
var DEBUG = 'DEBUG';
|
|
58
|
+
exports.DEBUG = DEBUG;
|
|
59
|
+
var OPTIMIZED = 'OPTIMIZED';
|
|
60
|
+
exports.OPTIMIZED = OPTIMIZED;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = exports.IMPRESSIONS_COUNTER = exports.STORAGE = exports.STATUS_MANAGER = exports.SETTINGS = exports.READY_FROM_CACHE = exports.READY = exports.READINESS = exports.PRODUCER = exports.MY_SEGMENTS_CHANGE_WORKER = exports.INTEGRATIONS_MANAGER = exports.HAS_TIMEDOUT = exports.EVENTS = exports.DESTROYED = exports.COLLECTORS = void 0;
|
|
5
|
+
var COLLECTORS = 'metrics_collectors';
|
|
6
|
+
exports.COLLECTORS = COLLECTORS;
|
|
7
|
+
var DESTROYED = 'is_destroyed';
|
|
8
|
+
exports.DESTROYED = DESTROYED;
|
|
9
|
+
var EVENTS = 'events_publisher';
|
|
10
|
+
exports.EVENTS = EVENTS;
|
|
11
|
+
var HAS_TIMEDOUT = 'has_timedout';
|
|
12
|
+
exports.HAS_TIMEDOUT = HAS_TIMEDOUT;
|
|
13
|
+
var INTEGRATIONS_MANAGER = 'integrations_manager';
|
|
14
|
+
exports.INTEGRATIONS_MANAGER = INTEGRATIONS_MANAGER;
|
|
15
|
+
var MY_SEGMENTS_CHANGE_WORKER = 'my_segments_change_worker';
|
|
16
|
+
exports.MY_SEGMENTS_CHANGE_WORKER = MY_SEGMENTS_CHANGE_WORKER;
|
|
17
|
+
var PRODUCER = 'producer';
|
|
18
|
+
exports.PRODUCER = PRODUCER;
|
|
19
|
+
var READINESS = 'readiness_gate';
|
|
20
|
+
exports.READINESS = READINESS;
|
|
21
|
+
var READY = 'is_ready';
|
|
22
|
+
exports.READY = READY;
|
|
23
|
+
var READY_FROM_CACHE = 'is_ready_from_cache';
|
|
24
|
+
exports.READY_FROM_CACHE = READY_FROM_CACHE;
|
|
25
|
+
var SETTINGS = 'settings';
|
|
26
|
+
exports.SETTINGS = SETTINGS;
|
|
27
|
+
var STATUS_MANAGER = 'status_manager';
|
|
28
|
+
exports.STATUS_MANAGER = STATUS_MANAGER;
|
|
29
|
+
var STORAGE = 'storage';
|
|
30
|
+
exports.STORAGE = STORAGE;
|
|
31
|
+
var IMPRESSIONS_COUNTER = 'impressions_counter';
|
|
32
|
+
exports.IMPRESSIONS_COUNTER = IMPRESSIONS_COUNTER;
|
|
33
|
+
var _default = {
|
|
34
|
+
COLLECTORS: COLLECTORS,
|
|
35
|
+
DESTROYED: DESTROYED,
|
|
36
|
+
EVENTS: EVENTS,
|
|
37
|
+
HAS_TIMEDOUT: HAS_TIMEDOUT,
|
|
38
|
+
INTEGRATIONS_MANAGER: INTEGRATIONS_MANAGER,
|
|
39
|
+
MY_SEGMENTS_CHANGE_WORKER: MY_SEGMENTS_CHANGE_WORKER,
|
|
40
|
+
PRODUCER: PRODUCER,
|
|
41
|
+
READINESS: READINESS,
|
|
42
|
+
READY: READY,
|
|
43
|
+
READY_FROM_CACHE: READY_FROM_CACHE,
|
|
44
|
+
SETTINGS: SETTINGS,
|
|
45
|
+
STATUS_MANAGER: STATUS_MANAGER,
|
|
46
|
+
STORAGE: STORAGE,
|
|
47
|
+
IMPRESSIONS_COUNTER: IMPRESSIONS_COUNTER
|
|
48
|
+
};
|
|
49
|
+
exports.default = _default;
|