@splitsoftware/splitio 10.17.3-rc.4 → 10.17.4-rc.1
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 +0 -3
- package/client/package.json +5 -0
- package/es/factory/browser.js +67 -0
- package/es/factory/node.js +63 -0
- package/es/{client → factory}/package.json +0 -0
- package/es/index.js +16 -132
- package/es/platform/EventEmitter.js +386 -0
- package/es/platform/browser.js +10 -0
- package/es/platform/getEventSource/browser.js +3 -0
- package/es/platform/getEventSource/node.js +19 -0
- package/es/{impressions/observer → platform/getEventSource}/package.json +0 -0
- package/es/platform/getFetch/browser.js +4 -0
- package/es/platform/getFetch/node.js +18 -0
- 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/platform/request/options/node.js +13 -0
- package/es/settings/browser.js +20 -0
- package/es/settings/defaults/browser.js +18 -0
- package/es/settings/defaults/node.js +24 -0
- package/es/settings/defaults/version.js +1 -0
- package/es/settings/integrations/browser.js +5 -0
- package/es/settings/node.js +18 -0
- package/es/{producer/offline → settings}/package.json +0 -0
- package/es/settings/runtime/node.js +17 -0
- package/es/settings/storage/browser.js +29 -0
- package/es/settings/storage/node.js +60 -0
- package/es/umd.js +2 -1
- package/lib/factory/browser.js +71 -0
- package/lib/factory/node.js +67 -0
- package/{es/producer → lib/factory}/package.json +0 -0
- package/lib/index.js +19 -155
- package/lib/platform/EventEmitter.js +390 -0
- package/lib/platform/browser.js +13 -0
- package/lib/platform/getEventSource/browser.js +7 -0
- package/lib/platform/getEventSource/node.js +25 -0
- package/{es/services → lib/platform}/getEventSource/package.json +0 -0
- package/lib/platform/getFetch/browser.js +9 -0
- package/lib/platform/getFetch/node.js +23 -0
- package/{es/services → lib/platform}/getFetch/package.json +0 -0
- package/lib/platform/node.js +16 -0
- package/{es/services/request/options → lib/platform}/package.json +0 -0
- package/lib/platform/request/options/node.js +18 -0
- package/lib/settings/browser.js +24 -0
- package/lib/settings/defaults/browser.js +21 -0
- package/lib/settings/defaults/node.js +27 -0
- package/lib/settings/defaults/version.js +4 -0
- package/lib/settings/integrations/browser.js +9 -0
- package/lib/settings/node.js +22 -0
- package/{es/services/splitChanges/offline → lib/settings}/package.json +0 -0
- package/lib/settings/runtime/node.js +22 -0
- package/lib/settings/storage/browser.js +33 -0
- package/lib/settings/storage/node.js +64 -0
- package/lib/umd.js +4 -8
- package/package.json +29 -31
- package/server/package.json +5 -0
- package/src/.DS_Store +0 -0
- package/src/factory/browser.js +84 -0
- package/src/factory/node.js +78 -0
- package/{es/storage/SegmentCache/InMemory → src/factory}/package.json +0 -0
- package/src/index.js +13 -136
- package/src/platform/.DS_Store +0 -0
- package/src/platform/EventEmitter.js +443 -0
- package/src/platform/browser.js +12 -0
- package/{es/services → src/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/platform/request/options/node.js +15 -0
- package/src/settings/.DS_Store +0 -0
- package/src/settings/browser.js +22 -0
- package/{lib/utils → src}/settings/defaults/browser.js +10 -6
- 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/settings/node.js +20 -0
- package/{es/sync → src/settings}/package.json +0 -0
- package/src/settings/runtime/node.js +21 -0
- package/src/settings/storage/browser.js +43 -0
- package/src/{utils/settings → settings}/storage/node.js +18 -34
- 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 +77 -6
- 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/getEventSource/node.js +0 -18
- package/es/services/getFetch/browser.js +0 -4
- package/es/services/getFetch/node.js +0 -18
- 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/request/options/node.js +0 -28
- 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 -58
- 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 -162
- 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/browser.js +0 -12
- package/es/utils/settings/defaults/node.js +0 -21
- 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/node.js +0 -33
- package/es/utils/settings/runtime/package.json +0 -4
- package/es/utils/settings/storage/browser.js +0 -64
- package/es/utils/settings/storage/node.js +0 -86
- 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/browser.js +0 -8
- package/lib/services/getEventSource/node.js +0 -26
- package/lib/services/getEventSource/package.json +0 -4
- package/lib/services/getFetch/browser.js +0 -12
- package/lib/services/getFetch/node.js +0 -24
- 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/node.js +0 -37
- 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 -69
- 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 -171
- 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/node.js +0 -43
- package/lib/utils/settings/runtime/package.json +0 -4
- package/lib/utils/settings/storage/browser.js +0 -75
- package/lib/utils/settings/storage/node.js +0 -92
- 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/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/browser.js +0 -3
- 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/node.js +0 -30
- 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 -52
- 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 -140
- 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/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/browser.js +0 -12
- package/src/utils/settings/defaults/node.js +0 -21
- 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/node.js +0 -7
- 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/node.js +0 -34
- package/src/utils/settings/runtime/package.json +0 -4
- package/src/utils/settings/storage/browser.js +0 -70
- 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,59 +0,0 @@
|
|
|
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 _logger = _interopRequireDefault(require("../../utils/logger"));
|
|
9
|
-
|
|
10
|
-
var _lang = require("../../utils/lang");
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
Copyright 2016 Split Software
|
|
14
|
-
|
|
15
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
you may not use this file except in compliance with the License.
|
|
17
|
-
You may obtain a copy of the License at
|
|
18
|
-
|
|
19
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
|
|
21
|
-
Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
See the License for the specific language governing permissions and
|
|
25
|
-
limitations under the License.
|
|
26
|
-
**/
|
|
27
|
-
var log = (0, _logger.default)('splitio-engine:matcher');
|
|
28
|
-
|
|
29
|
-
function partOfMatcherContext(ruleAttr
|
|
30
|
-
/*: array */
|
|
31
|
-
)
|
|
32
|
-
/*: Function */
|
|
33
|
-
{
|
|
34
|
-
return function partOfMatcher(runtimeAttr
|
|
35
|
-
/*: array */
|
|
36
|
-
)
|
|
37
|
-
/*: boolean */
|
|
38
|
-
{
|
|
39
|
-
// To be part of the length should be minor or equal.
|
|
40
|
-
var isPartOf = runtimeAttr.length <= ruleAttr.length;
|
|
41
|
-
|
|
42
|
-
var _loop = function _loop(i) {
|
|
43
|
-
// If the length says is possible, we iterate until we prove otherwise or we check all elements.
|
|
44
|
-
if ((0, _lang.findIndex)(ruleAttr, function (e) {
|
|
45
|
-
return e === runtimeAttr[i];
|
|
46
|
-
}) < 0) isPartOf = false;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
for (var i = 0; i < runtimeAttr.length && isPartOf; i++) {
|
|
50
|
-
_loop(i);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
log.debug("[partOfMatcher] " + runtimeAttr + " is part of " + ruleAttr + "? " + isPartOf);
|
|
54
|
-
return isPartOf;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
var _default = partOfMatcherContext;
|
|
59
|
-
exports.default = _default;
|
|
@@ -1,49 +0,0 @@
|
|
|
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 _logger = _interopRequireDefault(require("../../utils/logger"));
|
|
9
|
-
|
|
10
|
-
var _thenable = _interopRequireDefault(require("../../utils/promise/thenable"));
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
Copyright 2016 Split Software
|
|
14
|
-
|
|
15
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
you may not use this file except in compliance with the License.
|
|
17
|
-
You may obtain a copy of the License at
|
|
18
|
-
|
|
19
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
|
|
21
|
-
Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
See the License for the specific language governing permissions and
|
|
25
|
-
limitations under the License.
|
|
26
|
-
**/
|
|
27
|
-
var log = (0, _logger.default)('splitio-engine:matcher');
|
|
28
|
-
|
|
29
|
-
function matcherSegmentContext(segmentName, storage) {
|
|
30
|
-
function segmentMatcher(key) {
|
|
31
|
-
var isInSegment = storage.segments.isInSegment(segmentName, key);
|
|
32
|
-
|
|
33
|
-
if ((0, _thenable.default)(isInSegment)) {
|
|
34
|
-
isInSegment.then(function (result) {
|
|
35
|
-
log.debug("[asyncSegmentMatcher] evaluated " + segmentName + " / " + key + " => " + isInSegment);
|
|
36
|
-
return result;
|
|
37
|
-
});
|
|
38
|
-
} else {
|
|
39
|
-
log.debug("[segmentMatcher] evaluated " + segmentName + " / " + key + " => " + isInSegment);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return isInSegment;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return segmentMatcher;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
var _default = matcherSegmentContext;
|
|
49
|
-
exports.default = _default;
|
|
@@ -1,53 +0,0 @@
|
|
|
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 _logger = _interopRequireDefault(require("../../utils/logger"));
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
Copyright 2016 Split Software
|
|
12
|
-
|
|
13
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
14
|
-
you may not use this file except in compliance with the License.
|
|
15
|
-
You may obtain a copy of the License at
|
|
16
|
-
|
|
17
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
-
|
|
19
|
-
Unless required by applicable law or agreed to in writing, software
|
|
20
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
-
See the License for the specific language governing permissions and
|
|
23
|
-
limitations under the License.
|
|
24
|
-
**/
|
|
25
|
-
var log = (0, _logger.default)('splitio-engine:matcher');
|
|
26
|
-
|
|
27
|
-
function stringMatcherContext(ruleAttr
|
|
28
|
-
/*: regex */
|
|
29
|
-
)
|
|
30
|
-
/*: Function */
|
|
31
|
-
{
|
|
32
|
-
return function stringMatcher(runtimeAttr
|
|
33
|
-
/*: string */
|
|
34
|
-
)
|
|
35
|
-
/*: bool */
|
|
36
|
-
{
|
|
37
|
-
var re;
|
|
38
|
-
|
|
39
|
-
try {
|
|
40
|
-
re = new RegExp(ruleAttr);
|
|
41
|
-
} catch (e) {
|
|
42
|
-
log.debug("[stringMatcher] " + ruleAttr + " is an invalid regex");
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
var regexMatches = re.test(runtimeAttr);
|
|
47
|
-
log.debug("[stringMatcher] does " + runtimeAttr + " matches with " + ruleAttr + "? " + (regexMatches ? 'yes' : 'no'));
|
|
48
|
-
return regexMatches;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
var _default = stringMatcherContext;
|
|
53
|
-
exports.default = _default;
|
|
@@ -1,48 +0,0 @@
|
|
|
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 _logger = _interopRequireDefault(require("../../utils/logger"));
|
|
9
|
-
|
|
10
|
-
var _lang = require("../../utils/lang");
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
Copyright 2016 Split Software
|
|
14
|
-
|
|
15
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
you may not use this file except in compliance with the License.
|
|
17
|
-
You may obtain a copy of the License at
|
|
18
|
-
|
|
19
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
|
|
21
|
-
Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
See the License for the specific language governing permissions and
|
|
25
|
-
limitations under the License.
|
|
26
|
-
**/
|
|
27
|
-
var log = (0, _logger.default)('splitio-engine:matcher');
|
|
28
|
-
|
|
29
|
-
function startsWithMatcherContext(ruleAttr
|
|
30
|
-
/*: array */
|
|
31
|
-
)
|
|
32
|
-
/*: Function */
|
|
33
|
-
{
|
|
34
|
-
return function startsWithMatcher(runtimeAttr
|
|
35
|
-
/*: string */
|
|
36
|
-
)
|
|
37
|
-
/*: boolean */
|
|
38
|
-
{
|
|
39
|
-
var matches = ruleAttr.some(function (e) {
|
|
40
|
-
return (0, _lang.startsWith)(runtimeAttr, e);
|
|
41
|
-
});
|
|
42
|
-
log.debug("[startsWithMatcher] " + runtimeAttr + " starts with " + ruleAttr + "? " + matches);
|
|
43
|
-
return matches;
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
var _default = startsWithMatcherContext;
|
|
48
|
-
exports.default = _default;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.matcherTypesMapper = matcherTypesMapper;
|
|
5
|
-
exports.matcherDataTypes = exports.matcherTypes = void 0;
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
Copyright 2016 Split Software
|
|
9
|
-
|
|
10
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
-
you may not use this file except in compliance with the License.
|
|
12
|
-
You may obtain a copy of the License at
|
|
13
|
-
|
|
14
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
-
|
|
16
|
-
Unless required by applicable law or agreed to in writing, software
|
|
17
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
-
See the License for the specific language governing permissions and
|
|
20
|
-
limitations under the License.
|
|
21
|
-
**/
|
|
22
|
-
// @WARNING Symbol is not correctly working in PhantomJS
|
|
23
|
-
var matcherTypes = {
|
|
24
|
-
UNDEFINED: 0,
|
|
25
|
-
ALL_KEYS: 1,
|
|
26
|
-
IN_SEGMENT: 2,
|
|
27
|
-
WHITELIST: 3,
|
|
28
|
-
EQUAL_TO: 4,
|
|
29
|
-
GREATER_THAN_OR_EQUAL_TO: 5,
|
|
30
|
-
LESS_THAN_OR_EQUAL_TO: 6,
|
|
31
|
-
BETWEEN: 7,
|
|
32
|
-
EQUAL_TO_SET: 8,
|
|
33
|
-
CONTAINS_ANY_OF_SET: 9,
|
|
34
|
-
CONTAINS_ALL_OF_SET: 10,
|
|
35
|
-
PART_OF_SET: 11,
|
|
36
|
-
ENDS_WITH: 12,
|
|
37
|
-
STARTS_WITH: 13,
|
|
38
|
-
CONTAINS_STRING: 14,
|
|
39
|
-
IN_SPLIT_TREATMENT: 15,
|
|
40
|
-
EQUAL_TO_BOOLEAN: 16,
|
|
41
|
-
MATCHES_STRING: 17
|
|
42
|
-
};
|
|
43
|
-
exports.matcherTypes = matcherTypes;
|
|
44
|
-
var matcherDataTypes = {
|
|
45
|
-
BOOLEAN: 'BOOLEAN',
|
|
46
|
-
STRING: 'STRING',
|
|
47
|
-
NUMBER: 'NUMBER',
|
|
48
|
-
SET: 'SET',
|
|
49
|
-
DATETIME: 'DATETIME',
|
|
50
|
-
NOT_SPECIFIED: 'NOT_SPECIFIED'
|
|
51
|
-
};
|
|
52
|
-
exports.matcherDataTypes = matcherDataTypes;
|
|
53
|
-
|
|
54
|
-
function matcherTypesMapper(matcherType) {
|
|
55
|
-
var type = matcherTypes[matcherType];
|
|
56
|
-
if (type) return type;else return matcherTypes.UNDEFINED;
|
|
57
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
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 _Sets = require("../../utils/lang/Sets");
|
|
9
|
-
|
|
10
|
-
var _logger = _interopRequireDefault(require("../../utils/logger"));
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
Copyright 2016 Split Software
|
|
14
|
-
|
|
15
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
you may not use this file except in compliance with the License.
|
|
17
|
-
You may obtain a copy of the License at
|
|
18
|
-
|
|
19
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
|
|
21
|
-
Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
See the License for the specific language governing permissions and
|
|
25
|
-
limitations under the License.
|
|
26
|
-
**/
|
|
27
|
-
var log = (0, _logger.default)('splitio-engine:matcher');
|
|
28
|
-
|
|
29
|
-
function whitelistMatcherContext(ruleAttr
|
|
30
|
-
/*: Set */
|
|
31
|
-
)
|
|
32
|
-
/*: Function */
|
|
33
|
-
{
|
|
34
|
-
return function whitelistMatcher(runtimeAttr
|
|
35
|
-
/*: string */
|
|
36
|
-
)
|
|
37
|
-
/*: boolean */
|
|
38
|
-
{
|
|
39
|
-
var isInWhitelist = ruleAttr.has(runtimeAttr);
|
|
40
|
-
log.debug("[whitelistMatcher] evaluated " + runtimeAttr + " in [" + (0, _Sets.setToArray)(ruleAttr).join(',') + "] => " + isInWhitelist);
|
|
41
|
-
return isInWhitelist;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
var _default = whitelistMatcherContext;
|
|
46
|
-
exports.default = _default;
|
|
@@ -1,84 +0,0 @@
|
|
|
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 _matchers = _interopRequireDefault(require("../transforms/matchers"));
|
|
9
|
-
|
|
10
|
-
var _treatments = _interopRequireDefault(require("../treatments"));
|
|
11
|
-
|
|
12
|
-
var _matchers2 = _interopRequireDefault(require("../matchers"));
|
|
13
|
-
|
|
14
|
-
var _value = _interopRequireDefault(require("../value"));
|
|
15
|
-
|
|
16
|
-
var _condition = _interopRequireDefault(require("../condition"));
|
|
17
|
-
|
|
18
|
-
var _ifelseif = _interopRequireDefault(require("../combiners/ifelseif"));
|
|
19
|
-
|
|
20
|
-
var _and = _interopRequireDefault(require("../combiners/and"));
|
|
21
|
-
|
|
22
|
-
var _thenable = _interopRequireDefault(require("../../utils/promise/thenable"));
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
Copyright 2016 Split Software
|
|
26
|
-
|
|
27
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
28
|
-
you may not use this file except in compliance with the License.
|
|
29
|
-
You may obtain a copy of the License at
|
|
30
|
-
|
|
31
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
32
|
-
|
|
33
|
-
Unless required by applicable law or agreed to in writing, software
|
|
34
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
35
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
36
|
-
See the License for the specific language governing permissions and
|
|
37
|
-
limitations under the License.
|
|
38
|
-
**/
|
|
39
|
-
function parse(conditions, storage) {
|
|
40
|
-
var predicates = [];
|
|
41
|
-
|
|
42
|
-
for (var i = 0; i < conditions.length; i++) {
|
|
43
|
-
var _conditions$i = conditions[i],
|
|
44
|
-
matchers = _conditions$i.matcherGroup.matchers,
|
|
45
|
-
partitions = _conditions$i.partitions,
|
|
46
|
-
label = _conditions$i.label,
|
|
47
|
-
conditionType = _conditions$i.conditionType; // transform data structure
|
|
48
|
-
|
|
49
|
-
matchers = (0, _matchers.default)(matchers); // create a set of pure functions from the matcher's dto
|
|
50
|
-
|
|
51
|
-
var expressions = matchers.map(function (matcherDto) {
|
|
52
|
-
var matcher = (0, _matchers2.default)(matcherDto, storage); // Evaluator function.
|
|
53
|
-
|
|
54
|
-
return function (key, attributes, splitEvaluator) {
|
|
55
|
-
var value = (0, _value.default)(key, matcherDto, attributes);
|
|
56
|
-
var result = value !== undefined ? matcher(value, splitEvaluator) : false;
|
|
57
|
-
|
|
58
|
-
if ((0, _thenable.default)(result)) {
|
|
59
|
-
return result.then(function (res) {
|
|
60
|
-
return Boolean(res ^ matcherDto.negate);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return Boolean(result ^ matcherDto.negate);
|
|
65
|
-
};
|
|
66
|
-
}); // if matcher's factory can't instanciate the matchers, the expressions array
|
|
67
|
-
// will be empty
|
|
68
|
-
|
|
69
|
-
if (expressions.length === 0) {
|
|
70
|
-
// reset any data collected during parsing
|
|
71
|
-
predicates = []; // and break the loop
|
|
72
|
-
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
predicates.push((0, _condition.default)((0, _and.default)(expressions), _treatments.default.parse(partitions), label, conditionType));
|
|
77
|
-
} // Instanciate evaluator given the set of conditions using if else if logic
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return (0, _ifelseif.default)(predicates);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
var _default = parse;
|
|
84
|
-
exports.default = _default;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
5
|
-
|
|
6
|
-
var _Sets = require("../../utils/lang/Sets");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Collect segments from a raw split definition.
|
|
10
|
-
*/
|
|
11
|
-
var parseSegments = function parseSegments(conditions) {
|
|
12
|
-
var segments = new _Sets._Set();
|
|
13
|
-
conditions.forEach(function (condition) {
|
|
14
|
-
var matchers = condition.matcherGroup.matchers;
|
|
15
|
-
matchers.forEach(function (matcher) {
|
|
16
|
-
var matcherType = matcher.matcherType,
|
|
17
|
-
userDefinedSegmentMatcherData = matcher.userDefinedSegmentMatcherData;
|
|
18
|
-
|
|
19
|
-
if (matcherType === 'IN_SEGMENT') {
|
|
20
|
-
segments.add(userDefinedSegmentMatcherData.segmentName);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
return segments;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
var _default = parseSegments;
|
|
28
|
-
exports.default = _default;
|
|
@@ -1,54 +0,0 @@
|
|
|
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 _types = require("../matchers/types");
|
|
9
|
-
|
|
10
|
-
var _segment = _interopRequireDefault(require("./segment"));
|
|
11
|
-
|
|
12
|
-
var _whitelist = _interopRequireDefault(require("./whitelist"));
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
Copyright 2016 Split Software
|
|
16
|
-
|
|
17
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
18
|
-
you may not use this file except in compliance with the License.
|
|
19
|
-
You may obtain a copy of the License at
|
|
20
|
-
|
|
21
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
22
|
-
|
|
23
|
-
Unless required by applicable law or agreed to in writing, software
|
|
24
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
25
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
26
|
-
See the License for the specific language governing permissions and
|
|
27
|
-
limitations under the License.
|
|
28
|
-
**/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Flat the complex matcherGroup structure into something handy.
|
|
32
|
-
*/
|
|
33
|
-
function transform(matcherGroup) {
|
|
34
|
-
var _matcherGroup$matcher = matcherGroup.matchers[0],
|
|
35
|
-
matcherType = _matcherGroup$matcher.matcherType,
|
|
36
|
-
segmentObject = _matcherGroup$matcher.userDefinedSegmentMatcherData,
|
|
37
|
-
whitelistObject = _matcherGroup$matcher.whitelistMatcherData;
|
|
38
|
-
var type = (0, _types.matcherTypesMapper)(matcherType);
|
|
39
|
-
var value = undefined;
|
|
40
|
-
|
|
41
|
-
if (type === _types.matcherTypes.IN_SEGMENT) {
|
|
42
|
-
value = (0, _segment.default)(segmentObject);
|
|
43
|
-
} else if (type === _types.matcherTypes.WHITELIST) {
|
|
44
|
-
value = (0, _whitelist.default)(whitelistObject);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return {
|
|
48
|
-
type: type,
|
|
49
|
-
value: value
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
var _default = transform;
|
|
54
|
-
exports.default = _default;
|
|
@@ -1,124 +0,0 @@
|
|
|
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 _lang = require("../../utils/lang");
|
|
9
|
-
|
|
10
|
-
var _types = require("../matchers/types");
|
|
11
|
-
|
|
12
|
-
var _segment = _interopRequireDefault(require("./segment"));
|
|
13
|
-
|
|
14
|
-
var _whitelist = _interopRequireDefault(require("./whitelist"));
|
|
15
|
-
|
|
16
|
-
var _set = _interopRequireDefault(require("./set"));
|
|
17
|
-
|
|
18
|
-
var _unaryNumeric = _interopRequireDefault(require("./unaryNumeric"));
|
|
19
|
-
|
|
20
|
-
var _convertions = require("../convertions");
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
Copyright 2016 Split Software
|
|
24
|
-
|
|
25
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
26
|
-
you may not use this file except in compliance with the License.
|
|
27
|
-
You may obtain a copy of the License at
|
|
28
|
-
|
|
29
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
30
|
-
|
|
31
|
-
Unless required by applicable law or agreed to in writing, software
|
|
32
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
33
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
34
|
-
See the License for the specific language governing permissions and
|
|
35
|
-
limitations under the License.
|
|
36
|
-
**/
|
|
37
|
-
// Flat the complex matcherGroup structure into something handy.
|
|
38
|
-
function transform(matchers) {
|
|
39
|
-
var parsedMatchers = matchers.map(function (matcher) {
|
|
40
|
-
var matcherType = matcher.matcherType,
|
|
41
|
-
negate = matcher.negate,
|
|
42
|
-
keySelector = matcher.keySelector,
|
|
43
|
-
segmentObject = matcher.userDefinedSegmentMatcherData,
|
|
44
|
-
whitelistObject = matcher.whitelistMatcherData,
|
|
45
|
-
unaryNumericObject = matcher.unaryNumericMatcherData,
|
|
46
|
-
betweenObject = matcher.betweenMatcherData,
|
|
47
|
-
dependencyObject = matcher.dependencyMatcherData,
|
|
48
|
-
booleanMatcherData = matcher.booleanMatcherData,
|
|
49
|
-
stringMatcherData = matcher.stringMatcherData;
|
|
50
|
-
var attribute = keySelector && keySelector.attribute;
|
|
51
|
-
var type = (0, _types.matcherTypesMapper)(matcherType); // As default input data type we use string (even for ALL_KEYS)
|
|
52
|
-
|
|
53
|
-
var dataType = _types.matcherDataTypes.STRING;
|
|
54
|
-
var value = undefined;
|
|
55
|
-
|
|
56
|
-
if (type === _types.matcherTypes.IN_SEGMENT) {
|
|
57
|
-
value = (0, _segment.default)(segmentObject);
|
|
58
|
-
} else if (type === _types.matcherTypes.WHITELIST) {
|
|
59
|
-
value = (0, _whitelist.default)(whitelistObject);
|
|
60
|
-
} else if (type === _types.matcherTypes.EQUAL_TO) {
|
|
61
|
-
value = (0, _unaryNumeric.default)(unaryNumericObject);
|
|
62
|
-
dataType = _types.matcherDataTypes.NUMBER;
|
|
63
|
-
|
|
64
|
-
if (unaryNumericObject.dataType === 'DATETIME') {
|
|
65
|
-
value = (0, _convertions.zeroSinceHH)(value);
|
|
66
|
-
dataType = _types.matcherDataTypes.DATETIME;
|
|
67
|
-
}
|
|
68
|
-
} else if (type === _types.matcherTypes.GREATER_THAN_OR_EQUAL_TO || type === _types.matcherTypes.LESS_THAN_OR_EQUAL_TO) {
|
|
69
|
-
value = (0, _unaryNumeric.default)(unaryNumericObject);
|
|
70
|
-
dataType = _types.matcherDataTypes.NUMBER;
|
|
71
|
-
|
|
72
|
-
if (unaryNumericObject.dataType === 'DATETIME') {
|
|
73
|
-
value = (0, _convertions.zeroSinceSS)(value);
|
|
74
|
-
dataType = _types.matcherDataTypes.DATETIME;
|
|
75
|
-
}
|
|
76
|
-
} else if (type === _types.matcherTypes.BETWEEN) {
|
|
77
|
-
value = betweenObject;
|
|
78
|
-
dataType = _types.matcherDataTypes.NUMBER;
|
|
79
|
-
|
|
80
|
-
if (betweenObject.dataType === 'DATETIME') {
|
|
81
|
-
value.start = (0, _convertions.zeroSinceSS)(value.start);
|
|
82
|
-
value.end = (0, _convertions.zeroSinceSS)(value.end);
|
|
83
|
-
dataType = _types.matcherDataTypes.DATETIME;
|
|
84
|
-
}
|
|
85
|
-
} else if (type === _types.matcherTypes.EQUAL_TO_SET || type === _types.matcherTypes.CONTAINS_ANY_OF_SET || type === _types.matcherTypes.CONTAINS_ALL_OF_SET || type === _types.matcherTypes.PART_OF_SET) {
|
|
86
|
-
value = (0, _set.default)(whitelistObject);
|
|
87
|
-
dataType = _types.matcherDataTypes.SET;
|
|
88
|
-
} else if (type === _types.matcherTypes.STARTS_WITH || type === _types.matcherTypes.ENDS_WITH || type === _types.matcherTypes.CONTAINS_STRING) {
|
|
89
|
-
value = (0, _set.default)(whitelistObject);
|
|
90
|
-
} else if (type === _types.matcherTypes.IN_SPLIT_TREATMENT) {
|
|
91
|
-
value = dependencyObject;
|
|
92
|
-
dataType = _types.matcherDataTypes.NOT_SPECIFIED;
|
|
93
|
-
} else if (type === _types.matcherTypes.EQUAL_TO_BOOLEAN) {
|
|
94
|
-
dataType = _types.matcherDataTypes.BOOLEAN;
|
|
95
|
-
value = booleanMatcherData;
|
|
96
|
-
} else if (type === _types.matcherTypes.MATCHES_STRING) {
|
|
97
|
-
value = stringMatcherData;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return {
|
|
101
|
-
attribute: attribute,
|
|
102
|
-
// attribute over we should do the matching, undefined means 'use the key'
|
|
103
|
-
negate: negate,
|
|
104
|
-
// should we negate the result?
|
|
105
|
-
type: type,
|
|
106
|
-
// which kind of matcher we should evaluate
|
|
107
|
-
value: value,
|
|
108
|
-
// metadata used for the matching
|
|
109
|
-
dataType: dataType // runtime input data type
|
|
110
|
-
|
|
111
|
-
};
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
if ((0, _lang.findIndex)(parsedMatchers, function (m) {
|
|
115
|
-
return m.type === _types.matcherTypes.UNDEFINED;
|
|
116
|
-
}) === -1) {
|
|
117
|
-
return parsedMatchers;
|
|
118
|
-
} else {
|
|
119
|
-
return [];
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
var _default = transform;
|
|
124
|
-
exports.default = _default;
|
|
@@ -1,34 +0,0 @@
|
|
|
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
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Extract segment name as a plain string.
|
|
24
|
-
*/
|
|
25
|
-
function transform(segment) {
|
|
26
|
-
if (segment === void 0) {
|
|
27
|
-
segment = {};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return segment.segmentName;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
var _default = transform;
|
|
34
|
-
exports.default = _default;
|
|
@@ -1,26 +0,0 @@
|
|
|
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 transform(whitelistObject) {
|
|
22
|
-
return whitelistObject.whitelist;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
var _default = transform;
|
|
26
|
-
exports.default = _default;
|