@splitsoftware/splitio 10.17.2-rc.0 → 10.17.3-rc.2
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 +1 -1
- package/client/package.json +5 -0
- package/es/factory/browser.js +58 -0
- package/es/factory/node.js +59 -0
- package/es/{client → factory}/package.json +0 -0
- package/es/index.js +1 -132
- package/es/platform/EventEmitter.js +412 -0
- package/es/platform/browser.js +10 -0
- package/es/{services → platform}/getEventSource/browser.js +1 -1
- package/es/{services → platform}/getEventSource/node.js +1 -1
- package/es/{impressions/observer → platform/getEventSource}/package.json +0 -0
- package/es/{services → platform}/getFetch/browser.js +1 -1
- package/es/{services → platform}/getFetch/node.js +1 -1
- package/es/{integrations → platform/getFetch}/package.json +0 -0
- package/es/platform/node.js +12 -0
- package/es/{listeners → platform}/package.json +0 -0
- package/es/{services → platform}/request/options/node.js +2 -2
- package/es/settings/browser.js +18 -0
- package/{lib/utils → es}/settings/defaults/browser.js +6 -8
- package/{src/utils → es}/settings/defaults/node.js +6 -3
- package/es/settings/defaults/version.js +1 -0
- package/es/settings/integrations/browser.js +5 -0
- package/es/settings/integrations/node.js +5 -0
- package/es/settings/node.js +20 -0
- package/es/{producer/offline → settings}/package.json +0 -0
- package/es/{utils/settings → settings}/runtime/node.js +6 -4
- package/es/{utils/settings → settings}/storage/browser.js +16 -17
- package/es/{utils/settings → settings}/storage/node.js +25 -16
- package/es/umd.js +2 -1
- package/lib/factory/browser.js +79 -0
- package/lib/factory/node.js +78 -0
- package/{es/producer → lib/factory}/package.json +0 -0
- package/lib/index.js +3 -151
- package/lib/platform/EventEmitter.js +417 -0
- package/lib/platform/browser.js +21 -0
- package/lib/{services → platform}/getEventSource/browser.js +1 -1
- package/lib/{services → platform}/getEventSource/node.js +1 -1
- package/{es/services → lib/platform}/getEventSource/package.json +0 -0
- package/lib/{services → platform}/getFetch/browser.js +1 -1
- package/lib/{services → platform}/getFetch/node.js +1 -1
- package/{es/services → lib/platform}/getFetch/package.json +0 -0
- package/lib/platform/node.js +26 -0
- package/{es/services/request/options → lib/platform}/package.json +0 -0
- package/lib/{services → platform}/request/options/node.js +2 -2
- package/lib/settings/browser.js +30 -0
- package/{src/utils → lib}/settings/defaults/browser.js +13 -3
- package/{es/utils → lib}/settings/defaults/node.js +13 -3
- package/lib/settings/defaults/version.js +6 -0
- package/lib/settings/integrations/browser.js +14 -0
- package/lib/settings/integrations/node.js +12 -0
- package/lib/settings/node.js +33 -0
- package/{es/services/splitChanges/offline → lib/settings}/package.json +0 -0
- package/lib/{utils/settings → settings}/runtime/node.js +7 -5
- package/lib/{utils/settings → settings}/storage/browser.js +20 -24
- package/lib/{utils/settings → settings}/storage/node.js +26 -17
- package/lib/umd.js +1 -0
- package/package.json +20 -16
- package/server/package.json +5 -0
- package/src/.DS_Store +0 -0
- package/src/factory/browser.js +74 -0
- package/src/factory/node.js +71 -0
- package/{es/storage/SegmentCache/InMemory → src/factory}/package.json +0 -0
- package/src/index.js +1 -140
- package/src/{sync/SSEHandler → platform}/.DS_Store +0 -0
- package/src/platform/EventEmitter.js +443 -0
- package/src/platform/browser.js +12 -0
- package/src/{services → platform}/getEventSource/browser.js +2 -2
- package/src/{services → platform}/getEventSource/node.js +2 -2
- package/{es/storage → src/platform/getEventSource}/package.json +0 -0
- package/src/{services → platform}/getFetch/browser.js +2 -2
- package/src/{services → platform}/getFetch/node.js +1 -1
- package/{es/sync/PushManager/pushRequirements → src/platform/getFetch}/package.json +0 -0
- package/src/platform/node.js +14 -0
- package/{es/sync/SegmentUpdateWorker → src/platform}/package.json +0 -0
- package/src/{services → platform}/request/options/node.js +2 -2
- package/src/{listeners → settings}/.DS_Store +0 -0
- package/src/settings/browser.js +18 -0
- package/{es/utils → src}/settings/defaults/browser.js +8 -3
- package/{lib/utils → src}/settings/defaults/node.js +6 -6
- package/src/settings/defaults/version.js +1 -0
- package/src/settings/integrations/browser.js +6 -0
- package/src/{utils/settings → settings}/integrations/node.js +1 -3
- package/src/settings/node.js +20 -0
- package/{es/sync → src/settings}/package.json +0 -0
- package/src/{utils/settings → settings}/runtime/node.js +9 -6
- package/src/{utils/settings → settings}/storage/browser.js +13 -18
- package/src/{utils/settings → settings}/storage/node.js +19 -14
- package/src/umd.js +1 -0
- package/types/client/index.d.ts +14 -0
- package/types/server/index.d.ts +20 -0
- package/types/splitio.d.ts +22 -5
- package/es/client/attributesDecoration.js +0 -116
- package/es/client/browser.js +0 -39
- package/es/client/client.js +0 -155
- package/es/client/inputValidation.js +0 -117
- package/es/client/node.js +0 -6
- package/es/engine/combiners/and.js +0 -54
- package/es/engine/combiners/ifelseif.js +0 -73
- package/es/engine/condition/index.js +0 -62
- package/es/engine/convertions/index.js +0 -29
- package/es/engine/engine/index.js +0 -60
- package/es/engine/engine/legacy.js +0 -77
- package/es/engine/engine/murmur3/common.js +0 -40
- package/es/engine/engine/murmur3/murmur3.js +0 -83
- package/es/engine/engine/murmur3/murmur3_128.js +0 -250
- package/es/engine/engine/murmur3/murmur3_128_x86.js +0 -183
- package/es/engine/engine/murmur3/murmur3_64.js +0 -52
- package/es/engine/engine/murmur3/utfx.js +0 -112
- package/es/engine/evaluator/index.js +0 -111
- package/es/engine/index.js +0 -112
- package/es/engine/matchers/all.js +0 -32
- package/es/engine/matchers/between.js +0 -35
- package/es/engine/matchers/boolean.js +0 -35
- package/es/engine/matchers/cont_all.js +0 -51
- package/es/engine/matchers/cont_any.js +0 -47
- package/es/engine/matchers/cont_str.js +0 -38
- package/es/engine/matchers/dependency.js +0 -50
- package/es/engine/matchers/eq.js +0 -35
- package/es/engine/matchers/eq_set.js +0 -49
- package/es/engine/matchers/ew.js +0 -38
- package/es/engine/matchers/gte.js +0 -35
- package/es/engine/matchers/index.js +0 -65
- package/es/engine/matchers/lte.js +0 -35
- package/es/engine/matchers/part_of.js +0 -49
- package/es/engine/matchers/segment.js +0 -39
- package/es/engine/matchers/string.js +0 -44
- package/es/engine/matchers/sw.js +0 -38
- package/es/engine/matchers/types.js +0 -48
- package/es/engine/matchers/whitelist.js +0 -36
- package/es/engine/parser/index.js +0 -69
- package/es/engine/parser/segments.js +0 -22
- package/es/engine/transforms/matcherGroup.js +0 -43
- package/es/engine/transforms/matchers.js +0 -109
- package/es/engine/transforms/segment.js +0 -28
- package/es/engine/transforms/set.js +0 -20
- package/es/engine/transforms/unaryNumeric.js +0 -20
- package/es/engine/transforms/whitelist.js +0 -22
- package/es/engine/treatments/index.js +0 -67
- package/es/engine/value/index.js +0 -54
- package/es/engine/value/sanitize.js +0 -125
- package/es/events/index.js +0 -65
- package/es/factory/offline.js +0 -50
- package/es/factory/online.js +0 -113
- package/es/impressions/counter.js +0 -52
- package/es/impressions/hasher/buildKey.js +0 -3
- package/es/impressions/hasher/hashImpression128.js +0 -5
- package/es/impressions/hasher/hashImpression32.js +0 -5
- package/es/impressions/observer/browser.js +0 -9
- package/es/impressions/observer/node.js +0 -9
- package/es/impressions/observer/observer.js +0 -21
- package/es/integrations/browser.js +0 -62
- package/es/integrations/ga/GaToSplit.js +0 -246
- package/es/integrations/ga/SplitToGa.js +0 -127
- package/es/integrations/node.js +0 -3
- package/es/listeners/browser.js +0 -157
- package/es/listeners/node.js +0 -65
- package/es/manager/index.js +0 -104
- package/es/metrics/Collectors.js +0 -100
- package/es/metrics/index.js +0 -157
- package/es/producer/browser/Partial.js +0 -103
- package/es/producer/browser.js +0 -70
- package/es/producer/fetcher/MySegments.js +0 -47
- package/es/producer/fetcher/SegmentChanges.js +0 -52
- package/es/producer/fetcher/SplitChanges.js +0 -46
- package/es/producer/node.js +0 -130
- package/es/producer/offline/browser.js +0 -26
- package/es/producer/offline/node.js +0 -26
- package/es/producer/task.js +0 -50
- package/es/producer/updater/MySegments.js +0 -108
- package/es/producer/updater/SegmentChanges.js +0 -135
- package/es/producer/updater/SplitChanges.js +0 -131
- package/es/producer/updater/SplitChangesFromFeatures.js +0 -21
- package/es/producer/updater/SplitChangesFromFileSystem.js +0 -21
- package/es/producer/updater/SplitChangesFromObject.js +0 -73
- package/es/readiness/index.js +0 -123
- package/es/readiness/statusManager.js +0 -114
- package/es/services/auth/auth.js +0 -25
- package/es/services/auth/index.js +0 -2
- package/es/services/events/bulk.js +0 -22
- package/es/services/events/index.js +0 -17
- package/es/services/impressions/bulk.js +0 -26
- package/es/services/impressions/count.js +0 -7
- package/es/services/impressions/dto.js +0 -73
- package/es/services/impressions/index.js +0 -17
- package/es/services/impressions/post.js +0 -22
- package/es/services/metrics/counters.js +0 -24
- package/es/services/metrics/dto.js +0 -38
- package/es/services/metrics/index.js +0 -17
- package/es/services/metrics/times.js +0 -24
- package/es/services/mySegments/get.js +0 -26
- package/es/services/mySegments/index.js +0 -17
- package/es/services/request/index.js +0 -43
- package/es/services/request/options/browser.js +0 -18
- package/es/services/segmentChanges/get.js +0 -21
- package/es/services/segmentChanges/index.js +0 -17
- package/es/services/splitChanges/get.js +0 -19
- package/es/services/splitChanges/index.js +0 -17
- package/es/services/splitChanges/offline/browser.js +0 -63
- package/es/services/splitChanges/offline/node.js +0 -176
- package/es/services/splitChanges/offline/parseCondition.js +0 -43
- package/es/services/transport/index.js +0 -51
- package/es/storage/AttributesCache/InMemory.js +0 -85
- package/es/storage/BaseMetricsAsyncCache.js +0 -23
- package/es/storage/CountCache/InMemory.js +0 -48
- package/es/storage/CountCache/InRedis.js +0 -42
- package/es/storage/EventsCache/InMemory.js +0 -109
- package/es/storage/EventsCache/InRedis.js +0 -65
- package/es/storage/ImpressionsCache/InMemory.js +0 -71
- package/es/storage/ImpressionsCache/InRedis.js +0 -73
- package/es/storage/Keys.js +0 -125
- package/es/storage/KeysLocalStorage.js +0 -47
- package/es/storage/LatencyCache/InMemory.js +0 -56
- package/es/storage/LatencyCache/InRedis.js +0 -44
- package/es/storage/LatencyCache/findIndex.js +0 -2
- package/es/storage/Meta.js +0 -7
- package/es/storage/RedisAdapter.js +0 -198
- package/es/storage/SegmentCache/InLocalStorage/index.js +0 -138
- package/es/storage/SegmentCache/InMemory/browser.js +0 -107
- package/es/storage/SegmentCache/InMemory/node.js +0 -82
- package/es/storage/SegmentCache/InRedis/index.js +0 -81
- package/es/storage/SplitCache/InLocalStorage.js +0 -332
- package/es/storage/SplitCache/InMemory.js +0 -162
- package/es/storage/SplitCache/InRedis.js +0 -214
- package/es/storage/SplitCache/killLocally.js +0 -35
- package/es/storage/browser.js +0 -101
- package/es/storage/node.js +0 -81
- package/es/sync/AuthClient/index.js +0 -34
- package/es/sync/PushManager/index.js +0 -315
- package/es/sync/PushManager/mySegmentsV2utils.js +0 -76
- package/es/sync/PushManager/pushRequirements/browser.js +0 -23
- package/es/sync/PushManager/pushRequirements/node.js +0 -18
- package/es/sync/SSEClient/index.js +0 -93
- package/es/sync/SSEHandler/NotificationKeeper.js +0 -97
- package/es/sync/SSEHandler/NotificationParser.js +0 -31
- package/es/sync/SSEHandler/index.js +0 -110
- package/es/sync/SegmentUpdateWorker/browser.js +0 -74
- package/es/sync/SegmentUpdateWorker/node.js +0 -79
- package/es/sync/SplitUpdateWorker/index.js +0 -86
- package/es/sync/browser.js +0 -125
- package/es/sync/constants.js +0 -42
- package/es/sync/node.js +0 -60
- package/es/trackers/event.js +0 -53
- package/es/trackers/impressions.js +0 -132
- package/es/utils/backoff/index.js +0 -51
- package/es/utils/base64/browser.js +0 -19
- package/es/utils/base64/node.js +0 -19
- package/es/utils/base64/package.json +0 -4
- package/es/utils/binarySearch/index.js +0 -50
- package/es/utils/constants/index.js +0 -38
- package/es/utils/context/constants.js +0 -30
- package/es/utils/context/index.js +0 -101
- package/es/utils/decompress/index.js +0 -476
- package/es/utils/fn/repeat.js +0 -58
- package/es/utils/inputValidation/apiKey.js +0 -39
- package/es/utils/inputValidation/attribute.js +0 -22
- package/es/utils/inputValidation/attributes.js +0 -19
- package/es/utils/inputValidation/event.js +0 -23
- package/es/utils/inputValidation/eventProperties.js +0 -69
- package/es/utils/inputValidation/eventValue.js +0 -9
- package/es/utils/inputValidation/index.js +0 -11
- package/es/utils/inputValidation/isOperational.js +0 -14
- package/es/utils/inputValidation/key.js +0 -50
- package/es/utils/inputValidation/split.js +0 -47
- package/es/utils/inputValidation/splitFilters.js +0 -121
- package/es/utils/inputValidation/splits.js +0 -27
- package/es/utils/inputValidation/trafficType.js +0 -55
- package/es/utils/jwt/hashUserKey.js +0 -11
- package/es/utils/jwt/index.js +0 -14
- package/es/utils/key/factory.js +0 -38
- package/es/utils/key/parser.js +0 -34
- package/es/utils/labels/index.js +0 -7
- package/es/utils/lang/Errors.js +0 -41
- package/es/utils/lang/Sets.js +0 -114
- package/es/utils/lang/index.js +0 -305
- package/es/utils/localstorage/isAvailable.js +0 -26
- package/es/utils/logger/LoggerFactory.js +0 -86
- package/es/utils/logger/index.js +0 -97
- package/es/utils/lrucache/linkedlist.js +0 -122
- package/es/utils/lrucache/lru.spec.js +0 -24
- package/es/utils/lrucache/lrucache.js +0 -80
- package/es/utils/now/browser.js +0 -27
- package/es/utils/now/node.js +0 -19
- package/es/utils/now/package.json +0 -4
- package/es/utils/promise/thenable.js +0 -3
- package/es/utils/promise/timeout.js +0 -34
- package/es/utils/promise/wrapper.js +0 -58
- package/es/utils/settings/defaults/package.json +0 -4
- package/es/utils/settings/impressionsMode.js +0 -16
- package/es/utils/settings/index.js +0 -194
- package/es/utils/settings/integrations/browser.js +0 -8
- package/es/utils/settings/integrations/common.js +0 -30
- package/es/utils/settings/integrations/node.js +0 -7
- package/es/utils/settings/integrations/package.json +0 -4
- package/es/utils/settings/language/browser.js +0 -16
- package/es/utils/settings/language/node.js +0 -16
- package/es/utils/settings/language/package.json +0 -4
- package/es/utils/settings/mode.js +0 -10
- package/es/utils/settings/runtime/browser.js +0 -21
- package/es/utils/settings/runtime/package.json +0 -4
- package/es/utils/settings/storage/package.json +0 -4
- package/es/utils/splits/usesSegments.js +0 -21
- package/es/utils/time/index.js +0 -8
- package/es/utils/timeTracker/index.js +0 -216
- package/es/utils/timeTracker/timer.js +0 -25
- package/lib/client/attributesDecoration.js +0 -128
- package/lib/client/browser.js +0 -50
- package/lib/client/client.js +0 -174
- package/lib/client/inputValidation.js +0 -129
- package/lib/client/node.js +0 -14
- package/lib/client/package.json +0 -4
- package/lib/engine/combiners/and.js +0 -65
- package/lib/engine/combiners/ifelseif.js +0 -88
- package/lib/engine/condition/index.js +0 -76
- package/lib/engine/convertions/index.js +0 -36
- package/lib/engine/engine/index.js +0 -71
- package/lib/engine/engine/legacy.js +0 -83
- package/lib/engine/engine/murmur3/common.js +0 -52
- package/lib/engine/engine/murmur3/murmur3.js +0 -90
- package/lib/engine/engine/murmur3/murmur3_128.js +0 -256
- package/lib/engine/engine/murmur3/murmur3_128_x86.js +0 -189
- package/lib/engine/engine/murmur3/murmur3_64.js +0 -57
- package/lib/engine/engine/murmur3/utfx.js +0 -121
- package/lib/engine/evaluator/index.js +0 -129
- package/lib/engine/index.js +0 -128
- package/lib/engine/matchers/all.js +0 -41
- package/lib/engine/matchers/between.js +0 -44
- package/lib/engine/matchers/boolean.js +0 -44
- package/lib/engine/matchers/cont_all.js +0 -61
- package/lib/engine/matchers/cont_any.js +0 -57
- package/lib/engine/matchers/cont_str.js +0 -48
- package/lib/engine/matchers/dependency.js +0 -60
- package/lib/engine/matchers/eq.js +0 -44
- package/lib/engine/matchers/eq_set.js +0 -59
- package/lib/engine/matchers/ew.js +0 -48
- package/lib/engine/matchers/gte.js +0 -44
- package/lib/engine/matchers/index.js +0 -90
- package/lib/engine/matchers/lte.js +0 -44
- package/lib/engine/matchers/part_of.js +0 -59
- package/lib/engine/matchers/segment.js +0 -49
- package/lib/engine/matchers/string.js +0 -53
- package/lib/engine/matchers/sw.js +0 -48
- package/lib/engine/matchers/types.js +0 -57
- package/lib/engine/matchers/whitelist.js +0 -46
- package/lib/engine/parser/index.js +0 -84
- package/lib/engine/parser/segments.js +0 -28
- package/lib/engine/transforms/matcherGroup.js +0 -54
- package/lib/engine/transforms/matchers.js +0 -124
- package/lib/engine/transforms/segment.js +0 -34
- package/lib/engine/transforms/set.js +0 -26
- package/lib/engine/transforms/unaryNumeric.js +0 -26
- package/lib/engine/transforms/whitelist.js +0 -28
- package/lib/engine/treatments/index.js +0 -73
- package/lib/engine/value/index.js +0 -64
- package/lib/engine/value/sanitize.js +0 -137
- package/lib/events/index.js +0 -80
- package/lib/factory/offline.js +0 -62
- package/lib/factory/online.js +0 -129
- package/lib/impressions/counter.js +0 -61
- package/lib/impressions/hasher/buildKey.js +0 -8
- package/lib/impressions/hasher/hashImpression128.js +0 -12
- package/lib/impressions/hasher/hashImpression32.js +0 -14
- package/lib/impressions/observer/browser.js +0 -19
- package/lib/impressions/observer/node.js +0 -19
- package/lib/impressions/observer/observer.js +0 -29
- package/lib/impressions/observer/package.json +0 -4
- package/lib/integrations/browser.js +0 -72
- package/lib/integrations/ga/GaToSplit.js +0 -267
- package/lib/integrations/ga/SplitToGa.js +0 -138
- package/lib/integrations/node.js +0 -9
- package/lib/integrations/package.json +0 -4
- package/lib/listeners/browser.js +0 -173
- package/lib/listeners/node.js +0 -74
- package/lib/listeners/package.json +0 -4
- package/lib/manager/index.js +0 -115
- package/lib/metrics/Collectors.js +0 -118
- package/lib/metrics/index.js +0 -182
- package/lib/producer/browser/Partial.js +0 -114
- package/lib/producer/browser.js +0 -82
- package/lib/producer/fetcher/MySegments.js +0 -59
- package/lib/producer/fetcher/SegmentChanges.js +0 -62
- package/lib/producer/fetcher/SplitChanges.js +0 -58
- package/lib/producer/node.js +0 -142
- package/lib/producer/offline/browser.js +0 -35
- package/lib/producer/offline/node.js +0 -35
- package/lib/producer/offline/package.json +0 -4
- package/lib/producer/package.json +0 -4
- package/lib/producer/task.js +0 -61
- package/lib/producer/updater/MySegments.js +0 -119
- package/lib/producer/updater/SegmentChanges.js +0 -148
- package/lib/producer/updater/SplitChanges.js +0 -145
- package/lib/producer/updater/SplitChangesFromFeatures.js +0 -30
- package/lib/producer/updater/SplitChangesFromFileSystem.js +0 -30
- package/lib/producer/updater/SplitChangesFromObject.js +0 -84
- package/lib/readiness/index.js +0 -132
- package/lib/readiness/statusManager.js +0 -124
- package/lib/services/auth/auth.js +0 -32
- package/lib/services/auth/index.js +0 -11
- package/lib/services/events/bulk.js +0 -31
- package/lib/services/events/index.js +0 -26
- package/lib/services/getEventSource/package.json +0 -4
- package/lib/services/getFetch/package.json +0 -4
- package/lib/services/impressions/bulk.js +0 -36
- package/lib/services/impressions/count.js +0 -16
- package/lib/services/impressions/dto.js +0 -81
- package/lib/services/impressions/index.js +0 -26
- package/lib/services/impressions/post.js +0 -31
- package/lib/services/metrics/counters.js +0 -33
- package/lib/services/metrics/dto.js +0 -46
- package/lib/services/metrics/index.js +0 -26
- package/lib/services/metrics/times.js +0 -33
- package/lib/services/mySegments/get.js +0 -35
- package/lib/services/mySegments/index.js +0 -26
- package/lib/services/request/index.js +0 -53
- package/lib/services/request/options/browser.js +0 -23
- package/lib/services/request/options/package.json +0 -4
- package/lib/services/segmentChanges/get.js +0 -29
- package/lib/services/segmentChanges/index.js +0 -26
- package/lib/services/splitChanges/get.js +0 -27
- package/lib/services/splitChanges/index.js +0 -26
- package/lib/services/splitChanges/offline/browser.js +0 -71
- package/lib/services/splitChanges/offline/node.js +0 -189
- package/lib/services/splitChanges/offline/package.json +0 -4
- package/lib/services/splitChanges/offline/parseCondition.js +0 -49
- package/lib/services/transport/index.js +0 -62
- package/lib/storage/AttributesCache/InMemory.js +0 -93
- package/lib/storage/BaseMetricsAsyncCache.js +0 -28
- package/lib/storage/CountCache/InMemory.js +0 -54
- package/lib/storage/CountCache/InRedis.js +0 -50
- package/lib/storage/EventsCache/InMemory.js +0 -118
- package/lib/storage/EventsCache/InRedis.js +0 -74
- package/lib/storage/ImpressionsCache/InMemory.js +0 -77
- package/lib/storage/ImpressionsCache/InRedis.js +0 -79
- package/lib/storage/Keys.js +0 -132
- package/lib/storage/KeysLocalStorage.js +0 -58
- package/lib/storage/LatencyCache/InMemory.js +0 -64
- package/lib/storage/LatencyCache/InRedis.js +0 -53
- package/lib/storage/LatencyCache/findIndex.js +0 -12
- package/lib/storage/Meta.js +0 -12
- package/lib/storage/RedisAdapter.js +0 -212
- package/lib/storage/SegmentCache/InLocalStorage/index.js +0 -147
- package/lib/storage/SegmentCache/InMemory/browser.js +0 -113
- package/lib/storage/SegmentCache/InMemory/node.js +0 -89
- package/lib/storage/SegmentCache/InMemory/package.json +0 -4
- package/lib/storage/SegmentCache/InRedis/index.js +0 -87
- package/lib/storage/SplitCache/InLocalStorage.js +0 -344
- package/lib/storage/SplitCache/InMemory.js +0 -172
- package/lib/storage/SplitCache/InRedis.js +0 -224
- package/lib/storage/SplitCache/killLocally.js +0 -42
- package/lib/storage/browser.js +0 -122
- package/lib/storage/node.js +0 -104
- package/lib/storage/package.json +0 -4
- package/lib/sync/AuthClient/index.js +0 -44
- package/lib/sync/PushManager/index.js +0 -340
- package/lib/sync/PushManager/mySegmentsV2utils.js +0 -87
- package/lib/sync/PushManager/pushRequirements/browser.js +0 -30
- package/lib/sync/PushManager/pushRequirements/node.js +0 -25
- package/lib/sync/PushManager/pushRequirements/package.json +0 -4
- package/lib/sync/SSEClient/index.js +0 -101
- package/lib/sync/SSEHandler/NotificationKeeper.js +0 -104
- package/lib/sync/SSEHandler/NotificationParser.js +0 -39
- package/lib/sync/SSEHandler/index.js +0 -121
- package/lib/sync/SegmentUpdateWorker/browser.js +0 -81
- package/lib/sync/SegmentUpdateWorker/node.js +0 -86
- package/lib/sync/SegmentUpdateWorker/package.json +0 -4
- package/lib/sync/SplitUpdateWorker/index.js +0 -93
- package/lib/sync/browser.js +0 -139
- package/lib/sync/constants.js +0 -59
- package/lib/sync/node.js +0 -71
- package/lib/sync/package.json +0 -4
- package/lib/trackers/event.js +0 -64
- package/lib/trackers/impressions.js +0 -146
- package/lib/utils/backoff/index.js +0 -57
- package/lib/utils/base64/browser.js +0 -26
- package/lib/utils/base64/node.js +0 -26
- package/lib/utils/base64/package.json +0 -4
- package/lib/utils/binarySearch/index.js +0 -56
- package/lib/utils/constants/index.js +0 -60
- package/lib/utils/context/constants.js +0 -49
- package/lib/utils/context/index.js +0 -111
- package/lib/utils/decompress/index.js +0 -483
- package/lib/utils/fn/repeat.js +0 -64
- package/lib/utils/inputValidation/apiKey.js +0 -51
- package/lib/utils/inputValidation/attribute.js +0 -32
- package/lib/utils/inputValidation/attributes.js +0 -32
- package/lib/utils/inputValidation/event.js +0 -33
- package/lib/utils/inputValidation/eventProperties.js +0 -78
- package/lib/utils/inputValidation/eventValue.js +0 -19
- package/lib/utils/inputValidation/index.js +0 -48
- package/lib/utils/inputValidation/isOperational.js +0 -25
- package/lib/utils/inputValidation/key.js +0 -59
- package/lib/utils/inputValidation/split.js +0 -60
- package/lib/utils/inputValidation/splitFilters.js +0 -134
- package/lib/utils/inputValidation/splits.js +0 -38
- package/lib/utils/inputValidation/trafficType.js +0 -68
- package/lib/utils/jwt/hashUserKey.js +0 -19
- package/lib/utils/jwt/index.js +0 -19
- package/lib/utils/key/factory.js +0 -46
- package/lib/utils/key/parser.js +0 -42
- package/lib/utils/labels/index.js +0 -18
- package/lib/utils/lang/Errors.js +0 -58
- package/lib/utils/lang/Sets.js +0 -127
- package/lib/utils/lang/index.js +0 -350
- package/lib/utils/localstorage/isAvailable.js +0 -31
- package/lib/utils/logger/LoggerFactory.js +0 -98
- package/lib/utils/logger/index.js +0 -109
- package/lib/utils/lrucache/linkedlist.js +0 -132
- package/lib/utils/lrucache/lru.spec.js +0 -30
- package/lib/utils/lrucache/lrucache.js +0 -88
- package/lib/utils/now/browser.js +0 -33
- package/lib/utils/now/node.js +0 -24
- package/lib/utils/now/package.json +0 -4
- package/lib/utils/promise/thenable.js +0 -10
- package/lib/utils/promise/timeout.js +0 -40
- package/lib/utils/promise/wrapper.js +0 -63
- package/lib/utils/settings/defaults/package.json +0 -4
- package/lib/utils/settings/impressionsMode.js +0 -26
- package/lib/utils/settings/index.js +0 -214
- package/lib/utils/settings/integrations/browser.js +0 -17
- package/lib/utils/settings/integrations/common.js +0 -40
- package/lib/utils/settings/integrations/node.js +0 -13
- package/lib/utils/settings/integrations/package.json +0 -4
- package/lib/utils/settings/language/browser.js +0 -22
- package/lib/utils/settings/language/node.js +0 -22
- package/lib/utils/settings/language/package.json +0 -4
- package/lib/utils/settings/mode.js +0 -16
- package/lib/utils/settings/runtime/browser.js +0 -26
- package/lib/utils/settings/runtime/package.json +0 -4
- package/lib/utils/settings/storage/package.json +0 -4
- package/lib/utils/splits/usesSegments.js +0 -27
- package/lib/utils/time/index.js +0 -12
- package/lib/utils/timeTracker/index.js +0 -213
- package/lib/utils/timeTracker/timer.js +0 -33
- package/src/client/attributesDecoration.js +0 -112
- package/src/client/browser.js +0 -41
- package/src/client/client.js +0 -131
- package/src/client/inputValidation.js +0 -130
- package/src/client/node.js +0 -8
- package/src/client/package.json +0 -4
- package/src/engine/combiners/and.js +0 -55
- package/src/engine/combiners/ifelseif.js +0 -74
- package/src/engine/condition/index.js +0 -65
- package/src/engine/convertions/index.js +0 -22
- package/src/engine/engine/index.js +0 -63
- package/src/engine/engine/legacy.js +0 -66
- package/src/engine/engine/murmur3/common.js +0 -54
- package/src/engine/engine/murmur3/murmur3.js +0 -79
- package/src/engine/engine/murmur3/murmur3_128.js +0 -273
- package/src/engine/engine/murmur3/murmur3_128_x86.js +0 -188
- package/src/engine/engine/murmur3/murmur3_64.js +0 -34
- package/src/engine/engine/murmur3/utfx.js +0 -111
- package/src/engine/evaluator/index.js +0 -148
- package/src/engine/index.js +0 -123
- package/src/engine/matchers/all.js +0 -29
- package/src/engine/matchers/between.js +0 -30
- package/src/engine/matchers/boolean.js +0 -29
- package/src/engine/matchers/cont_all.js +0 -40
- package/src/engine/matchers/cont_any.js +0 -35
- package/src/engine/matchers/cont_str.js +0 -31
- package/src/engine/matchers/dependency.js +0 -52
- package/src/engine/matchers/eq.js +0 -30
- package/src/engine/matchers/eq_set.js +0 -37
- package/src/engine/matchers/ew.js +0 -31
- package/src/engine/matchers/gte.js +0 -30
- package/src/engine/matchers/index.js +0 -71
- package/src/engine/matchers/lte.js +0 -30
- package/src/engine/matchers/part_of.js +0 -37
- package/src/engine/matchers/segment.js +0 -41
- package/src/engine/matchers/string.js +0 -39
- package/src/engine/matchers/sw.js +0 -31
- package/src/engine/matchers/types.js +0 -52
- package/src/engine/matchers/whitelist.js +0 -30
- package/src/engine/parser/index.js +0 -79
- package/src/engine/parser/segments.js +0 -31
- package/src/engine/transforms/matcherGroup.js +0 -45
- package/src/engine/transforms/matchers.js +0 -118
- package/src/engine/transforms/segment.js +0 -23
- package/src/engine/transforms/set.js +0 -20
- package/src/engine/transforms/unaryNumeric.js +0 -20
- package/src/engine/transforms/whitelist.js +0 -22
- package/src/engine/treatments/index.js +0 -67
- package/src/engine/value/index.js +0 -53
- package/src/engine/value/sanitize.js +0 -117
- package/src/events/index.js +0 -62
- package/src/factory/offline.js +0 -60
- package/src/factory/online.js +0 -127
- package/src/impressions/counter.js +0 -43
- package/src/impressions/hasher/buildKey.js +0 -3
- package/src/impressions/hasher/hashImpression128.js +0 -6
- package/src/impressions/hasher/hashImpression32.js +0 -6
- package/src/impressions/observer/browser.js +0 -8
- package/src/impressions/observer/node.js +0 -8
- package/src/impressions/observer/observer.js +0 -17
- package/src/impressions/observer/package.json +0 -4
- package/src/integrations/browser.js +0 -57
- package/src/integrations/ga/GaToSplit.js +0 -278
- package/src/integrations/ga/SplitToGa.js +0 -125
- package/src/integrations/node.js +0 -4
- package/src/integrations/package.json +0 -4
- package/src/listeners/browser.js +0 -137
- package/src/listeners/node.js +0 -59
- package/src/listeners/package.json +0 -4
- package/src/manager/index.js +0 -103
- package/src/metrics/Collectors.js +0 -77
- package/src/metrics/index.js +0 -174
- package/src/producer/browser/Partial.js +0 -104
- package/src/producer/browser.js +0 -82
- package/src/producer/fetcher/MySegments.js +0 -40
- package/src/producer/fetcher/SegmentChanges.js +0 -52
- package/src/producer/fetcher/SplitChanges.js +0 -39
- package/src/producer/node.js +0 -142
- package/src/producer/offline/browser.js +0 -28
- package/src/producer/offline/node.js +0 -28
- package/src/producer/offline/package.json +0 -4
- package/src/producer/package.json +0 -4
- package/src/producer/task.js +0 -57
- package/src/producer/updater/MySegments.js +0 -104
- package/src/producer/updater/SegmentChanges.js +0 -126
- package/src/producer/updater/SplitChanges.js +0 -138
- package/src/producer/updater/SplitChangesFromFeatures.js +0 -23
- package/src/producer/updater/SplitChangesFromFileSystem.js +0 -23
- package/src/producer/updater/SplitChangesFromObject.js +0 -81
- package/src/readiness/index.js +0 -125
- package/src/readiness/statusManager.js +0 -121
- package/src/services/.DS_Store +0 -0
- package/src/services/auth/auth.js +0 -21
- package/src/services/auth/index.js +0 -3
- package/src/services/events/bulk.js +0 -23
- package/src/services/events/index.js +0 -18
- package/src/services/getEventSource/package.json +0 -4
- package/src/services/getFetch/package.json +0 -4
- package/src/services/impressions/bulk.js +0 -26
- package/src/services/impressions/count.js +0 -8
- package/src/services/impressions/dto.js +0 -71
- package/src/services/impressions/index.js +0 -18
- package/src/services/impressions/post.js +0 -23
- package/src/services/metrics/counters.js +0 -25
- package/src/services/metrics/dto.js +0 -44
- package/src/services/metrics/index.js +0 -18
- package/src/services/metrics/times.js +0 -25
- package/src/services/mySegments/get.js +0 -27
- package/src/services/mySegments/index.js +0 -18
- package/src/services/request/index.js +0 -43
- package/src/services/request/options/browser.js +0 -18
- package/src/services/request/options/package.json +0 -4
- package/src/services/segmentChanges/get.js +0 -20
- package/src/services/segmentChanges/index.js +0 -18
- package/src/services/splitChanges/get.js +0 -20
- package/src/services/splitChanges/index.js +0 -18
- package/src/services/splitChanges/offline/browser.js +0 -66
- package/src/services/splitChanges/offline/node.js +0 -190
- package/src/services/splitChanges/offline/package.json +0 -4
- package/src/services/splitChanges/offline/parseCondition.js +0 -52
- package/src/services/transport/index.js +0 -44
- package/src/storage/AttributesCache/InMemory.js +0 -76
- package/src/storage/BaseMetricsAsyncCache.js +0 -14
- package/src/storage/CountCache/InMemory.js +0 -48
- package/src/storage/CountCache/InRedis.js +0 -32
- package/src/storage/EventsCache/InMemory.js +0 -99
- package/src/storage/EventsCache/InRedis.js +0 -62
- package/src/storage/ImpressionsCache/InMemory.js +0 -62
- package/src/storage/ImpressionsCache/InRedis.js +0 -65
- package/src/storage/Keys.js +0 -122
- package/src/storage/KeysLocalStorage.js +0 -40
- package/src/storage/LatencyCache/InMemory.js +0 -56
- package/src/storage/LatencyCache/InRedis.js +0 -35
- package/src/storage/LatencyCache/findIndex.js +0 -7
- package/src/storage/Meta.js +0 -7
- package/src/storage/RedisAdapter.js +0 -170
- package/src/storage/SegmentCache/InLocalStorage/index.js +0 -120
- package/src/storage/SegmentCache/InMemory/browser.js +0 -99
- package/src/storage/SegmentCache/InMemory/node.js +0 -84
- package/src/storage/SegmentCache/InMemory/package.json +0 -4
- package/src/storage/SegmentCache/InRedis/index.js +0 -71
- package/src/storage/SplitCache/InLocalStorage.js +0 -324
- package/src/storage/SplitCache/InMemory.js +0 -145
- package/src/storage/SplitCache/InRedis.js +0 -187
- package/src/storage/SplitCache/killLocally.js +0 -33
- package/src/storage/browser.js +0 -110
- package/src/storage/node.js +0 -83
- package/src/storage/package.json +0 -4
- package/src/sync/.DS_Store +0 -0
- package/src/sync/AuthClient/index.js +0 -31
- package/src/sync/PushManager/index.js +0 -328
- package/src/sync/PushManager/mySegmentsV2utils.js +0 -76
- package/src/sync/PushManager/pushRequirements/browser.js +0 -20
- package/src/sync/PushManager/pushRequirements/node.js +0 -16
- package/src/sync/PushManager/pushRequirements/package.json +0 -4
- package/src/sync/SSEClient/index.js +0 -92
- package/src/sync/SSEHandler/NotificationKeeper.js +0 -90
- package/src/sync/SSEHandler/NotificationParser.js +0 -35
- package/src/sync/SSEHandler/index.js +0 -110
- package/src/sync/SegmentUpdateWorker/browser.js +0 -67
- package/src/sync/SegmentUpdateWorker/node.js +0 -73
- package/src/sync/SegmentUpdateWorker/package.json +0 -4
- package/src/sync/SplitUpdateWorker/index.js +0 -79
- package/src/sync/browser.js +0 -130
- package/src/sync/constants.js +0 -43
- package/src/sync/node.js +0 -66
- package/src/sync/package.json +0 -4
- package/src/trackers/event.js +0 -47
- package/src/trackers/impressions.js +0 -123
- package/src/utils/backoff/index.js +0 -46
- package/src/utils/base64/browser.js +0 -19
- package/src/utils/base64/node.js +0 -19
- package/src/utils/base64/package.json +0 -4
- package/src/utils/binarySearch/index.js +0 -50
- package/src/utils/constants/index.js +0 -41
- package/src/utils/context/constants.js +0 -18
- package/src/utils/context/index.js +0 -84
- package/src/utils/decompress/index.js +0 -428
- package/src/utils/fn/repeat.js +0 -48
- package/src/utils/inputValidation/apiKey.js +0 -42
- package/src/utils/inputValidation/attribute.js +0 -22
- package/src/utils/inputValidation/attributes.js +0 -26
- package/src/utils/inputValidation/event.js +0 -23
- package/src/utils/inputValidation/eventProperties.js +0 -65
- package/src/utils/inputValidation/eventValue.js +0 -11
- package/src/utils/inputValidation/index.js +0 -11
- package/src/utils/inputValidation/isOperational.js +0 -16
- package/src/utils/inputValidation/key.js +0 -53
- package/src/utils/inputValidation/split.js +0 -42
- package/src/utils/inputValidation/splitFilters.js +0 -108
- package/src/utils/inputValidation/splits.js +0 -21
- package/src/utils/inputValidation/trafficType.js +0 -58
- package/src/utils/jwt/hashUserKey.js +0 -11
- package/src/utils/jwt/index.js +0 -15
- package/src/utils/key/factory.js +0 -34
- package/src/utils/key/parser.js +0 -34
- package/src/utils/labels/index.js +0 -7
- package/src/utils/lang/Errors.js +0 -19
- package/src/utils/lang/Sets.js +0 -94
- package/src/utils/lang/index.js +0 -291
- package/src/utils/localstorage/isAvailable.js +0 -26
- package/src/utils/logger/LoggerFactory.js +0 -90
- package/src/utils/logger/index.js +0 -93
- package/src/utils/lrucache/linkedlist.js +0 -116
- package/src/utils/lrucache/lru.spec.js +0 -26
- package/src/utils/lrucache/lrucache.js +0 -49
- package/src/utils/now/browser.js +0 -29
- package/src/utils/now/node.js +0 -21
- package/src/utils/now/package.json +0 -4
- package/src/utils/promise/thenable.js +0 -1
- package/src/utils/promise/timeout.js +0 -38
- package/src/utils/promise/wrapper.js +0 -60
- package/src/utils/settings/defaults/package.json +0 -4
- package/src/utils/settings/impressionsMode.js +0 -15
- package/src/utils/settings/index.js +0 -217
- package/src/utils/settings/integrations/browser.js +0 -8
- package/src/utils/settings/integrations/common.js +0 -32
- package/src/utils/settings/integrations/package.json +0 -4
- package/src/utils/settings/language/browser.js +0 -17
- package/src/utils/settings/language/node.js +0 -17
- package/src/utils/settings/language/package.json +0 -4
- package/src/utils/settings/mode.js +0 -12
- package/src/utils/settings/runtime/browser.js +0 -22
- package/src/utils/settings/runtime/package.json +0 -4
- package/src/utils/settings/storage/package.json +0 -4
- package/src/utils/splits/usesSegments.js +0 -17
- package/src/utils/time/index.js +0 -8
- package/src/utils/timeTracker/index.js +0 -223
- package/src/utils/timeTracker/timer.js +0 -27
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
import transport from '../transport';
|
|
17
|
-
export default transport;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
import objectAssign from 'object-assign';
|
|
17
|
-
import options from './options';
|
|
18
|
-
|
|
19
|
-
function RequestFactory(settings, relativeUrl, params, extraHeaders) {
|
|
20
|
-
var token = settings.core.authorizationKey;
|
|
21
|
-
var version = settings.version;
|
|
22
|
-
var _settings$runtime = settings.runtime,
|
|
23
|
-
ip = _settings$runtime.ip,
|
|
24
|
-
hostname = _settings$runtime.hostname;
|
|
25
|
-
var headers = {};
|
|
26
|
-
var baseline = options();
|
|
27
|
-
headers['Accept'] = 'application/json';
|
|
28
|
-
headers['Content-Type'] = 'application/json';
|
|
29
|
-
headers['Authorization'] = "Bearer " + token;
|
|
30
|
-
headers['SplitSDKVersion'] = version;
|
|
31
|
-
if (ip) headers['SplitSDKMachineIP'] = ip;
|
|
32
|
-
if (hostname) headers['SplitSDKMachineName'] = hostname;
|
|
33
|
-
if (extraHeaders) objectAssign(headers, extraHeaders);
|
|
34
|
-
return objectAssign({
|
|
35
|
-
headers: headers,
|
|
36
|
-
url: settings.url(relativeUrl)
|
|
37
|
-
}, baseline, params);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export default RequestFactory;
|
|
41
|
-
export var noCacheExtraHeader = {
|
|
42
|
-
'Cache-Control': 'no-cache'
|
|
43
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
export default function getOptions() {
|
|
17
|
-
return {};
|
|
18
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
import base, { noCacheExtraHeader } from '../request';
|
|
17
|
-
export default function GET(settings, _ref, noCache) {
|
|
18
|
-
var since = _ref.since,
|
|
19
|
-
segmentName = _ref.segmentName;
|
|
20
|
-
return base(settings, "/segmentChanges/" + segmentName + "?since=" + since, undefined, noCache ? noCacheExtraHeader : undefined);
|
|
21
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
import transport from '../transport';
|
|
17
|
-
export default transport;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
import base, { noCacheExtraHeader } from '../request';
|
|
17
|
-
export default function GET(settings, since, filterQueryString, noCache) {
|
|
18
|
-
return base(settings, "/splitChanges?since=" + since + (filterQueryString || ''), undefined, noCache ? noCacheExtraHeader : undefined);
|
|
19
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
import transport from '../transport';
|
|
17
|
-
export default transport;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { isObject, forOwn } from '../../../utils/lang';
|
|
2
|
-
import parseCondition from './parseCondition';
|
|
3
|
-
|
|
4
|
-
function hasTreatmentChanged(prev, curr) {
|
|
5
|
-
if (typeof prev !== typeof curr) return true;
|
|
6
|
-
|
|
7
|
-
if (typeof prev === 'string') {
|
|
8
|
-
// strings treatments, just compare
|
|
9
|
-
return prev !== curr;
|
|
10
|
-
} else {
|
|
11
|
-
// has treatment and config, compare both
|
|
12
|
-
return prev.treatment !== curr.treatment || prev.config !== curr.config;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export default function createGetConfigurationFromSettings() {
|
|
17
|
-
var previousMock = {
|
|
18
|
-
'emptyMock': 1
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
function mockUpdated(currentData) {
|
|
22
|
-
var names = Object.keys(currentData); // Different amount of items
|
|
23
|
-
|
|
24
|
-
if (names.length !== Object.keys(previousMock).length) {
|
|
25
|
-
previousMock = currentData;
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return names.some(function (name) {
|
|
30
|
-
var newSplit = !previousMock[name];
|
|
31
|
-
var newTreatment = hasTreatmentChanged(previousMock[name], currentData[name]);
|
|
32
|
-
var changed = newSplit || newTreatment;
|
|
33
|
-
if (changed) previousMock = currentData;
|
|
34
|
-
return changed;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return function getConfigurationFromSettings(settings) {
|
|
39
|
-
var mockSettings = settings.features || {};
|
|
40
|
-
if (!mockUpdated(mockSettings)) return false;
|
|
41
|
-
var splitObjects = {};
|
|
42
|
-
forOwn(mockSettings, function (data, splitName) {
|
|
43
|
-
var treatment = data;
|
|
44
|
-
var config = null;
|
|
45
|
-
|
|
46
|
-
if (isObject(data)) {
|
|
47
|
-
treatment = data.treatment;
|
|
48
|
-
config = data.config || config;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
var configurations = {};
|
|
52
|
-
if (config !== null) configurations[treatment] = config;
|
|
53
|
-
splitObjects[splitName] = {
|
|
54
|
-
trafficTypeName: 'localhost',
|
|
55
|
-
conditions: [parseCondition({
|
|
56
|
-
treatment: treatment
|
|
57
|
-
})],
|
|
58
|
-
configurations: configurations
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
return splitObjects;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
import fs from 'fs';
|
|
17
|
-
import path from 'path';
|
|
18
|
-
import yaml from 'js-yaml';
|
|
19
|
-
import logFactory from '../../../utils/logger';
|
|
20
|
-
import { isString, endsWith, find, forOwn, uniq } from '../../../utils/lang';
|
|
21
|
-
import parseCondition from './parseCondition';
|
|
22
|
-
var log = logFactory('splitio-offline:splits-fetcher');
|
|
23
|
-
var DEFAULT_FILENAME = '.split';
|
|
24
|
-
|
|
25
|
-
function configFilesPath(config) {
|
|
26
|
-
if (config === void 0) {
|
|
27
|
-
config = {};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
var configFilePath = config.features;
|
|
31
|
-
|
|
32
|
-
if (configFilePath === DEFAULT_FILENAME || !isString(configFilePath)) {
|
|
33
|
-
var root = process.env.HOME;
|
|
34
|
-
if (process.env.SPLIT_CONFIG_ROOT) root = process.env.SPLIT_CONFIG_ROOT;
|
|
35
|
-
if (!root) throw new Error('Missing split mock configuration root.');
|
|
36
|
-
configFilePath = path.join(root, DEFAULT_FILENAME);
|
|
37
|
-
} // Validate the extensions
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (!(endsWith(configFilePath, '.yaml', true) || endsWith(configFilePath, '.yml', true) || endsWith(configFilePath, '.split', true))) throw new Error("Invalid extension specified for Splits mock file. Accepted extensions are \".yml\" and \".yaml\". Your specified file is " + configFilePath);
|
|
41
|
-
if (!fs.existsSync(configFilePath)) throw new Error("Split configuration not found in " + configFilePath + " - Please review your Split file location.");
|
|
42
|
-
return configFilePath;
|
|
43
|
-
} // This function is not pure nor meant to be. Here we apply modifications to cover
|
|
44
|
-
// for behaviour that's ensured by the BE.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
function arrangeConditions(mocksData) {
|
|
48
|
-
// Iterate through each Split data
|
|
49
|
-
forOwn(mocksData, function (data) {
|
|
50
|
-
var conditions = data.conditions; // On the manager, as the split jsons come with all treatments on the partitions prop,
|
|
51
|
-
// we'll add all the treatments to the first condition.
|
|
52
|
-
|
|
53
|
-
var firstRolloutCondition = find(conditions, function (cond) {
|
|
54
|
-
return cond.conditionType === 'ROLLOUT';
|
|
55
|
-
}); // Malformed mocks may have
|
|
56
|
-
|
|
57
|
-
var treatments = uniq(data.treatments); // If they're only specifying a whitelist we add the treatments there.
|
|
58
|
-
|
|
59
|
-
var allTreatmentsCondition = firstRolloutCondition ? firstRolloutCondition : conditions[0];
|
|
60
|
-
var fullyAllocatedTreatment = allTreatmentsCondition.partitions[0].treatment;
|
|
61
|
-
treatments.forEach(function (treatment) {
|
|
62
|
-
if (treatment !== fullyAllocatedTreatment) {
|
|
63
|
-
allTreatmentsCondition.partitions.push({
|
|
64
|
-
treatment: treatment,
|
|
65
|
-
size: 0
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}); // Don't need these anymore
|
|
69
|
-
|
|
70
|
-
delete data.treatments;
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export default function createGetSplitConfigForFile() {
|
|
75
|
-
var previousMock = 'NO_MOCK_LOADED'; // Parse `.split` configuration file and return a map of "Split Objects"
|
|
76
|
-
|
|
77
|
-
function readSplitConfigFile(filePath) {
|
|
78
|
-
var SPLIT_POSITION = 0;
|
|
79
|
-
var TREATMENT_POSITION = 1;
|
|
80
|
-
var data;
|
|
81
|
-
|
|
82
|
-
try {
|
|
83
|
-
data = fs.readFileSync(filePath, 'utf-8');
|
|
84
|
-
} catch (e) {
|
|
85
|
-
log.error(e.message);
|
|
86
|
-
return {};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (data === previousMock) return false;
|
|
90
|
-
previousMock = data;
|
|
91
|
-
var splitObjects = data.split(/\r?\n/).reduce(function (accum, line, index) {
|
|
92
|
-
var tuple = line.trim();
|
|
93
|
-
|
|
94
|
-
if (tuple === '' || tuple.charAt(0) === '#') {
|
|
95
|
-
log.debug("Ignoring empty line or comment at #" + index);
|
|
96
|
-
} else {
|
|
97
|
-
tuple = tuple.split(/\s+/);
|
|
98
|
-
|
|
99
|
-
if (tuple.length !== 2) {
|
|
100
|
-
log.debug("Ignoring line since it does not have exactly two columns #" + index);
|
|
101
|
-
} else {
|
|
102
|
-
var splitName = tuple[SPLIT_POSITION];
|
|
103
|
-
var condition = parseCondition({
|
|
104
|
-
treatment: tuple[TREATMENT_POSITION]
|
|
105
|
-
});
|
|
106
|
-
accum[splitName] = {
|
|
107
|
-
conditions: [condition],
|
|
108
|
-
configurations: {},
|
|
109
|
-
trafficTypeName: 'localhost'
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return accum;
|
|
115
|
-
}, {});
|
|
116
|
-
return splitObjects;
|
|
117
|
-
} // Parse `.yml` or `.yaml` configuration files and return a map of "Split Objects"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
function readYAMLConfigFile(filePath) {
|
|
121
|
-
var data = '';
|
|
122
|
-
var yamldoc = null;
|
|
123
|
-
|
|
124
|
-
try {
|
|
125
|
-
data = fs.readFileSync(filePath, 'utf8');
|
|
126
|
-
if (data === previousMock) return false;
|
|
127
|
-
previousMock = data;
|
|
128
|
-
yamldoc = yaml.safeLoad(data);
|
|
129
|
-
} catch (e) {
|
|
130
|
-
log.error(e);
|
|
131
|
-
return {};
|
|
132
|
-
} // Each entry will be mapped to a condition, but we'll also keep the configurations map.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
var mocksData = yamldoc.reduce(function (accum, splitEntry) {
|
|
136
|
-
var splitName = Object.keys(splitEntry)[0];
|
|
137
|
-
if (!splitName || !isString(splitEntry[splitName].treatment)) log.error('Ignoring entry on YAML since the format is incorrect.');
|
|
138
|
-
var mockData = splitEntry[splitName]; // "Template" for each split accumulated data
|
|
139
|
-
|
|
140
|
-
if (!accum[splitName]) {
|
|
141
|
-
accum[splitName] = {
|
|
142
|
-
configurations: {},
|
|
143
|
-
conditions: [],
|
|
144
|
-
treatments: [],
|
|
145
|
-
trafficTypeName: 'localhost'
|
|
146
|
-
};
|
|
147
|
-
} // Assign the config if there is one on the mock
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (mockData.config) accum[splitName].configurations[mockData.treatment] = mockData.config; // Parse the condition from the entry.
|
|
151
|
-
|
|
152
|
-
var condition = parseCondition(mockData);
|
|
153
|
-
accum[splitName].conditions[condition.conditionType === 'ROLLOUT' ? 'push' : 'unshift'](condition); // Also keep track of the treatments, will be useful for manager functionality.
|
|
154
|
-
|
|
155
|
-
accum[splitName].treatments.push(mockData.treatment);
|
|
156
|
-
return accum;
|
|
157
|
-
}, {});
|
|
158
|
-
arrangeConditions(mocksData);
|
|
159
|
-
return mocksData;
|
|
160
|
-
} // Load the content of a configuration file into an Object
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
return function getSplitConfigForFile(settings) {
|
|
164
|
-
var filePath = configFilesPath(settings);
|
|
165
|
-
var mockData = null; // If we have a filePath, it means the extension is correct, choose the parser.
|
|
166
|
-
|
|
167
|
-
if (endsWith(filePath, '.split')) {
|
|
168
|
-
log.warn('.split mocks will be deprecated soon in favor of YAML files, which provide more targeting power. Take a look in our documentation.');
|
|
169
|
-
mockData = readSplitConfigFile(filePath);
|
|
170
|
-
} else {
|
|
171
|
-
mockData = readYAMLConfigFile(filePath);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
return mockData;
|
|
175
|
-
};
|
|
176
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { isString } from '../../../utils/lang';
|
|
2
|
-
export default function parseCondition(data) {
|
|
3
|
-
var treatment = data.treatment;
|
|
4
|
-
|
|
5
|
-
if (data.keys) {
|
|
6
|
-
return {
|
|
7
|
-
conditionType: 'WHITELIST',
|
|
8
|
-
matcherGroup: {
|
|
9
|
-
combiner: 'AND',
|
|
10
|
-
matchers: [{
|
|
11
|
-
keySelector: null,
|
|
12
|
-
matcherType: 'WHITELIST',
|
|
13
|
-
negate: false,
|
|
14
|
-
whitelistMatcherData: {
|
|
15
|
-
whitelist: isString(data.keys) ? [data.keys] : data.keys
|
|
16
|
-
}
|
|
17
|
-
}]
|
|
18
|
-
},
|
|
19
|
-
partitions: [{
|
|
20
|
-
treatment: treatment,
|
|
21
|
-
size: 100
|
|
22
|
-
}],
|
|
23
|
-
label: "whitelisted " + treatment
|
|
24
|
-
};
|
|
25
|
-
} else {
|
|
26
|
-
return {
|
|
27
|
-
conditionType: 'ROLLOUT',
|
|
28
|
-
matcherGroup: {
|
|
29
|
-
combiner: 'AND',
|
|
30
|
-
matchers: [{
|
|
31
|
-
keySelector: null,
|
|
32
|
-
matcherType: 'ALL_KEYS',
|
|
33
|
-
negate: false
|
|
34
|
-
}]
|
|
35
|
-
},
|
|
36
|
-
partitions: [{
|
|
37
|
-
treatment: treatment,
|
|
38
|
-
size: 100
|
|
39
|
-
}],
|
|
40
|
-
label: 'default rule'
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import getFetch from '../getFetch';
|
|
2
|
-
import { SplitNetworkError } from '../../utils/lang/Errors';
|
|
3
|
-
import logFactory from '../../utils/logger';
|
|
4
|
-
var log = logFactory('splitio-services:service');
|
|
5
|
-
var messageNoFetch = 'Global fetch API is not available.';
|
|
6
|
-
export default function Fetcher(request) {
|
|
7
|
-
// using `fetch(url, options)` signature to work with unfetch
|
|
8
|
-
var url = request.url;
|
|
9
|
-
var fetch = getFetch();
|
|
10
|
-
return fetch ? fetch(url, request) // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Checking_that_the_fetch_was_successful
|
|
11
|
-
.then(function (response) {
|
|
12
|
-
if (!response.ok) {
|
|
13
|
-
return response.text().then(function (message) {
|
|
14
|
-
return Promise.reject({
|
|
15
|
-
response: response,
|
|
16
|
-
message: message
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return response;
|
|
22
|
-
}).catch(function (error) {
|
|
23
|
-
var resp = error && error.response;
|
|
24
|
-
var msg = '';
|
|
25
|
-
|
|
26
|
-
if (resp) {
|
|
27
|
-
// An HTTP error
|
|
28
|
-
switch (resp.status) {
|
|
29
|
-
case 404:
|
|
30
|
-
msg = 'Invalid API key or resource not found.';
|
|
31
|
-
break;
|
|
32
|
-
// Don't use resp.statusText since reason phrase is removed in HTTP/2
|
|
33
|
-
|
|
34
|
-
default:
|
|
35
|
-
msg = error.message;
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
} else {
|
|
39
|
-
// Something else, either an error making the request or a Network error.
|
|
40
|
-
msg = error.message;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (!resp || resp.status !== 403) {
|
|
44
|
-
// 403's log we'll be handled somewhere else.
|
|
45
|
-
log[request.logErrorsAsInfo ? 'info' : 'error']("Response status is not OK. Status: " + (resp ? resp.status : 'NO_STATUS') + ". URL: " + url + ". Message: " + msg);
|
|
46
|
-
} // passes `undefined` as statusCode if not an HTTP error (resp === undefined)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
throw new SplitNetworkError(msg, resp && resp.status);
|
|
50
|
-
}) : Promise.reject(new SplitNetworkError(messageNoFetch));
|
|
51
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import objectAssign from 'object-assign';
|
|
2
|
-
|
|
3
|
-
var AttributesCacheInMemory = /*#__PURE__*/function () {
|
|
4
|
-
function AttributesCacheInMemory() {
|
|
5
|
-
this.attributesCache = {};
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Create or update the value for the given attribute
|
|
9
|
-
*
|
|
10
|
-
* @param {string} attributeName attribute name
|
|
11
|
-
* @param {Object} attributeValue attribute value
|
|
12
|
-
* @returns {boolean} the attribute was stored
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var _proto = AttributesCacheInMemory.prototype;
|
|
17
|
-
|
|
18
|
-
_proto.setAttribute = function setAttribute(attributeName, attributeValue) {
|
|
19
|
-
this.attributesCache[attributeName] = attributeValue;
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Retrieves the value of a given attribute
|
|
24
|
-
*
|
|
25
|
-
* @param {string} attributeName attribute name
|
|
26
|
-
* @returns {Object?} stored attribute value
|
|
27
|
-
*/
|
|
28
|
-
;
|
|
29
|
-
|
|
30
|
-
_proto.getAttribute = function getAttribute(attributeName) {
|
|
31
|
-
return this.attributesCache[attributeName];
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Create or update all the given attributes
|
|
35
|
-
*
|
|
36
|
-
* @param {[string, Object]} attributes attributes to create or update
|
|
37
|
-
* @returns {boolean} attributes were stored
|
|
38
|
-
*/
|
|
39
|
-
;
|
|
40
|
-
|
|
41
|
-
_proto.setAttributes = function setAttributes(attributes) {
|
|
42
|
-
this.attributesCache = objectAssign(this.attributesCache, attributes);
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Retrieve the full attributes map
|
|
47
|
-
*
|
|
48
|
-
* @returns {Map<string, Object>} stored attributes
|
|
49
|
-
*/
|
|
50
|
-
;
|
|
51
|
-
|
|
52
|
-
_proto.getAll = function getAll() {
|
|
53
|
-
return this.attributesCache;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Removes a given attribute from the map
|
|
57
|
-
*
|
|
58
|
-
* @param {string} attributeName attribute to remove
|
|
59
|
-
* @returns {boolean} attribute removed
|
|
60
|
-
*/
|
|
61
|
-
;
|
|
62
|
-
|
|
63
|
-
_proto.removeAttribute = function removeAttribute(attributeName) {
|
|
64
|
-
if (Object.keys(this.attributesCache).indexOf(attributeName) >= 0) {
|
|
65
|
-
delete this.attributesCache[attributeName];
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Clears all attributes stored in the SDK
|
|
73
|
-
*
|
|
74
|
-
*/
|
|
75
|
-
;
|
|
76
|
-
|
|
77
|
-
_proto.clear = function clear() {
|
|
78
|
-
this.attributesCache = {};
|
|
79
|
-
return true;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
return AttributesCacheInMemory;
|
|
83
|
-
}();
|
|
84
|
-
|
|
85
|
-
export default AttributesCacheInMemory;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
var BaseMetricsAsyncCache = /*#__PURE__*/function () {
|
|
2
|
-
function BaseMetricsAsyncCache() {}
|
|
3
|
-
|
|
4
|
-
var _proto = BaseMetricsAsyncCache.prototype;
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Async storage caches will always count as empty from an SDK Producer point of view.
|
|
8
|
-
*/
|
|
9
|
-
_proto.isEmpty = function isEmpty() {
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* On async storages we will save metrics on Redis but nothing more. No clean ups or consumptions.
|
|
14
|
-
*/
|
|
15
|
-
;
|
|
16
|
-
|
|
17
|
-
_proto.clear = function clear() {// noop.
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
return BaseMetricsAsyncCache;
|
|
21
|
-
}();
|
|
22
|
-
|
|
23
|
-
export { BaseMetricsAsyncCache as default };
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
Copyright 2016 Split Software
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
**/
|
|
16
|
-
var CountCacheInMemory = /*#__PURE__*/function () {
|
|
17
|
-
function CountCacheInMemory() {
|
|
18
|
-
this.clear();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
var _proto = CountCacheInMemory.prototype;
|
|
22
|
-
|
|
23
|
-
_proto.clear = function clear() {
|
|
24
|
-
this.counters = {};
|
|
25
|
-
return this;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
_proto.state = function state() {
|
|
29
|
-
return this.counters;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
_proto.track = function track(metricName) {
|
|
33
|
-
if (this.counters[metricName] === undefined) this.counters[metricName] = 1;else this.counters[metricName]++;
|
|
34
|
-
return this.counters[metricName];
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
_proto.isEmpty = function isEmpty() {
|
|
38
|
-
return Object.keys(this.counters).length === 0;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
_proto.toJSON = function toJSON() {
|
|
42
|
-
return this.counters;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return CountCacheInMemory;
|
|
46
|
-
}();
|
|
47
|
-
|
|
48
|
-
export default CountCacheInMemory;
|