UNPKG

@contentstack/utils

Version:
74 lines 3.37 kB
import { defaultOptions } from '../options/default-options'; // This function will find Embedded object present in string export function findEmbeddedEntry(uid, contentTypeUid, embeddeditems) { if (embeddeditems === void 0) { embeddeditems = []; } return embeddeditems.filter(function (entry) { if (!entry) return false; return ((entry.uid && entry.uid === uid && entry._content_type_uid === contentTypeUid) || (entry.system && entry.system.uid === uid && entry.system.content_type_uid === contentTypeUid)); }); } export function findEmbeddedAsset(uid, embeddedAssets) { if (embeddedAssets === void 0) { embeddedAssets = []; } return embeddedAssets.filter(function (asset) { if (!asset) return false; return ((asset.uid && asset.uid === uid) || (asset.system && asset.system.uid === uid)); }); } export function findGQLEmbeddedItems(metadata, items) { if (!metadata || !items) return []; if (metadata.itemType === 'entry') { return findEmbeddedEntry(metadata.itemUid, metadata.contentTypeUid, items); } else { return findEmbeddedAsset(metadata.itemUid, items); } } export function findEmbeddedItems(object, entry) { if (object && object !== undefined && entry && entry !== undefined) { if (entry._embedded_items !== undefined) { var entryEmbedable = entry; var items = Object.values(entryEmbedable._embedded_items || []).reduce(function (accumulator, value) { return accumulator.concat(value); }, []); return findGQLEmbeddedItems(object, items); } } return []; } export function findRenderString(item, metadata, renderOptions) { if ((!item && item === undefined) || (!metadata && metadata === undefined)) { return ''; } if (renderOptions && renderOptions[metadata.styleType] !== undefined) { var renderFunction = renderOptions[metadata.styleType]; if (metadata.attributes['data-sys-content-type-uid'] !== undefined && typeof renderFunction !== 'function' && renderFunction[metadata.attributes['data-sys-content-type-uid']] !== undefined) { return renderFunction[metadata.attributes['data-sys-content-type-uid']](item, metadata); } else if (metadata.attributes['data-sys-content-type-uid'] !== undefined && typeof renderFunction !== 'function' && renderFunction.$default !== undefined) { return renderFunction.$default(item, metadata); } else if (metadata.contentTypeUid !== undefined && typeof renderFunction !== 'function' && renderFunction[metadata.contentTypeUid] !== undefined) { return renderFunction[metadata.contentTypeUid](item, metadata); } else if (metadata.contentTypeUid !== undefined && typeof renderFunction !== 'function' && renderFunction.$default !== undefined) { return renderFunction.$default(item, metadata); } else if (typeof renderFunction === 'function') { return renderFunction(item, metadata); } } var defaultRenderFunction = defaultOptions[metadata.styleType]; return defaultRenderFunction(item, metadata); } //# sourceMappingURL=find-embeded-object.js.map