datocms-plugin-sdk
Version:
27 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAssetSource = isAssetSource;
exports.isReturnTypeOfAssetSourcesHook = isReturnTypeOfAssetSourcesHook;
var guardUtils_js_1 = require("../guardUtils.js");
var icon_1 = require("../icon");
function isAssetSource(value) {
if ((0, guardUtils_js_1.isNullish)(value))
return false;
if (!(0, guardUtils_js_1.isRecord)(value))
return false;
var id = value.id, name = value.name, icon = value.icon, modal = value.modal;
return ((0, guardUtils_js_1.isString)(id) &&
(0, guardUtils_js_1.isString)(name) &&
(0, icon_1.isIcon)(icon) &&
((0, guardUtils_js_1.isNullish)(modal) ||
((0, guardUtils_js_1.isRecord)(modal) &&
((0, guardUtils_js_1.isNullish)(modal.width) ||
((0, guardUtils_js_1.isString)(modal.width) &&
['s', 'm', 'l', 'xl'].includes(modal.width)) ||
(0, guardUtils_js_1.isNumber)(modal.width)) &&
((0, guardUtils_js_1.isNullish)(modal.initialHeight) || (0, guardUtils_js_1.isNumber)(modal.initialHeight)))));
}
function isReturnTypeOfAssetSourcesHook(value) {
return (0, guardUtils_js_1.isNullish)(value) || (0, guardUtils_js_1.isArray)(value, isAssetSource);
}
//# sourceMappingURL=assetSources.js.map