UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 2.73 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isJSONSchema=void 0;const type_validations_1=require("@altostra/type-validations"),primitives_1=require("@altostra/type-validations/lib/primitives"),isJSONSchemaTypeName=(0,type_validations_1.enumOf)("string","number","integer","boolean","object","array","null","any"),isJSONSchemaType=(0,type_validations_1.withRecursion)(i=>(0,type_validations_1.anyOf)(primitives_1.string,primitives_1.number,primitives_1.boolean,(0,type_validations_1.recordOf)(i),(0,type_validations_1.arrayOf)(i)));exports.isJSONSchema=(0,type_validations_1.withRecursion)(i=>{const e=(0,type_validations_1.anyOf)(primitives_1.boolean,i);return(0,type_validations_1.objectOf)({id:primitives_1.maybeString,$ref:primitives_1.maybeString,$schema:(0,type_validations_1.maybe)(primitives_1.string),title:primitives_1.maybeString,description:primitives_1.maybeString,default:(0,type_validations_1.maybe)(isJSONSchemaType),multipleOf:primitives_1.maybeNumber,maximum:primitives_1.maybeNumber,exclusiveMaximum:primitives_1.maybeBoolean,minimum:primitives_1.maybeNumber,exclusiveMinimum:primitives_1.maybeBoolean,maxLength:primitives_1.maybeNumber,minLength:primitives_1.maybeNumber,pattern:primitives_1.maybeString,additionalItems:(0,type_validations_1.maybe)(e),items:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(i)),maxItems:primitives_1.maybeNumber,minItems:primitives_1.maybeNumber,uniqueItems:primitives_1.maybeBoolean,maxProperties:primitives_1.maybeNumber,minProperties:primitives_1.maybeNumber,required:(0,type_validations_1.maybe)((0,type_validations_1.anyOf)(primitives_1.boolean,(0,type_validations_1.arrayOf)(primitives_1.string))),additionalProperties:(0,type_validations_1.maybe)(e),definitions:(0,type_validations_1.maybe)((0,type_validations_1.recordOf)(i)),properties:(0,type_validations_1.maybe)((0,type_validations_1.recordOf)(i)),patternProperties:(0,type_validations_1.maybe)((0,type_validations_1.recordOf)(i)),dependencies:(0,type_validations_1.maybe)((0,type_validations_1.recordOf)((0,type_validations_1.anyOf)((0,type_validations_1.arrayOf)(primitives_1.string),i))),enum:(0,type_validations_1.maybe)((0,type_validations_1.arrayOf)(isJSONSchemaType)),type:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(isJSONSchemaTypeName)),allOf:(0,type_validations_1.maybe)((0,type_validations_1.arrayOf)(i)),anyOf:(0,type_validations_1.maybe)((0,type_validations_1.arrayOf)(i)),oneOf:(0,type_validations_1.maybe)((0,type_validations_1.arrayOf)(i)),not:(0,type_validations_1.maybe)(i),extends:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(primitives_1.string)),format:primitives_1.maybeString})}).withSkipAtDepthOf(5);