@splitsoftware/splitio 10.17.2 → 10.17.3-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/factory/clientSide.js +45 -0
- package/es/factory/commons.js +16 -0
- package/es/factory/package.json +4 -0
- package/es/factory/serverSide.js +42 -0
- package/es/index.js +1 -132
- package/es/platform/browser.js +11 -0
- package/es/{services → platform}/getEventSource/browser.js +1 -1
- package/es/{services → platform}/getEventSource/node.js +1 -1
- package/es/{client → 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/{impressions/observer → platform/getFetch}/package.json +0 -0
- package/es/platform/node.js +13 -0
- package/es/{integrations → platform}/package.json +0 -0
- package/es/{services → platform}/request/options/node.js +2 -2
- package/es/settings/clientSide.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/package.json +4 -0
- package/es/{utils/settings → settings}/runtime/node.js +6 -4
- package/es/settings/serverSide.js +20 -0
- package/es/{utils/settings → settings}/storage/browser.js +12 -14
- package/es/{utils/settings → settings}/storage/node.js +10 -9
- package/es/umd.js +2 -1
- package/lib/factory/clientSide.js +65 -0
- package/lib/factory/commons.js +23 -0
- package/lib/factory/package.json +4 -0
- package/lib/factory/serverSide.js +60 -0
- package/lib/index.js +3 -151
- package/lib/platform/browser.js +24 -0
- package/lib/{services → platform}/getEventSource/browser.js +1 -1
- package/lib/{services → platform}/getEventSource/node.js +1 -1
- package/{es/listeners → 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/producer/offline → lib/platform/getFetch}/package.json +0 -0
- package/lib/platform/node.js +27 -0
- package/{es/producer → lib/platform}/package.json +0 -0
- package/lib/{services → platform}/request/options/node.js +2 -2
- package/lib/settings/clientSide.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/package.json +4 -0
- package/lib/{utils/settings → settings}/runtime/node.js +7 -5
- package/lib/settings/serverSide.js +33 -0
- package/lib/{utils/settings → settings}/storage/browser.js +15 -20
- package/lib/{utils/settings → settings}/storage/node.js +13 -11
- package/lib/umd.js +1 -0
- package/package.json +15 -12
- package/src/.DS_Store +0 -0
- package/src/factory/clientSide.js +58 -0
- package/src/factory/commons.js +16 -0
- package/src/factory/package.json +4 -0
- package/src/factory/serverSide.js +51 -0
- package/src/index.js +1 -140
- package/src/{sync/SSEHandler → platform}/.DS_Store +0 -0
- package/src/platform/browser.js +13 -0
- package/src/{services → platform}/getEventSource/browser.js +2 -2
- package/src/{services → platform}/getEventSource/node.js +2 -2
- package/{es/services → 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/services → src/platform}/getFetch/package.json +0 -0
- package/src/platform/node.js +15 -0
- package/{es/services/request/options → 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/clientSide.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/package.json +4 -0
- package/src/{utils/settings → settings}/runtime/node.js +9 -6
- package/src/settings/serverSide.js +20 -0
- package/src/{utils/settings → settings}/storage/browser.js +10 -16
- package/src/{utils/settings → settings}/storage/node.js +7 -7
- package/src/umd.js +1 -0
- 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/package.json +0 -4
- 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/InMemory/package.json +0 -4
- 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/storage/package.json +0 -4
- 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/PushManager/pushRequirements/package.json +0 -4
- 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/SegmentUpdateWorker/package.json +0 -4
- 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/sync/package.json +0 -4
- 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
package/lib/utils/key/factory.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.bucketing = exports.matching = void 0;
|
|
5
|
-
|
|
6
|
-
var _lang = require("../lang");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
Copyright 2016 Split Software
|
|
10
|
-
|
|
11
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
you may not use this file except in compliance with the License.
|
|
13
|
-
You may obtain a copy of the License at
|
|
14
|
-
|
|
15
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
|
|
17
|
-
Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
See the License for the specific language governing permissions and
|
|
21
|
-
limitations under the License.
|
|
22
|
-
**/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Verify type of key and return the set key property
|
|
26
|
-
* If undefinedIfNotObj === true, it means that unless explicitly defined (using the Key object)
|
|
27
|
-
* we will return undefined. (if it was a string, there's no bucketingKey)
|
|
28
|
-
*/
|
|
29
|
-
function KeyGetterFactory(keyProperty, undefinedIfNotObj) {
|
|
30
|
-
if (undefinedIfNotObj === void 0) {
|
|
31
|
-
undefinedIfNotObj = false;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return function getKeyProperty(key) {
|
|
35
|
-
if ((0, _lang.isObject)(key)) {
|
|
36
|
-
return key[keyProperty];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return undefinedIfNotObj ? undefined : key;
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var matching = KeyGetterFactory('matchingKey');
|
|
44
|
-
exports.matching = matching;
|
|
45
|
-
var bucketing = KeyGetterFactory('bucketingKey', true);
|
|
46
|
-
exports.bucketing = bucketing;
|
package/lib/utils/key/parser.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = void 0;
|
|
5
|
-
|
|
6
|
-
var _lang = require("../lang");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
Copyright 2016 Split Software
|
|
10
|
-
|
|
11
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
you may not use this file except in compliance with the License.
|
|
13
|
-
You may obtain a copy of the License at
|
|
14
|
-
|
|
15
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
|
|
17
|
-
Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
See the License for the specific language governing permissions and
|
|
21
|
-
limitations under the License.
|
|
22
|
-
**/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Verify type of key and return a valid object key used for get treatment for a
|
|
26
|
-
* specific split.
|
|
27
|
-
*/
|
|
28
|
-
var _default = function _default(key) {
|
|
29
|
-
if ((0, _lang.isObject)(key)) {
|
|
30
|
-
return {
|
|
31
|
-
matchingKey: key.matchingKey,
|
|
32
|
-
bucketingKey: key.bucketingKey
|
|
33
|
-
};
|
|
34
|
-
} else {
|
|
35
|
-
return {
|
|
36
|
-
matchingKey: key,
|
|
37
|
-
bucketingKey: key
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
exports.default = _default;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.NOT_IN_SPLIT = exports.SPLIT_ARCHIVED = exports.EXCEPTION = exports.SDK_NOT_READY = exports.SPLIT_NOT_FOUND = exports.NO_CONDITION_MATCH = exports.SPLIT_KILLED = void 0;
|
|
5
|
-
var SPLIT_KILLED = 'killed';
|
|
6
|
-
exports.SPLIT_KILLED = SPLIT_KILLED;
|
|
7
|
-
var NO_CONDITION_MATCH = 'default rule';
|
|
8
|
-
exports.NO_CONDITION_MATCH = NO_CONDITION_MATCH;
|
|
9
|
-
var SPLIT_NOT_FOUND = 'definition not found';
|
|
10
|
-
exports.SPLIT_NOT_FOUND = SPLIT_NOT_FOUND;
|
|
11
|
-
var SDK_NOT_READY = 'not ready';
|
|
12
|
-
exports.SDK_NOT_READY = SDK_NOT_READY;
|
|
13
|
-
var EXCEPTION = 'exception';
|
|
14
|
-
exports.EXCEPTION = EXCEPTION;
|
|
15
|
-
var SPLIT_ARCHIVED = 'archived';
|
|
16
|
-
exports.SPLIT_ARCHIVED = SPLIT_ARCHIVED;
|
|
17
|
-
var NOT_IN_SPLIT = 'not in split';
|
|
18
|
-
exports.NOT_IN_SPLIT = NOT_IN_SPLIT;
|
package/lib/utils/lang/Errors.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.SplitNetworkError = exports.SplitTimeoutError = exports.SplitError = void 0;
|
|
7
|
-
|
|
8
|
-
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
9
|
-
|
|
10
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
11
|
-
|
|
12
|
-
var SplitError = /*#__PURE__*/function (_Error) {
|
|
13
|
-
(0, _inheritsLoose2.default)(SplitError, _Error);
|
|
14
|
-
|
|
15
|
-
function SplitError(msg) {
|
|
16
|
-
var _this;
|
|
17
|
-
|
|
18
|
-
if (msg === void 0) {
|
|
19
|
-
msg = 'Split Error';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
_this = _Error.call(this, msg) || this;
|
|
23
|
-
_this.message = msg;
|
|
24
|
-
return _this;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return SplitError;
|
|
28
|
-
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
29
|
-
|
|
30
|
-
exports.SplitError = SplitError;
|
|
31
|
-
|
|
32
|
-
var SplitTimeoutError = /*#__PURE__*/function (_SplitError) {
|
|
33
|
-
(0, _inheritsLoose2.default)(SplitTimeoutError, _SplitError);
|
|
34
|
-
|
|
35
|
-
function SplitTimeoutError(msg) {
|
|
36
|
-
return _SplitError.call(this, msg || 'Split Timeout Error') || this;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return SplitTimeoutError;
|
|
40
|
-
}(SplitError);
|
|
41
|
-
|
|
42
|
-
exports.SplitTimeoutError = SplitTimeoutError;
|
|
43
|
-
|
|
44
|
-
var SplitNetworkError = /*#__PURE__*/function (_SplitError2) {
|
|
45
|
-
(0, _inheritsLoose2.default)(SplitNetworkError, _SplitError2);
|
|
46
|
-
|
|
47
|
-
function SplitNetworkError(msg, code) {
|
|
48
|
-
var _this2;
|
|
49
|
-
|
|
50
|
-
_this2 = _SplitError2.call(this, msg || 'Split Network Error') || this;
|
|
51
|
-
_this2.statusCode = code;
|
|
52
|
-
return _this2;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return SplitNetworkError;
|
|
56
|
-
}(SplitError);
|
|
57
|
-
|
|
58
|
-
exports.SplitNetworkError = SplitNetworkError;
|
package/lib/utils/lang/Sets.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.setToArray = setToArray;
|
|
7
|
-
exports._Set = exports.SetPoly = void 0;
|
|
8
|
-
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Set implementation based on es6-set polyfill (https://github.com/medikoo/es6-set/blob/master/polyfill.js),
|
|
13
|
-
* with the minimal features used by the SDK.
|
|
14
|
-
|
|
15
|
-
Copyright (C) 2013 Mariusz Nowak (www.medikoo.com)
|
|
16
|
-
|
|
17
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
18
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
19
|
-
in the Software without restriction, including without limitation the rights
|
|
20
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
21
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
22
|
-
furnished to do so, subject to the following conditions:
|
|
23
|
-
|
|
24
|
-
The above copyright notice and this permission notice shall be included in
|
|
25
|
-
all copies or substantial portions of the Software.
|
|
26
|
-
|
|
27
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
28
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
29
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
30
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
31
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
32
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
33
|
-
THE SOFTWARE.
|
|
34
|
-
**/
|
|
35
|
-
var SetPoly = /*#__PURE__*/function () {
|
|
36
|
-
// unlike ES6 `Set`, it only accepts an array as first argument iterable
|
|
37
|
-
function SetPoly()
|
|
38
|
-
/*arrayIterable*/
|
|
39
|
-
{
|
|
40
|
-
var _this = this;
|
|
41
|
-
|
|
42
|
-
this.__setData__ = [];
|
|
43
|
-
var arrayIterable = arguments[0];
|
|
44
|
-
if (Array.isArray(arrayIterable)) arrayIterable.forEach(function (value) {
|
|
45
|
-
_this.add(value);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
var _proto = SetPoly.prototype;
|
|
50
|
-
|
|
51
|
-
_proto.clear = function clear() {
|
|
52
|
-
if (!this.__setData__.length) return;
|
|
53
|
-
this.__setData__.length = 0;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
_proto.add = function add(value) {
|
|
57
|
-
if (this.has(value)) return this;
|
|
58
|
-
|
|
59
|
-
this.__setData__.push(value);
|
|
60
|
-
|
|
61
|
-
return this;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
_proto.delete = function _delete(value) {
|
|
65
|
-
var index = this.__setData__.indexOf(value);
|
|
66
|
-
|
|
67
|
-
if (index === -1) return false;
|
|
68
|
-
|
|
69
|
-
this.__setData__.splice(index, 1);
|
|
70
|
-
|
|
71
|
-
return true;
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
_proto.has = function has(value) {
|
|
75
|
-
return this.__setData__.indexOf(value) !== -1;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
_proto.forEach = function forEach(cb
|
|
79
|
-
/*, thisArg*/
|
|
80
|
-
) {
|
|
81
|
-
var thisArg = arguments[1];
|
|
82
|
-
if (typeof cb !== 'function') throw new TypeError(cb + ' is not a function');
|
|
83
|
-
|
|
84
|
-
for (var i = 0; i < this.__setData__.length; i++) {
|
|
85
|
-
var value = this.__setData__[i];
|
|
86
|
-
cb.call(thisArg, value, value, this);
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
(0, _createClass2.default)(SetPoly, [{
|
|
91
|
-
key: "size",
|
|
92
|
-
get: function get() {
|
|
93
|
-
return this.__setData__.length;
|
|
94
|
-
}
|
|
95
|
-
}]);
|
|
96
|
-
return SetPoly;
|
|
97
|
-
}();
|
|
98
|
-
|
|
99
|
-
exports.SetPoly = SetPoly;
|
|
100
|
-
|
|
101
|
-
function setToArray(set) {
|
|
102
|
-
if (set instanceof SetPoly) {
|
|
103
|
-
return set.__setData__.slice();
|
|
104
|
-
} // if not using SetPoly as set, it means Array.from is supported
|
|
105
|
-
// eslint-disable-next-line compat/compat
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return Array.from(set);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* return the Set constructor to use. If `Array.from` built-in or native Set is not available or it doesn't support the required features,
|
|
112
|
-
* a ponyfill with minimal features is returned instead.
|
|
113
|
-
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
function getSetConstructor() {
|
|
117
|
-
// eslint-disable-next-line compat/compat
|
|
118
|
-
if (typeof Array.from === 'function' && typeof Set === 'function' && Set.prototype && Set.prototype.values) {
|
|
119
|
-
return Set;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return SetPoly;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
var _Set = getSetConstructor();
|
|
126
|
-
|
|
127
|
-
exports._Set = _Set;
|
package/lib/utils/lang/index.js
DELETED
|
@@ -1,350 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.startsWith = startsWith;
|
|
5
|
-
exports.endsWith = endsWith;
|
|
6
|
-
exports.get = get;
|
|
7
|
-
exports.findIndex = findIndex;
|
|
8
|
-
exports.find = find;
|
|
9
|
-
exports.isString = isString;
|
|
10
|
-
exports.numberIsFinite = numberIsFinite;
|
|
11
|
-
exports.numberIsNaN = numberIsNaN;
|
|
12
|
-
exports.numberIsInteger = numberIsInteger;
|
|
13
|
-
exports.uniqueId = uniqueId;
|
|
14
|
-
exports.isObject = isObject;
|
|
15
|
-
exports.merge = merge;
|
|
16
|
-
exports.uniq = uniq;
|
|
17
|
-
exports.unicAsStrings = unicAsStrings;
|
|
18
|
-
exports.toString = toString;
|
|
19
|
-
exports.toNumber = toNumber;
|
|
20
|
-
exports.forOwn = forOwn;
|
|
21
|
-
exports.groupBy = groupBy;
|
|
22
|
-
exports.getFnName = getFnName;
|
|
23
|
-
exports.shallowClone = shallowClone;
|
|
24
|
-
exports.isBoolean = isBoolean;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Checks if the target string starts with the sub string.
|
|
28
|
-
*/
|
|
29
|
-
function startsWith(target, sub) {
|
|
30
|
-
if (!(isString(target) && isString(sub))) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return target.slice(0, sub.length) === sub;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Checks if the target string ends with the sub string.
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
function endsWith(target, sub, caseInsensitive) {
|
|
42
|
-
if (caseInsensitive === void 0) {
|
|
43
|
-
caseInsensitive = false;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (!(isString(target) && isString(sub))) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (caseInsensitive) {
|
|
51
|
-
target = target.toLowerCase();
|
|
52
|
-
sub = sub.toLowerCase();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return target.slice(target.length - sub.length) === sub;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Safely retrieve the specified prop from obj. If we can't retrieve
|
|
59
|
-
* that property value, we return the default value.
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
function get(obj, prop, val) {
|
|
64
|
-
var res = val;
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
// No risks nor lots of checks.
|
|
68
|
-
var pathPieces = prop.split('.');
|
|
69
|
-
var partial = obj;
|
|
70
|
-
pathPieces.forEach(function (pathPiece) {
|
|
71
|
-
return partial = partial[pathPiece];
|
|
72
|
-
});
|
|
73
|
-
if (typeof partial !== 'undefined') res = partial;
|
|
74
|
-
} catch (e) {// noop
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return res;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Evaluates iteratee for each element of the source array. Returns the index of the first element
|
|
81
|
-
* for which iteratee returns truthy. If no element is found or there's an issue with the params it returns -1.
|
|
82
|
-
*/
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
function findIndex(source, iteratee) {
|
|
86
|
-
if (Array.isArray(source) && typeof iteratee === 'function') {
|
|
87
|
-
for (var i = 0; i < source.length; i++) {
|
|
88
|
-
if (iteratee(source[i], i, source) === true) {
|
|
89
|
-
return i;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return -1;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Loops through a source collection (an object or an array) running iteratee
|
|
98
|
-
* against each element. It returns the first element for which iteratee returned
|
|
99
|
-
* a truthy value and stops the loop.
|
|
100
|
-
* Iteratee receives three arguments (element, key/index, collection)
|
|
101
|
-
*/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
function find(source, iteratee) {
|
|
105
|
-
var res;
|
|
106
|
-
|
|
107
|
-
if (isObject(source)) {
|
|
108
|
-
var keys = Object.keys(source);
|
|
109
|
-
|
|
110
|
-
for (var i = 0; i < keys.length && !res; i++) {
|
|
111
|
-
var key = keys[i];
|
|
112
|
-
var iterateeResult = iteratee(source[key], key, source);
|
|
113
|
-
if (iterateeResult) res = source[key];
|
|
114
|
-
}
|
|
115
|
-
} else if (Array.isArray(source)) {
|
|
116
|
-
for (var _i = 0; _i < source.length && !res; _i++) {
|
|
117
|
-
var _iterateeResult = iteratee(source[_i], _i, source);
|
|
118
|
-
|
|
119
|
-
if (_iterateeResult) res = source[_i];
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return res;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Checks if a given value is a string.
|
|
127
|
-
*/
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
function isString(val) {
|
|
131
|
-
return typeof val === 'string' || val instanceof String;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Checks if a given value is a finite value of number type or Number object.
|
|
135
|
-
* Unlike `Number.isFinite`, it also tests Number object instances.
|
|
136
|
-
* Unlike global `isFinite`, it returns false if the value is not a number or Number object instance.
|
|
137
|
-
* @TODO remove `isFinite` once `Number.isFinite` is fully supported by targets
|
|
138
|
-
*/
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
function numberIsFinite(val) {
|
|
142
|
-
if (val instanceof Number) val = val.valueOf(); // eslint-disable-next-line compat/compat
|
|
143
|
-
|
|
144
|
-
if (typeof val === 'number') return Number.isFinite ? Number.isFinite(val) : isFinite(val);
|
|
145
|
-
return false;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Checks if a given value is a NaN value of number type or Number object.
|
|
149
|
-
* Unlike `Number.isNaN`, it also tests Number object instances.
|
|
150
|
-
* Unlike global `isNan`, it returns false if the value is not a number or Number object instance.
|
|
151
|
-
*/
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
function numberIsNaN(val) {
|
|
155
|
-
if (val instanceof Number) val = val.valueOf(); // @TODO replace with `Number.isNaN` once it is fully supported by targets
|
|
156
|
-
// eslint-disable-next-line eqeqeq
|
|
157
|
-
|
|
158
|
-
return val !== val;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Checks if a given value is an integer value of number type or Number object.
|
|
162
|
-
* Unlike `Number.isInteger`, it also tests Number object instances.
|
|
163
|
-
* @TODO remove shim once `Number.isInteger` is fully supported by targets
|
|
164
|
-
*/
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
function numberIsInteger(val) {
|
|
168
|
-
if (val instanceof Number) val = val.valueOf(); // eslint-disable-next-line compat/compat
|
|
169
|
-
|
|
170
|
-
if (typeof val === 'number') return Number.isInteger ? Number.isInteger(val) : isFinite(val) && Math.floor(val) === val;
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
var uniqueIdCounter = -1;
|
|
175
|
-
/**
|
|
176
|
-
* Returns a number to be used as ID, which will be unique.
|
|
177
|
-
*/
|
|
178
|
-
|
|
179
|
-
function uniqueId() {
|
|
180
|
-
return uniqueIdCounter++;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Validates if a value is an object.
|
|
184
|
-
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
function isObject(obj) {
|
|
188
|
-
return obj && typeof obj === 'object' && obj.constructor === Object;
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* There are some assumptions here. It's for internal use and we don't need verbose errors
|
|
192
|
-
* or to ensure the data types or whatever. Parameters should always be correct (at least have a target and a source, of type object).
|
|
193
|
-
*/
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
function merge(target, source) {
|
|
197
|
-
var res = target;
|
|
198
|
-
isObject(source) && Object.keys(source).forEach(function (key) {
|
|
199
|
-
var val = source[key];
|
|
200
|
-
|
|
201
|
-
if (isObject(val)) {
|
|
202
|
-
if (res[key] && isObject(res[key])) {
|
|
203
|
-
// If both are objects, merge into a new one.
|
|
204
|
-
val = merge({}, res[key], val);
|
|
205
|
-
} else {
|
|
206
|
-
// else make a copy.
|
|
207
|
-
val = merge({}, val);
|
|
208
|
-
}
|
|
209
|
-
} // We skip undefined values.
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
if (val !== undefined) res[key] = val;
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
216
|
-
rest[_key - 2] = arguments[_key];
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
if (rest && rest.length) {
|
|
220
|
-
var nextSource = rest.splice(0, 1)[0];
|
|
221
|
-
res = merge.apply(void 0, [res, nextSource].concat(rest));
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
return res;
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Removes duplicate items on an array of strings.
|
|
228
|
-
*/
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
function uniq(arr) {
|
|
232
|
-
var seen = {};
|
|
233
|
-
return arr.filter(function (item) {
|
|
234
|
-
return Object.prototype.hasOwnProperty.call(seen, item) ? false : seen[item] = true;
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Removes duplicate items on an array of objects using an optional `stringify` function as equality criteria.
|
|
239
|
-
* It uses JSON.stringify as default criteria.
|
|
240
|
-
*/
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
function unicAsStrings(arr, stringify) {
|
|
244
|
-
if (stringify === void 0) {
|
|
245
|
-
stringify = JSON.stringify;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
var seen = {};
|
|
249
|
-
return arr.filter(function (item) {
|
|
250
|
-
var itemString = stringify(item);
|
|
251
|
-
return Object.prototype.hasOwnProperty.call(seen, itemString) ? false : seen[itemString] = true;
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Transforms a value into it's string representation.
|
|
256
|
-
*/
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
function toString(val) {
|
|
260
|
-
if (val == null) return '';
|
|
261
|
-
if (typeof val === 'string') return val;
|
|
262
|
-
if (Array.isArray(val)) return val.map(function (val) {
|
|
263
|
-
return isString(val) ? val : '';
|
|
264
|
-
}) + '';
|
|
265
|
-
var result = val + '';
|
|
266
|
-
return result === '0' && 1 / val === Number.NEGATIVE_INFINITY ? '-0' : result;
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Transforms a value into a number.
|
|
270
|
-
* Note: We're not expecting anything fancy here. If we are at some point, add more type checks.
|
|
271
|
-
*/
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
function toNumber(val) {
|
|
275
|
-
if (typeof val === 'number') return val;
|
|
276
|
-
|
|
277
|
-
if (isObject(val) && typeof val.valueOf === 'function') {
|
|
278
|
-
var valOf = val.valueOf();
|
|
279
|
-
val = isObject(valOf) ? valOf + '' : valOf;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
if (typeof val !== 'string') {
|
|
283
|
-
return val === 0 ? val : +val;
|
|
284
|
-
} // Remove trailing whitespaces.
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
val = val.replace(/^\s+|\s+$/g, '');
|
|
288
|
-
return +val;
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Executes iteratee for given obj own props.
|
|
292
|
-
*/
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
function forOwn(obj, iteratee) {
|
|
296
|
-
var keys = Object.keys(obj);
|
|
297
|
-
keys.forEach(function (key) {
|
|
298
|
-
return iteratee(obj[key], key, obj);
|
|
299
|
-
});
|
|
300
|
-
return obj;
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Parses an array into a map of different arrays, grouping by the specified prop value.
|
|
304
|
-
*/
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
function groupBy(source, prop) {
|
|
308
|
-
var map = {};
|
|
309
|
-
|
|
310
|
-
if (Array.isArray(source) && isString(prop)) {
|
|
311
|
-
for (var i = 0; i < source.length; i++) {
|
|
312
|
-
var key = source[i][prop]; // Skip the element if the key is not a string.
|
|
313
|
-
|
|
314
|
-
if (isString(key)) {
|
|
315
|
-
if (!map[key]) map[key] = [];
|
|
316
|
-
map[key].push(source[i]);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
return map;
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* Returns the name of a given function.
|
|
325
|
-
*/
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
function getFnName(fn) {
|
|
329
|
-
if (fn.name) return fn.name;
|
|
330
|
-
return (fn.toString().match(/function (.+?)\(/) || ['', ''])[1];
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Shallow clone an object
|
|
334
|
-
*/
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
function shallowClone(obj) {
|
|
338
|
-
var keys = Object.keys(obj);
|
|
339
|
-
var output = {};
|
|
340
|
-
|
|
341
|
-
for (var i = 0; i < keys.length; i++) {
|
|
342
|
-
output[keys[i]] = obj[keys[i]];
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
return output;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
function isBoolean(val) {
|
|
349
|
-
return val === true || val === false;
|
|
350
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = isLocalStorageAvailable;
|
|
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 isLocalStorageAvailable() {
|
|
22
|
-
var mod = '__SPLITSOFTWARE__';
|
|
23
|
-
|
|
24
|
-
try {
|
|
25
|
-
localStorage.setItem(mod, mod);
|
|
26
|
-
localStorage.removeItem(mod);
|
|
27
|
-
return true;
|
|
28
|
-
} catch (e) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}
|