datocms-plugin-sdk
Version:
32 lines • 1.58 kB
JavaScript
import { isArray, isBoolean, isNullish, isNumber, isPlacement, isRecord, isString, } from '../guardUtils.js';
export function isFieldExtensionOverride(value) {
return (isNullish(value) ||
(isRecord(value) &&
(isNullish(value.editor) || isEditorOverride(value.editor)) &&
(isNullish(value.addons) || isArray(value.addons, isAddonOverride))));
}
export function isEditorOverride(value) {
return (isRecord(value) &&
isString(value.id) &&
(isNullish(value.asSidebarPanel) ||
isBoolean(value.asSidebarPanel) ||
(isRecord(value.asSidebarPanel) &&
(isNullish(value.asSidebarPanel.startOpen) ||
isBoolean(value.asSidebarPanel.startOpen)) &&
(isNullish(value.asSidebarPanel.placement) ||
isPlacement(value.asSidebarPanel.placement)))) &&
(isNullish(value.parameters) || isRecord(value.parameters)) &&
(isNullish(value.rank) || isNumber(value.rank)) &&
(isNullish(value.initialHeight) || isNumber(value.initialHeight)));
}
export function isAddonOverride(value) {
return (isRecord(value) &&
isString(value.id) &&
(isNullish(value.parameters) || isRecord(value.parameters)) &&
(isNullish(value.rank) || isNumber(value.rank)) &&
(isNullish(value.initialHeight) || isNumber(value.initialHeight)));
}
export function isReturnTypeOfOverrideFieldExtensionsHook(value) {
return isNullish(value) || isFieldExtensionOverride(value);
}
//# sourceMappingURL=overrideFieldExtensions.js.map