UNPKG

@shopify/app-bridge-core

Version:

**[Join our team and work on libraries like this one.](https://www.shopify.ca/careers)**

49 lines (48 loc) 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Action = void 0; exports.validateProps = validateProps; exports.validateAction = validateAction; var ResourcePicker_1 = require("../../actions/ResourcePicker"); Object.defineProperty(exports, "Action", { enumerable: true, get: function () { return ResourcePicker_1.Action; } }); var type_validate_1 = require("../type-validate"); var utils_1 = require("../utils"); var resourceSelectionSchema = (0, type_validate_1.matchesArray)((0, type_validate_1.matchesObject)({ id: (0, type_validate_1.matchesString)(), })); var resourcePickerOptions = (0, type_validate_1.matchesObject)({ initialQuery: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesString)()), filterQuery: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesString)()), initialSelectionIds: (0, type_validate_1.makeOptional)(resourceSelectionSchema), selectMultiple: (0, type_validate_1.makeOptional)((0, type_validate_1.oneOf)((0, type_validate_1.matchesBoolean)(), (0, type_validate_1.matchesPositiveInteger)())), showHidden: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesBoolean)()), showVariants: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesBoolean)()), showDraft: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesBoolean)()), showArchived: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesBoolean)()), showDraftBadge: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesBoolean)()), showArchivedBadge: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesBoolean)()), actionVerb: (0, type_validate_1.makeOptional)((0, type_validate_1.matchesEnum)(ResourcePicker_1.ActionVerb)), }); var resourcePickerActionSchema = (0, type_validate_1.matchesObject)({ resourceType: (0, type_validate_1.matchesEnum)(ResourcePicker_1.ResourceType), options: (0, type_validate_1.makeOptional)(resourcePickerOptions), }); var selectionSchema = (0, type_validate_1.matchesObject)({ selection: resourceSelectionSchema, }); function validateProps(props) { return (0, type_validate_1.validate)(props, resourcePickerOptions); } function validateAction(action) { switch (action.type) { case ResourcePicker_1.Action.UPDATE: case ResourcePicker_1.Action.OPEN: return (0, type_validate_1.validate)(action, (0, utils_1.createActionValidator)(ResourcePicker_1.Action, resourcePickerActionSchema, false, true)); case ResourcePicker_1.Action.SELECT: return (0, type_validate_1.validate)(action, (0, utils_1.createActionValidator)(ResourcePicker_1.Action, selectionSchema, true, true)); case ResourcePicker_1.Action.CANCEL: case ResourcePicker_1.Action.CLOSE: default: return (0, type_validate_1.validate)(action, (0, utils_1.createActionValidator)(ResourcePicker_1.Action)); } }