@kontent-ai/delivery-sdk 14.6.0 → 14.7.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.
Files changed (47) hide show
  1. package/dist/bundles/kontent-delivery.umd.js +71 -18
  2. package/dist/bundles/kontent-delivery.umd.js.map +1 -1
  3. package/dist/bundles/kontent-delivery.umd.min.js +1 -1
  4. package/dist/bundles/kontent-delivery.umd.min.js.map +1 -1
  5. package/dist/bundles/report.json +1 -1
  6. package/dist/bundles/report.min.json +1 -1
  7. package/dist/bundles/stats.json +3363 -3164
  8. package/dist/bundles/stats.min.json +11143 -10938
  9. package/dist/cjs/mappers/element.mapper.js +6 -5
  10. package/dist/cjs/mappers/element.mapper.js.map +1 -1
  11. package/dist/cjs/mappers/item.mapper.js +7 -5
  12. package/dist/cjs/mappers/item.mapper.js.map +1 -1
  13. package/dist/cjs/sdk-info.generated.js +1 -1
  14. package/dist/cjs/utilities/codename.helper.d.ts +7 -0
  15. package/dist/cjs/utilities/codename.helper.js +14 -0
  16. package/dist/cjs/utilities/codename.helper.js.map +1 -0
  17. package/dist/cjs/utilities/index.d.ts +1 -0
  18. package/dist/cjs/utilities/index.js +1 -0
  19. package/dist/cjs/utilities/index.js.map +1 -1
  20. package/dist/es6/mappers/element.mapper.js +7 -6
  21. package/dist/es6/mappers/element.mapper.js.map +1 -1
  22. package/dist/es6/mappers/item.mapper.js +7 -5
  23. package/dist/es6/mappers/item.mapper.js.map +1 -1
  24. package/dist/es6/sdk-info.generated.js +1 -1
  25. package/dist/es6/utilities/codename.helper.d.ts +7 -0
  26. package/dist/es6/utilities/codename.helper.js +10 -0
  27. package/dist/es6/utilities/codename.helper.js.map +1 -0
  28. package/dist/es6/utilities/index.d.ts +1 -0
  29. package/dist/es6/utilities/index.js +1 -0
  30. package/dist/es6/utilities/index.js.map +1 -1
  31. package/dist/esnext/mappers/element.mapper.js +7 -6
  32. package/dist/esnext/mappers/element.mapper.js.map +1 -1
  33. package/dist/esnext/mappers/item.mapper.js +7 -5
  34. package/dist/esnext/mappers/item.mapper.js.map +1 -1
  35. package/dist/esnext/sdk-info.generated.js +1 -1
  36. package/dist/esnext/utilities/codename.helper.d.ts +7 -0
  37. package/dist/esnext/utilities/codename.helper.js +10 -0
  38. package/dist/esnext/utilities/codename.helper.js.map +1 -0
  39. package/dist/esnext/utilities/index.d.ts +1 -0
  40. package/dist/esnext/utilities/index.js +1 -0
  41. package/dist/esnext/utilities/index.js.map +1 -1
  42. package/lib/mappers/element.mapper.ts +10 -6
  43. package/lib/mappers/item.mapper.ts +8 -5
  44. package/lib/sdk-info.generated.ts +1 -1
  45. package/lib/utilities/codename.helper.ts +10 -0
  46. package/lib/utilities/index.ts +1 -0
  47. package/package.json +12 -12
