datocms-plugin-sdk
Version:
38 lines • 2.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isFieldExtensionOverride = isFieldExtensionOverride;
exports.isEditorOverride = isEditorOverride;
exports.isAddonOverride = isAddonOverride;
exports.isReturnTypeOfOverrideFieldExtensionsHook = isReturnTypeOfOverrideFieldExtensionsHook;
var guardUtils_js_1 = require("../guardUtils.js");
function isFieldExtensionOverride(value) {
return ((0, guardUtils_js_1.isNullish)(value) ||
((0, guardUtils_js_1.isRecord)(value) &&
((0, guardUtils_js_1.isNullish)(value.editor) || isEditorOverride(value.editor)) &&
((0, guardUtils_js_1.isNullish)(value.addons) || (0, guardUtils_js_1.isArray)(value.addons, isAddonOverride))));
}
function isEditorOverride(value) {
return ((0, guardUtils_js_1.isRecord)(value) &&
(0, guardUtils_js_1.isString)(value.id) &&
((0, guardUtils_js_1.isNullish)(value.asSidebarPanel) ||
(0, guardUtils_js_1.isBoolean)(value.asSidebarPanel) ||
((0, guardUtils_js_1.isRecord)(value.asSidebarPanel) &&
((0, guardUtils_js_1.isNullish)(value.asSidebarPanel.startOpen) ||
(0, guardUtils_js_1.isBoolean)(value.asSidebarPanel.startOpen)) &&
((0, guardUtils_js_1.isNullish)(value.asSidebarPanel.placement) ||
(0, guardUtils_js_1.isPlacement)(value.asSidebarPanel.placement)))) &&
((0, guardUtils_js_1.isNullish)(value.parameters) || (0, guardUtils_js_1.isRecord)(value.parameters)) &&
((0, guardUtils_js_1.isNullish)(value.rank) || (0, guardUtils_js_1.isNumber)(value.rank)) &&
((0, guardUtils_js_1.isNullish)(value.initialHeight) || (0, guardUtils_js_1.isNumber)(value.initialHeight)));
}
function isAddonOverride(value) {
return ((0, guardUtils_js_1.isRecord)(value) &&
(0, guardUtils_js_1.isString)(value.id) &&
((0, guardUtils_js_1.isNullish)(value.parameters) || (0, guardUtils_js_1.isRecord)(value.parameters)) &&
((0, guardUtils_js_1.isNullish)(value.rank) || (0, guardUtils_js_1.isNumber)(value.rank)) &&
((0, guardUtils_js_1.isNullish)(value.initialHeight) || (0, guardUtils_js_1.isNumber)(value.initialHeight)));
}
function isReturnTypeOfOverrideFieldExtensionsHook(value) {
return (0, guardUtils_js_1.isNullish)(value) || isFieldExtensionOverride(value);
}
//# sourceMappingURL=overrideFieldExtensions.js.map