datocms-plugin-sdk
Version:
23 lines • 1.09 kB
JavaScript
import { isArray, isBoolean, isNullish, isNumber, isRecord, isString, } from '../guardUtils.js';
export function isManualFieldExtension(value) {
return (isRecord(value) &&
isString(value.id) &&
isString(value.name) &&
isString(value.type) &&
['editor', 'addon'].includes(value.type) &&
(isNullish(value.asSidebarPanel) ||
isBoolean(value.asSidebarPanel) ||
(isRecord(value.asSidebarPanel) &&
isBoolean(value.asSidebarPanel.startOpen))) &&
((isString(value.fieldTypes) && value.fieldTypes === 'all') ||
isArray(value.fieldTypes, isString)) &&
(isNullish(value.configurable) ||
isBoolean(value.configurable) ||
(isRecord(value.configurable) &&
isNumber(value.configurable.initialHeight))) &&
(isNullish(value.initialHeight) || isNumber(value.initialHeight)));
}
export function isReturnTypeOfManualFieldExtensionsHook(value) {
return isArray(value, isManualFieldExtension);
}
//# sourceMappingURL=manualFieldExtensions.js.map