@@ -566,8 +566,10 @@ function runWithRetryAsync(data) {
566
566
  _http_debugger__WEBPACK_IMPORTED_MODULE_1__.httpDebugger.debugRetryHttpRequest();
567
567
  // wait time before retrying
568
568
  yield new Promise((resolve) => setTimeout(resolve, retryResult.retryInMs));
569
+ if (data.functionsConfig.logErrorsToConsole) {
570
+ console.warn(`Retry attempt '${data.retryAttempt + 1}' from a maximum of '${retryResult.maxRetries}' retries. Request url: '${data.url}'`);
571
+ }
569
572
  // retry request
570
- console.warn(`Retry attempt '${data.retryAttempt + 1}' from a maximum of '${retryResult.maxRetries}' retries. Request url: '${data.url}'`);
571
573
  return yield runWithRetryAsync({
572
574
  call: data.call,
573
575
  retryStrategy: data.retryStrategy,
@@ -1689,7 +1691,7 @@ class ElementMapper {
1689
1691
  }
1690
1692
  mapElements(data) {
1691
1693
  // return processed item to avoid infinite recursion
1692
- const processedItem = data.processedItems[data.dataToMap.item.system.codename];
1694
+ const processedItem = data.processedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(data.dataToMap.item.system.codename)];
1693
1695
  if (processedItem) {
1694
1696
  // item was already resolved
1695
1697
  return {
@@ -1699,7 +1701,7 @@ class ElementMapper {
1699
1701
  processingStartedForCodenames: data.processingStartedForCodenames
1700
1702
  };
1701
1703
  }
1702
- const preparedItem = data.preparedItems[data.dataToMap.item.system.codename];
1704
+ const preparedItem = data.preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(data.dataToMap.item.system.codename)];
1703
1705
  const itemInstance = preparedItem === null || preparedItem === void 0 ? void 0 : preparedItem.item;
1704
1706
  if (!itemInstance) {
1705
1707
  // item is not present in response
@@ -1925,13 +1927,14 @@ class ElementMapper {
1925
1927
  return Object.assign(Object.assign({}, this.buildElement(data.elementWrapper, elements_1.ElementType.ModularContent, () => linkedItemCodenames)), { linkedItems: linkedItems });
1926
1928
  }
1927
1929
  getOrSaveLinkedItemForElement(codename, element, processedItems, mappingStartedForCodenames, preparedItems) {
1930
+ const escapedCodename = utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(codename);
1928
1931
  // first check if item was already resolved and return it if it was
1929
- const processedItem = processedItems[codename];
1932
+ const processedItem = processedItems[escapedCodename];
1930
1933
  if (processedItem) {
1931
1934
  // item was already resolved
1932
1935
  return processedItem;
1933
1936
  }
1934
- const preparedItem = preparedItems[codename];
1937
+ const preparedItem = preparedItems[escapedCodename];
1935
1938
  if (mappingStartedForCodenames.includes(codename)) {
1936
1939
  return preparedItem === null || preparedItem === void 0 ? void 0 : preparedItem.item;
1937
1940
  }
@@ -1951,7 +1954,7 @@ class ElementMapper {
1951
1954
  if (mappedLinkedItemResult) {
1952
1955
  mappedLinkedItem = mappedLinkedItemResult.item;
1953
1956
  // add to processed items
1954
- processedItems[codename] = mappedLinkedItem;
1957
+ processedItems[escapedCodename] = mappedLinkedItem;
1955
1958
  }
1956
1959
  return mappedLinkedItem;
1957
1960
  }
@@ -2108,6 +2111,7 @@ __exportStar(__webpack_require__(/*! ./sync.mapper */ "./lib/mappers/sync.mapper
2108
2111
 
2109
2112
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2110
2113
  exports.ItemMapper = void 0;
2114
+ const utilities_1 = __webpack_require__(/*! ../utilities */ "./lib/utilities/index.ts");
2111
2115
  const element_mapper_1 = __webpack_require__(/*! ./element.mapper */ "./lib/mappers/element.mapper.ts");
2112
2116
  class ItemMapper {
2113
2117
  constructor(config) {
@@ -2153,29 +2157,30 @@ class ItemMapper {
2153
2157
  const itemsToResolve = [...data.mainItems, ...data.linkedItems];
2154
2158
  // first prepare reference for all items
2155
2159
  for (const item of itemsToResolve) {
2156
- preparedItems[item.system.codename] = {
2160
+ preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(item.system.codename)] = {
2157
2161
  item: this.createContentItem(item),
2158
2162
  rawItem: item
2159
2163
  };
2160
2164
  }
2161
- // then resolve items
2165
+ // then resolve main items
2162
2166
  for (const item of data.mainItems) {
2163
2167
  const itemResult = this.mapItem({
2164
- item: preparedItems[item.system.codename],
2168
+ item: preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(item.system.codename)],
2165
2169
  processedItems: processedItems,
2166
2170
  preparedItems: preparedItems,
2167
2171
  processingStartedForCodenames: processingStartedForCodenames
2168
2172
  });
2169
2173
  mappedMainItems.push(itemResult.item);
2170
2174
  }
2175
+ // and linked items
2171
2176
  for (const item of data.linkedItems) {
2172
2177
  const itemResult = this.mapItem({
2173
- item: preparedItems[item.system.codename],
2178
+ item: preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(item.system.codename)],
2174
2179
  processedItems: processedItems,
2175
2180
  preparedItems: preparedItems,
2176
2181
  processingStartedForCodenames: processingStartedForCodenames
2177
2182
  });
2178
- mappedLinkedItems[item.system.codename] = itemResult.item;
2183
+ mappedLinkedItems[(item.system.codename)] = itemResult.item;
2179
2184
  }
2180
2185
  return {
2181
2186
  items: mappedMainItems,
@@ -5400,7 +5405,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
5400
5405
  exports.sdkInfo = void 0;
5401
5406
  exports.sdkInfo = {
5402
5407
  host: 'npmjs.com',
5403
- version: '14.6.0',
5408
+ version: '14.7.0',
5404
5409
  name: '@kontent-ai/delivery-sdk'
5405
5410
  };
5406
5411
 
@@ -6095,6 +6100,29 @@ class MappingService {
6095
6100
  exports.MappingService = MappingService;
6096
6101
 
6097
6102
 
6103
+ /***/ }),
6104
+
6105
+ /***/ "./lib/utilities/codename.helper.ts":
6106
+ /*!******************************************!*\
6107
+ !*** ./lib/utilities/codename.helper.ts ***!
6108
+ \******************************************/
6109
+ /***/ ((__unused_webpack_module, exports) => {
6110
+
6111
+
6112
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
6113
+ exports.codenameHelper = exports.CodenameHelper = void 0;
6114
+ class CodenameHelper {
6115
+ /**
6116
+ * This is used to prevent errors caused by reserved names in content item codename (e.g. 'constructor')
6117
+ */
6118
+ escapeCodenameInCodenameIndexer(codename) {
6119
+ return `_${codename}`;
6120
+ }
6121
+ }
6122
+ exports.CodenameHelper = CodenameHelper;
6123
+ exports.codenameHelper = new CodenameHelper();
6124
+
6125
+
6098
6126
  /***/ }),
6099
6127
 
6100
6128
  /***/ "./lib/utilities/delivery-url.helper.ts":
@@ -6234,6 +6262,7 @@ __exportStar(__webpack_require__(/*! ./guid.helper */ "./lib/utilities/guid.help
6234
6262
  __exportStar(__webpack_require__(/*! ./delivery-url.helper */ "./lib/utilities/delivery-url.helper.ts"), exports);
6235
6263
  __exportStar(__webpack_require__(/*! ./text.helper */ "./lib/utilities/text.helper.ts"), exports);
6236
6264
  __exportStar(__webpack_require__(/*! ./enum.helper */ "./lib/utilities/enum.helper.ts"), exports);
6265
+ __exportStar(__webpack_require__(/*! ./codename.helper */ "./lib/utilities/codename.helper.ts"), exports);
6237
6266
 
6238
6267
 
6239
6268
  /***/ }),
@@ -8640,7 +8669,31 @@ class Axios {
8640
8669
  *
8641
8670
  * @returns {Promise} The Promise to be fulfilled
8642
8671
  */
8643
- request(configOrUrl, config) {
8672
+ async request(configOrUrl, config) {
8673
+ try {
8674
+ return await this._request(configOrUrl, config);
8675
+ } catch (err) {
8676
+ if (err instanceof Error) {
8677
+ let dummy;
8678
+
8679
+ Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());
8680
+
8681
+ // slice off the Error: ... line
8682
+ const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : '';
8683
+
8684
+ if (!err.stack) {
8685
+ err.stack = stack;
8686
+ // match without the 2 top stack lines
8687
+ } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) {
8688
+ err.stack += '\n' + stack
8689
+ }
8690
+ }
8691
+
8692
+ throw err;
8693
+ }
8694
+ }
8695
+
8696
+ _request(configOrUrl, config) {
8644
8697
  /*eslint no-param-reassign:0*/
8645
8698
  // Allow for axios('example/url'[, config]) a la fetch API
8646
8699
  if (typeof configOrUrl === 'string') {
@@ -9740,9 +9793,6 @@ const defaults = {
9740
9793
  const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data);
9741
9794
 
9742
9795
  if (isFormData) {
9743
- if (!hasJSONContentType) {
9744
- return data;
9745
- }
9746
9796
  return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data;
9747
9797
  }
9748
9798
 
@@ -9881,7 +9931,7 @@ __webpack_require__.r(__webpack_exports__);
9881
9931
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9882
9932
  /* harmony export */ VERSION: () => (/* binding */ VERSION)
9883
9933
  /* harmony export */ });
9884
- const VERSION = "1.6.2";
9934
+ const VERSION = "1.6.7";
9885
9935
 
9886
9936
  /***/ }),
9887
9937
 
@@ -10165,7 +10215,7 @@ __webpack_require__.r(__webpack_exports__);
10165
10215
  */
10166
10216
  function combineURLs(baseURL, relativeURL) {
10167
10217
  return relativeURL
10168
- ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
10218
+ ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '')
10169
10219
  : baseURL;
10170
10220
  }
10171
10221
 
@@ -10292,6 +10342,9 @@ function arrayToObject(arr) {
10292
10342
  function formDataToJSON(formData) {
10293
10343
  function buildPath(path, value, target, index) {
10294
10344
  let name = path[index++];
10345
+
10346
+ if (name === '__proto__') return true;
10347
+
10295
10348
  const isNumericKey = Number.isFinite(+name);
10296
10349
  const isLast = index >= path.length;
10297
10350
  name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name;