{"version":3,"sources":["jsdelivr-header.js","/npm/contentful-resolve-response@1.9.6/dist/cjs/index.js"],"names":[],"mappings":"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","file":"/npm/contentful-resolve-response@1.9.6/dist/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/contentful-resolve-response@1.9.6/dist/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _fastCopy = require('fast-copy');\n\nvar _fastCopy2 = _interopRequireDefault(_fastCopy);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar UNRESOLVED_LINK = {}; // unique object to avoid polyfill bloat using Symbol()\n\n/**\n * isLink Function\n * Checks if the object has sys.type \"Link\"\n * @param object\n */\nvar isLink = function isLink(object) {\n  return object && object.sys && object.sys.type === 'Link';\n};\n\n/**\n * isResourceLink Function\n * Checks if the object has sys.type \"ResourceLink\"\n * @param object\n */\nvar isResourceLink = function isResourceLink(object) {\n  return object && object.sys && object.sys.type === 'ResourceLink';\n};\n\n/**\n * Creates a key with spaceId and a key without for entityMap\n *\n * @param {*} sys\n * @param {String} sys.type\n * @param {String} sys.id\n * @param {*} sys.space\n * @param {*} sys.space.sys\n * @param {String} sys.space.id\n * @return {string[]}\n */\nvar makeEntityMapKeys = function makeEntityMapKeys(sys) {\n  if (sys.space && sys.environment) {\n    return [`${sys.type}!${sys.id}`, `${sys.space.sys.id}!${sys.environment.sys.id}!${sys.type}!${sys.id}`];\n  }\n\n  return [`${sys.type}!${sys.id}`];\n};\n\n/**\n * Looks up in entityMap\n *\n * @param entityMap\n * @param {*} linkData\n * @param {String} linkData.type\n * @param {String} linkData.linkType\n * @param {String} linkData.id\n * @param {String} linkData.urn\n * @return {String}\n */\nvar lookupInEntityMap = function lookupInEntityMap(entityMap, linkData) {\n  var entryId = linkData.entryId,\n      linkType = linkData.linkType,\n      spaceId = linkData.spaceId,\n      environmentId = linkData.environmentId;\n\n\n  if (spaceId && environmentId) {\n    return entityMap.get(`${spaceId}!${environmentId}!${linkType}!${entryId}`);\n  }\n\n  return entityMap.get(`${linkType}!${entryId}`);\n};\n\nvar getIdsFromUrn = function getIdsFromUrn(urn) {\n  var regExp = /.*:spaces\\/([^/]+)(?:\\/environments\\/([^/]+))?\\/entries\\/([^/]+)$/;\n\n  if (!regExp.test(urn)) {\n    return undefined;\n  }\n\n  // eslint-disable-next-line no-unused-vars\n\n  var _urn$match = urn.match(regExp),\n      _urn$match2 = _slicedToArray(_urn$match, 4),\n      _ = _urn$match2[0],\n      spaceId = _urn$match2[1],\n      _urn$match2$ = _urn$match2[2],\n      environmentId = _urn$match2$ === undefined ? 'master' : _urn$match2$,\n      entryId = _urn$match2[3];\n\n  return { spaceId, environmentId, entryId };\n};\n\n/**\n * getResolvedLink Function\n *\n * @param entityMap\n * @param link\n * @return {undefined}\n */\nvar getResolvedLink = function getResolvedLink(entityMap, link) {\n  var _link$sys = link.sys,\n      type = _link$sys.type,\n      linkType = _link$sys.linkType;\n\n  if (type === 'ResourceLink') {\n    if (!linkType.startsWith('Contentful:')) {\n      return link;\n    }\n\n    var urn = link.sys.urn;\n\n    var _getIdsFromUrn = getIdsFromUrn(urn),\n        spaceId = _getIdsFromUrn.spaceId,\n        environmentId = _getIdsFromUrn.environmentId,\n        _entryId = _getIdsFromUrn.entryId;\n\n    var extractedLinkType = linkType.split(':')[1];\n\n    return lookupInEntityMap(entityMap, {\n      linkType: extractedLinkType,\n      entryId: _entryId,\n      spaceId,\n      environmentId\n    }) || UNRESOLVED_LINK;\n  }\n\n  var entryId = link.sys.id;\n\n  return lookupInEntityMap(entityMap, { linkType, entryId }) || UNRESOLVED_LINK;\n};\n\n/**\n * cleanUpLinks Function\n * - Removes unresolvable links from Arrays and Objects\n *\n * @param {Object[]|Object} input\n */\nvar cleanUpLinks = function cleanUpLinks(input) {\n  if (Array.isArray(input)) {\n    return input.filter(function (val) {\n      return val !== UNRESOLVED_LINK;\n    });\n  }\n  for (var key in input) {\n    if (input[key] === UNRESOLVED_LINK) {\n      delete input[key];\n    }\n  }\n  return input;\n};\n\n/**\n * walkMutate Function\n * @param input\n * @param predicate\n * @param mutator\n * @param removeUnresolved\n * @return {*}\n */\nvar walkMutate = function walkMutate(input, predicate, mutator, removeUnresolved) {\n  if (predicate(input)) {\n    return mutator(input);\n  }\n\n  if (input && typeof input === 'object') {\n    for (var key in input) {\n      // eslint-disable-next-line no-prototype-builtins\n      if (input.hasOwnProperty(key)) {\n        input[key] = walkMutate(input[key], predicate, mutator, removeUnresolved);\n      }\n    }\n    if (removeUnresolved) {\n      input = cleanUpLinks(input);\n    }\n  }\n  return input;\n};\n\nvar normalizeLink = function normalizeLink(entityMap, link, removeUnresolved) {\n  var resolvedLink = getResolvedLink(entityMap, link);\n  if (resolvedLink === UNRESOLVED_LINK) {\n    return removeUnresolved ? resolvedLink : link;\n  }\n  return resolvedLink;\n};\n\nvar makeEntryObject = function makeEntryObject(item, itemEntryPoints) {\n  if (!Array.isArray(itemEntryPoints)) {\n    return item;\n  }\n\n  var entryPoints = Object.keys(item).filter(function (ownKey) {\n    return itemEntryPoints.indexOf(ownKey) !== -1;\n  });\n\n  return entryPoints.reduce(function (entryObj, entryPoint) {\n    entryObj[entryPoint] = item[entryPoint];\n    return entryObj;\n  }, {});\n};\n\n/**\n * resolveResponse Function\n * Resolves contentful response to normalized form.\n * @param {Object} response Contentful response\n * @param {{removeUnresolved: Boolean, itemEntryPoints: Array<String>}|{}} options\n * @param {Boolean} options.removeUnresolved - Remove unresolved links default:false\n * @param {Array<String>} options.itemEntryPoints - Resolve links only in those item properties\n * @return {Object}\n */\nvar resolveResponse = function resolveResponse(response, options) {\n  options = options || {};\n  if (!response.items) {\n    return [];\n  }\n  var responseClone = (0, _fastCopy2.default)(response);\n  var allIncludes = Object.keys(responseClone.includes || {}).reduce(function (all, type) {\n    return [].concat(_toConsumableArray(all), _toConsumableArray(response.includes[type]));\n  }, []);\n\n  var allEntries = [].concat(_toConsumableArray(responseClone.items), _toConsumableArray(allIncludes)).filter(function (entity) {\n    return Boolean(entity.sys);\n  });\n\n  var entityMap = new Map(allEntries.reduce(function (acc, entity) {\n    var entries = makeEntityMapKeys(entity.sys).map(function (key) {\n      return [key, entity];\n    });\n    acc.push.apply(acc, _toConsumableArray(entries));\n    return acc;\n  }, []));\n\n  allEntries.forEach(function (item) {\n    var entryObject = makeEntryObject(item, options.itemEntryPoints);\n\n    Object.assign(item, walkMutate(entryObject, function (x) {\n      return isLink(x) || isResourceLink(x);\n    }, function (link) {\n      return normalizeLink(entityMap, link, options.removeUnresolved);\n    }, options.removeUnresolved));\n  });\n\n  return responseClone.items;\n};\n\nexports.default = resolveResponse;\nmodule.exports = exports.default;"]}