UNPKG

@agility/cli

Version:

Agility CLI for working with your content. (Public Beta)

44 lines 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.hasUnresolvedContentReferences = hasUnresolvedContentReferences; /** * Recursively check for unresolved content references */ function hasUnresolvedContentReferences(obj, referenceMapper) { if (typeof obj !== 'object' || obj === null) { return false; } if (Array.isArray(obj)) { return obj.some(function (item) { return hasUnresolvedContentReferences(item, referenceMapper); }); } for (var _i = 0, _a = Object.entries(obj); _i < _a.length; _i++) { var _b = _a[_i], key = _b[0], value = _b[1]; // Check for content reference patterns if ((key === 'contentid' || key === 'contentID') && typeof value === 'number') { var mappedId = referenceMapper.getContentItemMappingByContentID(value, 'source'); if (!mappedId) { return true; // Unresolved content reference } } // Check for comma-separated content IDs in sortids fields if (key === 'sortids' && typeof value === 'string') { var contentIds = value.split(',').filter(function (id) { return id.trim(); }); for (var _c = 0, contentIds_1 = contentIds; _c < contentIds_1.length; _c++) { var contentIdStr = contentIds_1[_c]; var contentId = parseInt(contentIdStr.trim()); if (!isNaN(contentId)) { var mappedId = referenceMapper.getContentItemMappingByContentID(contentId, 'source'); if (!mappedId) { return true; // Unresolved content reference } } } } // Recursive check for nested objects if (hasUnresolvedContentReferences(value, referenceMapper)) { return true; } } return false; } //# sourceMappingURL=has-unresolved-content-references.js.map