UNPKG

datocms-plugin-sdk

Version:
29 lines 1.23 kB
import { isArray, isBoolean, isNullish, isNumber, isRecord, isString, } from './guardUtils.js'; import { isIcon } from './icon'; export function isDropdownAction(value) { if (!isRecord(value)) return false; return (isString(value.id) && (isNullish(value.parameters) || isRecord(value.parameters)) && isString(value.label) && isIcon(value.icon) && (isNullish(value.active) || isBoolean(value.active)) && (isNullish(value.alert) || isBoolean(value.alert)) && (isNullish(value.disabled) || isBoolean(value.disabled)) && (isNullish(value.closeMenuOnClick) || isBoolean(value.closeMenuOnClick)) && (isNullish(value.rank) || isNumber(value.rank))); } export function isDropdownActionGroup(value) { if (!isRecord(value)) return false; return (isString(value.label) && isIcon(value.icon) && isArray(value.actions, isDropdownAction) && (isNullish(value.rank) || isNumber(value.rank))); } export function isDropdownActionOrGroupArray(value) { return isArray(value, function (innerValue) { return isDropdownAction(innerValue) || isDropdownActionGroup(innerValue); }); } //# sourceMappingURL=shared.js.map