botbook/node_modules/json-schema-library/lib/draft04/index.ts
Rodrigo Rodriguez 6ae15fe3e5 Updated.
2024-09-04 13:13:15 -03:00

108 lines
2.8 KiB
TypeScript

import addRemoteSchema from "../addRemoteSchema";
import compileSchema from "../compileSchema";
import { each } from "../each";
import { eachSchema } from "../eachSchema";
import ERRORS from "../validation/errors";
import FORMATS from "../validation/format";
import getSchema from "../getSchema";
import getTemplate from "../getTemplate";
import isValid from "../isValid";
import KEYWORDS from "../validation/keyword";
import merge from "../utils/merge";
import { resolveAllOf } from "../features/allOf";
import { resolveAnyOf } from "../features/anyOf";
import { resolveOneOf } from "../features/oneOf";
import resolveRef from "../resolveRef.strict";
import step from "../step";
import createSchemaOf from "../createSchemaOf";
import getChildSchemaSelection from "../getChildSchemaSelection";
import TYPES from "../validation/type";
import validate from "../validate";
import { DraftConfig, Draft } from "../draft";
import { JsonSchema } from "../types";
import settings from "../config/settings";
const draft04Config: DraftConfig = {
typeKeywords: {
array: [
"allOf",
"anyOf",
"enum",
"items",
"maxItems",
"minItems",
"not",
"oneOf",
"uniqueItems"
],
boolean: ["enum", "not", "allOf", "anyOf", "oneOf"],
object: [
"additionalProperties",
"dependencies",
"enum",
"format",
"minProperties",
"maxProperties",
"patternProperties",
"properties",
"required",
"not",
"oneOf",
"allOf",
"anyOf"
],
string: [
"allOf",
"anyOf",
"enum",
"format",
"maxLength",
"minLength",
"not",
"oneOf",
"pattern"
],
number: [
"allOf",
"anyOf",
"enum",
"format",
"maximum",
"minimum",
"multipleOf",
"not",
"oneOf"
],
null: ["allOf", "anyOf", "enum", "format", "not", "oneOf"]
},
validateKeyword: KEYWORDS,
validateType: TYPES,
validateFormat: FORMATS,
errors: ERRORS,
addRemoteSchema,
compileSchema,
createSchemaOf,
each,
eachSchema,
getChildSchemaSelection,
getSchema,
getTemplate,
isValid,
resolveAllOf,
resolveAnyOf,
resolveOneOf,
resolveRef,
step,
validate,
templateDefaultOptions: settings.templateDefaultOptions
};
class Draft04 extends Draft {
constructor(schema?: JsonSchema, config: Partial<DraftConfig> = {}) {
super(merge(draft04Config, config), schema);
}
}
export { Draft04, draft04Config };