@builder.io/sdk 3.0.2-2 → 3.0.3
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/.yarnrc.yml +1 -0
- package/CHANGELOG.md +13 -0
- package/dist/index.browser.js +71 -18
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs.js +71 -18
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +71 -18
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +13 -49
- package/dist/index.umd.js +71 -18
- package/dist/index.umd.js.map +1 -1
- package/dist/package.json +1 -3
- package/dist/src/builder.class.d.ts +7 -0
- package/dist/src/builder.class.js +70 -17
- package/dist/src/builder.class.js.map +1 -1
- package/dist/src/builder.class.test.js +757 -170
- package/dist/src/builder.class.test.js.map +1 -1
- package/dist/src/classes/animator.class.js +195 -218
- package/dist/src/classes/observable.class.js +97 -102
- package/dist/src/classes/promise.class.js +154 -150
- package/dist/src/classes/query-string.class.js +74 -73
- package/dist/src/classes/query-string.class.test.js +20 -20
- package/dist/src/constants/builder.js +4 -4
- package/dist/src/functions/assign.function.js +19 -19
- package/dist/src/functions/fetch.function.js +75 -97
- package/dist/src/functions/finder.function.js +274 -389
- package/dist/src/functions/next-tick.function.js +23 -26
- package/dist/src/functions/omit.function.js +13 -13
- package/dist/src/functions/server-only-require.function.js +9 -10
- package/dist/src/functions/throttle.function.js +37 -35
- package/dist/src/functions/to-error.js +6 -5
- package/dist/src/functions/uuid.js +8 -9
- package/dist/src/types/api-version.js +3 -3
- package/dist/src/types/content.js +3 -3
- package/dist/src/types/element.js +3 -3
- package/dist/src/url.js +42 -41
- package/dist/src/url.test.js +118 -222
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -6
- package/dist/src/functions/get-top-level-domain.d.ts +0 -6
- package/dist/src/functions/get-top-level-domain.js +0 -17
- package/dist/src/functions/get-top-level-domain.js.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -126,7 +126,7 @@ function assertAllowedPropertyName(name) {
|
|
|
126
126
|
throw new Error("Property name \"".concat(name, "\" is not allowed"));
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
var version = "3.0.
|
|
129
|
+
var version = "3.0.3";
|
|
130
130
|
|
|
131
131
|
var Subscription = /** @class */ (function () {
|
|
132
132
|
function Subscription(listeners, listener) {
|
|
@@ -1208,6 +1208,17 @@ var Builder = /** @class */ (function () {
|
|
|
1208
1208
|
this.setTestsFromUrl();
|
|
1209
1209
|
// TODO: do this on every request send?
|
|
1210
1210
|
this.getOverridesFromQueryString();
|
|
1211
|
+
// cookies used in personalization container script, so need to set before hydration to match script result
|
|
1212
|
+
var userAttrCookie = this.getCookie(Builder.attributesCookieName);
|
|
1213
|
+
if (userAttrCookie) {
|
|
1214
|
+
try {
|
|
1215
|
+
var attributes = JSON.parse(userAttrCookie);
|
|
1216
|
+
this.setUserAttributes(attributes);
|
|
1217
|
+
}
|
|
1218
|
+
catch (err) {
|
|
1219
|
+
console.debug('Error parsing user attributes cookie', err);
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1211
1222
|
}
|
|
1212
1223
|
}
|
|
1213
1224
|
Builder.register = function (type, info) {
|
|
@@ -2097,12 +2108,9 @@ var Builder = /** @class */ (function () {
|
|
|
2097
2108
|
};
|
|
2098
2109
|
Builder.prototype.setUserAttributes = function (options) {
|
|
2099
2110
|
assign(Builder.overrideUserAttributes, options);
|
|
2100
|
-
|
|
2111
|
+
if (this.canTrack) {
|
|
2101
2112
|
this.setCookie(Builder.attributesCookieName, JSON.stringify(this.getUserAttributes()));
|
|
2102
2113
|
}
|
|
2103
|
-
catch (_a) {
|
|
2104
|
-
// Ignore
|
|
2105
|
-
}
|
|
2106
2114
|
this.userAttributesChanged.next(options);
|
|
2107
2115
|
};
|
|
2108
2116
|
/**
|
|
@@ -2270,6 +2278,26 @@ var Builder = /** @class */ (function () {
|
|
|
2270
2278
|
enumerable: false,
|
|
2271
2279
|
configurable: true
|
|
2272
2280
|
});
|
|
2281
|
+
Builder.prototype.makeFetchApiCall = function (url, requestOptions) {
|
|
2282
|
+
return getFetch()(url, requestOptions);
|
|
2283
|
+
};
|
|
2284
|
+
Builder.prototype.flattenMongoQuery = function (obj, _current, _res) {
|
|
2285
|
+
if (_res === void 0) { _res = {}; }
|
|
2286
|
+
for (var key in obj) {
|
|
2287
|
+
var value = obj[key];
|
|
2288
|
+
var newKey = _current ? _current + '.' + key : key;
|
|
2289
|
+
if (value &&
|
|
2290
|
+
typeof value === 'object' &&
|
|
2291
|
+
!Array.isArray(value) &&
|
|
2292
|
+
!Object.keys(value).find(function (item) { return item.startsWith('$'); })) {
|
|
2293
|
+
this.flattenMongoQuery(value, newKey, _res);
|
|
2294
|
+
}
|
|
2295
|
+
else {
|
|
2296
|
+
_res[newKey] = value;
|
|
2297
|
+
}
|
|
2298
|
+
}
|
|
2299
|
+
return _res;
|
|
2300
|
+
};
|
|
2273
2301
|
Builder.prototype.flushGetContentQueue = function (usePastQueue, useQueue) {
|
|
2274
2302
|
var _this = this;
|
|
2275
2303
|
if (usePastQueue === void 0) { usePastQueue = false; }
|
|
@@ -2288,6 +2316,7 @@ var Builder = /** @class */ (function () {
|
|
|
2288
2316
|
return;
|
|
2289
2317
|
}
|
|
2290
2318
|
var queue = useQueue || (usePastQueue ? this.priorContentQueue : this.getContentQueue) || [];
|
|
2319
|
+
var apiEndpoint = queue[0].apiEndpoint || 'query';
|
|
2291
2320
|
// TODO: do this on every request send?
|
|
2292
2321
|
this.getOverridesFromQueryString();
|
|
2293
2322
|
var queryParams = tslib.__assign(tslib.__assign({
|
|
@@ -2364,8 +2393,9 @@ var Builder = /** @class */ (function () {
|
|
|
2364
2393
|
}
|
|
2365
2394
|
for (var _i = 0, queue_2 = queue; _i < queue_2.length; _i++) {
|
|
2366
2395
|
var options = queue_2[_i];
|
|
2367
|
-
|
|
2368
|
-
|
|
2396
|
+
var format_1 = options.format;
|
|
2397
|
+
if (format_1) {
|
|
2398
|
+
queryParams.format = format_1;
|
|
2369
2399
|
}
|
|
2370
2400
|
// TODO: remove me and make permodel
|
|
2371
2401
|
if (options.static) {
|
|
@@ -2396,9 +2426,14 @@ var Builder = /** @class */ (function () {
|
|
|
2396
2426
|
var key = properties_1[_a];
|
|
2397
2427
|
var value = options[key];
|
|
2398
2428
|
if (value !== undefined) {
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2429
|
+
if (apiEndpoint === 'query') {
|
|
2430
|
+
queryParams.options = queryParams.options || {};
|
|
2431
|
+
queryParams.options[options.key] = queryParams.options[options.key] || {};
|
|
2432
|
+
queryParams.options[options.key][key] = JSON.stringify(value);
|
|
2433
|
+
}
|
|
2434
|
+
else {
|
|
2435
|
+
queryParams[key] = JSON.stringify(value);
|
|
2436
|
+
}
|
|
2402
2437
|
}
|
|
2403
2438
|
}
|
|
2404
2439
|
}
|
|
@@ -2413,18 +2448,36 @@ var Builder = /** @class */ (function () {
|
|
|
2413
2448
|
var params = omit(QueryString.parse(this.overrideParams), 'apiKey');
|
|
2414
2449
|
assign(queryParams, params);
|
|
2415
2450
|
}
|
|
2416
|
-
var queryStr = QueryString.stringifyDeep(queryParams);
|
|
2417
2451
|
var format = queryParams.format;
|
|
2452
|
+
var isApiCallForCodegen = format === 'solid' || format === 'react';
|
|
2453
|
+
var isApiCallForCodegenOrQuery = isApiCallForCodegen || apiEndpoint === 'query';
|
|
2454
|
+
if (apiEndpoint === 'content') {
|
|
2455
|
+
queryParams.enrich = true;
|
|
2456
|
+
if (queue[0].query) {
|
|
2457
|
+
var flattened = this.flattenMongoQuery({ query: queue[0].query });
|
|
2458
|
+
for (var key in flattened) {
|
|
2459
|
+
queryParams[key] = flattened[key];
|
|
2460
|
+
}
|
|
2461
|
+
delete queryParams.query;
|
|
2462
|
+
}
|
|
2463
|
+
}
|
|
2464
|
+
var queryStr = QueryString.stringifyDeep(queryParams);
|
|
2418
2465
|
var requestOptions = { headers: {} };
|
|
2419
2466
|
if (this.authToken) {
|
|
2420
2467
|
requestOptions.headers = tslib.__assign(tslib.__assign({}, requestOptions.headers), { Authorization: "Bearer ".concat(this.authToken) });
|
|
2421
2468
|
}
|
|
2422
|
-
var
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2469
|
+
var url;
|
|
2470
|
+
if (isApiCallForCodegen) {
|
|
2471
|
+
url = "".concat(host, "/api/v1/codegen/").concat(this.apiKey, "/").concat(keyNames);
|
|
2472
|
+
}
|
|
2473
|
+
else if (apiEndpoint === 'query') {
|
|
2474
|
+
url = "".concat(host, "/api/v3/query/").concat(this.apiKey, "/").concat(keyNames);
|
|
2475
|
+
}
|
|
2476
|
+
else {
|
|
2477
|
+
url = "".concat(host, "/api/v3/content/").concat(queue[0].model);
|
|
2478
|
+
}
|
|
2479
|
+
url = url + (queryParams && hasParams ? "?".concat(queryStr) : '');
|
|
2480
|
+
var promise = this.makeFetchApiCall(url, requestOptions)
|
|
2428
2481
|
.then(function (res) { return res.json(); })
|
|
2429
2482
|
.then(function (result) {
|
|
2430
2483
|
for (var _i = 0, queue_3 = queue; _i < queue_3.length; _i++) {
|
|
@@ -2442,7 +2495,7 @@ var Builder = /** @class */ (function () {
|
|
|
2442
2495
|
if (!observer) {
|
|
2443
2496
|
return;
|
|
2444
2497
|
}
|
|
2445
|
-
var data = result[keyName];
|
|
2498
|
+
var data = isApiCallForCodegenOrQuery ? result[keyName] : result.results;
|
|
2446
2499
|
var sorted = data; // sortBy(data, item => item.priority);
|
|
2447
2500
|
if (data) {
|
|
2448
2501
|
var testModifiedResults = Builder.isServer
|