UNPKG

@botonic/plugin-contentful

Version:

## What Does This Plugin Do?

36 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTargetCallback = void 0; const tslib_1 = require("tslib"); const cms = tslib_1.__importStar(require("../../cms")); const cms_1 = require("../../cms"); const cms_2 = require("../../cms/cms"); const enums_1 = require("../../util/enums"); const delivery_utils_1 = require("../delivery-utils"); function getTargetCallback(target, context) { const model = delivery_utils_1.ContentfulEntryUtils.getContentModel(target); try { switch (model) { case cms_1.ContentType.URL: { const urlFields = target; if (!urlFields.fields.url && context.ignoreFallbackLocale) { return cms.Callback.empty(); } return cms.Callback.ofUrl(urlFields.fields.url || ''); } case cms_1.ContentType.PAYLOAD: { const payloadFields = target; return cms.Callback.ofPayload(payloadFields.fields.payload); } } if ((0, enums_1.isOfType)(model, cms_2.TopContentType)) { return new cms.ContentCallback(model, target.sys.id); } throw new Error('Unexpected type: ' + model); } catch (e) { throw new cms_1.CmsException(`Error delivering button with id '${target.sys.id}'`, e); } } exports.getTargetCallback = getTargetCallback; //# sourceMappingURL=callback-delivery.js.map