contentstack
Version:
Contentstack Javascript SDK
1,474 lines (1,405 loc) • 158 kB
JavaScript
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 241
(__unused_webpack_module, exports) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var config = {
protocol: "https",
host: "cdn.contentstack.io",
port: 443,
version: "v3",
urls: {
sync: "/stacks/sync",
content_types: "/content_types/",
entries: "/entries/",
assets: "/assets/",
environments: "/environments/",
taxonomies: "/taxonomies/entries"
},
live_preview: {
enable: false,
host: 'rest-preview.contentstack.com'
}
};
var _default = exports["default"] = config;
/***/ },
/***/ 285
(__unused_webpack_module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _localstorage = _interopRequireDefault(__webpack_require__(641));
var _messages = _interopRequireDefault(__webpack_require__(174));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
var CacheProvider = {};
CacheProvider.providers = function (provider) {
if (provider) {
return _localstorage["default"];
} else {
console.error(_messages["default"].CACHE_PROVIDER_MISSING);
}
};
CacheProvider.policies = {
IGNORE_CACHE: -1,
ONLY_NETWORK: 0,
CACHE_ELSE_NETWORK: 1,
NETWORK_ELSE_CACHE: 2,
CACHE_THEN_NETWORK: 3
};
var _default = exports["default"] = CacheProvider;
/***/ },
/***/ 641
(__unused_webpack_module, exports, __webpack_require__) {
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var cache = _interopRequireWildcard(__webpack_require__(94));
function _interopRequireWildcard(e, t) {
if ("function" == typeof WeakMap) var r = new WeakMap(),
n = new WeakMap();
return (_interopRequireWildcard = function _interopRequireWildcard(e, t) {
if (!t && e && e.__esModule) return e;
var o,
i,
f = {
__proto__: null,
"default": e
};
if (null === e || "object" != _typeof(e) && "function" != typeof e) return f;
if (o = t ? n : r) {
if (o.has(e)) return o.get(e);
o.set(e, f);
}
for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]);
return f;
})(e, t);
}
var localStorage = {}; // eslint-disable-line
localStorage.get = function (key, callback) {
try {
callback(null, cache.get(key));
} catch (e) {
callback(e);
}
};
localStorage.set = function (key, value, callback) {
try {
if (key && value) cache.set(key, value);
callback();
} catch (e) {
callback(e);
}
};
function clearValuesForKey(keyArray, append) {
if (!append && keyArray && keyArray.length) keyArray.push('');
var _key;
var keys = cache.getKeys();
var storage = cache.getStorage();
if (!keyArray || !keyArray.length) {
for (var i = 0, _i = keys.length; i < _i; i++) {
delete storage[keys[i]];
}
} else {
_key = keyArray.join('.');
for (var _i2 = 0, _i3 = keys.length; _i2 < _i3; _i2++) {
if (keys[_i2] && keys[_i2].indexOf(_key) === 0) delete storage[keys[_i2]];
}
}
}
localStorage.clearByContentType = function () {
try {
if (arguments.length === 2 || arguments.length === 3) {
var args = Array.prototype.slice.call(arguments);
var _callback = args.splice(-1, 1).pop();
var valueArray = [];
valueArray.push.apply(valueArray, args);
clearValuesForKey(valueArray);
_callback();
}
} catch (e) {
callback(e);
}
};
localStorage.clearByQuery = function (query, callback) {
try {
var keys = cache.getKeys();
var storage = cache.getStorage();
for (var i = 0, _i = keys.length; i < _i; i++) {
if (keys[i] && ~keys[i].indexOf(query)) delete storage[keys[i]];
}
callback();
} catch (e) {
callback(e);
}
};
localStorage.clearAll = function (callback) {
try {
clearValuesForKey();
callback();
} catch (e) {
callback(e);
}
};
var _default = exports["default"] = localStorage;
/***/ },
/***/ 94
(__unused_webpack_module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.get = get;
exports.getKeys = getKeys;
exports.getStorage = getStorage;
exports.set = set;
var _localstorage = _interopRequireDefault(__webpack_require__(880));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
function get(key) {
var data = _localstorage["default"].getItem(key);
try {
data = JSON.parse(data);
} catch (e) {
return data;
}
return data || null;
}
function set(key, data) {
try {
if (_typeof(data) === 'object') {
_localstorage["default"].setItem(key, JSON.stringify(data));
} else {
_localstorage["default"].setItem(key, data);
}
} catch (error) {}
}
function getStorage() {
return _localstorage["default"] || null;
}
function getKeys() {
return _localstorage["default"] ? Object.keys(_localstorage["default"]) : [];
}
/***/ },
/***/ 949
(module, __unused_webpack_exports, __webpack_require__) {
var _stack = _interopRequireDefault(__webpack_require__(348));
var _index = _interopRequireDefault(__webpack_require__(285));
var _contentstackregion = _interopRequireDefault(__webpack_require__(697));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
function _createForOfIteratorHelper(r, e) {
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (!t) {
if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
t && (r = t);
var _n = 0,
F = function F() {};
return {
s: F,
n: function n() {
return _n >= r.length ? {
done: !0
} : {
done: !1,
value: r[_n++]
};
},
e: function e(r) {
throw r;
},
f: F
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var o,
a = !0,
u = !1;
return {
s: function s() {
t = t.call(r);
},
n: function n() {
var r = t.next();
return a = r.done, r;
},
e: function e(r) {
u = !0, o = r;
},
f: function f() {
try {
a || null == t["return"] || t["return"]();
} finally {
if (u) throw o;
}
}
};
}
function _unsupportedIterableToArray(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
}
}
function _arrayLikeToArray(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
_defineProperty(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function _construct(t, e, r) {
if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
var o = [null];
o.push.apply(o, e);
var p = new (t.bind.apply(t, o))();
return r && _setPrototypeOf(p, r.prototype), p;
}
function _setPrototypeOf(t, e) {
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
return t.__proto__ = e, t;
}, _setPrototypeOf(t, e);
}
function _isNativeReflectConstruct() {
try {
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
} catch (t) {}
return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
return !!t;
})();
}
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);
}
}
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
writable: !1
}), e;
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == _typeof(i) ? i : i + "";
}
function _toPrimitive(t, r) {
if ("object" != _typeof(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
/**
* @class Contentstack
* @description Creates an instance of `Contentstack`.
* @instance
*/
var Contentstack = /*#__PURE__*/function () {
function Contentstack() {
_classCallCheck(this, Contentstack);
/**
* @memberOf Contentstack
* @description CachePolicy contains different cache policies constants.
* @example
* Contentstack.CachePolicy.IGNORE_CACHE
* Contentstack.CachePolicy.ONLY_NETWORK
* Contentstack.CachePolicy.CACHE_ELSE_NETWORK
* Contentstack.CachePolicy.NETWORK_ELSE_CACHE
* Contentstack.CachePolicy.CACHE_THEN_NETWORK
*/
this.CachePolicy = _index["default"].policies;
this.Region = _contentstackregion["default"];
this.Utils = __webpack_require__(253);
}
/**
* @memberOf Contentstack
*/
return _createClass(Contentstack, [{
key: "Stack",
value: function Stack() {
for (var _len = arguments.length, stack_arguments = new Array(_len), _key = 0; _key < _len; _key++) {
stack_arguments[_key] = arguments[_key];
}
return _construct(_stack["default"], stack_arguments);
}
}, {
key: "updateAssetURL",
value: function updateAssetURL(entry) {
// check if entry consist of _embedded_items object
if (entry._embedded_items == undefined) {
throw new Error('_embedded_items not present in entry. Call includeEmbeddedItems() before fetching entry.');
}
// Iterate through each object in _embedded_items and update the asset link
var _loop = function _loop(key) {
var embedded_item = entry._embedded_items[key];
if (Array.isArray(embedded_item)) {
embedded_item.forEach(function (item) {
if (item._content_type_uid == 'sys_assets' && item.filename) {
var correspondingAsset;
var _x = function x(children) {
for (var i = 0; i < children.length; i++) {
if (children[i].children && children[i].children.length) {
_x(children[i].children);
}
if (children[i].attrs && children[i].attrs['asset-uid'] === item.uid) {
correspondingAsset = children[i].attrs;
return;
}
}
};
var _entry = _objectSpread({}, entry);
var keys = key.split('.');
var unsafeKeys = new Set(['__proto__', 'constructor', 'prototype']);
var _iterator = _createForOfIteratorHelper(keys),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var k = _step.value;
// Ensure key is safe before accessing it
if (unsafeKeys.has(k)) continue;
if (_entry && _typeof(_entry) === 'object' && _entry !== null && Object.prototype.hasOwnProperty.call(_entry, k)) {
var newEntry = _entry[k];
if (_typeof(newEntry) === 'object' && newEntry !== null) {
_entry = newEntry;
}
} else if (Array.isArray(_entry)) {
var _iterator2 = _createForOfIteratorHelper(_entry),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var block = _step2.value;
if (block && _typeof(block) === 'object' && Object.prototype.hasOwnProperty.call(block, k)) {
_entry = block[k];
}
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
if (_entry.children) _x(_entry.children);
if (correspondingAsset) {
correspondingAsset.href = item.url;
}
}
});
}
};
for (var key in entry._embedded_items) {
_loop(key);
}
}
}]);
}();
module.exports = new Contentstack();
/***/ },
/***/ 697
(__unused_webpack_module, exports) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var ContentstackRegion = {
EU: 'eu',
US: 'us',
AU: 'au',
AZURE_NA: 'azure-na',
AZURE_EU: 'azure-eu',
GCP_NA: 'gcp-na',
GCP_EU: 'gcp-eu'
};
var _default = exports["default"] = ContentstackRegion;
/***/ },
/***/ 185
(__unused_webpack_module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = Request;
var Utils = _interopRequireWildcard(__webpack_require__(925));
var _http = _interopRequireDefault(__webpack_require__(940));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
function _interopRequireWildcard(e, t) {
if ("function" == typeof WeakMap) var r = new WeakMap(),
n = new WeakMap();
return (_interopRequireWildcard = function _interopRequireWildcard(e, t) {
if (!t && e && e.__esModule) return e;
var o,
i,
f = {
__proto__: null,
"default": e
};
if (null === e || "object" != _typeof(e) && "function" != typeof e) return f;
if (o = t ? n : r) {
if (o.has(e)) return o.get(e);
o.set(e, f);
}
for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]);
return f;
})(e, t);
}
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
// JS SDK version
var version = '3.27.0';
function Request(stack, fetchOptions) {
var requestParams = stack.requestParams;
return new Promise(function (resolve, reject) {
var queryParams;
var params = new URLSearchParams();
var _serialize = function serialize(obj, prefix) {
if (_typeof(obj) === 'object' && obj.length !== undefined) {
for (var i = 0, _i = obj.length; i < _i; i++) {
params.append(prefix + '[]', obj[i]);
}
} else {
for (var p in obj) {
var k = prefix ? prefix + '[' + p + ']' : p;
var v = obj[p];
v !== null && _typeof(v) === 'object' && p !== 'query' ? _serialize(v, k) : params.append(k, p !== 'query' ? v : JSON.stringify(v));
}
}
return params.toString();
};
// setting headers
requestParams.headers['Content-Type'] = 'application/json; charset=UTF-8';
requestParams.headers['X-User-Agent'] = 'contentstack-delivery-javascript-nodejs/' + version;
if (requestParams.body && _typeof(requestParams.body) === 'object') {
delete requestParams.body._method;
if (_typeof(requestParams.body.query) === 'object' && Object.keys(requestParams.body.query).length === 0) delete requestParams.body.query;
queryParams = _serialize(requestParams.body);
}
return fetchRetry(stack, queryParams, fetchOptions, resolve, reject, fetchOptions.retryDelay, fetchOptions.retryLimit);
});
}
function wait(retryDelay) {
return new Promise(function (resolve) {
setTimeout(resolve, retryDelay);
});
}
function fetchRetry(stack, queryParams, fetchOptions, resolve, reject) {
var retryDelay = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 300;
var retryLimit = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 5;
var requestParams = stack.requestParams;
var url = requestParams.url + '?' + queryParams;
var headers = requestParams.headers;
var option = Utils.mergeDeep({
method: 'GET',
headers: headers,
timeout: 30000
}, fetchOptions);
function onError(error) {
if (retryLimit === 0) {
if (fetchOptions.debug) fetchOptions.logHandler('error', error);
reject(error);
} else {
var msDelay = retryDelay;
retryLimit = retryLimit - 1;
var retryCount = fetchOptions.retryLimit - retryLimit;
if (fetchOptions.retryDelayOptions) {
if (fetchOptions.retryDelayOptions.base) {
msDelay = fetchOptions.retryDelayOptions.base * retryCount;
} else if (fetchOptions.retryDelayOptions.customBackoff) {
msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);
}
}
wait(msDelay).then(function () {
return fetchRetry(stack, queryParams, fetchOptions, resolve, reject, retryDelay, retryLimit);
})["catch"](function () {
return fetchRetry(stack, queryParams, fetchOptions, resolve, reject, retryDelay, retryLimit);
});
}
}
if (fetchOptions.debug) fetchOptions.logHandler('info', {
url: url,
option: option
});
var request = {
url: url,
option: option
};
var plugins = stack.plugins;
if (plugins && plugins !== undefined) {
for (var index = 0; index < plugins.length; index++) {
if (typeof plugins[index].onRequest === 'function') {
request = plugins[index].onRequest(stack, request);
}
}
}
(0, _http["default"])(request.url, request.option).then(function (response) {
if (fetchOptions.debug) fetchOptions.logHandler('info', response);
var data = response.json();
if (response.ok && response.status === 200) {
data.then(function (json) {
for (var _index = 0; _index < plugins.length && typeof plugins[_index].onResponse === 'function'; _index++) {
json = plugins[_index].onResponse(stack, request, response, json);
}
resolve(json);
})["catch"](function (err) {
if (fetchOptions.debug) fetchOptions.logHandler('error', err);
var isSocketOrAbort = err && (err.message === 'terminated' || err.cause && (err.cause.code === 'UND_ERR_SOCKET' || err.cause.code === 'UND_ERR_ABORTED'));
if (isSocketOrAbort && retryLimit > 0) {
onError(err);
} else {
reject(err);
}
});
} else {
var status = response.status,
statusText = response.statusText;
data.then(function (json) {
var error_message = json.error_message,
error_code = json.error_code,
errors = json.errors;
var errorDetails = {
error_message: error_message,
error_code: error_code,
errors: errors,
status: status,
statusText: statusText
};
if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {
onError(errorDetails);
} else {
if (fetchOptions.debug) fetchOptions.logHandler('error', errorDetails);
reject(errorDetails);
}
})["catch"](function (err) {
if (fetchOptions.debug) fetchOptions.logHandler('error', err);
var isSocketOrAbort = err && (err.message === 'terminated' || err.cause && (err.cause.code === 'UND_ERR_SOCKET' || err.cause.code === 'UND_ERR_ABORTED'));
if (isSocketOrAbort && retryLimit > 0) {
onError(err);
} else {
reject(err || {
status: status,
statusText: statusText
});
}
});
}
})["catch"](function (error) {
if (fetchOptions.debug) fetchOptions.logHandler('error', error);
var isSocketOrAbort = error && (error.message === 'terminated' || error.cause && (error.cause.code === 'UND_ERR_SOCKET' || error.cause.code === 'UND_ERR_ABORTED'));
if (isSocketOrAbort && retryLimit > 0) {
onError(error);
} else {
reject(error);
}
});
}
/***/ },
/***/ 925
(__unused_webpack_module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports._type = _type;
exports.generateHash = generateHash;
exports.getHash = getHash;
exports.isBrowser = isBrowser;
exports.merge = merge;
exports.mergeDeep = mergeDeep;
exports.parseQueryFromParams = parseQueryFromParams;
exports.resultWrapper = resultWrapper;
exports.sendRequest = sendRequest;
exports.spreadResult = spreadResult;
exports.transform = transform;
var _request = _interopRequireDefault(__webpack_require__(185));
var _result = _interopRequireDefault(__webpack_require__(209));
var _messages = _interopRequireDefault(__webpack_require__(174));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
function _regenerator() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,
t,
r = "function" == typeof Symbol ? Symbol : {},
n = r.iterator || "@@iterator",
o = r.toStringTag || "@@toStringTag";
function i(r, n, o, i) {
var c = n && n.prototype instanceof Generator ? n : Generator,
u = Object.create(c.prototype);
return _regeneratorDefine2(u, "_invoke", function (r, n, o) {
var i,
c,
u,
f = 0,
p = o || [],
y = !1,
G = {
p: 0,
n: 0,
v: e,
a: d,
f: d.bind(e, 4),
d: function d(t, r) {
return i = t, c = 0, u = e, G.n = r, a;
}
};
function d(r, n) {
for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
var o,
i = p[t],
d = G.p,
l = i[2];
r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
}
if (o || r > 1) return a;
throw y = !0, n;
}
return function (o, p, l) {
if (f > 1) throw TypeError("Generator is already running");
for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
try {
if (f = 2, i) {
if (c || (o = "next"), t = i[o]) {
if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
if (!t.done) return t;
u = t.value, c < 2 && (c = 0);
} else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
i = e;
} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
} catch (t) {
i = e, c = 1, u = t;
} finally {
f = 1;
}
}
return {
value: t,
done: y
};
};
}(r, o, i), !0), u;
}
var a = {};
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
t = Object.getPrototypeOf;
var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () {
return this;
}), t),
u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
function f(e) {
return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
}
return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () {
return this;
}), _regeneratorDefine2(u, "toString", function () {
return "[object Generator]";
}), (_regenerator = function _regenerator() {
return {
w: i,
m: f
};
})();
}
function _regeneratorDefine2(e, r, n, t) {
var i = Object.defineProperty;
try {
i({}, "", {});
} catch (e) {
i = 0;
}
_regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) {
function o(r, n) {
_regeneratorDefine2(e, r, function (e) {
return this._invoke(r, n, e);
});
}
r ? i ? i(e, r, {
value: n,
enumerable: !t,
configurable: !t,
writable: !t
}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
}, _regeneratorDefine2(e, r, n, t);
}
function asyncGeneratorStep(n, t, e, r, o, a, c) {
try {
var i = n[a](c),
u = i.value;
} catch (n) {
return void e(n);
}
i.done ? t(u) : Promise.resolve(u).then(r, o);
}
function _asyncToGenerator(n) {
return function () {
var t = this,
e = arguments;
return new Promise(function (r, o) {
var a = n.apply(t, e);
function _next(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
}
function _throw(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
}
_next(void 0);
});
};
}
function _typeof2(o) {
"@babel/helpers - typeof";
return _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof2(o);
}
/**
* @method addSpread
* @description method to add the spread.
*/
(function addSpread() {
if (Promise.prototype.spread) return;
Promise.prototype.spread = function (fn, errFunc) {
errFunc = errFunc || function (err) {};
return this.then(function (args) {
return fn.apply(fn, args);
})["catch"](function (err) {
errFunc(err);
});
};
})();
function transform(type) {
return function () {
this._query[type] = this._query[type] || {};
switch (arguments.length) {
case 1:
if (Array.isArray(arguments[0]) || typeof arguments[0] === 'string') {
var query = this._query[type].BASE || [];
query = query.concat(arguments[0]);
this._query[type].BASE = query;
return this;
} else {
console.error(_messages["default"].TRANSFORM_INVALID_SINGLE_PARAM);
}
break;
case 2:
if (typeof arguments[0] === 'string' && (Array.isArray(arguments[1]) || typeof arguments[1] === 'string')) {
var _query2 = this._query[type][arguments[0]] || [];
_query2 = _query2.concat(arguments[1]);
this._query[type][arguments[0]] = _query2;
return this;
} else {
console.error(_messages["default"].TRANSFORM_INVALID_DOUBLE_PARAM);
}
break;
default:
console.error(_messages["default"].TRANSFORM_INVALID_PARAM_COUNT);
}
};
}
function _type(val) {
var _typeof;
var __typeof = _typeof2(val);
if (__typeof === 'object') {
_typeof = __typeof;
if (Array.isArray(val)) {
__typeof = 'array';
}
} else {
_typeof = __typeof;
}
return __typeof;
}
// merge two objects
function mergeDeep(destination, sourceVar) {
var self = this;
var _merge_recursive2 = function _merge_recursive(target, source) {
for (var key in source) {
if (self._type(source[key]) == 'object' && self._type(target[key]) == self._type(source[key])) {
_merge_recursive2(target[key], source[key]);
} else if (self._type(source[key]) == 'array' && self._type(target[key]) == self._type(source[key])) {
target[key] = target[key].concat(source[key]);
} else {
target[key] = source[key];
}
}
};
_merge_recursive2(destination, sourceVar);
return destination;
}
// merge two objects
function merge(target, source) {
if (target && source) {
for (var key in source) {
target[key] = source[key];
}
}
return target;
}
// return true if process is running in browser else false
function isBrowser() {
return typeof window !== 'undefined';
}
// return the query from the params
function parseQueryFromParams(queryObject, single, toJSON) {
if (queryObject && queryObject.requestParams) {
var _query = merge({}, queryObject.requestParams.body ? queryObject.requestParams.body.query || {} : {});
if (_query.environment_uid) {
delete _query.environment_uid;
_query.environment = queryObject.environment;
}
_query.environment = queryObject.environment;
return {
content_type_uid: queryObject.content_type_uid,
locale: _query.locale || 'en-us',
query: _query,
entry_uid: queryObject.entry_uid,
asset_uid: queryObject.asset_uid,
single: single || 'false',
toJSON: toJSON || 'false',
api_key: queryObject.requestParams.headers ? queryObject.requestParams.headers.api_key : ''
};
}
}
// return the hash value of the query
function getHash(query) {
try {
var hashValue = generateHash(JSON.stringify(query));
var keyArray = [];
keyArray.push(query.content_type_uid);
keyArray.push(query.locale);
if (query.entry_uid) keyArray.push(query.entry_uid);
if (query.asset_uid) keyArray.push(query.asset_uid);
keyArray.push(hashValue);
return keyArray.join('.');
} catch (e) {}
}
// return the hash value of the string
function generateHash(str) {
var hash = 0;
var i;
var chr;
var len;
if (str.length === 0) return hash;
for (i = 0, len = str.length; i < len; i++) {
chr = str.charCodeAt(i);
hash = (hash << 5) - hash + chr;
hash |= 0; // Convert to 32bit integer
}
return hash < -1 ? hash * -1 : hash;
}
// generate the Result object
function resultWrapper(result) {
if (result && typeof result.entries !== 'undefined') {
if (result.entries && result.entries.length) {
for (var i = 0, _i = result.entries.length; i < _i; i++) {
result.entries[i] = (0, _result["default"])(result.entries[i]);
}
} else {
result.entries = [];
}
} else if (result && result.assets && typeof result.assets !== 'undefined') {
if (result.assets && result.assets.length) {
for (var j = 0, _j = result.assets.length; j < _j; j++) {
result.assets[j] = (0, _result["default"])(result.assets[j]);
}
} else {
result.assets = [];
}
} else if (result && typeof result.entry !== 'undefined') {
result.entry = (0, _result["default"])(result.entry);
} else if (result && typeof result.asset !== 'undefined') {
result.asset = (0, _result["default"])(result.asset);
} else if (result && typeof result.items !== 'undefined') {
result.items = (0, _result["default"])(result.items).toJSON();
}
return result;
}
// spread the result object
function spreadResult(result) {
var _results = [];
if (result && Object.keys(result).length) {
if (typeof result.entries !== 'undefined') {
_results.push(result.entries);
if (result.content_type) {
_results.schema = result.content_type;
}
}
if (typeof result.assets !== 'undefined') _results.push(result.assets);
if (typeof result.content_type !== 'undefined' || typeof result.schema !== 'undefined') _results.push(result.content_type || result.schema);
if (typeof result.count !== 'undefined') _results.push(result.count);
if (typeof result.entry !== 'undefined') {
_results = result.entry;
if (result.schema) {
_results.schema = result.schema;
}
if (result.content_type) {
_results.content_type = result.content_type;
}
}
if (typeof result.asset !== 'undefined') _results = result.asset;
if (typeof result.items !== 'undefined') _results.push(result);
}
return _results;
}
function sendRequest(queryObject, options) {
var env_uid = queryObject.environment_uid;
if (env_uid) {
queryObject._query.environment_uid = env_uid;
} else {
if (queryObject._query) {
queryObject._query.environment = queryObject.environment;
} else {
queryObject._query = {};
queryObject._query.environment = queryObject.environment;
}
}
var self = queryObject;
var cachePolicy = typeof self.queryCachePolicy !== 'undefined' ? self.queryCachePolicy : self.cachePolicy;
var tojson = typeof self.tojson !== 'undefined' ? self.tojson : false;
var isSingle = !!(self.entry_uid || self.singleEntry || self.asset_uid);
var hashQuery = getHash(parseQueryFromParams(self, isSingle, tojson));
/**
for new api v3
*/
if (queryObject && queryObject.requestParams && queryObject.requestParams.body && queryObject.requestParams.body.query) {
var cloneQueryObj = JSON.parse(JSON.stringify(queryObject.requestParams.body.query));
if (_typeof2(cloneQueryObj) !== 'object') {
cloneQueryObj = JSON.parse(cloneQueryObj);
}
delete queryObject.requestParams.body.query;
queryObject.requestParams.body = merge(queryObject.requestParams.body, cloneQueryObj);
if (queryObject.live_preview && queryObject.live_preview.enable === true && queryObject.live_preview.live_preview && queryObject.live_preview.live_preview !== 'init') {
queryObject.requestParams.body = merge(queryObject.requestParams.body, {
live_preview: queryObject.live_preview.live_preview || 'init'
});
cachePolicy = 2; // network else cache
if (queryObject.requestParams.body.environment) {
delete queryObject.requestParams.body.environment;
}
if (queryObject.requestParams.headers.access_token) {
delete queryObject.requestParams.headers.access_token;
}
delete queryObject.requestParams.headers.authorization;
delete queryObject.requestParams.headers.preview_token;
if (queryObject.live_preview.preview_token) {
queryObject.requestParams.headers.preview_token = queryObject.live_preview.preview_token;
queryObject.requestParams.headers.live_preview = queryObject.live_preview.live_preview;
} else if (queryObject.live_preview.management_token) {
queryObject.requestParams.headers.authorization = queryObject.live_preview.management_token;
}
}
}
var getCacheCallback = function getCacheCallback(resolve, reject) {
return function (err, entries) {
try {
if (err) {
return reject(err); // Propagate the error to the parent promise
}
if (!tojson) entries = resultWrapper(entries);
resolve(spreadResult(entries)); // Propagate the result to the parent promise
} catch (e) {
reject(e); // Handle any synchronous errors
}
};
};
var callback = function callback(continueFlag, resolve, reject) {
if (continueFlag) {
(0, _request["default"])(queryObject, options).then(function (data) {
try {
self.entry_uid = self.asset_uid = self.tojson = self.queryCachePolicy = undefined;
var entries = {};
var syncstack = {};
if (queryObject.singleEntry) {
queryObject.singleEntry = false;
if (data.schema) entries.schema = data.schema;
if (data.content_type) {
entries.content_type = data.content_type;
delete entries.schema;
}
if (data.entries && data.entries.length) {
entries.entry = data.entries[0];
} else if (data.assets && data.assets.length) {
entries.assets = data.assets[0];
} else {
if (cachePolicy === 2 && self.provider !== null) {
self.provider.get(hashQuery, function (err, _data) {
if (err || !_data || _data.entries.length === 0 && _data.assets.length === 0) {
return reject({
error_code: 141,
error_message: 'The requested entry doesn\'t exist.'
});
}
getCacheCallback(resolve, reject)(err, _data);
});
return;
} else {
return reject({
error_code: 141,
error_message: 'The requested entry doesn\'t exist.'
});
}
}
} else if (data.items) {
syncstack = {
items: data.items,
pagination_token: data.pagination_token,
sync_token: data.sync_token,
total_count: data.total_count
};
} else {
entries = data;
}
if (cachePolicy !== -1 && self.provider !== null) {
self.provider.set(hashQuery, entries, function (err) {
try {
if (err) reject(err);
if (!tojson) entries = resultWrapper(entries);
return resolve(spreadResult(entries));
} catch (e) {
return reject(e);
}
});
return resolve(spreadResult(entries));
}
if (Object.keys(syncstack).length) {
return resolve(syncstack);
}
if (!tojson) {
entries = resultWrapper(entries);
}
return resolve(spreadResult(entries));
} catch (e) {
return reject({
message: e.message
});
}
})["catch"](function (error) {
if (error) {
reject(error);
} else if (cachePolicy === 2 && self.provider !== null) {
self.provider.get(hashQuery, getCacheCallback(resolve, reject));
}
});
}
};
switch (cachePolicy) {
case 1:
return new Promise(/*#__PURE__*/function () {
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(resolve, reject) {
return _regenerator().w(function (_context2) {
while (1) switch (_context2.n) {
case 0:
if (!(self.provider !== null)) {
_context2.n = 2;
break;
}
_context2.n = 1;
return self.provider.get(hashQuery, /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(err, _data) {
var _t;
return _regenerator().w(function (_context) {
while (1) switch (_context.p = _context.n) {
case 0:
_context.p = 0;
if (!(err || !_data)) {
_context.n = 1;
break;
}
callback(true, resolve, reject);
_context.n = 2;
break;
case 1:
if (!tojson) {
_data = resultWrapper(_data);
}
return _context.a(2, resolve(spreadResult(_data)));
case 2:
_context.n = 4;
break;
case 3:
_context.p = 3;
_t = _context.v;
return _context.a(2, reject(_t));
case 4:
return _context.a(2);
}
}, _callee, null, [[0, 3]]);
}));
return function (_x3, _x4) {
return _ref2.apply(this, arguments);
};
}());
case 1:
_context2.n = 3;
break;
case 2:
callback(true, resolve, reject);
case 3:
return _context2.a(2);
}
}, _callee2);
}));
return function (_x, _x2) {
return _ref.apply(this, arguments);
};
}());
case 2:
case 0:
case undefined:
case -1:
return new Promise(function (resolve, reject) {
callback(true, resolve, reject);
});
}
if (cachePolicy === 3) {
var promise = new Promise(function (resolve, reject) {
if (self.provider !== null) {
self.provider.get(hashQuery, function (err, _data) {
try {
if (err || !_data) {
reject(err);
} else {
if (!tojson) {
_data = resultWrapper(_data);
}
resolve(spreadResult(_data));
}
} catch (e) {
reject(e);
}
});
}
});
return promise.then(function () {
return new Promise(function (resolve, reject) {
callback(true, resolve, reject);
});
})["catch"](function (error) {
return new Promise(function (resolve, reject) {
callback(true, resolve, reject);
});
});
}
}
/***/ },
/***/ 174
(__unused_webpack_module, exports) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
/**
* Centralized error and informational messages for Contentstack JavaScript SDK
* @module messages
*/
var MESSAGES = {
// Cache Provider Messages
CACHE_PROVIDER_MISSING: 'Missing cache provider. Provide a valid provider and try again.',
CACHE_POLICY_INVALID: 'Invalid cache policy. Provide a valid policy value and try again.',
// Stack Initialization Messages
STACK_INVALID_PARAMS_OBJECT: 'Invalid parameters. The specified API Key, Delivery Token, or Environment Name is invalid.',
STACK_INVALID_PARAMS_STRING: 'Invalid string parameters. Provide valid API Key, Delivery Token, and Environment Name.',
STACK_INVALID_PARAMS_GENERIC: 'Invalid parameters. Provide valid parameters to initialize the Contentstack javascript-SDK Stack.',
STACK_OBSOLETE_FUNCTION: "WARNING! Obsolete function called. Function 'Contentstack.Stack(api_key, delivery_token, environment)' has been deprecated, please use 'Contentstack.Stack({api_key, delivery_token, environment, region, branch, fetchOptions})' function instead!",
// Entry Messages
ENTRY_UID_REQUIRED: "Entry UID required. Provide an entry UID. e.g. .Entry('entry_uid')",
ENTRY_INCLUDE_OWNER_DEPRECATED: 'The includeOwner function is deprecated. This functionality is no longer supported. Please remove this method from your code.',
ENTRY_INVALID_ARGUMENT: 'Invalid argument. Argument should be a String or an Array.',
ENTRY_LANGUAGE_INVALID: 'Invalid language code. Argument should be a String.',
ENTRY_ADD_QUERY_INVALID: 'Invalid query parameters. First argument should be a String.',
ENTRY_ADD_PARAM_INVALID: 'Invalid parameters. Both key and value should be strings.',
// Query/Transform Messages (only/except)
TRANSFORM_INVALID_SINGLE_PARAM: 'Invalid parameters. Expected a string or an array of field names.',
TRANSFORM_INVALID_DOUBLE_PARAM: 'Invalid parameters. Expected first parameter as a string (reference field UID) and second parameter as a string or an array of field names.',
TRANSFORM_INVALID_PARAM_COUNT: 'Invalid parameters. Provide either one parameter (field name or array) or two parameters (reference field UID and field name or array).',
// Request/Error Messages
REQUEST_ERROR_OCCURRED: function REQUEST_ERROR_OCCURRED(error) {
return "An error occurred: ".concat(error);
}
};
var _default = exports["default"] = MESSAGES;
/***/ },
/***/ 537
(__unused_webpack_module, exports, __webpack_require__) {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var Utils = _interopRequireWildcard(__webpack_require__(925));
function _interopRequireWildcard(e, t) {
if ("function" == typeof WeakMap) var r = new WeakMap(),
n = new WeakMap();
return (_interopRequireWildcard = function _interopRequireWildcard(e, t) {
if (!t && e && e.__esModule) return e;
var o,
i,
f = {
__proto__: null,
"default": e
};
if (null === e || "object" != _typeof(e) && "function" != typeof e) return f;
if (o = t ? n : r) {
if (o.has(e)) return o.get(e);
o.set(e, f);
}
for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]);
return f;
})(e, t);
}
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);
}
}
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
writable: !1
}), e;
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == _typeof(i) ? i : i + "";
}
function _toPrimitive(t, r) {
if ("object" != _typeof(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
/**
* @class
Assets
* @summary Creates an instance of `Assets`.
* @description Retrieves all assets of a stack by default. To retrieve a single asset, specify its UID.
* @param {String} uid - uid of asset you want to retrieve
* @example
* let data = Stack.Assets('asset_uid').toJSON().fetch()
* data
* .then(function(result) {
* // ‘result’ is a single asset object of specified uid
* }, function(error) {
* // error function
* })
* @example
* // Retrieves all assets*
* let data = Stack.Assets().Query().toJSON().find()
* data
* .then(function(result) {
* // All the asset with limit of 100
* // Use skip and limit functions to paginate
* // ‘result’ will display all assets present in stack
* }, function(error) {
* // error function
* })
* @returns {Assets}
* @instance
*/
var Assets