1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var Button_1 = require("../../actions/Button");
|
4 | exports.ActionType = Button_1.ActionType;
|
5 | var type_validate_1 = require("../type-validate");
|
6 | var utils_1 = require("../utils");
|
7 | exports.buttonSchema = type_validate_1.matchesObject({
|
8 | disabled: type_validate_1.makeOptional(type_validate_1.matchesBoolean()),
|
9 | label: type_validate_1.matchesString(),
|
10 | style: type_validate_1.makeOptional(type_validate_1.matchesEnum(Button_1.Style)),
|
11 | icon: type_validate_1.makeOptional(type_validate_1.matchesEnum(Button_1.Icon)),
|
12 | });
|
13 | exports.buttonSchemaWithId = type_validate_1.composeSchemas(type_validate_1.matchesObject({
|
14 | id: type_validate_1.matchesString(),
|
15 | }), exports.buttonSchema);
|
16 | function validateProps(props) {
|
17 | return type_validate_1.validate(props, exports.buttonSchema);
|
18 | }
|
19 | exports.validateProps = validateProps;
|
20 | function validateAction(action) {
|
21 | var validator = utils_1.createActionValidator(Button_1.ActionType, action.type === Button_1.ActionType.UPDATE ? exports.buttonSchema : undefined, true, true);
|
22 | return type_validate_1.validate(action, validator);
|
23 | }
|
24 | exports.validateAction = validateAction;
|