UNPKG

@becklyn/contentful-adapter

Version:

[![CI](https://github.com/Becklyn-Studios/contentful-adapter/actions/workflows/ci.yml/badge.svg)](https://github.com/Becklyn-Studios/contentful-adapter/actions/workflows/ci.yml)

67 lines (66 loc) 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeReference = exports.normalizeLabeledLink = void 0; const api_1 = require("../contentful/api"); const util_1 = require("./util"); const normalizeLabeledLink = async (data, service) => { var _a; if (!data) { return null; } if (!data.fields) { // load missing data data = await (0, api_1.findOneEntryBySys)(data.sys, service.client, { depth: 10 }); } if (!data || !data.fields || !data.fields.reference) { return null; } return { label: (_a = (0, util_1.getValueOfField)(data.fields.label, service.locale)) !== null && _a !== void 0 ? _a : null, reference: await (0, exports.normalizeReference)((0, util_1.getValueOfField)(data.fields.reference, service.locale), service), }; }; exports.normalizeLabeledLink = normalizeLabeledLink; const normalizeReference = async (data, service) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; if (!data) { return null; } if (!data.fields) { // load missing data data = await (0, api_1.findOneEntryBySys)(data.sys, service.client, { depth: 10 }); } if (!data || !data.fields) { return null; } if ("internalReference" === data.sys.contentType.sys.id) { const referenceSlug = await service.resolveInternalReferencePath((0, util_1.getValueOfField)(data.fields.reference, service.locale)); if (null === referenceSlug) { return null; } const anchor = (0, util_1.getValueOfField)(data.fields.anchor, service.locale) ? `#${(0, util_1.getValueOfField)(data.fields.anchor, service.locale)}` : ""; return { title: (_a = (0, util_1.getValueOfField)(data.fields.title, service.locale)) !== null && _a !== void 0 ? _a : null, url: `${referenceSlug}${anchor}`, inNewTab: (_b = (0, util_1.getValueOfField)(data.fields.inNewTab, service.locale)) !== null && _b !== void 0 ? _b : false, }; } if ("externalReference" === data.sys.contentType.sys.id) { return { title: (_c = (0, util_1.getValueOfField)(data.fields.title, service.locale)) !== null && _c !== void 0 ? _c : null, url: (_d = (0, util_1.getValueOfField)(data.fields.url, service.locale)) !== null && _d !== void 0 ? _d : null, inNewTab: (_e = (0, util_1.getValueOfField)(data.fields.inNewTab, service.locale)) !== null && _e !== void 0 ? _e : false, }; } if ("assetReference" === data.sys.contentType.sys.id) { return { title: (_f = (0, util_1.getValueOfField)(data.fields.title, service.locale)) !== null && _f !== void 0 ? _f : null, url: (_k = (0, util_1.getValueOfField)((_j = (_h = (_g = data.fields.asset) === null || _g === void 0 ? void 0 : _g.fields) === null || _h === void 0 ? void 0 : _h.file) === null || _j === void 0 ? void 0 : _j.url, service.locale)) !== null && _k !== void 0 ? _k : null, inNewTab: true, }; } return null; }; exports.normalizeReference = normalizeReference;