| | |
| | | Object.defineProperty(exports, "__esModule", { |
| | | value: true |
| | | }); |
| | | exports.validate = validate; |
| | | exports.typeIs = typeIs; |
| | | exports.validateType = validateType; |
| | | exports.validateOptional = validateOptional; |
| | | exports.validateOptionalType = validateOptionalType; |
| | | exports.VISITOR_KEYS = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0; |
| | | exports.arrayOf = arrayOf; |
| | | exports.arrayOfType = arrayOfType; |
| | | exports.validateArrayOfType = validateArrayOfType; |
| | | exports.assertEach = assertEach; |
| | | exports.assertOneOf = assertOneOf; |
| | | exports.assertNodeType = assertNodeType; |
| | | exports.assertNodeOrValueType = assertNodeOrValueType; |
| | | exports.assertValueType = assertValueType; |
| | | exports.assertShape = assertShape; |
| | | exports.assertNodeType = assertNodeType; |
| | | exports.assertOneOf = assertOneOf; |
| | | exports.assertOptionalChainStart = assertOptionalChainStart; |
| | | exports.assertShape = assertShape; |
| | | exports.assertValueType = assertValueType; |
| | | exports.chain = chain; |
| | | exports.default = defineType; |
| | | exports.NODE_PARENT_VALIDATIONS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = void 0; |
| | | exports.defineAliasedType = defineAliasedType; |
| | | exports.typeIs = typeIs; |
| | | exports.validate = validate; |
| | | exports.validateArrayOfType = validateArrayOfType; |
| | | exports.validateOptional = validateOptional; |
| | | exports.validateOptionalType = validateOptionalType; |
| | | exports.validateType = validateType; |
| | | |
| | | var _is = require("../validators/is"); |
| | | |
| | |
| | | const validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"]; |
| | | const validFieldKeys = ["default", "optional", "validate"]; |
| | | |
| | | function defineAliasedType(...aliases) { |
| | | return (type, opts = {}) => { |
| | | let defined = opts.aliases; |
| | | |
| | | if (!defined) { |
| | | var _store$opts$inherits$, _defined; |
| | | |
| | | if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice(); |
| | | (_defined = defined) != null ? _defined : defined = []; |
| | | opts.aliases = defined; |
| | | } |
| | | |
| | | const additional = aliases.filter(a => !defined.includes(a)); |
| | | defined.unshift(...additional); |
| | | return defineType(type, opts); |
| | | }; |
| | | } |
| | | |
| | | function defineType(type, opts = {}) { |
| | | const inherits = opts.inherits && store[opts.inherits] || {}; |
| | | let fields = opts.fields; |