@croct/sdk 0.8.0 → 0.9.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/activeRecord.d.ts +3 -3
- package/activeRecord.js +1 -1
- package/cache/fallbackCache.js +1 -1
- package/cache/index.js +1 -1
- package/channel/beaconSocketChannel.js +4 -4
- package/channel/guaranteedChannel.js +2 -2
- package/channel/index.js +1 -1
- package/channel/queuedChannel.js +3 -3
- package/channel/retryChannel.js +3 -3
- package/channel/socketChannel.js +2 -2
- package/cid/cachedAssigner.js +2 -2
- package/cid/index.js +1 -1
- package/cid/remoteAssigner.js +2 -2
- package/constants.js +1 -1
- package/container.js +6 -6
- package/evaluator.d.ts +1 -1
- package/evaluator.js +8 -8
- package/facade/evaluatorFacade.d.ts +1 -1
- package/facade/evaluatorFacade.js +2 -2
- package/facade/sdkFacade.js +5 -5
- package/facade/sessionPatch.js +1 -1
- package/facade/trackerFacade.js +2 -2
- package/facade/userPatch.js +1 -1
- package/logging/index.js +1 -1
- package/namespacedStorage.js +1 -1
- package/package.json +2 -1
- package/patch.d.ts +8 -8
- package/queue/inMemoryQueue.js +1 -1
- package/queue/index.js +1 -1
- package/retry/arbitraryPolicy.js +1 -1
- package/retry/index.js +1 -1
- package/schema/index.js +10 -10
- package/sdk.js +8 -8
- package/sourceLocation.js +2 -2
- package/token/index.js +1 -1
- package/token/token.js +3 -3
- package/tracker.js +17 -17
- package/trackingEvents.js +3 -3
- package/validation/arrayType.js +1 -1
- package/validation/index.js +2 -2
- package/validation/jsonType.js +2 -2
- package/validation/numberType.js +1 -1
- package/validation/objectType.js +6 -6
- package/validation/schema.js +1 -1
- package/validation/stringType.js +1 -1
- package/validation/unionType.js +5 -5
- package/json.d.ts +0 -11
- package/json.js +0 -2
package/activeRecord.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { JsonStructure, JsonValue } from '@croct/json';
|
|
1
2
|
import { Patch } from './patch';
|
|
2
|
-
import { JsonArray, JsonObject, JsonValue } from './json';
|
|
3
3
|
import { TrackingEvent } from './trackingEvents';
|
|
4
4
|
export declare abstract class ActiveRecord<T extends TrackingEvent> {
|
|
5
5
|
private readonly operations;
|
|
@@ -7,8 +7,8 @@ export declare abstract class ActiveRecord<T extends TrackingEvent> {
|
|
|
7
7
|
set(property: string, value: JsonValue): this;
|
|
8
8
|
add(property: string, value: JsonValue): this;
|
|
9
9
|
combine(property: string, value: JsonValue): this;
|
|
10
|
-
merge(value:
|
|
11
|
-
merge(property: string, value:
|
|
10
|
+
merge(value: JsonStructure): this;
|
|
11
|
+
merge(property: string, value: JsonStructure): this;
|
|
12
12
|
increment(property: string, amount?: number): this;
|
|
13
13
|
decrement(property: string, amount?: number): this;
|
|
14
14
|
clear(property: string): this;
|
package/activeRecord.js
CHANGED
|
@@ -96,7 +96,7 @@ var ActiveRecord = /** @class */ (function () {
|
|
|
96
96
|
});
|
|
97
97
|
};
|
|
98
98
|
ActiveRecord.prototype.pushOperation = function (operation) {
|
|
99
|
-
var type = operation.type, data =
|
|
99
|
+
var type = operation.type, data = tslib_1.__rest(operation, ["type"]);
|
|
100
100
|
operationSchema[type].validate(data);
|
|
101
101
|
this.operations.push(operation);
|
|
102
102
|
return this;
|
package/cache/fallbackCache.js
CHANGED
|
@@ -13,7 +13,7 @@ var FallbackCache = /** @class */ (function () {
|
|
|
13
13
|
FallbackCache.prototype.get = function () {
|
|
14
14
|
var e_1, _a;
|
|
15
15
|
try {
|
|
16
|
-
for (var _b =
|
|
16
|
+
for (var _b = tslib_1.__values(this.caches), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
17
17
|
var cache = _c.value;
|
|
18
18
|
var value = cache.get();
|
|
19
19
|
if (value !== null) {
|
package/cache/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LocalStorageCache = exports.InMemoryCache = exports.FallbackCache = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./cache"), exports);
|
|
6
6
|
var fallbackCache_1 = require("./fallbackCache");
|
|
7
7
|
Object.defineProperty(exports, "FallbackCache", { enumerable: true, get: function () { return fallbackCache_1.FallbackCache; } });
|
|
8
8
|
var inMemoryCache_1 = require("./inMemoryCache");
|
|
@@ -19,9 +19,9 @@ var BeaconSocketChannel = /** @class */ (function () {
|
|
|
19
19
|
}
|
|
20
20
|
BeaconSocketChannel.prototype.publish = function (_a) {
|
|
21
21
|
var receiptId = _a.id, message = _a.message;
|
|
22
|
-
return
|
|
22
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
23
23
|
var _b, token, timestamp, context, payload, _c;
|
|
24
|
-
return
|
|
24
|
+
return tslib_1.__generator(this, function (_d) {
|
|
25
25
|
switch (_d.label) {
|
|
26
26
|
case 0:
|
|
27
27
|
_b = JSON.parse(message), token = _b.token, timestamp = _b.timestamp, context = _b.context, payload = _b.payload;
|
|
@@ -52,9 +52,9 @@ var BeaconSocketChannel = /** @class */ (function () {
|
|
|
52
52
|
});
|
|
53
53
|
};
|
|
54
54
|
BeaconSocketChannel.prototype.createSocketChannel = function (token) {
|
|
55
|
-
return
|
|
55
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
56
56
|
var endpoint, _a, _b, _c, channel;
|
|
57
|
-
return
|
|
57
|
+
return tslib_1.__generator(this, function (_d) {
|
|
58
58
|
switch (_d.label) {
|
|
59
59
|
case 0:
|
|
60
60
|
endpoint = new URL(this.trackerEndpointUrl);
|
|
@@ -15,12 +15,12 @@ exports.TimeStamper = TimeStamper;
|
|
|
15
15
|
var GuaranteedChannel = /** @class */ (function () {
|
|
16
16
|
function GuaranteedChannel(_a) {
|
|
17
17
|
var _b;
|
|
18
|
-
var channel = _a.channel, logger = _a.logger, stamper = _a.stamper, options =
|
|
18
|
+
var channel = _a.channel, logger = _a.logger, stamper = _a.stamper, options = tslib_1.__rest(_a, ["channel", "logger", "stamper"]);
|
|
19
19
|
this.closed = false;
|
|
20
20
|
this.channel = channel;
|
|
21
21
|
this.logger = logger !== null && logger !== void 0 ? logger : new logging_1.NullLogger();
|
|
22
22
|
this.stamper = stamper;
|
|
23
|
-
this.options =
|
|
23
|
+
this.options = tslib_1.__assign(tslib_1.__assign({}, options), { ackTimeout: (_b = options.ackTimeout) !== null && _b !== void 0 ? _b : 5000 });
|
|
24
24
|
}
|
|
25
25
|
GuaranteedChannel.prototype.publish = function (message) {
|
|
26
26
|
var _this = this;
|
package/channel/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SocketChannel = exports.SandboxChannel = exports.RetryChannel = exports.QueuedChannel = exports.GuaranteedChannel = exports.EncodedChannel = exports.BeaconSocketChannel = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./channel"), exports);
|
|
6
6
|
var beaconSocketChannel_1 = require("./beaconSocketChannel");
|
|
7
7
|
Object.defineProperty(exports, "BeaconSocketChannel", { enumerable: true, get: function () { return beaconSocketChannel_1.BeaconSocketChannel; } });
|
|
8
8
|
var encodedChannel_1 = require("./encodedChannel");
|
package/channel/queuedChannel.js
CHANGED
|
@@ -62,7 +62,7 @@ var QueuedChannel = /** @class */ (function () {
|
|
|
62
62
|
};
|
|
63
63
|
var this_1 = this;
|
|
64
64
|
try {
|
|
65
|
-
for (var _b =
|
|
65
|
+
for (var _b = tslib_1.__values(this.queue.all()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
66
66
|
var message = _c.value;
|
|
67
67
|
_loop_1(message);
|
|
68
68
|
}
|
|
@@ -77,9 +77,9 @@ var QueuedChannel = /** @class */ (function () {
|
|
|
77
77
|
return this.pending;
|
|
78
78
|
};
|
|
79
79
|
QueuedChannel.prototype.close = function () {
|
|
80
|
-
return
|
|
80
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
81
81
|
var _a;
|
|
82
|
-
return
|
|
82
|
+
return tslib_1.__generator(this, function (_b) {
|
|
83
83
|
switch (_b.label) {
|
|
84
84
|
case 0:
|
|
85
85
|
this.closed = true;
|
package/channel/retryChannel.js
CHANGED
|
@@ -19,16 +19,16 @@ var RetryChannel = /** @class */ (function () {
|
|
|
19
19
|
return this.channel.publish(message).catch(function (error) { return _this.retry(message, error); });
|
|
20
20
|
};
|
|
21
21
|
RetryChannel.prototype.retry = function (message, error) {
|
|
22
|
-
return
|
|
22
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
23
23
|
var attempt, _loop_1, this_1, state_1;
|
|
24
24
|
var _this = this;
|
|
25
|
-
return
|
|
25
|
+
return tslib_1.__generator(this, function (_a) {
|
|
26
26
|
switch (_a.label) {
|
|
27
27
|
case 0:
|
|
28
28
|
attempt = 0;
|
|
29
29
|
_loop_1 = function () {
|
|
30
30
|
var delay, _b, _c;
|
|
31
|
-
return
|
|
31
|
+
return tslib_1.__generator(this, function (_d) {
|
|
32
32
|
switch (_d.label) {
|
|
33
33
|
case 0:
|
|
34
34
|
if (this_1.closed) {
|
package/channel/socketChannel.js
CHANGED
|
@@ -7,12 +7,12 @@ var error_1 = require("../error");
|
|
|
7
7
|
var SocketChannel = /** @class */ (function () {
|
|
8
8
|
function SocketChannel(_a) {
|
|
9
9
|
var _b, _c, _d;
|
|
10
|
-
var url = _a.url, logger = _a.logger, options =
|
|
10
|
+
var url = _a.url, logger = _a.logger, options = tslib_1.__rest(_a, ["url", "logger"]);
|
|
11
11
|
this.listeners = [];
|
|
12
12
|
this.closed = false;
|
|
13
13
|
this.url = url;
|
|
14
14
|
this.logger = logger !== null && logger !== void 0 ? logger : new logging_1.NullLogger();
|
|
15
|
-
this.options =
|
|
15
|
+
this.options = tslib_1.__assign(tslib_1.__assign({}, options), { closeTimeout: (_b = options.closeTimeout) !== null && _b !== void 0 ? _b : 5000, connectionTimeout: (_c = options.connectionTimeout) !== null && _c !== void 0 ? _c : 10000, protocols: (_d = options.protocols) !== null && _d !== void 0 ? _d : [] });
|
|
16
16
|
}
|
|
17
17
|
Object.defineProperty(SocketChannel.prototype, "connected", {
|
|
18
18
|
get: function () {
|
package/cid/cachedAssigner.js
CHANGED
|
@@ -10,9 +10,9 @@ var CachedAssigner = /** @class */ (function () {
|
|
|
10
10
|
this.logger = logger !== null && logger !== void 0 ? logger : new logging_1.NullLogger();
|
|
11
11
|
}
|
|
12
12
|
CachedAssigner.prototype.assignCid = function () {
|
|
13
|
-
return
|
|
13
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
14
14
|
var cid, newCid;
|
|
15
|
-
return
|
|
15
|
+
return tslib_1.__generator(this, function (_a) {
|
|
16
16
|
switch (_a.label) {
|
|
17
17
|
case 0:
|
|
18
18
|
cid = this.cache.get();
|
package/cid/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RemoteAssigner = exports.FixedAssigner = exports.CachedAssigner = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./assigner"), exports);
|
|
6
6
|
var cachedAssigner_1 = require("./cachedAssigner");
|
|
7
7
|
Object.defineProperty(exports, "CachedAssigner", { enumerable: true, get: function () { return cachedAssigner_1.CachedAssigner; } });
|
|
8
8
|
var fixedAssigner_1 = require("./fixedAssigner");
|
package/cid/remoteAssigner.js
CHANGED
|
@@ -19,9 +19,9 @@ var RemoteAssigner = /** @class */ (function () {
|
|
|
19
19
|
return this.pending;
|
|
20
20
|
};
|
|
21
21
|
RemoteAssigner.prototype.fetchCid = function () {
|
|
22
|
-
return
|
|
22
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
23
23
|
var options, response, error;
|
|
24
|
-
return
|
|
24
|
+
return tslib_1.__generator(this, function (_a) {
|
|
25
25
|
switch (_a.label) {
|
|
26
26
|
case 0:
|
|
27
27
|
options = {
|
package/constants.js
CHANGED
|
@@ -5,4 +5,4 @@ exports.TRACKER_ENDPOINT_URL = 'wss://api.croct.io/client/web/connect';
|
|
|
5
5
|
exports.EVALUATION_ENDPOINT_URL = 'https://api.croct.io/client/web/evaluate';
|
|
6
6
|
exports.BOOTSTRAP_ENDPOINT_URL = 'https://api.croct.io/client/web/bootstrap';
|
|
7
7
|
exports.MAX_EXPRESSION_LENGTH = 300;
|
|
8
|
-
exports.VERSION = '0.
|
|
8
|
+
exports.VERSION = '0.9.0';
|
package/container.js
CHANGED
|
@@ -175,28 +175,28 @@ var Container = /** @class */ (function () {
|
|
|
175
175
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
176
176
|
subnamespace[_i - 1] = arguments[_i];
|
|
177
177
|
}
|
|
178
|
-
return this.getGlobalTabStorage.apply(this,
|
|
178
|
+
return this.getGlobalTabStorage.apply(this, tslib_1.__spreadArray(['external', namespace], tslib_1.__read(subnamespace), false));
|
|
179
179
|
};
|
|
180
180
|
Container.prototype.getBrowserStorage = function (namespace) {
|
|
181
181
|
var subnamespace = [];
|
|
182
182
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
183
183
|
subnamespace[_i - 1] = arguments[_i];
|
|
184
184
|
}
|
|
185
|
-
return this.getGlobalBrowserStorage.apply(this,
|
|
185
|
+
return this.getGlobalBrowserStorage.apply(this, tslib_1.__spreadArray(['external', namespace], tslib_1.__read(subnamespace), false));
|
|
186
186
|
};
|
|
187
187
|
Container.prototype.getGlobalTabStorage = function (namespace) {
|
|
188
188
|
var subnamespace = [];
|
|
189
189
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
190
190
|
subnamespace[_i - 1] = arguments[_i];
|
|
191
191
|
}
|
|
192
|
-
return new namespacedStorage_1.NamespacedStorage(this.getSessionStorage(), this.resolveStorageNamespace.apply(this,
|
|
192
|
+
return new namespacedStorage_1.NamespacedStorage(this.getSessionStorage(), this.resolveStorageNamespace.apply(this, tslib_1.__spreadArray([namespace], tslib_1.__read(subnamespace), false)));
|
|
193
193
|
};
|
|
194
194
|
Container.prototype.getGlobalBrowserStorage = function (namespace) {
|
|
195
195
|
var subnamespace = [];
|
|
196
196
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
197
197
|
subnamespace[_i - 1] = arguments[_i];
|
|
198
198
|
}
|
|
199
|
-
return new namespacedStorage_1.NamespacedStorage(this.getLocalStorage(), this.resolveStorageNamespace.apply(this,
|
|
199
|
+
return new namespacedStorage_1.NamespacedStorage(this.getLocalStorage(), this.resolveStorageNamespace.apply(this, tslib_1.__spreadArray([namespace], tslib_1.__read(subnamespace), false)));
|
|
200
200
|
};
|
|
201
201
|
Container.prototype.resolveStorageNamespace = function (namespace) {
|
|
202
202
|
var subnamespace = [];
|
|
@@ -215,9 +215,9 @@ var Container = /** @class */ (function () {
|
|
|
215
215
|
return this.eventManager;
|
|
216
216
|
};
|
|
217
217
|
Container.prototype.dispose = function () {
|
|
218
|
-
return
|
|
218
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
219
219
|
var logger;
|
|
220
|
-
return
|
|
220
|
+
return tslib_1.__generator(this, function (_a) {
|
|
221
221
|
switch (_a.label) {
|
|
222
222
|
case 0:
|
|
223
223
|
logger = this.getLogger();
|
package/evaluator.d.ts
CHANGED
package/evaluator.js
CHANGED
|
@@ -16,7 +16,7 @@ var EvaluationErrorType;
|
|
|
16
16
|
EvaluationErrorType["UNSERIALIZABLE_RESULT"] = "https://croct.help/api/evaluation#unserializable-result";
|
|
17
17
|
})(EvaluationErrorType = exports.EvaluationErrorType || (exports.EvaluationErrorType = {}));
|
|
18
18
|
var EvaluationError = /** @class */ (function (_super) {
|
|
19
|
-
|
|
19
|
+
tslib_1.__extends(EvaluationError, _super);
|
|
20
20
|
function EvaluationError(response) {
|
|
21
21
|
var _this = _super.call(this, response.title) || this;
|
|
22
22
|
_this.response = response;
|
|
@@ -27,7 +27,7 @@ var EvaluationError = /** @class */ (function (_super) {
|
|
|
27
27
|
}(Error));
|
|
28
28
|
exports.EvaluationError = EvaluationError;
|
|
29
29
|
var ExpressionError = /** @class */ (function (_super) {
|
|
30
|
-
|
|
30
|
+
tslib_1.__extends(ExpressionError, _super);
|
|
31
31
|
function ExpressionError(response) {
|
|
32
32
|
var _this = _super.call(this, response) || this;
|
|
33
33
|
Object.setPrototypeOf(_this, ExpressionError.prototype);
|
|
@@ -39,14 +39,14 @@ exports.ExpressionError = ExpressionError;
|
|
|
39
39
|
var Evaluator = /** @class */ (function () {
|
|
40
40
|
function Evaluator(configuration) {
|
|
41
41
|
var _a;
|
|
42
|
-
this.configuration =
|
|
42
|
+
this.configuration = tslib_1.__assign(tslib_1.__assign({}, configuration), { endpointUrl: (_a = configuration.endpointUrl) !== null && _a !== void 0 ? _a : constants_1.EVALUATION_ENDPOINT_URL });
|
|
43
43
|
}
|
|
44
44
|
Evaluator.prototype.evaluate = function (expression, options) {
|
|
45
45
|
if (options === void 0) { options = {}; }
|
|
46
|
-
return
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
47
47
|
var length, response, endpoint;
|
|
48
48
|
var _this = this;
|
|
49
|
-
return
|
|
49
|
+
return tslib_1.__generator(this, function (_a) {
|
|
50
50
|
length = (0, sourceLocation_1.getLength)(expression);
|
|
51
51
|
if (length > Evaluator.MAX_EXPRESSION_LENGTH) {
|
|
52
52
|
response = {
|
|
@@ -112,9 +112,9 @@ var Evaluator = /** @class */ (function () {
|
|
|
112
112
|
});
|
|
113
113
|
};
|
|
114
114
|
Evaluator.prototype.fetch = function (endpoint) {
|
|
115
|
-
return
|
|
115
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
116
116
|
var _a, tokenProvider, cidAssigner, appId, token, cid, headers;
|
|
117
|
-
return
|
|
117
|
+
return tslib_1.__generator(this, function (_b) {
|
|
118
118
|
switch (_b.label) {
|
|
119
119
|
case 0:
|
|
120
120
|
_a = this.configuration, tokenProvider = _a.tokenProvider, cidAssigner = _a.cidAssigner, appId = _a.appId;
|
|
@@ -122,7 +122,7 @@ var Evaluator = /** @class */ (function () {
|
|
|
122
122
|
return [4 /*yield*/, cidAssigner.assignCid()];
|
|
123
123
|
case 1:
|
|
124
124
|
cid = _b.sent();
|
|
125
|
-
headers =
|
|
125
|
+
headers = tslib_1.__assign({ 'X-App-Id': appId, 'X-Client-Id': cid }, (token !== null && { 'X-Token': token.toString() }));
|
|
126
126
|
return [2 /*return*/, window.fetch(endpoint.toString(), {
|
|
127
127
|
method: 'GET',
|
|
128
128
|
headers: headers,
|
|
@@ -79,8 +79,8 @@ var TabContextFactory = /** @class */ (function () {
|
|
|
79
79
|
var e_1, _a;
|
|
80
80
|
var campaign = {};
|
|
81
81
|
try {
|
|
82
|
-
for (var _b =
|
|
83
|
-
var _d =
|
|
82
|
+
for (var _b = tslib_1.__values(url.searchParams.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
83
|
+
var _d = tslib_1.__read(_c.value, 2), parameter = _d[0], value = _d[1];
|
|
84
84
|
switch (parameter.toLowerCase()) {
|
|
85
85
|
case 'utm_campaign':
|
|
86
86
|
campaign.name = value;
|
package/facade/sdkFacade.js
CHANGED
|
@@ -28,11 +28,11 @@ var SdkFacade = /** @class */ (function () {
|
|
|
28
28
|
SdkFacade.init = function (configuration) {
|
|
29
29
|
var _a, _b, _c;
|
|
30
30
|
validateConfiguration(configuration);
|
|
31
|
-
var _d = configuration.track, track = _d === void 0 ? true : _d, userId = configuration.userId, token = configuration.token, containerConfiguration =
|
|
31
|
+
var _d = configuration.track, track = _d === void 0 ? true : _d, userId = configuration.userId, token = configuration.token, containerConfiguration = tslib_1.__rest(configuration, ["track", "userId", "token"]);
|
|
32
32
|
if (userId !== undefined && token !== undefined) {
|
|
33
33
|
throw new Error('Either the user ID or token can be specified, but not both.');
|
|
34
34
|
}
|
|
35
|
-
var sdk = new SdkFacade(sdk_1.Sdk.init(
|
|
35
|
+
var sdk = new SdkFacade(sdk_1.Sdk.init(tslib_1.__assign(tslib_1.__assign({}, containerConfiguration), { tokenScope: (_a = containerConfiguration.tokenScope) !== null && _a !== void 0 ? _a : 'global', debug: (_b = containerConfiguration.debug) !== null && _b !== void 0 ? _b : false, test: (_c = containerConfiguration.test) !== null && _c !== void 0 ? _c : false })));
|
|
36
36
|
if (userId !== undefined) {
|
|
37
37
|
sdk.identify(userId);
|
|
38
38
|
}
|
|
@@ -192,7 +192,7 @@ var SdkFacade = /** @class */ (function () {
|
|
|
192
192
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
193
193
|
namespace[_i] = arguments[_i];
|
|
194
194
|
}
|
|
195
|
-
return (_a = this.sdk).getLogger.apply(_a,
|
|
195
|
+
return (_a = this.sdk).getLogger.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(namespace), false));
|
|
196
196
|
};
|
|
197
197
|
SdkFacade.prototype.getTabStorage = function (namespace) {
|
|
198
198
|
var _a;
|
|
@@ -200,7 +200,7 @@ var SdkFacade = /** @class */ (function () {
|
|
|
200
200
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
201
201
|
subnamespace[_i - 1] = arguments[_i];
|
|
202
202
|
}
|
|
203
|
-
return (_a = this.sdk).getTabStorage.apply(_a,
|
|
203
|
+
return (_a = this.sdk).getTabStorage.apply(_a, tslib_1.__spreadArray([namespace], tslib_1.__read(subnamespace), false));
|
|
204
204
|
};
|
|
205
205
|
SdkFacade.prototype.getBrowserStorage = function (namespace) {
|
|
206
206
|
var _a;
|
|
@@ -208,7 +208,7 @@ var SdkFacade = /** @class */ (function () {
|
|
|
208
208
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
209
209
|
subnamespace[_i - 1] = arguments[_i];
|
|
210
210
|
}
|
|
211
|
-
return (_a = this.sdk).getBrowserStorage.apply(_a,
|
|
211
|
+
return (_a = this.sdk).getBrowserStorage.apply(_a, tslib_1.__spreadArray([namespace], tslib_1.__read(subnamespace), false));
|
|
212
212
|
};
|
|
213
213
|
SdkFacade.prototype.close = function () {
|
|
214
214
|
return this.sdk.close();
|
package/facade/sessionPatch.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.SessionPatch = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var activeRecord_1 = require("../activeRecord");
|
|
6
6
|
var SessionPatch = /** @class */ (function (_super) {
|
|
7
|
-
|
|
7
|
+
tslib_1.__extends(SessionPatch, _super);
|
|
8
8
|
function SessionPatch(tracker) {
|
|
9
9
|
var _this = _super.call(this) || this;
|
|
10
10
|
_this.tracker = tracker;
|
package/facade/trackerFacade.js
CHANGED
|
@@ -24,12 +24,12 @@ function createEvent(type, payload) {
|
|
|
24
24
|
if (typeof payload !== 'object' || payload == null) {
|
|
25
25
|
throw new Error('The event payload must of type object.');
|
|
26
26
|
}
|
|
27
|
-
var event =
|
|
27
|
+
var event = tslib_1.__assign({ type: type }, payload);
|
|
28
28
|
validateEvent(event);
|
|
29
29
|
return event;
|
|
30
30
|
}
|
|
31
31
|
function validateEvent(event) {
|
|
32
|
-
var type = event.type, payload =
|
|
32
|
+
var type = event.type, payload = tslib_1.__rest(event, ["type"]);
|
|
33
33
|
if (!(type in eventSchemas)) {
|
|
34
34
|
throw new Error("Unknown event type '".concat(type, "'."));
|
|
35
35
|
}
|
package/facade/userPatch.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.UserPatch = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var activeRecord_1 = require("../activeRecord");
|
|
6
6
|
var UserPatch = /** @class */ (function (_super) {
|
|
7
|
-
|
|
7
|
+
tslib_1.__extends(UserPatch, _super);
|
|
8
8
|
function UserPatch(tracker) {
|
|
9
9
|
var _this = _super.call(this) || this;
|
|
10
10
|
_this.tracker = tracker;
|
package/logging/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NullLogger = exports.NamespacedLogger = exports.ConsoleLogger = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./logger"), exports);
|
|
6
6
|
var consoleLogger_1 = require("./consoleLogger");
|
|
7
7
|
Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return consoleLogger_1.ConsoleLogger; } });
|
|
8
8
|
var namespacedLogger_1 = require("./namespacedLogger");
|
package/namespacedStorage.js
CHANGED
|
@@ -20,7 +20,7 @@ var NamespacedStorage = /** @class */ (function () {
|
|
|
20
20
|
NamespacedStorage.prototype.clear = function () {
|
|
21
21
|
var e_1, _a;
|
|
22
22
|
try {
|
|
23
|
-
for (var _b =
|
|
23
|
+
for (var _b = tslib_1.__values(this.getKeys()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
24
24
|
var key = _c.value;
|
|
25
25
|
this.storage.removeItem(key);
|
|
26
26
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@croct/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Croct SDK for JavaScript.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"build": "tsc"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
+
"@croct/json": "^1.0",
|
|
31
32
|
"tslib": "^2.3.1"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
package/patch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { JsonStructure, JsonValue } from '@croct/json';
|
|
2
2
|
interface AbstractOperation {
|
|
3
3
|
type: string;
|
|
4
4
|
path: string;
|
|
@@ -11,31 +11,31 @@ interface ClearOperation extends AbstractOperation {
|
|
|
11
11
|
}
|
|
12
12
|
interface SetOperation extends AbstractOperation {
|
|
13
13
|
type: 'set';
|
|
14
|
-
value:
|
|
14
|
+
value: JsonValue;
|
|
15
15
|
}
|
|
16
16
|
interface AddOperation extends AbstractOperation {
|
|
17
17
|
type: 'add';
|
|
18
|
-
value:
|
|
18
|
+
value: JsonValue;
|
|
19
19
|
}
|
|
20
20
|
interface CombineOperation extends AbstractOperation {
|
|
21
21
|
type: 'combine';
|
|
22
|
-
value:
|
|
22
|
+
value: JsonValue;
|
|
23
23
|
}
|
|
24
24
|
interface MergeOperation extends AbstractOperation {
|
|
25
25
|
type: 'merge';
|
|
26
|
-
value:
|
|
26
|
+
value: JsonStructure;
|
|
27
27
|
}
|
|
28
28
|
interface IncrementOperation extends AbstractOperation {
|
|
29
29
|
type: 'increment';
|
|
30
|
-
value:
|
|
30
|
+
value: JsonValue;
|
|
31
31
|
}
|
|
32
32
|
interface DecrementOperation extends AbstractOperation {
|
|
33
33
|
type: 'decrement';
|
|
34
|
-
value:
|
|
34
|
+
value: JsonValue;
|
|
35
35
|
}
|
|
36
36
|
interface removeOperation extends AbstractOperation {
|
|
37
37
|
type: 'remove';
|
|
38
|
-
value:
|
|
38
|
+
value: JsonValue;
|
|
39
39
|
}
|
|
40
40
|
export declare type Operation = UnsetOperation | ClearOperation | AddOperation | SetOperation | CombineOperation | MergeOperation | IncrementOperation | DecrementOperation | removeOperation;
|
|
41
41
|
export interface Patch {
|
package/queue/inMemoryQueue.js
CHANGED
|
@@ -10,7 +10,7 @@ var InMemoryQueue = /** @class */ (function () {
|
|
|
10
10
|
values[_i] = arguments[_i];
|
|
11
11
|
}
|
|
12
12
|
this.queue = [];
|
|
13
|
-
(_a = this.queue).unshift.apply(_a,
|
|
13
|
+
(_a = this.queue).unshift.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(values), false));
|
|
14
14
|
}
|
|
15
15
|
InMemoryQueue.prototype.all = function () {
|
|
16
16
|
return this.queue.slice();
|
package/queue/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PersistentQueue = exports.MonitoredQueue = exports.InMemoryQueue = exports.CapacityRestrictedQueue = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./queue"), exports);
|
|
6
6
|
var capacityRestrictedQueue_1 = require("./capacityRestrictedQueue");
|
|
7
7
|
Object.defineProperty(exports, "CapacityRestrictedQueue", { enumerable: true, get: function () { return capacityRestrictedQueue_1.CapacityRestrictedQueue; } });
|
|
8
8
|
var inMemoryQueue_1 = require("./inMemoryQueue");
|
package/retry/arbitraryPolicy.js
CHANGED
|
@@ -7,7 +7,7 @@ var ArbitraryPolicy = /** @class */ (function () {
|
|
|
7
7
|
if (delays.length < 1) {
|
|
8
8
|
throw new Error('The list of delays cannot be empty.');
|
|
9
9
|
}
|
|
10
|
-
this.delays =
|
|
10
|
+
this.delays = tslib_1.__spreadArray([], tslib_1.__read(delays), false);
|
|
11
11
|
}
|
|
12
12
|
ArbitraryPolicy.prototype.getDelay = function (attempt) {
|
|
13
13
|
return this.delays[Math.min(attempt < 0 ? 0 : attempt, this.delays.length - 1)];
|
package/retry/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NeverPolicy = exports.MaxAttemptsPolicy = exports.BackoffPolicy = exports.ArbitraryPolicy = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./policy"), exports);
|
|
6
6
|
var arbitraryPolicy_1 = require("./arbitraryPolicy");
|
|
7
7
|
Object.defineProperty(exports, "ArbitraryPolicy", { enumerable: true, get: function () { return arbitraryPolicy_1.ArbitraryPolicy; } });
|
|
8
8
|
var backoffPolicy_1 = require("./backoffPolicy");
|
package/schema/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
tslib_1.__exportStar(require("./contextSchemas"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./ecommerceSchemas"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./evaluationSchemas"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./eventSchemas"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./loggerSchema"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./operationSchemas"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./sdkFacadeSchemas"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./sdkSchemas"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./tokenSchema"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./userSchema"), exports);
|
package/sdk.js
CHANGED
|
@@ -25,12 +25,12 @@ var Sdk = /** @class */ (function () {
|
|
|
25
25
|
var e_1, _a;
|
|
26
26
|
var _b, _c, _d, _e;
|
|
27
27
|
validateConfiguration(configuration);
|
|
28
|
-
var _f = configuration.eventMetadata, customMetadata = _f === void 0 ? {} : _f, containerConfiguration =
|
|
28
|
+
var _f = configuration.eventMetadata, customMetadata = _f === void 0 ? {} : _f, containerConfiguration = tslib_1.__rest(configuration, ["eventMetadata"]);
|
|
29
29
|
var eventMetadata = {
|
|
30
30
|
sdkVersion: constants_1.VERSION,
|
|
31
31
|
};
|
|
32
32
|
try {
|
|
33
|
-
for (var _g =
|
|
33
|
+
for (var _g = tslib_1.__values(Object.keys(customMetadata)), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
34
34
|
var metadata = _h.value;
|
|
35
35
|
eventMetadata["custom_".concat(metadata)] = customMetadata[metadata];
|
|
36
36
|
}
|
|
@@ -42,7 +42,7 @@ var Sdk = /** @class */ (function () {
|
|
|
42
42
|
}
|
|
43
43
|
finally { if (e_1) throw e_1.error; }
|
|
44
44
|
}
|
|
45
|
-
var container = new container_1.Container(
|
|
45
|
+
var container = new container_1.Container(tslib_1.__assign(tslib_1.__assign({}, containerConfiguration), { evaluationEndpointUrl: (_b = containerConfiguration.evaluationEndpointUrl) !== null && _b !== void 0 ? _b : constants_1.EVALUATION_ENDPOINT_URL, trackerEndpointUrl: (_c = containerConfiguration.trackerEndpointUrl) !== null && _c !== void 0 ? _c : constants_1.TRACKER_ENDPOINT_URL, bootstrapEndpointUrl: (_d = containerConfiguration.bootstrapEndpointUrl) !== null && _d !== void 0 ? _d : constants_1.BOOTSTRAP_ENDPOINT_URL, beaconQueueSize: (_e = containerConfiguration.beaconQueueSize) !== null && _e !== void 0 ? _e : 100, eventMetadata: eventMetadata }));
|
|
46
46
|
var logger = container.getLogger();
|
|
47
47
|
var _j = container.getConfiguration(), appId = _j.appId, tokenScope = _j.tokenScope;
|
|
48
48
|
logger.debug('\n\n'
|
|
@@ -113,7 +113,7 @@ var Sdk = /** @class */ (function () {
|
|
|
113
113
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
114
114
|
namespace[_i] = arguments[_i];
|
|
115
115
|
}
|
|
116
|
-
return (_a = this.container).getLogger.apply(_a,
|
|
116
|
+
return (_a = this.container).getLogger.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(namespace), false));
|
|
117
117
|
};
|
|
118
118
|
Sdk.prototype.getTabStorage = function (namespace) {
|
|
119
119
|
var _a;
|
|
@@ -121,7 +121,7 @@ var Sdk = /** @class */ (function () {
|
|
|
121
121
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
122
122
|
subnamespace[_i - 1] = arguments[_i];
|
|
123
123
|
}
|
|
124
|
-
return (_a = this.container).getTabStorage.apply(_a,
|
|
124
|
+
return (_a = this.container).getTabStorage.apply(_a, tslib_1.__spreadArray([namespace], tslib_1.__read(subnamespace), false));
|
|
125
125
|
};
|
|
126
126
|
Sdk.prototype.getBrowserStorage = function (namespace) {
|
|
127
127
|
var _a;
|
|
@@ -129,12 +129,12 @@ var Sdk = /** @class */ (function () {
|
|
|
129
129
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
130
130
|
subnamespace[_i - 1] = arguments[_i];
|
|
131
131
|
}
|
|
132
|
-
return (_a = this.container).getBrowserStorage.apply(_a,
|
|
132
|
+
return (_a = this.container).getBrowserStorage.apply(_a, tslib_1.__spreadArray([namespace], tslib_1.__read(subnamespace), false));
|
|
133
133
|
};
|
|
134
134
|
Sdk.prototype.close = function () {
|
|
135
|
-
return
|
|
135
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
136
136
|
var logger;
|
|
137
|
-
return
|
|
137
|
+
return tslib_1.__generator(this, function (_a) {
|
|
138
138
|
switch (_a.label) {
|
|
139
139
|
case 0:
|
|
140
140
|
if (this.closed) {
|
package/sourceLocation.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getLocation = exports.getPosition = exports.getLength = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
function getLength(input) {
|
|
6
|
-
return
|
|
6
|
+
return tslib_1.__spreadArray([], tslib_1.__read(input), false).length;
|
|
7
7
|
}
|
|
8
8
|
exports.getLength = getLength;
|
|
9
9
|
function getPosition(input, index) {
|
|
@@ -19,7 +19,7 @@ function getLocation(input, startIndex, endIndex) {
|
|
|
19
19
|
}
|
|
20
20
|
var start;
|
|
21
21
|
var end;
|
|
22
|
-
var chars =
|
|
22
|
+
var chars = tslib_1.__spreadArray([], tslib_1.__read(input), false);
|
|
23
23
|
var line = 1;
|
|
24
24
|
var column = 0;
|
|
25
25
|
for (var offset = 0; offset < chars.length; offset++) {
|
package/token/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReplicatedTokenStore = exports.InMemoryTokenStore = exports.CachedTokenStore = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./token"), exports);
|
|
6
6
|
var cachedTokenStore_1 = require("./cachedTokenStore");
|
|
7
7
|
Object.defineProperty(exports, "CachedTokenStore", { enumerable: true, get: function () { return cachedTokenStore_1.CachedTokenStore; } });
|
|
8
8
|
var inMemoryTokenStore_1 = require("./inMemoryTokenStore");
|
package/token/token.js
CHANGED
|
@@ -25,7 +25,7 @@ var Token = /** @class */ (function () {
|
|
|
25
25
|
typ: 'JWT',
|
|
26
26
|
alg: 'none',
|
|
27
27
|
appId: appId,
|
|
28
|
-
},
|
|
28
|
+
}, tslib_1.__assign({ iss: 'croct.io', aud: 'croct.io', iat: timestamp }, (subject !== null ? { sub: subject } : null)));
|
|
29
29
|
};
|
|
30
30
|
Token.parse = function (token) {
|
|
31
31
|
if (token === '') {
|
|
@@ -58,10 +58,10 @@ var Token = /** @class */ (function () {
|
|
|
58
58
|
return new Token(headers, claims, signature);
|
|
59
59
|
};
|
|
60
60
|
Token.prototype.getHeaders = function () {
|
|
61
|
-
return
|
|
61
|
+
return tslib_1.__assign({}, this.headers);
|
|
62
62
|
};
|
|
63
63
|
Token.prototype.getClaims = function () {
|
|
64
|
-
return
|
|
64
|
+
return tslib_1.__assign({}, this.claims);
|
|
65
65
|
};
|
|
66
66
|
Token.prototype.getSignature = function () {
|
|
67
67
|
return this.signature;
|
package/tracker.js
CHANGED
|
@@ -9,7 +9,7 @@ var trackedEvents = {};
|
|
|
9
9
|
var Tracker = /** @class */ (function () {
|
|
10
10
|
function Tracker(_a) {
|
|
11
11
|
var _b;
|
|
12
|
-
var tab = _a.tab, tokenProvider = _a.tokenProvider, channel = _a.channel, logger = _a.logger, inactivityRetryPolicy = _a.inactivityRetryPolicy, options =
|
|
12
|
+
var tab = _a.tab, tokenProvider = _a.tokenProvider, channel = _a.channel, logger = _a.logger, inactivityRetryPolicy = _a.inactivityRetryPolicy, options = tslib_1.__rest(_a, ["tab", "tokenProvider", "channel", "logger", "inactivityRetryPolicy"]);
|
|
13
13
|
this.listeners = [];
|
|
14
14
|
this.pending = [];
|
|
15
15
|
this.state = {
|
|
@@ -25,7 +25,7 @@ var Tracker = /** @class */ (function () {
|
|
|
25
25
|
this.inactivityRetryPolicy = inactivityRetryPolicy;
|
|
26
26
|
this.channel = channel;
|
|
27
27
|
this.logger = logger !== null && logger !== void 0 ? logger : new logging_1.NullLogger();
|
|
28
|
-
this.options =
|
|
28
|
+
this.options = tslib_1.__assign(tslib_1.__assign({}, options), { eventMetadata: (_b = options.eventMetadata) !== null && _b !== void 0 ? _b : {} });
|
|
29
29
|
this.enable = this.enable.bind(this);
|
|
30
30
|
this.disable = this.disable.bind(this);
|
|
31
31
|
this.suspend = this.suspend.bind(this);
|
|
@@ -161,8 +161,8 @@ var Tracker = /** @class */ (function () {
|
|
|
161
161
|
return this.publish(this.enrichEvent(event, timestamp), timestamp).then(function () { return event; });
|
|
162
162
|
};
|
|
163
163
|
Tracker.prototype.trackPageOpen = function (_a) {
|
|
164
|
-
var referrer = _a.referrer, payload =
|
|
165
|
-
this.enqueue(
|
|
164
|
+
var referrer = _a.referrer, payload = tslib_1.__rest(_a, ["referrer"]);
|
|
165
|
+
this.enqueue(tslib_1.__assign(tslib_1.__assign({ type: 'pageOpened' }, payload), (referrer.length > 0 ? { referrer: referrer } : {})));
|
|
166
166
|
};
|
|
167
167
|
Tracker.prototype.trackPageLoad = function (_a) {
|
|
168
168
|
var tab = _a.detail.tab;
|
|
@@ -174,7 +174,7 @@ var Tracker = /** @class */ (function () {
|
|
|
174
174
|
});
|
|
175
175
|
};
|
|
176
176
|
Tracker.prototype.trackTabOpen = function (payload) {
|
|
177
|
-
this.enqueue(
|
|
177
|
+
this.enqueue(tslib_1.__assign({ type: 'tabOpened' }, payload));
|
|
178
178
|
};
|
|
179
179
|
Tracker.prototype.trackTabUrlChange = function (_a) {
|
|
180
180
|
var detail = _a.detail;
|
|
@@ -213,7 +213,7 @@ var Tracker = /** @class */ (function () {
|
|
|
213
213
|
this.stopInactivityTimer();
|
|
214
214
|
}
|
|
215
215
|
var metadata = this.options.eventMetadata;
|
|
216
|
-
var context =
|
|
216
|
+
var context = tslib_1.__assign({ tabId: this.tab.id, url: this.tab.url }, (Object.keys(metadata).length > 0 ? { metadata: metadata } : {}));
|
|
217
217
|
var eventInfo = {
|
|
218
218
|
event: event,
|
|
219
219
|
context: context,
|
|
@@ -222,7 +222,7 @@ var Tracker = /** @class */ (function () {
|
|
|
222
222
|
};
|
|
223
223
|
if (this.state.suspended) {
|
|
224
224
|
this.logger.warn("Tracker is suspended, ignoring event \"".concat(event.type, "\""));
|
|
225
|
-
this.notifyEvent(
|
|
225
|
+
this.notifyEvent(tslib_1.__assign(tslib_1.__assign({}, eventInfo), { status: 'ignored' }));
|
|
226
226
|
return Promise.reject(new Error('The tracker is suspended.'));
|
|
227
227
|
}
|
|
228
228
|
this.logger.info("Tracked event \"".concat(event.type, "\""));
|
|
@@ -230,11 +230,11 @@ var Tracker = /** @class */ (function () {
|
|
|
230
230
|
return new Promise(function (resolve, reject) {
|
|
231
231
|
var promise = _this.channel.publish(_this.createBeacon(event, timestamp, context)).then(function () {
|
|
232
232
|
_this.logger.debug("Successfully published event \"".concat(event.type, "\""));
|
|
233
|
-
_this.notifyEvent(
|
|
233
|
+
_this.notifyEvent(tslib_1.__assign(tslib_1.__assign({}, eventInfo), { status: 'confirmed' }));
|
|
234
234
|
resolve(event);
|
|
235
235
|
}, function (cause) {
|
|
236
236
|
_this.logger.error("Failed to publish event \"".concat(event.type, "\", reason: ").concat((0, error_1.formatCause)(cause)));
|
|
237
|
-
_this.notifyEvent(
|
|
237
|
+
_this.notifyEvent(tslib_1.__assign(tslib_1.__assign({}, eventInfo), { status: 'failed' }));
|
|
238
238
|
reject(cause);
|
|
239
239
|
});
|
|
240
240
|
_this.pending.push(promise);
|
|
@@ -248,22 +248,22 @@ var Tracker = /** @class */ (function () {
|
|
|
248
248
|
};
|
|
249
249
|
Tracker.prototype.enrichEvent = function (event, timestamp) {
|
|
250
250
|
if ((0, trackingEvents_1.isCartPartialEvent)(event)) {
|
|
251
|
-
var _a = event.cart, _b = _a.lastUpdateTime, lastUpdateTime = _b === void 0 ? timestamp : _b, cart =
|
|
252
|
-
return
|
|
251
|
+
var _a = event.cart, _b = _a.lastUpdateTime, lastUpdateTime = _b === void 0 ? timestamp : _b, cart = tslib_1.__rest(_a, ["lastUpdateTime"]), payload = tslib_1.__rest(event, ["cart"]);
|
|
252
|
+
return tslib_1.__assign(tslib_1.__assign({}, payload), { cart: tslib_1.__assign(tslib_1.__assign({}, cart), { lastUpdateTime: lastUpdateTime }) });
|
|
253
253
|
}
|
|
254
254
|
return event;
|
|
255
255
|
};
|
|
256
256
|
Tracker.prototype.createBeacon = function (event, timestamp, context) {
|
|
257
257
|
var token = this.tokenProvider.getToken();
|
|
258
|
-
return
|
|
258
|
+
return tslib_1.__assign(tslib_1.__assign({ timestamp: timestamp }, (token !== null ? { token: token.toString() } : {})), { context: context, payload: this.enrichBeaconPayload(this.createBeaconPayload(event)) });
|
|
259
259
|
};
|
|
260
260
|
Tracker.prototype.createBeaconPayload = function (event) {
|
|
261
261
|
if (!(0, trackingEvents_1.isIdentifiedUserEvent)(event)) {
|
|
262
262
|
return event;
|
|
263
263
|
}
|
|
264
264
|
if (event.type === 'userSignedUp' && event.profile !== undefined) {
|
|
265
|
-
var userId_1 = event.userId, profile = event.profile, payload_1 =
|
|
266
|
-
return
|
|
265
|
+
var userId_1 = event.userId, profile = event.profile, payload_1 = tslib_1.__rest(event, ["userId", "profile"]);
|
|
266
|
+
return tslib_1.__assign(tslib_1.__assign({}, payload_1), { externalUserId: userId_1, patch: {
|
|
267
267
|
operations: [
|
|
268
268
|
{
|
|
269
269
|
type: 'set',
|
|
@@ -273,13 +273,13 @@ var Tracker = /** @class */ (function () {
|
|
|
273
273
|
],
|
|
274
274
|
} });
|
|
275
275
|
}
|
|
276
|
-
var userId = event.userId, payload =
|
|
277
|
-
return
|
|
276
|
+
var userId = event.userId, payload = tslib_1.__rest(event, ["userId"]);
|
|
277
|
+
return tslib_1.__assign(tslib_1.__assign({}, payload), { externalUserId: userId });
|
|
278
278
|
};
|
|
279
279
|
Tracker.prototype.enrichBeaconPayload = function (event) {
|
|
280
280
|
switch (event.type) {
|
|
281
281
|
case 'linkOpened':
|
|
282
|
-
return
|
|
282
|
+
return tslib_1.__assign(tslib_1.__assign({}, event), { link: new URL(event.link, this.tab.url).toString() });
|
|
283
283
|
default:
|
|
284
284
|
return event;
|
|
285
285
|
}
|
package/trackingEvents.js
CHANGED
|
@@ -19,7 +19,7 @@ exports.cartEventTypes = [
|
|
|
19
19
|
'cartViewed',
|
|
20
20
|
'checkoutStarted',
|
|
21
21
|
];
|
|
22
|
-
exports.ecommerceEventTypes =
|
|
22
|
+
exports.ecommerceEventTypes = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(exports.cartEventTypes), false), [
|
|
23
23
|
'orderPlaced',
|
|
24
24
|
'productViewed',
|
|
25
25
|
], false);
|
|
@@ -28,7 +28,7 @@ exports.identifiedUserEventTypes = [
|
|
|
28
28
|
'userSignedOut',
|
|
29
29
|
'userSignedUp',
|
|
30
30
|
];
|
|
31
|
-
exports.userEventTypes =
|
|
31
|
+
exports.userEventTypes = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(exports.identifiedUserEventTypes), false), [
|
|
32
32
|
'userProfileChanged',
|
|
33
33
|
], false);
|
|
34
34
|
exports.miscEventTypes = [
|
|
@@ -40,7 +40,7 @@ exports.miscEventTypes = [
|
|
|
40
40
|
'eventOccurred',
|
|
41
41
|
'linkOpened',
|
|
42
42
|
];
|
|
43
|
-
exports.eventTypes =
|
|
43
|
+
exports.eventTypes = tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(exports.pageEventTypes), false), tslib_1.__read(exports.ecommerceEventTypes), false), tslib_1.__read(exports.userEventTypes), false), tslib_1.__read(exports.miscEventTypes), false);
|
|
44
44
|
/*
|
|
45
45
|
* Type guards
|
|
46
46
|
*/
|
package/validation/arrayType.js
CHANGED
|
@@ -8,7 +8,7 @@ var ArrayType = /** @class */ (function () {
|
|
|
8
8
|
function ArrayType(definition) {
|
|
9
9
|
if (definition === void 0) { definition = {}; }
|
|
10
10
|
var _a, _b;
|
|
11
|
-
this.definition =
|
|
11
|
+
this.definition = tslib_1.__assign(tslib_1.__assign({}, definition), { minItems: (_a = definition.minItems) !== null && _a !== void 0 ? _a : -1, maxItems: (_b = definition.maxItems) !== null && _b !== void 0 ? _b : -1 });
|
|
12
12
|
}
|
|
13
13
|
ArrayType.prototype.getTypes = function () {
|
|
14
14
|
return ['array'];
|
package/validation/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UnionType = exports.StringType = exports.ObjectType = exports.NumberType = exports.NullType = exports.MixedSchema = exports.JsonPrimitiveType = exports.JsonObjectType = exports.JsonArrayType = exports.JsonType = exports.FunctionType = exports.BooleanType = exports.ArrayType = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./schema"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./violation"), exports);
|
|
7
7
|
var arrayType_1 = require("./arrayType");
|
|
8
8
|
Object.defineProperty(exports, "ArrayType", { enumerable: true, get: function () { return arrayType_1.ArrayType; } });
|
|
9
9
|
var booleanType_1 = require("./booleanType");
|
package/validation/jsonType.js
CHANGED
|
@@ -41,8 +41,8 @@ var JsonObjectType = /** @class */ (function () {
|
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
43
|
try {
|
|
44
|
-
for (var _b =
|
|
45
|
-
var _d =
|
|
44
|
+
for (var _b = tslib_1.__values(Object.entries(value)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
45
|
+
var _d = tslib_1.__read(_c.value, 2), entryName = _d[0], entryValue = _d[1];
|
|
46
46
|
var propertyPath = path.concat([entryName]);
|
|
47
47
|
if (this.definition.propertyNames !== undefined) {
|
|
48
48
|
this.definition.propertyNames.validate(entryName, propertyPath);
|
package/validation/numberType.js
CHANGED
|
@@ -8,7 +8,7 @@ var NumberType = /** @class */ (function () {
|
|
|
8
8
|
function NumberType(definition) {
|
|
9
9
|
if (definition === void 0) { definition = {}; }
|
|
10
10
|
var _a, _b, _c;
|
|
11
|
-
this.definition =
|
|
11
|
+
this.definition = tslib_1.__assign(tslib_1.__assign({}, definition), { integer: (_a = definition.integer) !== null && _a !== void 0 ? _a : false, minimum: (_b = definition.minimum) !== null && _b !== void 0 ? _b : Number.NEGATIVE_INFINITY, maximum: (_c = definition.maximum) !== null && _c !== void 0 ? _c : Number.POSITIVE_INFINITY });
|
|
12
12
|
}
|
|
13
13
|
NumberType.prototype.getTypes = function () {
|
|
14
14
|
return [this.definition.integer ? 'integer' : 'number'];
|
package/validation/objectType.js
CHANGED
|
@@ -9,7 +9,7 @@ var ObjectType = /** @class */ (function () {
|
|
|
9
9
|
function ObjectType(schema) {
|
|
10
10
|
if (schema === void 0) { schema = {}; }
|
|
11
11
|
var _a, _b, _c, _d, _e, _f;
|
|
12
|
-
this.definition =
|
|
12
|
+
this.definition = tslib_1.__assign(tslib_1.__assign({}, schema), { properties: (_a = schema.properties) !== null && _a !== void 0 ? _a : {}, required: (_b = schema.required) !== null && _b !== void 0 ? _b : [], additionalProperties: (_c = schema.additionalProperties) !== null && _c !== void 0 ? _c : false, propertyNames: (_d = schema.propertyNames) !== null && _d !== void 0 ? _d : new mixedSchema_1.MixedSchema(), minProperties: (_e = schema.minProperties) !== null && _e !== void 0 ? _e : -1, maxProperties: (_f = schema.maxProperties) !== null && _f !== void 0 ? _f : -1 });
|
|
13
13
|
}
|
|
14
14
|
ObjectType.prototype.getTypes = function () {
|
|
15
15
|
if (this.definition.type !== undefined) {
|
|
@@ -28,7 +28,7 @@ var ObjectType = /** @class */ (function () {
|
|
|
28
28
|
var e_1, _a, e_2, _b;
|
|
29
29
|
if (path === void 0) { path = []; }
|
|
30
30
|
if (!this.isValidType(value)) {
|
|
31
|
-
var _c =
|
|
31
|
+
var _c = tslib_1.__read(this.getTypes(), 1), type = _c[0];
|
|
32
32
|
throw new schema_1.Violation("Expected value of type ".concat(type, " at path '").concat((0, violation_1.formatPath)(path), "', ")
|
|
33
33
|
+ "actual ".concat((0, violation_1.describe)(value), "."), path, { type: type });
|
|
34
34
|
}
|
|
@@ -44,9 +44,9 @@ var ObjectType = /** @class */ (function () {
|
|
|
44
44
|
+ "".concat(maxProperties, " ").concat(maxProperties === 1 ? 'entry' : 'entries', " ")
|
|
45
45
|
+ "at path '".concat((0, violation_1.formatPath)(path), "', actual ").concat(entries.length, "."), path, { limit: maxProperties });
|
|
46
46
|
}
|
|
47
|
-
var additionalProperties =
|
|
47
|
+
var additionalProperties = tslib_1.__assign({}, value);
|
|
48
48
|
try {
|
|
49
|
-
for (var _e =
|
|
49
|
+
for (var _e = tslib_1.__values(this.definition.required), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
50
50
|
var property = _f.value;
|
|
51
51
|
if (!(property in value)) {
|
|
52
52
|
throw new schema_1.Violation("Missing property '".concat((0, violation_1.formatPath)(path.concat([property])), "'."), path, {
|
|
@@ -63,8 +63,8 @@ var ObjectType = /** @class */ (function () {
|
|
|
63
63
|
finally { if (e_1) throw e_1.error; }
|
|
64
64
|
}
|
|
65
65
|
try {
|
|
66
|
-
for (var entries_1 =
|
|
67
|
-
var _g =
|
|
66
|
+
for (var entries_1 = tslib_1.__values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
|
|
67
|
+
var _g = tslib_1.__read(entries_1_1.value, 2), entryName = _g[0], entryValue = _g[1];
|
|
68
68
|
var propertyPath = path.concat([entryName]);
|
|
69
69
|
this.definition.propertyNames.validate(entryName, propertyPath);
|
|
70
70
|
var propertyRule = this.definition.properties[entryName];
|
package/validation/schema.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Violation = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var Violation = /** @class */ (function (_super) {
|
|
6
|
-
|
|
6
|
+
tslib_1.__extends(Violation, _super);
|
|
7
7
|
function Violation(message, path, params) {
|
|
8
8
|
var _this = _super.call(this, message) || this;
|
|
9
9
|
_this.path = path;
|
package/validation/stringType.js
CHANGED
|
@@ -44,7 +44,7 @@ var StringType = /** @class */ (function () {
|
|
|
44
44
|
function StringType(definition) {
|
|
45
45
|
if (definition === void 0) { definition = {}; }
|
|
46
46
|
var _a, _b, _c;
|
|
47
|
-
this.definition =
|
|
47
|
+
this.definition = tslib_1.__assign(tslib_1.__assign({}, definition), { minLength: (_a = definition.minLength) !== null && _a !== void 0 ? _a : -1, maxLength: (_b = definition.maxLength) !== null && _b !== void 0 ? _b : -1, enumeration: (_c = definition.enumeration) !== null && _c !== void 0 ? _c : [] });
|
|
48
48
|
}
|
|
49
49
|
StringType.prototype.getTypes = function () {
|
|
50
50
|
return ['string'];
|
package/validation/unionType.js
CHANGED
|
@@ -10,16 +10,16 @@ var UnionType = /** @class */ (function () {
|
|
|
10
10
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
11
11
|
others[_i - 2] = arguments[_i];
|
|
12
12
|
}
|
|
13
|
-
this.schemas =
|
|
13
|
+
this.schemas = tslib_1.__spreadArray([first, second], tslib_1.__read(others), false);
|
|
14
14
|
}
|
|
15
15
|
UnionType.prototype.getTypes = function () {
|
|
16
16
|
var e_1, _a, e_2, _b;
|
|
17
17
|
var types = [];
|
|
18
18
|
try {
|
|
19
|
-
for (var _c =
|
|
19
|
+
for (var _c = tslib_1.__values(this.schemas), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
20
20
|
var schema = _d.value;
|
|
21
21
|
try {
|
|
22
|
-
for (var _e = (e_2 = void 0,
|
|
22
|
+
for (var _e = (e_2 = void 0, tslib_1.__values(schema.getTypes())), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
23
23
|
var type = _f.value;
|
|
24
24
|
if (types.indexOf(type) < 0) {
|
|
25
25
|
types.push(type);
|
|
@@ -47,7 +47,7 @@ var UnionType = /** @class */ (function () {
|
|
|
47
47
|
UnionType.prototype.isValidType = function (value) {
|
|
48
48
|
var e_3, _a;
|
|
49
49
|
try {
|
|
50
|
-
for (var _b =
|
|
50
|
+
for (var _b = tslib_1.__values(this.schemas), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
51
51
|
var schema = _c.value;
|
|
52
52
|
if (schema.isValidType(value)) {
|
|
53
53
|
return true;
|
|
@@ -67,7 +67,7 @@ var UnionType = /** @class */ (function () {
|
|
|
67
67
|
var e_4, _a;
|
|
68
68
|
if (path === void 0) { path = []; }
|
|
69
69
|
try {
|
|
70
|
-
for (var _b =
|
|
70
|
+
for (var _b = tslib_1.__values(this.schemas), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
71
71
|
var schema = _c.value;
|
|
72
72
|
if (schema.isValidType(value)) {
|
|
73
73
|
schema.validate(value, path);
|
package/json.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare type JsonPrimitive = string | number | boolean | null;
|
|
2
|
-
export declare type JsonObject = {
|
|
3
|
-
[member: string]: JsonValue;
|
|
4
|
-
};
|
|
5
|
-
export declare type JsonArray = Array<JsonValue>;
|
|
6
|
-
export declare type JsonValue = JsonPrimitive | JsonObject | JsonArray;
|
|
7
|
-
export declare type LenientJsonObject = {
|
|
8
|
-
[member: string]: LenientJsonValue | undefined;
|
|
9
|
-
};
|
|
10
|
-
export declare type LenientJsonArray = Array<JsonValue>;
|
|
11
|
-
export declare type LenientJsonValue = JsonPrimitive | LenientJsonObject | LenientJsonArray;
|
package/json.js
DELETED