UNPKG

datocms-plugin-sdk

Version:
34 lines 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDropdownAction = isDropdownAction; exports.isDropdownActionGroup = isDropdownActionGroup; exports.isDropdownActionOrGroupArray = isDropdownActionOrGroupArray; var guardUtils_js_1 = require("./guardUtils.js"); var icon_1 = require("./icon"); function isDropdownAction(value) { if (!(0, guardUtils_js_1.isRecord)(value)) return false; return ((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.isString)(value.label) && (0, icon_1.isIcon)(value.icon) && ((0, guardUtils_js_1.isNullish)(value.active) || (0, guardUtils_js_1.isBoolean)(value.active)) && ((0, guardUtils_js_1.isNullish)(value.alert) || (0, guardUtils_js_1.isBoolean)(value.alert)) && ((0, guardUtils_js_1.isNullish)(value.disabled) || (0, guardUtils_js_1.isBoolean)(value.disabled)) && ((0, guardUtils_js_1.isNullish)(value.closeMenuOnClick) || (0, guardUtils_js_1.isBoolean)(value.closeMenuOnClick)) && ((0, guardUtils_js_1.isNullish)(value.rank) || (0, guardUtils_js_1.isNumber)(value.rank))); } function isDropdownActionGroup(value) { if (!(0, guardUtils_js_1.isRecord)(value)) return false; return ((0, guardUtils_js_1.isString)(value.label) && (0, icon_1.isIcon)(value.icon) && (0, guardUtils_js_1.isArray)(value.actions, isDropdownAction) && ((0, guardUtils_js_1.isNullish)(value.rank) || (0, guardUtils_js_1.isNumber)(value.rank))); } function isDropdownActionOrGroupArray(value) { return (0, guardUtils_js_1.isArray)(value, function (innerValue) { return isDropdownAction(innerValue) || isDropdownActionGroup(innerValue); }); } //# sourceMappingURL=shared.js.map