@splitsoftware/splitio-commons 1.2.1-rc.1 → 1.2.1-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/evaluator/Engine.js +6 -6
- package/cjs/evaluator/combiners/and.js +1 -1
- package/cjs/evaluator/combiners/ifelseif.js +2 -2
- package/cjs/evaluator/condition/engineUtils.js +2 -2
- package/cjs/evaluator/condition/index.js +4 -4
- package/cjs/evaluator/index.js +5 -5
- package/cjs/evaluator/matchers/cont_all.js +1 -1
- package/cjs/evaluator/matchers/cont_any.js +1 -1
- package/cjs/evaluator/matchers/cont_str.js +1 -1
- package/cjs/evaluator/matchers/dependency.js +1 -1
- package/cjs/evaluator/matchers/eq_set.js +1 -1
- package/cjs/evaluator/matchers/ew.js +1 -1
- package/cjs/evaluator/matchers/part_of.js +1 -1
- package/cjs/evaluator/matchers/segment.js +1 -1
- package/cjs/evaluator/matchers/sw.js +1 -1
- package/cjs/evaluator/matchers/whitelist.js +1 -1
- package/cjs/evaluator/matchersTransform/index.js +12 -12
- package/cjs/evaluator/parser/index.js +6 -6
- package/cjs/evaluator/treatments/index.js +1 -1
- package/cjs/evaluator/value/index.js +1 -1
- package/cjs/evaluator/value/sanitize.js +4 -4
- package/cjs/integrations/browser.js +3 -3
- package/cjs/integrations/ga/GaToSplit.js +14 -14
- package/cjs/integrations/ga/GoogleAnalyticsToSplit.js +1 -1
- package/cjs/integrations/ga/SplitToGa.js +1 -1
- package/cjs/listeners/browser.js +1 -1
- package/cjs/listeners/node.js +1 -1
- package/cjs/logger/constants.js +3 -1
- package/cjs/logger/index.js +2 -2
- package/cjs/logger/messages/debug.js +1 -1
- package/cjs/logger/messages/error.js +1 -1
- package/cjs/logger/messages/info.js +1 -1
- package/cjs/logger/messages/warn.js +1 -1
- package/cjs/logger/sdkLogger.js +1 -1
- package/cjs/readiness/readinessManager.js +2 -2
- package/cjs/readiness/sdkReadinessManager.js +4 -4
- package/cjs/sdkClient/client.js +9 -9
- package/cjs/sdkClient/clientAttributesDecoration.js +4 -4
- package/cjs/sdkClient/clientCS.js +2 -2
- package/cjs/sdkClient/clientInputValidation.js +14 -14
- package/cjs/sdkClient/sdkClient.js +3 -3
- package/cjs/sdkClient/sdkClientMethod.js +1 -1
- package/cjs/sdkClient/sdkClientMethodCS.js +6 -6
- package/cjs/sdkClient/sdkClientMethodCSWithTT.js +8 -8
- package/cjs/sdkFactory/index.js +8 -8
- package/cjs/sdkManager/index.js +11 -11
- package/cjs/services/splitApi.js +3 -2
- package/cjs/services/splitHttpClient.js +2 -2
- package/cjs/storages/KeyBuilder.js +2 -2
- package/cjs/storages/KeyBuilderCS.js +2 -2
- package/cjs/storages/KeyBuilderSS.js +1 -1
- package/cjs/storages/findLatencyIndex.js +1 -1
- package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +1 -1
- package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +12 -12
- package/cjs/storages/inLocalStorage/index.js +3 -3
- package/cjs/storages/inMemory/AttributesCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/LatenciesCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/SegmentsCacheInMemory.js +2 -2
- package/cjs/storages/inMemory/SplitsCacheInMemory.js +5 -5
- package/cjs/storages/inRedis/LatenciesCacheInRedis.js +1 -1
- package/cjs/storages/inRedis/RedisAdapter.js +16 -10
- package/cjs/storages/inRedis/SegmentsCacheInRedis.js +1 -1
- package/cjs/storages/inRedis/SplitsCacheInRedis.js +3 -3
- package/cjs/storages/inRedis/index.js +1 -1
- package/cjs/storages/pluggable/SegmentsCachePluggable.js +1 -1
- package/cjs/storages/pluggable/SplitsCachePluggable.js +3 -3
- package/cjs/storages/pluggable/inMemoryWrapper.js +4 -4
- package/cjs/storages/pluggable/index.js +4 -4
- package/cjs/sync/offline/LocalhostFromFile.js +1 -1
- package/cjs/sync/offline/LocalhostFromObject.js +1 -1
- package/cjs/sync/offline/splitsParser/parseCondition.js +1 -1
- package/cjs/sync/offline/splitsParser/splitsParserFromFile.js +13 -13
- package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +3 -3
- package/cjs/sync/offline/syncManagerOffline.js +1 -1
- package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +2 -2
- package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
- package/cjs/sync/polling/pollingManagerCS.js +6 -6
- package/cjs/sync/polling/pollingManagerSS.js +3 -3
- package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +1 -1
- package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +1 -1
- package/cjs/sync/polling/syncTasks/splitsSyncTask.js +1 -1
- package/cjs/sync/polling/updaters/mySegmentsUpdater.js +1 -1
- package/cjs/sync/polling/updaters/segmentChangesUpdater.js +2 -2
- package/cjs/sync/polling/updaters/splitChangesUpdater.js +2 -2
- package/cjs/sync/streaming/AuthClient/index.js +3 -3
- package/cjs/sync/streaming/SSEHandler/NotificationParser.js +1 -1
- package/cjs/sync/streaming/SSEHandler/index.js +3 -3
- package/cjs/sync/streaming/mySegmentsV2utils.js +1 -1
- package/cjs/sync/streaming/pushManager.js +15 -15
- package/cjs/sync/submitters/eventsSyncTask.js +1 -1
- package/cjs/sync/submitters/impressionCountsSyncTask.js +1 -1
- package/cjs/sync/submitters/impressionsSyncTask.js +3 -3
- package/cjs/sync/submitters/metricsSyncTask.js +3 -3
- package/cjs/sync/submitters/submitterManager.js +4 -4
- package/cjs/sync/submitters/submitterSyncTask.js +1 -1
- package/cjs/sync/syncManagerOnline.js +1 -1
- package/cjs/trackers/eventTracker.js +3 -3
- package/cjs/trackers/impressionObserver/impressionObserverCS.js +1 -1
- package/cjs/trackers/impressionObserver/impressionObserverSS.js +1 -1
- package/cjs/trackers/impressionsTracker.js +3 -3
- package/cjs/utils/MinEvents.js +2 -1
- package/cjs/utils/inputValidation/apiKey.js +1 -1
- package/cjs/utils/inputValidation/attribute.js +4 -4
- package/cjs/utils/inputValidation/attributes.js +2 -2
- package/cjs/utils/inputValidation/event.js +1 -1
- package/cjs/utils/inputValidation/eventProperties.js +5 -5
- package/cjs/utils/inputValidation/eventValue.js +1 -1
- package/cjs/utils/inputValidation/key.js +6 -5
- package/cjs/utils/inputValidation/preloadedData.js +8 -8
- package/cjs/utils/inputValidation/split.js +1 -1
- package/cjs/utils/inputValidation/splits.js +2 -2
- package/cjs/utils/inputValidation/trafficType.js +1 -1
- package/cjs/utils/inputValidation/trafficTypeExistance.js +1 -1
- package/cjs/utils/jwt/index.js +1 -1
- package/cjs/utils/key/index.js +3 -3
- package/cjs/utils/lang/index.js +1 -1
- package/cjs/utils/murmur3/common.js +1 -1
- package/cjs/utils/murmur3/murmur3.js +10 -10
- package/cjs/utils/murmur3/murmur3_128.js +1 -1
- package/cjs/utils/murmur3/murmur3_128_x86.js +37 -37
- package/cjs/utils/murmur3/murmur3_64.js +1 -1
- package/cjs/utils/settingsValidation/index.js +5 -10
- package/cjs/utils/settingsValidation/integrations/configurable.js +1 -1
- package/cjs/utils/settingsValidation/integrations/pluggable.js +1 -1
- package/cjs/utils/settingsValidation/localhost/builtin.js +2 -2
- package/cjs/utils/settingsValidation/logger/builtinLogger.js +3 -3
- package/cjs/utils/settingsValidation/logger/commons.js +1 -1
- package/cjs/utils/settingsValidation/logger/pluggableLogger.js +1 -1
- package/cjs/utils/settingsValidation/runtime/browser.js +10 -0
- package/cjs/utils/settingsValidation/runtime/node.js +22 -0
- package/cjs/utils/settingsValidation/splitFilters.js +1 -1
- package/cjs/utils/settingsValidation/storage/storageCS.js +1 -1
- package/cjs/utils/timeTracker/index.js +3 -3
- package/esm/services/splitApi.js +2 -1
- package/esm/storages/inRedis/RedisAdapter.js +7 -1
- package/esm/sync/offline/splitsParser/splitsParserFromFile.js +1 -1
- package/esm/sync/polling/fetchers/segmentChangesFetcher.js +2 -2
- package/esm/utils/inputValidation/key.js +2 -1
- package/esm/utils/lang/index.js +2 -2
- package/esm/utils/settingsValidation/index.js +1 -6
- package/esm/utils/settingsValidation/runtime/browser.js +6 -0
- package/esm/utils/settingsValidation/runtime/node.js +17 -0
- package/package.json +9 -8
- package/src/logger/types.ts +4 -0
- package/src/sync/offline/splitsParser/splitsParserFromFile.ts +1 -1
- package/src/utils/settingsValidation/index.ts +1 -6
- package/src/utils/settingsValidation/runtime/browser.ts +6 -0
- package/src/utils/settingsValidation/runtime/node.ts +22 -0
- package/src/utils/settingsValidation/types.ts +6 -6
- package/types/logger/types.d.ts +4 -0
- package/types/sdkClient/clientAttributesDecoration.d.ts +1 -1
- package/types/utils/settingsValidation/runtime/browser.d.ts +4 -0
- package/types/utils/settingsValidation/runtime/node.d.ts +5 -0
- package/types/utils/settingsValidation/types.d.ts +6 -6
|
@@ -14,18 +14,18 @@ var constants_2 = require("../../logger/constants");
|
|
|
14
14
|
function pollingManagerCSFactory(params) {
|
|
15
15
|
var splitApi = params.splitApi, storage = params.storage, readiness = params.readiness, settings = params.settings;
|
|
16
16
|
var log = settings.log;
|
|
17
|
-
var splitsSyncTask = splitsSyncTask_1.splitsSyncTaskFactory(splitApi.fetchSplitChanges, storage, readiness, settings);
|
|
17
|
+
var splitsSyncTask = (0, splitsSyncTask_1.splitsSyncTaskFactory)(splitApi.fetchSplitChanges, storage, readiness, settings);
|
|
18
18
|
// Map of matching keys to their corresponding MySegmentsSyncTask.
|
|
19
19
|
var mySegmentsSyncTasks = {};
|
|
20
|
-
var matchingKey = key_1.getMatching(settings.core.key);
|
|
20
|
+
var matchingKey = (0, key_1.getMatching)(settings.core.key);
|
|
21
21
|
var mySegmentsSyncTask = add(matchingKey, readiness, storage);
|
|
22
22
|
function startMySegmentsSyncTasks() {
|
|
23
|
-
lang_1.forOwn(mySegmentsSyncTasks, function (mySegmentsSyncTask) {
|
|
23
|
+
(0, lang_1.forOwn)(mySegmentsSyncTasks, function (mySegmentsSyncTask) {
|
|
24
24
|
mySegmentsSyncTask.start();
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
function stopMySegmentsSyncTasks() {
|
|
28
|
-
lang_1.forOwn(mySegmentsSyncTasks, function (mySegmentsSyncTask) {
|
|
28
|
+
(0, lang_1.forOwn)(mySegmentsSyncTasks, function (mySegmentsSyncTask) {
|
|
29
29
|
if (mySegmentsSyncTask.isRunning())
|
|
30
30
|
mySegmentsSyncTask.stop();
|
|
31
31
|
});
|
|
@@ -46,7 +46,7 @@ function pollingManagerCSFactory(params) {
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
function add(matchingKey, readiness, storage) {
|
|
49
|
-
var mySegmentsSyncTask = mySegmentsSyncTask_1.mySegmentsSyncTaskFactory(splitApi.fetchMySegments, storage, readiness, settings, matchingKey);
|
|
49
|
+
var mySegmentsSyncTask = (0, mySegmentsSyncTask_1.mySegmentsSyncTaskFactory)(splitApi.fetchMySegments, storage, readiness, settings, matchingKey);
|
|
50
50
|
// smart ready
|
|
51
51
|
function smartReady() {
|
|
52
52
|
if (!readiness.isReady() && !storage.splits.usesSegments())
|
|
@@ -81,7 +81,7 @@ function pollingManagerCSFactory(params) {
|
|
|
81
81
|
// fetch splits and segments
|
|
82
82
|
syncAll: function () {
|
|
83
83
|
var promises = [splitsSyncTask.execute()];
|
|
84
|
-
lang_1.forOwn(mySegmentsSyncTasks, function (mySegmentsSyncTask) {
|
|
84
|
+
(0, lang_1.forOwn)(mySegmentsSyncTasks, function (mySegmentsSyncTask) {
|
|
85
85
|
promises.push(mySegmentsSyncTask.execute());
|
|
86
86
|
});
|
|
87
87
|
return Promise.all(promises);
|
|
@@ -11,8 +11,8 @@ var constants_1 = require("../../logger/constants");
|
|
|
11
11
|
function pollingManagerSSFactory(params) {
|
|
12
12
|
var splitApi = params.splitApi, storage = params.storage, readiness = params.readiness, settings = params.settings;
|
|
13
13
|
var log = settings.log;
|
|
14
|
-
var splitsSyncTask = splitsSyncTask_1.splitsSyncTaskFactory(splitApi.fetchSplitChanges, storage, readiness, settings);
|
|
15
|
-
var segmentsSyncTask = segmentsSyncTask_1.segmentsSyncTaskFactory(splitApi.fetchSegmentChanges, storage, readiness, settings);
|
|
14
|
+
var splitsSyncTask = (0, splitsSyncTask_1.splitsSyncTaskFactory)(splitApi.fetchSplitChanges, storage, readiness, settings);
|
|
15
|
+
var segmentsSyncTask = (0, segmentsSyncTask_1.segmentsSyncTaskFactory)(splitApi.fetchSegmentChanges, storage, readiness, settings);
|
|
16
16
|
return {
|
|
17
17
|
splitsSyncTask: splitsSyncTask,
|
|
18
18
|
segmentsSyncTask: segmentsSyncTask,
|
|
@@ -22,7 +22,7 @@ function pollingManagerSSFactory(params) {
|
|
|
22
22
|
log.debug(constants_1.LOG_PREFIX_SYNC_POLLING + ("Splits will be refreshed each " + settings.scheduler.featuresRefreshRate + " millis"));
|
|
23
23
|
log.debug(constants_1.LOG_PREFIX_SYNC_POLLING + ("Segments will be refreshed each " + settings.scheduler.segmentsRefreshRate + " millis"));
|
|
24
24
|
var startingUp = splitsSyncTask.start();
|
|
25
|
-
if (thenable_1.thenable(startingUp)) {
|
|
25
|
+
if ((0, thenable_1.thenable)(startingUp)) {
|
|
26
26
|
startingUp.then(function () {
|
|
27
27
|
segmentsSyncTask.start();
|
|
28
28
|
});
|
|
@@ -8,6 +8,6 @@ var mySegmentsUpdater_1 = require("../updaters/mySegmentsUpdater");
|
|
|
8
8
|
* Creates a sync task that periodically executes a `mySegmentsUpdater` task
|
|
9
9
|
*/
|
|
10
10
|
function mySegmentsSyncTaskFactory(fetchMySegments, storage, readiness, settings, matchingKey) {
|
|
11
|
-
return syncTask_1.syncTaskFactory(settings.log, mySegmentsUpdater_1.mySegmentsUpdaterFactory(settings.log, mySegmentsFetcher_1.mySegmentsFetcherFactory(fetchMySegments), storage.splits, storage.segments, readiness.segments, settings.startup.requestTimeoutBeforeReady, settings.startup.retriesOnFailureBeforeReady, matchingKey), settings.scheduler.segmentsRefreshRate, 'mySegmentsUpdater');
|
|
11
|
+
return (0, syncTask_1.syncTaskFactory)(settings.log, (0, mySegmentsUpdater_1.mySegmentsUpdaterFactory)(settings.log, (0, mySegmentsFetcher_1.mySegmentsFetcherFactory)(fetchMySegments), storage.splits, storage.segments, readiness.segments, settings.startup.requestTimeoutBeforeReady, settings.startup.retriesOnFailureBeforeReady, matchingKey), settings.scheduler.segmentsRefreshRate, 'mySegmentsUpdater');
|
|
12
12
|
}
|
|
13
13
|
exports.mySegmentsSyncTaskFactory = mySegmentsSyncTaskFactory;
|
|
@@ -8,6 +8,6 @@ var segmentChangesUpdater_1 = require("../updaters/segmentChangesUpdater");
|
|
|
8
8
|
* Creates a sync task that periodically executes a `segmentChangesUpdater` task
|
|
9
9
|
*/
|
|
10
10
|
function segmentsSyncTaskFactory(fetchSegmentChanges, storage, readiness, settings) {
|
|
11
|
-
return syncTask_1.syncTaskFactory(settings.log, segmentChangesUpdater_1.segmentChangesUpdaterFactory(settings.log, segmentChangesFetcher_1.segmentChangesFetcherFactory(fetchSegmentChanges), storage.segments, readiness), settings.scheduler.segmentsRefreshRate, 'segmentChangesUpdater');
|
|
11
|
+
return (0, syncTask_1.syncTaskFactory)(settings.log, (0, segmentChangesUpdater_1.segmentChangesUpdaterFactory)(settings.log, (0, segmentChangesFetcher_1.segmentChangesFetcherFactory)(fetchSegmentChanges), storage.segments, readiness), settings.scheduler.segmentsRefreshRate, 'segmentChangesUpdater');
|
|
12
12
|
}
|
|
13
13
|
exports.segmentsSyncTaskFactory = segmentsSyncTaskFactory;
|
|
@@ -8,6 +8,6 @@ var splitChangesUpdater_1 = require("../updaters/splitChangesUpdater");
|
|
|
8
8
|
* Creates a sync task that periodically executes a `splitChangesUpdater` task
|
|
9
9
|
*/
|
|
10
10
|
function splitsSyncTaskFactory(fetchSplitChanges, storage, readiness, settings) {
|
|
11
|
-
return syncTask_1.syncTaskFactory(settings.log, splitChangesUpdater_1.splitChangesUpdaterFactory(settings.log, splitChangesFetcher_1.splitChangesFetcherFactory(fetchSplitChanges), storage.splits, storage.segments, readiness.splits, settings.startup.requestTimeoutBeforeReady, settings.startup.retriesOnFailureBeforeReady), settings.scheduler.featuresRefreshRate, 'splitChangesUpdater');
|
|
11
|
+
return (0, syncTask_1.syncTaskFactory)(settings.log, (0, splitChangesUpdater_1.splitChangesUpdaterFactory)(settings.log, (0, splitChangesFetcher_1.splitChangesFetcherFactory)(fetchSplitChanges), storage.splits, storage.segments, readiness.splits, settings.startup.requestTimeoutBeforeReady, settings.startup.retriesOnFailureBeforeReady), settings.scheduler.featuresRefreshRate, 'splitChangesUpdater');
|
|
12
12
|
}
|
|
13
13
|
exports.splitsSyncTaskFactory = splitsSyncTaskFactory;
|
|
@@ -16,7 +16,7 @@ function mySegmentsUpdaterFactory(log, mySegmentsFetcher, splitsCache, mySegment
|
|
|
16
16
|
/** timeout and telemetry decorator for `splitChangesFetcher` promise */
|
|
17
17
|
function _promiseDecorator(promise) {
|
|
18
18
|
if (startingUp)
|
|
19
|
-
promise = timeout_1.timeout(requestTimeoutBeforeReady, promise);
|
|
19
|
+
promise = (0, timeout_1.timeout)(requestTimeoutBeforeReady, promise);
|
|
20
20
|
return promise;
|
|
21
21
|
// @TODO telemetry
|
|
22
22
|
// NOTE: We only collect metrics on startup.
|
|
@@ -65,7 +65,7 @@ function segmentChangesUpdaterFactory(log, segmentChangesFetcher, segments, read
|
|
|
65
65
|
log.debug(constants_2.LOG_PREFIX_SYNC_SEGMENTS + "Processed " + segmentName + " with till = " + x.till + ". Added: " + x.added.length + ". Removed: " + x.removed.length);
|
|
66
66
|
});
|
|
67
67
|
// If at least one storage operation result is a promise, join all in a single promise.
|
|
68
|
-
if (results.some(function (result) { return thenable_1.thenable(result); }))
|
|
68
|
+
if (results.some(function (result) { return (0, thenable_1.thenable)(result); }))
|
|
69
69
|
return Promise.all(results).then(function () { return changeNumber; });
|
|
70
70
|
return changeNumber;
|
|
71
71
|
});
|
|
@@ -76,7 +76,7 @@ function segmentChangesUpdaterFactory(log, segmentChangesFetcher, segments, read
|
|
|
76
76
|
}
|
|
77
77
|
return Promise.all(updaters).then(function (shouldUpdateFlags) {
|
|
78
78
|
// if at least one segment fetch succeeded, mark segments ready
|
|
79
|
-
if (lang_1.findIndex(shouldUpdateFlags, function (v) { return v !== -1; }) !== -1 || readyOnAlreadyExistentState) {
|
|
79
|
+
if ((0, lang_1.findIndex)(shouldUpdateFlags, function (v) { return v !== -1; }) !== -1 || readyOnAlreadyExistentState) {
|
|
80
80
|
readyOnAlreadyExistentState = false;
|
|
81
81
|
if (readiness)
|
|
82
82
|
readiness.segments.emit(constants_1.SDK_SEGMENTS_ARRIVED);
|
|
@@ -51,7 +51,7 @@ function computeSplitsMutation(entries) {
|
|
|
51
51
|
}
|
|
52
52
|
return accum;
|
|
53
53
|
}, { added: [], removed: [], segments: [] });
|
|
54
|
-
computed.segments = sets_1.setToArray(segments);
|
|
54
|
+
computed.segments = (0, sets_1.setToArray)(segments);
|
|
55
55
|
return computed;
|
|
56
56
|
}
|
|
57
57
|
exports.computeSplitsMutation = computeSplitsMutation;
|
|
@@ -76,7 +76,7 @@ function splitChangesUpdaterFactory(log, splitChangesFetcher, splits, segments,
|
|
|
76
76
|
/** timeout and telemetry decorator for `splitChangesFetcher` promise */
|
|
77
77
|
function _promiseDecorator(promise) {
|
|
78
78
|
if (startingUp && requestTimeoutBeforeReady)
|
|
79
|
-
promise = timeout_1.timeout(requestTimeoutBeforeReady, promise);
|
|
79
|
+
promise = (0, timeout_1.timeout)(requestTimeoutBeforeReady, promise);
|
|
80
80
|
return promise;
|
|
81
81
|
// @TODO telemetry
|
|
82
82
|
// const collectMetrics = startingUp || isNode; // If we are on the browser, only collect this metric for first fetch. On node do it always.
|
|
@@ -20,11 +20,11 @@ function authenticateFactory(fetchAuth) {
|
|
|
20
20
|
.then(function (resp) { return resp.json(); })
|
|
21
21
|
.then(function (json) {
|
|
22
22
|
if (json.token) { // empty token when `"pushEnabled": false`
|
|
23
|
-
var decodedToken = jwt_1.decodeJWTtoken(json.token);
|
|
23
|
+
var decodedToken = (0, jwt_1.decodeJWTtoken)(json.token);
|
|
24
24
|
if (typeof decodedToken.iat !== 'number' || typeof decodedToken.exp !== 'number')
|
|
25
25
|
throw new Error('token properties "issuedAt" (iat) or "expiration" (exp) are missing or invalid');
|
|
26
26
|
var channels = JSON.parse(decodedToken['x-ably-capability']);
|
|
27
|
-
return objectAssign_1.objectAssign({
|
|
27
|
+
return (0, objectAssign_1.objectAssign)({
|
|
28
28
|
decodedToken: decodedToken,
|
|
29
29
|
channels: channels
|
|
30
30
|
}, json);
|
|
@@ -38,6 +38,6 @@ exports.authenticateFactory = authenticateFactory;
|
|
|
38
38
|
* Returns the hash of a given user key
|
|
39
39
|
*/
|
|
40
40
|
function hashUserKey(userKey) {
|
|
41
|
-
return base64_1.encodeToBase64(murmur3_1.hash(userKey, 0).toString());
|
|
41
|
+
return (0, base64_1.encodeToBase64)((0, murmur3_1.hash)(userKey, 0).toString());
|
|
42
42
|
}
|
|
43
43
|
exports.hashUserKey = hashUserKey;
|
|
@@ -13,7 +13,7 @@ var lang_1 = require("../../../utils/lang");
|
|
|
13
13
|
*/
|
|
14
14
|
function errorParser(error) {
|
|
15
15
|
// @ts-ignore
|
|
16
|
-
if (lang_1.isString(error.data))
|
|
16
|
+
if ((0, lang_1.isString)(error.data))
|
|
17
17
|
error.parsedData = JSON.parse(error.data); // cannot assign to read only property 'data'
|
|
18
18
|
return error;
|
|
19
19
|
}
|
|
@@ -25,7 +25,7 @@ function isRetryableError(error) {
|
|
|
25
25
|
* @param pushEmitter emitter for events related to streaming support
|
|
26
26
|
*/
|
|
27
27
|
function SSEHandlerFactory(log, pushEmitter) {
|
|
28
|
-
var notificationKeeper = NotificationKeeper_1.notificationKeeperFactory(pushEmitter);
|
|
28
|
+
var notificationKeeper = (0, NotificationKeeper_1.notificationKeeperFactory)(pushEmitter);
|
|
29
29
|
return {
|
|
30
30
|
handleOpen: function () {
|
|
31
31
|
notificationKeeper.handleOpen();
|
|
@@ -34,7 +34,7 @@ function SSEHandlerFactory(log, pushEmitter) {
|
|
|
34
34
|
handleError: function (error) {
|
|
35
35
|
var errorWithParsedData = error;
|
|
36
36
|
try {
|
|
37
|
-
errorWithParsedData = NotificationParser_1.errorParser(error);
|
|
37
|
+
errorWithParsedData = (0, NotificationParser_1.errorParser)(error);
|
|
38
38
|
}
|
|
39
39
|
catch (err) {
|
|
40
40
|
log.warn(constants_2.STREAMING_PARSING_ERROR_FAILS, [err]);
|
|
@@ -52,7 +52,7 @@ function SSEHandlerFactory(log, pushEmitter) {
|
|
|
52
52
|
handleMessage: function (message) {
|
|
53
53
|
var messageWithParsedData;
|
|
54
54
|
try {
|
|
55
|
-
messageWithParsedData = NotificationParser_1.messageParser(message);
|
|
55
|
+
messageWithParsedData = (0, NotificationParser_1.messageParser)(message);
|
|
56
56
|
if (!messageWithParsedData)
|
|
57
57
|
return; // Messages with empty data are ignored
|
|
58
58
|
}
|
|
@@ -21,7 +21,7 @@ function StringToUint8Array(myString) {
|
|
|
21
21
|
* @throws if data string cannot be decoded, decompressed or the provided compression value is invalid (not 1 or 2)
|
|
22
22
|
*/
|
|
23
23
|
function decompress(data, compression) {
|
|
24
|
-
var compressData = base64_1.decodeFromBase64(data);
|
|
24
|
+
var compressData = (0, base64_1.decodeFromBase64)(data);
|
|
25
25
|
var binData = StringToUint8Array(compressData);
|
|
26
26
|
if (typeof decompress_1.algorithms === 'string')
|
|
27
27
|
throw new Error(decompress_1.algorithms);
|
|
@@ -26,7 +26,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
26
26
|
var settings = params.settings, storage = params.storage, splitApi = params.splitApi, readiness = params.readiness, platform = params.platform;
|
|
27
27
|
// `userKey` is the matching key of main client in client-side SDK.
|
|
28
28
|
// It can be used to check if running on client-side or server-side SDK.
|
|
29
|
-
var userKey = settings.core.key ? key_1.getMatching(settings.core.key) : undefined;
|
|
29
|
+
var userKey = settings.core.key ? (0, key_1.getMatching)(settings.core.key) : undefined;
|
|
30
30
|
var log = settings.log;
|
|
31
31
|
var sseClient;
|
|
32
32
|
try {
|
|
@@ -37,10 +37,10 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
37
37
|
log.warn(constants_2.STREAMING_FALLBACK, [e]);
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
var authenticate = AuthClient_1.authenticateFactory(splitApi.fetchAuth);
|
|
40
|
+
var authenticate = (0, AuthClient_1.authenticateFactory)(splitApi.fetchAuth);
|
|
41
41
|
// init feedback loop
|
|
42
42
|
var pushEmitter = new platform.EventEmitter();
|
|
43
|
-
var sseHandler = SSEHandler_1.SSEHandlerFactory(log, pushEmitter);
|
|
43
|
+
var sseHandler = (0, SSEHandler_1.SSEHandlerFactory)(log, pushEmitter);
|
|
44
44
|
sseClient.setEventHandler(sseHandler);
|
|
45
45
|
// init workers
|
|
46
46
|
// MySegmentsUpdateWorker (client-side) are initiated in `add` method
|
|
@@ -138,7 +138,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
138
138
|
function stopWorkers() {
|
|
139
139
|
splitsUpdateWorker.backoff.reset();
|
|
140
140
|
if (userKey)
|
|
141
|
-
lang_1.forOwn(clients, function (_a) {
|
|
141
|
+
(0, lang_1.forOwn)(clients, function (_a) {
|
|
142
142
|
var worker = _a.worker;
|
|
143
143
|
return worker.backoff.reset();
|
|
144
144
|
});
|
|
@@ -194,15 +194,15 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
194
194
|
case types_1.UpdateStrategy.BoundedFetchRequest: {
|
|
195
195
|
var bitmap_1;
|
|
196
196
|
try {
|
|
197
|
-
bitmap_1 = mySegmentsV2utils_1.parseBitmap(parsedData.d, parsedData.c);
|
|
197
|
+
bitmap_1 = (0, mySegmentsV2utils_1.parseBitmap)(parsedData.d, parsedData.c);
|
|
198
198
|
}
|
|
199
199
|
catch (e) {
|
|
200
200
|
log.warn(constants_2.STREAMING_PARSING_MY_SEGMENTS_UPDATE_V2, ['BoundedFetchRequest', e]);
|
|
201
201
|
break;
|
|
202
202
|
}
|
|
203
|
-
lang_1.forOwn(clients, function (_a) {
|
|
203
|
+
(0, lang_1.forOwn)(clients, function (_a) {
|
|
204
204
|
var hash64 = _a.hash64, worker = _a.worker;
|
|
205
|
-
if (mySegmentsV2utils_1.isInBitmap(bitmap_1, hash64.hex)) {
|
|
205
|
+
if ((0, mySegmentsV2utils_1.isInBitmap)(bitmap_1, hash64.hex)) {
|
|
206
206
|
worker.put(parsedData.changeNumber); // fetch mySegments
|
|
207
207
|
}
|
|
208
208
|
});
|
|
@@ -211,7 +211,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
211
211
|
case types_1.UpdateStrategy.KeyList: {
|
|
212
212
|
var keyList = void 0, added_1, removed_1;
|
|
213
213
|
try {
|
|
214
|
-
keyList = mySegmentsV2utils_1.parseKeyList(parsedData.d, parsedData.c);
|
|
214
|
+
keyList = (0, mySegmentsV2utils_1.parseKeyList)(parsedData.d, parsedData.c);
|
|
215
215
|
added_1 = new sets_1._Set(keyList.a);
|
|
216
216
|
removed_1 = new sets_1._Set(keyList.r);
|
|
217
217
|
}
|
|
@@ -219,7 +219,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
219
219
|
log.warn(constants_2.STREAMING_PARSING_MY_SEGMENTS_UPDATE_V2, ['KeyList', e]);
|
|
220
220
|
break;
|
|
221
221
|
}
|
|
222
|
-
lang_1.forOwn(clients, function (_a) {
|
|
222
|
+
(0, lang_1.forOwn)(clients, function (_a) {
|
|
223
223
|
var hash64 = _a.hash64, worker = _a.worker;
|
|
224
224
|
var add = added_1.has(hash64.dec) ? true : removed_1.has(hash64.dec) ? false : undefined;
|
|
225
225
|
if (add !== undefined) {
|
|
@@ -236,7 +236,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
236
236
|
log.warn(constants_2.STREAMING_PARSING_MY_SEGMENTS_UPDATE_V2, ['SegmentRemoval', 'No segment name was provided']);
|
|
237
237
|
break;
|
|
238
238
|
}
|
|
239
|
-
lang_1.forOwn(clients, function (_a) {
|
|
239
|
+
(0, lang_1.forOwn)(clients, function (_a) {
|
|
240
240
|
var worker = _a.worker;
|
|
241
241
|
return worker.put(parsedData.changeNumber, {
|
|
242
242
|
name: parsedData.segmentName,
|
|
@@ -246,7 +246,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
246
246
|
return;
|
|
247
247
|
}
|
|
248
248
|
// `UpdateStrategy.UnboundedFetchRequest` and fallbacks of other cases
|
|
249
|
-
lang_1.forOwn(clients, function (_a) {
|
|
249
|
+
(0, lang_1.forOwn)(clients, function (_a) {
|
|
250
250
|
var worker = _a.worker;
|
|
251
251
|
worker.put(parsedData.changeNumber);
|
|
252
252
|
});
|
|
@@ -255,7 +255,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
255
255
|
else {
|
|
256
256
|
pushEmitter.on(constants_1.SEGMENT_UPDATE, segmentsUpdateWorker.put);
|
|
257
257
|
}
|
|
258
|
-
return objectAssign_1.objectAssign(
|
|
258
|
+
return (0, objectAssign_1.objectAssign)(
|
|
259
259
|
// Expose Event Emitter functionality and Event constants
|
|
260
260
|
Object.create(pushEmitter), {
|
|
261
261
|
// Stop/pause push mode
|
|
@@ -277,10 +277,10 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
277
277
|
},
|
|
278
278
|
// [Only for client-side]
|
|
279
279
|
add: function (userKey, mySegmentsSyncTask) {
|
|
280
|
-
var hash = AuthClient_1.hashUserKey(userKey);
|
|
280
|
+
var hash = (0, AuthClient_1.hashUserKey)(userKey);
|
|
281
281
|
if (!userKeyHashes[hash]) {
|
|
282
282
|
userKeyHashes[hash] = userKey;
|
|
283
|
-
clients[userKey] = { hash64: murmur3_64_1.hash64(userKey), worker: new MySegmentsUpdateWorker_1.MySegmentsUpdateWorker(mySegmentsSyncTask) };
|
|
283
|
+
clients[userKey] = { hash64: (0, murmur3_64_1.hash64)(userKey), worker: new MySegmentsUpdateWorker_1.MySegmentsUpdateWorker(mySegmentsSyncTask) };
|
|
284
284
|
connectForNewClient = true; // we must reconnect on start, to listen the channel for the new user key
|
|
285
285
|
// Reconnects in case of a new client.
|
|
286
286
|
// Run in next event-loop cycle to save authentication calls
|
|
@@ -295,7 +295,7 @@ function pushManagerFactory(params, pollingManager) {
|
|
|
295
295
|
},
|
|
296
296
|
// [Only for client-side]
|
|
297
297
|
remove: function (userKey) {
|
|
298
|
-
var hash = AuthClient_1.hashUserKey(userKey);
|
|
298
|
+
var hash = (0, AuthClient_1.hashUserKey)(userKey);
|
|
299
299
|
delete userKeyHashes[hash];
|
|
300
300
|
delete clients[userKey];
|
|
301
301
|
}
|
|
@@ -8,7 +8,7 @@ var constants_1 = require("../../logger/constants");
|
|
|
8
8
|
*/
|
|
9
9
|
function eventsSyncTaskFactory(log, postEventsBulk, eventsCache, eventsPushRate, eventsFirstPushWindow, latencyTracker) {
|
|
10
10
|
// don't retry events.
|
|
11
|
-
var syncTask = submitterSyncTask_1.submitterSyncTaskFactory(log, postEventsBulk, eventsCache, eventsPushRate, 'queued events', latencyTracker);
|
|
11
|
+
var syncTask = (0, submitterSyncTask_1.submitterSyncTaskFactory)(log, postEventsBulk, eventsCache, eventsPushRate, 'queued events', latencyTracker);
|
|
12
12
|
// Set a timer for the first push of events,
|
|
13
13
|
if (eventsFirstPushWindow > 0) {
|
|
14
14
|
var stopEventPublisherTimeout_1;
|
|
@@ -30,6 +30,6 @@ var IMPRESSIONS_COUNT_RATE = 1800000; // 30 minutes
|
|
|
30
30
|
*/
|
|
31
31
|
function impressionCountsSyncTaskFactory(log, postTestImpressionsCount, impressionCountsCache, latencyTracker) {
|
|
32
32
|
// retry impressions counts only once.
|
|
33
|
-
return submitterSyncTask_1.submitterSyncTaskFactory(log, postTestImpressionsCount, impressionCountsCache, IMPRESSIONS_COUNT_RATE, 'impression counts', latencyTracker, fromImpressionCountsCollector, 1);
|
|
33
|
+
return (0, submitterSyncTask_1.submitterSyncTaskFactory)(log, postTestImpressionsCount, impressionCountsCache, IMPRESSIONS_COUNT_RATE, 'impression counts', latencyTracker, fromImpressionCountsCollector, 1);
|
|
34
34
|
}
|
|
35
35
|
exports.impressionCountsSyncTaskFactory = impressionCountsSyncTaskFactory;
|
|
@@ -7,10 +7,10 @@ var submitterSyncTask_1 = require("./submitterSyncTask");
|
|
|
7
7
|
* Converts `impressions` data from cache into request payload.
|
|
8
8
|
*/
|
|
9
9
|
function fromImpressionsCollector(sendLabels, data) {
|
|
10
|
-
var groupedByFeature = lang_1.groupBy(data, 'feature');
|
|
10
|
+
var groupedByFeature = (0, lang_1.groupBy)(data, 'feature');
|
|
11
11
|
var dto = [];
|
|
12
12
|
// using forOwn instead of for...in since the last also iterates over prototype enumerables
|
|
13
|
-
lang_1.forOwn(groupedByFeature, function (value, name) {
|
|
13
|
+
(0, lang_1.forOwn)(groupedByFeature, function (value, name) {
|
|
14
14
|
dto.push({
|
|
15
15
|
f: name,
|
|
16
16
|
i: value.map(function (entry) {
|
|
@@ -36,6 +36,6 @@ exports.fromImpressionsCollector = fromImpressionsCollector;
|
|
|
36
36
|
function impressionsSyncTaskFactory(log, postTestImpressionsBulk, impressionsCache, impressionsRefreshRate, sendLabels, latencyTracker) {
|
|
37
37
|
if (sendLabels === void 0) { sendLabels = false; }
|
|
38
38
|
// retry impressions only once.
|
|
39
|
-
return submitterSyncTask_1.submitterSyncTaskFactory(log, postTestImpressionsBulk, impressionsCache, impressionsRefreshRate, 'impressions', latencyTracker, fromImpressionsCollector.bind(undefined, sendLabels), 1);
|
|
39
|
+
return (0, submitterSyncTask_1.submitterSyncTaskFactory)(log, postTestImpressionsBulk, impressionsCache, impressionsRefreshRate, 'impressions', latencyTracker, fromImpressionsCollector.bind(undefined, sendLabels), 1);
|
|
40
40
|
}
|
|
41
41
|
exports.impressionsSyncTaskFactory = impressionsSyncTaskFactory;
|
|
@@ -7,7 +7,7 @@ var submitterSyncTask_1 = require("./submitterSyncTask");
|
|
|
7
7
|
function fromCache(propertyName) {
|
|
8
8
|
return function (data) {
|
|
9
9
|
var result = [];
|
|
10
|
-
lang_1.forOwn(data, function (value, key) {
|
|
10
|
+
(0, lang_1.forOwn)(data, function (value, key) {
|
|
11
11
|
var _a;
|
|
12
12
|
result.push((_a = { name: key }, _a[propertyName] = value, _a));
|
|
13
13
|
});
|
|
@@ -18,7 +18,7 @@ function fromCache(propertyName) {
|
|
|
18
18
|
* Sync task that periodically posts telemetry counts
|
|
19
19
|
*/
|
|
20
20
|
function countsSyncTaskFactory(log, postMetricsCounters, countsCache, metricsRefreshRate, latencyTracker) {
|
|
21
|
-
return submitterSyncTask_1.submitterSyncTaskFactory(log, postMetricsCounters, countsCache, metricsRefreshRate, 'count metrics', latencyTracker, fromCache('delta'));
|
|
21
|
+
return (0, submitterSyncTask_1.submitterSyncTaskFactory)(log, postMetricsCounters, countsCache, metricsRefreshRate, 'count metrics', latencyTracker, fromCache('delta'));
|
|
22
22
|
}
|
|
23
23
|
exports.countsSyncTaskFactory = countsSyncTaskFactory;
|
|
24
24
|
/**
|
|
@@ -26,6 +26,6 @@ exports.countsSyncTaskFactory = countsSyncTaskFactory;
|
|
|
26
26
|
*/
|
|
27
27
|
function latenciesSyncTaskFactory(log, postMetricsLatencies, latenciesCache, metricsRefreshRate, latencyTracker) {
|
|
28
28
|
// don't retry metrics.
|
|
29
|
-
return submitterSyncTask_1.submitterSyncTaskFactory(log, postMetricsLatencies, latenciesCache, metricsRefreshRate, 'latency metrics', latencyTracker, fromCache('latencies'), 0, true);
|
|
29
|
+
return (0, submitterSyncTask_1.submitterSyncTaskFactory)(log, postMetricsLatencies, latenciesCache, metricsRefreshRate, 'latency metrics', latencyTracker, fromCache('latencies'), 0, true);
|
|
30
30
|
}
|
|
31
31
|
exports.latenciesSyncTaskFactory = latenciesSyncTaskFactory;
|
|
@@ -9,12 +9,12 @@ function submitterManagerFactory(params) {
|
|
|
9
9
|
var settings = params.settings, storage = params.storage, splitApi = params.splitApi;
|
|
10
10
|
var log = settings.log;
|
|
11
11
|
var submitters = [
|
|
12
|
-
impressionsSyncTask_1.impressionsSyncTaskFactory(log, splitApi.postTestImpressionsBulk, storage.impressions, settings.scheduler.impressionsRefreshRate, settings.core.labelsEnabled),
|
|
13
|
-
eventsSyncTask_1.eventsSyncTaskFactory(log, splitApi.postEventsBulk, storage.events, settings.scheduler.eventsPushRate, settings.startup.eventsFirstPushWindow)
|
|
12
|
+
(0, impressionsSyncTask_1.impressionsSyncTaskFactory)(log, splitApi.postTestImpressionsBulk, storage.impressions, settings.scheduler.impressionsRefreshRate, settings.core.labelsEnabled),
|
|
13
|
+
(0, eventsSyncTask_1.eventsSyncTaskFactory)(log, splitApi.postEventsBulk, storage.events, settings.scheduler.eventsPushRate, settings.startup.eventsFirstPushWindow)
|
|
14
14
|
// @TODO add telemetry submitter
|
|
15
15
|
];
|
|
16
16
|
if (storage.impressionCounts)
|
|
17
|
-
submitters.push(impressionCountsSyncTask_1.impressionCountsSyncTaskFactory(log, splitApi.postTestImpressionsCount, storage.impressionCounts));
|
|
18
|
-
return syncTaskComposite_1.syncTaskComposite(submitters);
|
|
17
|
+
submitters.push((0, impressionCountsSyncTask_1.impressionCountsSyncTaskFactory)(log, splitApi.postTestImpressionsCount, storage.impressionCounts));
|
|
18
|
+
return (0, syncTaskComposite_1.syncTaskComposite)(submitters);
|
|
19
19
|
}
|
|
20
20
|
exports.submitterManagerFactory = submitterManagerFactory;
|
|
@@ -39,6 +39,6 @@ function submitterSyncTaskFactory(log, postClient, sourceCache, postRate, dataNa
|
|
|
39
39
|
// if latencyTracker provided, attach stop callback to postEventsPromise
|
|
40
40
|
return latencyTrackerStop ? postPromise.then(latencyTrackerStop).catch(latencyTrackerStop) : postPromise;
|
|
41
41
|
}
|
|
42
|
-
return syncTask_1.syncTaskFactory(log, postData, postRate, dataName + ' submitter');
|
|
42
|
+
return (0, syncTask_1.syncTaskFactory)(log, postData, postRate, dataName + ' submitter');
|
|
43
43
|
}
|
|
44
44
|
exports.submitterSyncTaskFactory = submitterSyncTaskFactory;
|
|
@@ -26,7 +26,7 @@ function syncManagerOnlineFactory(pollingManagerFactory, pushManagerFactory) {
|
|
|
26
26
|
undefined;
|
|
27
27
|
/** Submitter Manager */
|
|
28
28
|
// It is not inyected as push and polling managers, because at the moment it is required
|
|
29
|
-
var submitter = submitterManager_1.submitterManagerFactory(params);
|
|
29
|
+
var submitter = (0, submitterManager_1.submitterManagerFactory)(params);
|
|
30
30
|
/** Sync Manager logic */
|
|
31
31
|
function startPolling() {
|
|
32
32
|
if (pollingManager.isRunning()) {
|
|
@@ -21,9 +21,9 @@ function eventTrackerFactory(log, eventsCache, integrationsManager) {
|
|
|
21
21
|
// Wrap in a timeout because we don't want it to be blocking.
|
|
22
22
|
setTimeout(function () {
|
|
23
23
|
// copy of event, to avoid unexpected behaviour if modified by integrations
|
|
24
|
-
var eventDataCopy = objectAssign_1.objectAssign({}, eventData);
|
|
24
|
+
var eventDataCopy = (0, objectAssign_1.objectAssign)({}, eventData);
|
|
25
25
|
if (eventData.properties)
|
|
26
|
-
eventDataCopy.properties = objectAssign_1.objectAssign({}, eventData.properties);
|
|
26
|
+
eventDataCopy.properties = (0, objectAssign_1.objectAssign)({}, eventData.properties);
|
|
27
27
|
// integrationsManager does not throw errors (they are internally handled by each integration module)
|
|
28
28
|
integrationsManager.handleEvent(eventDataCopy);
|
|
29
29
|
}, 0);
|
|
@@ -37,7 +37,7 @@ function eventTrackerFactory(log, eventsCache, integrationsManager) {
|
|
|
37
37
|
return {
|
|
38
38
|
track: function (eventData, size) {
|
|
39
39
|
var tracked = eventsCache.track(eventData, size);
|
|
40
|
-
if (thenable_1.thenable(tracked)) {
|
|
40
|
+
if ((0, thenable_1.thenable)(tracked)) {
|
|
41
41
|
return tracked.then(queueEventsCallback.bind(null, eventData));
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
@@ -5,7 +5,7 @@ var ImpressionObserver_1 = require("./ImpressionObserver");
|
|
|
5
5
|
var murmur3_1 = require("../../utils/murmur3/murmur3");
|
|
6
6
|
var buildKey_1 = require("./buildKey");
|
|
7
7
|
function hashImpression32(impression) {
|
|
8
|
-
return murmur3_1.hash(buildKey_1.buildKey(impression));
|
|
8
|
+
return (0, murmur3_1.hash)((0, buildKey_1.buildKey)(impression));
|
|
9
9
|
}
|
|
10
10
|
exports.hashImpression32 = hashImpression32;
|
|
11
11
|
var LAST_SEEN_CACHE_SIZE = 500; // cache up to 500 impression hashes
|
|
@@ -5,7 +5,7 @@ var ImpressionObserver_1 = require("./ImpressionObserver");
|
|
|
5
5
|
var murmur3_128_x86_1 = require("../../utils/murmur3/murmur3_128_x86");
|
|
6
6
|
var buildKey_1 = require("./buildKey");
|
|
7
7
|
function hashImpression128(impression) {
|
|
8
|
-
return murmur3_128_x86_1.hash128(buildKey_1.buildKey(impression));
|
|
8
|
+
return (0, murmur3_128_x86_1.hash128)((0, buildKey_1.buildKey)(impression));
|
|
9
9
|
}
|
|
10
10
|
exports.hashImpression128 = hashImpression128;
|
|
11
11
|
var LAST_SEEN_CACHE_SIZE = 500000; // cache up to 500k impression hashes
|
|
@@ -39,13 +39,13 @@ countsCache) {
|
|
|
39
39
|
countsCache.track(impression.feature, now, 1);
|
|
40
40
|
}
|
|
41
41
|
// Checks if the impression should be added in queue to be sent
|
|
42
|
-
if (!countsCache || !impression.pt || impression.pt < time_1.truncateTimeFrame(now)) {
|
|
42
|
+
if (!countsCache || !impression.pt || impression.pt < (0, time_1.truncateTimeFrame)(now)) {
|
|
43
43
|
impressionsToStore.push(impression);
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
var res = impressionsCache.track(impressionsToStore);
|
|
47
47
|
// If we're on an async storage, handle error and log it.
|
|
48
|
-
if (thenable_1.thenable(res)) {
|
|
48
|
+
if ((0, thenable_1.thenable)(res)) {
|
|
49
49
|
res.then(function () {
|
|
50
50
|
log.info(constants_1.IMPRESSIONS_TRACKER_SUCCESS, [impressionsCount]);
|
|
51
51
|
}).catch(function (err) {
|
|
@@ -57,7 +57,7 @@ countsCache) {
|
|
|
57
57
|
var _loop_1 = function (i) {
|
|
58
58
|
var impressionData = {
|
|
59
59
|
// copy of impression, to avoid unexpected behaviour if modified by integrations or impressionListener
|
|
60
|
-
impression: objectAssign_1.objectAssign({}, impressions[i]),
|
|
60
|
+
impression: (0, objectAssign_1.objectAssign)({}, impressions[i]),
|
|
61
61
|
attributes: attributes,
|
|
62
62
|
ip: ip,
|
|
63
63
|
hostname: hostname,
|
package/cjs/utils/MinEvents.js
CHANGED
|
@@ -38,9 +38,10 @@ var ReflectApply = R && typeof R.apply === 'function'
|
|
|
38
38
|
: function ReflectApply(target, receiver, args) {
|
|
39
39
|
return Function.prototype.apply.call(target, receiver, args);
|
|
40
40
|
};
|
|
41
|
-
|
|
41
|
+
var EventEmitter = function EventEmitter() {
|
|
42
42
|
EventEmitter.init.call(this);
|
|
43
43
|
};
|
|
44
|
+
exports.EventEmitter = EventEmitter;
|
|
44
45
|
exports.EventEmitter.prototype._events = undefined;
|
|
45
46
|
exports.EventEmitter.prototype._eventsCount = 0;
|
|
46
47
|
function checkListener(listener) {
|
|
@@ -10,7 +10,7 @@ function validateApiKey(log, maybeApiKey) {
|
|
|
10
10
|
if (maybeApiKey == undefined) { // eslint-disable-line eqeqeq
|
|
11
11
|
log.error(constants_1.ERROR_NULL, [constants_1.LOG_PREFIX_INSTANTIATION, item]);
|
|
12
12
|
}
|
|
13
|
-
else if (lang_1.isString(maybeApiKey)) {
|
|
13
|
+
else if ((0, lang_1.isString)(maybeApiKey)) {
|
|
14
14
|
if (maybeApiKey.length > 0)
|
|
15
15
|
apiKey = maybeApiKey;
|
|
16
16
|
else
|
|
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validateAttribute = void 0;
|
|
4
4
|
var lang_1 = require("../../utils/lang");
|
|
5
5
|
function validateAttribute(log, attributeKey, attributeValue, method) {
|
|
6
|
-
if (!lang_1.isString(attributeKey) || attributeKey.length === 0) {
|
|
6
|
+
if (!(0, lang_1.isString)(attributeKey) || attributeKey.length === 0) {
|
|
7
7
|
log.warn(method + ": you passed an invalid attribute name, attribute name must be a non-empty string.");
|
|
8
8
|
return false;
|
|
9
9
|
}
|
|
10
|
-
var isStringVal = lang_1.isString(attributeValue);
|
|
11
|
-
var isFiniteVal = lang_1.isFiniteNumber(attributeValue);
|
|
12
|
-
var isBoolVal = lang_1.isBoolean(attributeValue);
|
|
10
|
+
var isStringVal = (0, lang_1.isString)(attributeValue);
|
|
11
|
+
var isFiniteVal = (0, lang_1.isFiniteNumber)(attributeValue);
|
|
12
|
+
var isBoolVal = (0, lang_1.isBoolean)(attributeValue);
|
|
13
13
|
var isArrayVal = Array.isArray(attributeValue);
|
|
14
14
|
if (!(isStringVal || isFiniteVal || isBoolVal || isArrayVal)) { // If it's not of valid type.
|
|
15
15
|
log.warn(method + ": you passed an invalid attribute value for " + attributeKey + ". Acceptable types are: string, number, boolean and array of strings.");
|
|
@@ -6,7 +6,7 @@ var attribute_1 = require("./attribute");
|
|
|
6
6
|
var constants_1 = require("../../logger/constants");
|
|
7
7
|
function validateAttributes(log, maybeAttrs, method) {
|
|
8
8
|
// Attributes are optional
|
|
9
|
-
if (lang_1.isObject(maybeAttrs) || maybeAttrs == undefined) // eslint-disable-line eqeqeq
|
|
9
|
+
if ((0, lang_1.isObject)(maybeAttrs) || maybeAttrs == undefined) // eslint-disable-line eqeqeq
|
|
10
10
|
return maybeAttrs;
|
|
11
11
|
log.error(constants_1.ERROR_NOT_PLAIN_OBJECT, [method, 'attributes']);
|
|
12
12
|
return false;
|
|
@@ -17,7 +17,7 @@ function validateAttributesDeep(log, maybeAttributes, method) {
|
|
|
17
17
|
return false;
|
|
18
18
|
var result = true;
|
|
19
19
|
Object.keys(maybeAttributes).forEach(function (attributeKey) {
|
|
20
|
-
if (!attribute_1.validateAttribute(log, attributeKey, maybeAttributes[attributeKey], method))
|
|
20
|
+
if (!(0, attribute_1.validateAttribute)(log, attributeKey, maybeAttributes[attributeKey], method))
|
|
21
21
|
result = false;
|
|
22
22
|
});
|
|
23
23
|
return result;
|
|
@@ -9,7 +9,7 @@ function validateEvent(log, maybeEvent, method) {
|
|
|
9
9
|
if (maybeEvent == undefined) { // eslint-disable-line eqeqeq
|
|
10
10
|
log.error(constants_1.ERROR_NULL, [method, item]);
|
|
11
11
|
}
|
|
12
|
-
else if (!lang_1.isString(maybeEvent)) {
|
|
12
|
+
else if (!(0, lang_1.isString)(maybeEvent)) {
|
|
13
13
|
log.error(constants_1.ERROR_INVALID, [method, item]);
|
|
14
14
|
}
|
|
15
15
|
else { // It is a string.
|
|
@@ -16,13 +16,13 @@ var BASE_EVENT_SIZE = 1024; // We assume 1kb events without properties (avg meas
|
|
|
16
16
|
function validateEventProperties(log, maybeProperties, method) {
|
|
17
17
|
if (maybeProperties == undefined)
|
|
18
18
|
return { properties: null, size: BASE_EVENT_SIZE }; // eslint-disable-line eqeqeq
|
|
19
|
-
if (!lang_1.isObject(maybeProperties)) {
|
|
19
|
+
if (!(0, lang_1.isObject)(maybeProperties)) {
|
|
20
20
|
log.error(constants_1.ERROR_NOT_PLAIN_OBJECT, [method, 'properties']);
|
|
21
21
|
return { properties: false, size: BASE_EVENT_SIZE };
|
|
22
22
|
}
|
|
23
23
|
var keys = Object.keys(maybeProperties);
|
|
24
24
|
// Shallow clone
|
|
25
|
-
var clone = objectAssign_1.objectAssign({}, maybeProperties);
|
|
25
|
+
var clone = (0, objectAssign_1.objectAssign)({}, maybeProperties);
|
|
26
26
|
// To avoid calculating the size twice we'll return it from here.
|
|
27
27
|
var output = {
|
|
28
28
|
properties: clone,
|
|
@@ -34,9 +34,9 @@ function validateEventProperties(log, maybeProperties, method) {
|
|
|
34
34
|
for (var i = 0; i < keys.length; i++) {
|
|
35
35
|
output.size += keys[i].length * ECMA_SIZES.STRING; // Count the size of the key which is always a string.
|
|
36
36
|
var val = clone[keys[i]];
|
|
37
|
-
var isStringVal = lang_1.isString(val);
|
|
38
|
-
var isFiniteVal = lang_1.isFiniteNumber(val);
|
|
39
|
-
var isBoolVal = lang_1.isBoolean(val);
|
|
37
|
+
var isStringVal = (0, lang_1.isString)(val);
|
|
38
|
+
var isFiniteVal = (0, lang_1.isFiniteNumber)(val);
|
|
39
|
+
var isBoolVal = (0, lang_1.isBoolean)(val);
|
|
40
40
|
var isNullVal = val === null;
|
|
41
41
|
if (!(isStringVal || isFiniteVal || isBoolVal || isNullVal)) { // If it's not of valid type.
|
|
42
42
|
clone[keys[i]] = null;
|
|
@@ -4,7 +4,7 @@ exports.validateEventValue = void 0;
|
|
|
4
4
|
var constants_1 = require("../../logger/constants");
|
|
5
5
|
var lang_1 = require("../lang");
|
|
6
6
|
function validateEventValue(log, maybeValue, method) {
|
|
7
|
-
if (lang_1.isFiniteNumber(maybeValue) || maybeValue == undefined) // eslint-disable-line eqeqeq
|
|
7
|
+
if ((0, lang_1.isFiniteNumber)(maybeValue) || maybeValue == undefined) // eslint-disable-line eqeqeq
|
|
8
8
|
return maybeValue;
|
|
9
9
|
log.error(constants_1.ERROR_NOT_FINITE, [method]);
|
|
10
10
|
return false;
|