@rjsf/validator-ajv8 5.7.1 → 5.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.development.js +3 -0
- package/dist/index.cjs.development.js.map +1 -1
- package/dist/index.cjs.production.min.js +1 -1
- package/dist/index.cjs.production.min.js.map +1 -1
- package/dist/index.d.ts +13 -11
- package/dist/validator-ajv8.esm.js +4 -1
- package/dist/validator-ajv8.esm.js.map +1 -1
- package/dist/validator-ajv8.umd.development.js +3 -0
- package/dist/validator-ajv8.umd.development.js.map +1 -1
- package/dist/validator-ajv8.umd.production.min.js +1 -1
- package/dist/validator-ajv8.umd.production.min.js.map +1 -1
- package/package.json +5 -5
|
@@ -382,6 +382,9 @@ var AJV8PrecompiledValidator = /*#__PURE__*/function () {
|
|
|
382
382
|
if (!isEqual__default["default"](rootSchema, this.rootSchema)) {
|
|
383
383
|
throw new Error('The schema associated with the precompiled validator differs from the rootSchema provided for validation');
|
|
384
384
|
}
|
|
385
|
+
if (get__default["default"](schema, utils.ID_KEY) === utils.JUNK_OPTION_ID) {
|
|
386
|
+
return false;
|
|
387
|
+
}
|
|
385
388
|
var validator = this.getValidator(schema);
|
|
386
389
|
return validator(formData);
|
|
387
390
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.development.js","sources":["../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/createPrecompiledValidator.ts","../src/index.ts"],"sourcesContent":["import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions<T>;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction<T>;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n"],"names":["transformRJSFValidationErrors","errors","uiSchema","map","e","instancePath","keyword","params","schemaPath","parentSchema","rest","_objectWithoutPropertiesLoose","_excluded","_rest$message","message","property","replace","stack","trim","missingProperty","currentProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","invalidSchemaError","validationError","concat","errorSchema","toErrorSchema","_extends","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","ajv","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","createAjvInstance","_proto","prototype","toErrorList","fieldPath","rawValidation","compilationError","undefined","compiledValidator","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","result","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","createPrecompiledValidator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.development.js","sources":["../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/createPrecompiledValidator.ts","../src/index.ts"],"sourcesContent":["import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n JUNK_OPTION_ID,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n if (get(schema, ID_KEY) === JUNK_OPTION_ID) {\n return false;\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n"],"names":["transformRJSFValidationErrors","errors","uiSchema","map","e","instancePath","keyword","params","schemaPath","parentSchema","rest","_objectWithoutPropertiesLoose","_excluded","_rest$message","message","property","replace","stack","trim","missingProperty","currentProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","invalidSchemaError","validationError","concat","errorSchema","toErrorSchema","_extends","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","ajv","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","createAjvInstance","_proto","prototype","toErrorList","fieldPath","rawValidation","compilationError","undefined","compiledValidator","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","result","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","JUNK_OPTION_ID","createPrecompiledValidator"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@rjsf/utils"),t=require("./createAjvInstance-0cd8cfba.js"),e=require("lodash/get"),a=require("lodash/isEqual");function i(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}require("ajv"),require("ajv-formats"),require("lodash/isObject");var o=i(e),s=i(a),n=["instancePath","keyword","params","schemaPath","parentSchema"];function c(e,a,i,s,c,l,h){var d=a.validationError,u=function(e,a){return void 0===e&&(e=[]),e.map((function(e){var i=e.instancePath,s=e.keyword,c=e.params,l=e.schemaPath,h=e.parentSchema,d=t._objectWithoutPropertiesLoose(e,n).message,u=void 0===d?"":d,v=i.replace(/\//g,"."),m=(v+" "+u).trim();if("missingProperty"in c){var f=c.missingProperty,p=r.getUiOptions(o.default(a,""+(v=v?v+"."+c.missingProperty:c.missingProperty).replace(/^\./,""))).title;if(p)u=u.replace(f,p);else{var E=o.default(h,[r.PROPERTIES_KEY,f,"title"]);E&&(u=u.replace(f,E))}m=u}else{var g=r.getUiOptions(o.default(a,""+v.replace(/^\./,""))).title;if(g)m=("'"+g+"' "+u).trim();else{var j=null==h?void 0:h.title;j&&(m=("'"+j+"' "+u).trim())}}return{name:s,property:v,message:u,params:c,stack:m,schemaPath:l}}))}(a.errors,h);d&&(u=[].concat(u,[{stack:d.message}])),"function"==typeof l&&(u=l(u,h));var v=r.toErrorSchema(u);if(d&&(v=t._extends({},v,{$schema:{__errors:[d.message]}})),"function"!=typeof c)return{errors:u,errorSchema:v};var m=r.getDefaultFormState(e,s,i,s,!0),f=c(m,r.createErrorHandler(m),h),p=r.unwrapErrorHandler(f);return r.validationDataMerge({errors:u,errorSchema:v},p)}var l=function(){function e(r,e){this.ajv=void 0,this.localizer=void 0,this.ajv=t.createAjvInstance(r.additionalMetaSchemas,r.customFormats,r.ajvOptionsOverrides,r.ajvFormatOptions,r.AjvClass),this.localizer=e}var a=e.prototype;return a.toErrorList=function(t,e){return void 0===e&&(e=[]),r.toErrorList(t,e)},a.rawValidation=function(t,e){var a,i,o=void 0;t[r.ID_KEY]&&(a=this.ajv.getSchema(t[r.ID_KEY]));try{void 0===a&&(a=this.ajv.compile(t)),a(e)}catch(r){o=r}return a&&("function"==typeof this.localizer&&this.localizer(a.errors),i=a.errors||void 0,a.errors=null),{errors:i,validationError:o}},a.validateFormData=function(r,t,e,a,i){return c(this,this.rawValidation(t,r),r,t,e,a,i)},a.isValid=function(t,e,a){var i,o=null!=(i=a[r.ID_KEY])?i:r.ROOT_SCHEMA_PREFIX;try{void 0===this.ajv.getSchema(o)&&this.ajv.addSchema(a,o);var s,n=r.withIdRefPrefix(t);return n[r.ID_KEY]&&(s=this.ajv.getSchema(n[r.ID_KEY])),void 0===s&&(s=this.ajv.compile(n)),s(e)}catch(r){return console.warn("Error encountered compiling schema:",r),!1}finally{this.ajv.removeSchema(o)}},e}();function h(r,t){return void 0===r&&(r={}),new l(r,t)}var d=function(){function t(r,t,e){this.rootSchema=void 0,this.validateFns=void 0,this.mainValidator=void 0,this.localizer=void 0,this.rootSchema=t,this.validateFns=r,this.localizer=e,this.mainValidator=this.getValidator(t)}var e=t.prototype;return e.getValidator=function(t){var e=o.default(t,r.ID_KEY)||r.hashForSchema(t),a=this.validateFns[e];if(!a)throw new Error('No precompiled validator function was found for the given schema for "'+e+'"');return a},e.toErrorList=function(t,e){return void 0===e&&(e=[]),r.toErrorList(t,e)},e.rawValidation=function(r,t){if(!s.default(r,this.rootSchema))throw new Error("The schema associated with the precompiled schema differs from the schema provided for validation");this.mainValidator(t),"function"==typeof this.localizer&&this.localizer(this.mainValidator.errors);var e=this.mainValidator.errors||void 0;return this.mainValidator.errors=null,{errors:e}},e.validateFormData=function(r,t,e,a,i){return c(this,this.rawValidation(t,r),r,t,e,a,i)},e.isValid=function(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@rjsf/utils"),t=require("./createAjvInstance-0cd8cfba.js"),e=require("lodash/get"),a=require("lodash/isEqual");function i(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}require("ajv"),require("ajv-formats"),require("lodash/isObject");var o=i(e),s=i(a),n=["instancePath","keyword","params","schemaPath","parentSchema"];function c(e,a,i,s,c,l,h){var d=a.validationError,u=function(e,a){return void 0===e&&(e=[]),e.map((function(e){var i=e.instancePath,s=e.keyword,c=e.params,l=e.schemaPath,h=e.parentSchema,d=t._objectWithoutPropertiesLoose(e,n).message,u=void 0===d?"":d,v=i.replace(/\//g,"."),m=(v+" "+u).trim();if("missingProperty"in c){var f=c.missingProperty,p=r.getUiOptions(o.default(a,""+(v=v?v+"."+c.missingProperty:c.missingProperty).replace(/^\./,""))).title;if(p)u=u.replace(f,p);else{var E=o.default(h,[r.PROPERTIES_KEY,f,"title"]);E&&(u=u.replace(f,E))}m=u}else{var g=r.getUiOptions(o.default(a,""+v.replace(/^\./,""))).title;if(g)m=("'"+g+"' "+u).trim();else{var j=null==h?void 0:h.title;j&&(m=("'"+j+"' "+u).trim())}}return{name:s,property:v,message:u,params:c,stack:m,schemaPath:l}}))}(a.errors,h);d&&(u=[].concat(u,[{stack:d.message}])),"function"==typeof l&&(u=l(u,h));var v=r.toErrorSchema(u);if(d&&(v=t._extends({},v,{$schema:{__errors:[d.message]}})),"function"!=typeof c)return{errors:u,errorSchema:v};var m=r.getDefaultFormState(e,s,i,s,!0),f=c(m,r.createErrorHandler(m),h),p=r.unwrapErrorHandler(f);return r.validationDataMerge({errors:u,errorSchema:v},p)}var l=function(){function e(r,e){this.ajv=void 0,this.localizer=void 0,this.ajv=t.createAjvInstance(r.additionalMetaSchemas,r.customFormats,r.ajvOptionsOverrides,r.ajvFormatOptions,r.AjvClass),this.localizer=e}var a=e.prototype;return a.toErrorList=function(t,e){return void 0===e&&(e=[]),r.toErrorList(t,e)},a.rawValidation=function(t,e){var a,i,o=void 0;t[r.ID_KEY]&&(a=this.ajv.getSchema(t[r.ID_KEY]));try{void 0===a&&(a=this.ajv.compile(t)),a(e)}catch(r){o=r}return a&&("function"==typeof this.localizer&&this.localizer(a.errors),i=a.errors||void 0,a.errors=null),{errors:i,validationError:o}},a.validateFormData=function(r,t,e,a,i){return c(this,this.rawValidation(t,r),r,t,e,a,i)},a.isValid=function(t,e,a){var i,o=null!=(i=a[r.ID_KEY])?i:r.ROOT_SCHEMA_PREFIX;try{void 0===this.ajv.getSchema(o)&&this.ajv.addSchema(a,o);var s,n=r.withIdRefPrefix(t);return n[r.ID_KEY]&&(s=this.ajv.getSchema(n[r.ID_KEY])),void 0===s&&(s=this.ajv.compile(n)),s(e)}catch(r){return console.warn("Error encountered compiling schema:",r),!1}finally{this.ajv.removeSchema(o)}},e}();function h(r,t){return void 0===r&&(r={}),new l(r,t)}var d=function(){function t(r,t,e){this.rootSchema=void 0,this.validateFns=void 0,this.mainValidator=void 0,this.localizer=void 0,this.rootSchema=t,this.validateFns=r,this.localizer=e,this.mainValidator=this.getValidator(t)}var e=t.prototype;return e.getValidator=function(t){var e=o.default(t,r.ID_KEY)||r.hashForSchema(t),a=this.validateFns[e];if(!a)throw new Error('No precompiled validator function was found for the given schema for "'+e+'"');return a},e.toErrorList=function(t,e){return void 0===e&&(e=[]),r.toErrorList(t,e)},e.rawValidation=function(r,t){if(!s.default(r,this.rootSchema))throw new Error("The schema associated with the precompiled schema differs from the schema provided for validation");this.mainValidator(t),"function"==typeof this.localizer&&this.localizer(this.mainValidator.errors);var e=this.mainValidator.errors||void 0;return this.mainValidator.errors=null,{errors:e}},e.validateFormData=function(r,t,e,a,i){return c(this,this.rawValidation(t,r),r,t,e,a,i)},e.isValid=function(t,e,a){if(!s.default(a,this.rootSchema))throw new Error("The schema associated with the precompiled validator differs from the rootSchema provided for validation");return o.default(t,r.ID_KEY)!==r.JUNK_OPTION_ID&&this.getValidator(t)(e)},t}(),u=h();exports.createPrecompiledValidator=function(r,t,e){return new d(r,t,e)},exports.customizeValidator=h,exports.default=u;
|
|
2
2
|
//# sourceMappingURL=index.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.production.min.js","sources":["../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/index.ts","../src/createPrecompiledValidator.ts"],"sourcesContent":["import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions<T>;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction<T>;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n"],"names":["processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","uiSchema","invalidSchemaError","validationError","errors","map","e","instancePath","keyword","params","schemaPath","parentSchema","_rest$message","_objectWithoutPropertiesLoose","_excluded","message","property","replace","stack","trim","currentProperty","missingProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","transformRJSFValidationErrors","concat","errorSchema","toErrorSchema","_extends","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","this","ajv","createAjvInstance","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","_proto","prototype","toErrorList","fieldPath","rawValidation","compiledValidator","compilationError","undefined","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.production.min.js","sources":["../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/index.ts","../src/createPrecompiledValidator.ts"],"sourcesContent":["import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n JUNK_OPTION_ID,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n if (get(schema, ID_KEY) === JUNK_OPTION_ID) {\n return false;\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n"],"names":["processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","uiSchema","invalidSchemaError","validationError","errors","map","e","instancePath","keyword","params","schemaPath","parentSchema","_rest$message","_objectWithoutPropertiesLoose","_excluded","message","property","replace","stack","trim","currentProperty","missingProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","transformRJSFValidationErrors","concat","errorSchema","toErrorSchema","_extends","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","this","ajv","createAjvInstance","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","_proto","prototype","toErrorList","fieldPath","rawValidation","compiledValidator","compilationError","undefined","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","JUNK_OPTION_ID"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as _rjsf_utils from '@rjsf/utils';
|
|
2
2
|
import { StrictRJSFSchema, RJSFSchema, FormContextType, ValidatorType } from '@rjsf/utils';
|
|
3
|
-
import Ajv, { Options, ErrorObject
|
|
3
|
+
import Ajv, { Options, ErrorObject } from 'ajv';
|
|
4
4
|
import { FormatsPluginOptions } from 'ajv-formats';
|
|
5
|
-
import { DataValidationCxt } from 'ajv/lib/types';
|
|
6
5
|
|
|
7
6
|
/** The type describing how to customize the AJV6 validator
|
|
8
7
|
*/
|
|
@@ -23,19 +22,22 @@ interface CustomValidatorOptionsType {
|
|
|
23
22
|
/** The type describing a function that takes a list of Ajv `ErrorObject`s and localizes them
|
|
24
23
|
*/
|
|
25
24
|
type Localizer = (errors?: null | ErrorObject[]) => void;
|
|
26
|
-
/**
|
|
27
|
-
* AJV
|
|
25
|
+
/** This is a simplification of the `ValidateFunction` type provided by the AJV validator down to its minimal form so
|
|
26
|
+
* that the code still works properly with precompiled validator functions generated by the AJV standalone code
|
|
27
|
+
* compilation but does not rely on any of the internal AJV types which causes Typescript issue for library consumers
|
|
28
28
|
*/
|
|
29
|
-
interface CompiledValidateFunction
|
|
30
|
-
/**
|
|
31
|
-
|
|
29
|
+
interface CompiledValidateFunction {
|
|
30
|
+
/** The errors produced by the precompiled validator */
|
|
31
|
+
errors?: null | ErrorObject[];
|
|
32
|
+
/** This is simplified version of a `ValidateFunction` type definition which describes the interface that our
|
|
33
|
+
* precompiled validator will call.
|
|
32
34
|
*/
|
|
33
|
-
(this: Ajv | any, data: any
|
|
35
|
+
(this: Ajv | any, data: any): boolean;
|
|
34
36
|
}
|
|
35
37
|
/** The definition of precompiled validator functions
|
|
36
38
|
*/
|
|
37
|
-
type ValidatorFunctions
|
|
38
|
-
[key: string]: CompiledValidateFunction
|
|
39
|
+
type ValidatorFunctions = {
|
|
40
|
+
[key: string]: CompiledValidateFunction;
|
|
39
41
|
};
|
|
40
42
|
|
|
41
43
|
/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if
|
|
@@ -59,7 +61,7 @@ declare function customizeValidator<T = any, S extends StrictRJSFSchema = RJSFSc
|
|
|
59
61
|
* @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s
|
|
60
62
|
* @returns - The precompiled validator implementation resulting from the set of parameters provided
|
|
61
63
|
*/
|
|
62
|
-
declare function createPrecompiledValidator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validateFns: ValidatorFunctions
|
|
64
|
+
declare function createPrecompiledValidator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F>;
|
|
63
65
|
|
|
64
66
|
declare const _default: _rjsf_utils.ValidatorType<any, _rjsf_utils.RJSFSchema, any>;
|
|
65
67
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG, toErrorSchema, getDefaultFormState, createErrorHandler, unwrapErrorHandler, validationDataMerge, getUiOptions, PROPERTIES_KEY, toErrorList, ID_KEY, withIdRefPrefix, ROOT_SCHEMA_PREFIX, hashForSchema } from '@rjsf/utils';
|
|
1
|
+
import { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG, toErrorSchema, getDefaultFormState, createErrorHandler, unwrapErrorHandler, validationDataMerge, getUiOptions, PROPERTIES_KEY, toErrorList, ID_KEY, withIdRefPrefix, ROOT_SCHEMA_PREFIX, hashForSchema, JUNK_OPTION_ID } from '@rjsf/utils';
|
|
2
2
|
import Ajv from 'ajv';
|
|
3
3
|
import addFormats from 'ajv-formats';
|
|
4
4
|
import isObject from 'lodash-es/isObject';
|
|
@@ -454,6 +454,9 @@ var AJV8PrecompiledValidator = /*#__PURE__*/function () {
|
|
|
454
454
|
if (!isEqual(rootSchema, this.rootSchema)) {
|
|
455
455
|
throw new Error('The schema associated with the precompiled validator differs from the rootSchema provided for validation');
|
|
456
456
|
}
|
|
457
|
+
if (get(schema, ID_KEY) === JUNK_OPTION_ID) {
|
|
458
|
+
return false;
|
|
459
|
+
}
|
|
457
460
|
var validator = this.getValidator(schema);
|
|
458
461
|
return validator(formData);
|
|
459
462
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator-ajv8.esm.js","sources":["../src/createAjvInstance.ts","../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/createPrecompiledValidator.ts","../src/index.ts"],"sourcesContent":["import Ajv, { Options } from 'ajv';\nimport addFormats, { FormatsPluginOptions } from 'ajv-formats';\nimport isObject from 'lodash/isObject';\n\nimport { CustomValidatorOptionsType } from './types';\nimport { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG } from '@rjsf/utils';\n\nexport const AJV_CONFIG: Options = {\n allErrors: true,\n multipleOfPrecision: 8,\n strict: false,\n verbose: true,\n} as const;\nexport const COLOR_FORMAT_REGEX =\n /^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/;\nexport const DATA_URL_FORMAT_REGEX = /^data:([a-z]+\\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;\n\n/** Creates an Ajv version 8 implementation object with standard support for the 'color` and `data-url` custom formats.\n * If `additionalMetaSchemas` are provided then the Ajv instance is modified to add each of the meta schemas in the\n * list. If `customFormats` are provided then those additional formats are added to the list of supported formats. If\n * `ajvOptionsOverrides` are provided then they are spread on top of the default `AJV_CONFIG` options when constructing\n * the `Ajv` instance. With Ajv v8, the JSON Schema formats are not provided by default, but can be plugged in. By\n * default, all formats from the `ajv-formats` library are added. To disable this capability, set the `ajvFormatOptions`\n * parameter to `false`. Additionally, you can configure the `ajv-formats` by providing a custom set of\n * [format options](https://github.com/ajv-validator/ajv-formats) to the `ajvFormatOptions` parameter.\n *\n * @param [additionalMetaSchemas] - The list of additional meta schemas that the validator can access\n * @param [customFormats] - The set of additional custom formats that the validator will support\n * @param [ajvOptionsOverrides={}] - The set of validator config override options\n * @param [ajvFormatOptions] - The `ajv-format` options to use when adding formats to `ajv`; pass `false` to disable it\n * @param [AjvClass] - The `Ajv` class to use when creating the validator instance\n */\nexport default function createAjvInstance(\n additionalMetaSchemas?: CustomValidatorOptionsType['additionalMetaSchemas'],\n customFormats?: CustomValidatorOptionsType['customFormats'],\n ajvOptionsOverrides: CustomValidatorOptionsType['ajvOptionsOverrides'] = {},\n ajvFormatOptions?: FormatsPluginOptions | false,\n AjvClass: typeof Ajv = Ajv\n) {\n const ajv = new AjvClass({ ...AJV_CONFIG, ...ajvOptionsOverrides });\n if (ajvFormatOptions) {\n addFormats(ajv, ajvFormatOptions);\n } else if (ajvFormatOptions !== false) {\n addFormats(ajv);\n }\n\n // add custom formats\n ajv.addFormat('data-url', DATA_URL_FORMAT_REGEX);\n ajv.addFormat('color', COLOR_FORMAT_REGEX);\n\n // Add RJSF-specific additional properties keywords so Ajv doesn't report errors if strict is enabled.\n ajv.addKeyword(ADDITIONAL_PROPERTY_FLAG);\n ajv.addKeyword(RJSF_ADDITONAL_PROPERTIES_FLAG);\n\n // add more schemas to validate against\n if (Array.isArray(additionalMetaSchemas)) {\n ajv.addMetaSchema(additionalMetaSchemas);\n }\n\n // add more custom formats to validate against\n if (isObject(customFormats)) {\n Object.keys(customFormats).forEach((formatName) => {\n ajv.addFormat(formatName, customFormats[formatName]);\n });\n }\n\n return ajv;\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions<T>;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction<T>;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n"],"names":["AJV_CONFIG","allErrors","multipleOfPrecision","strict","verbose","COLOR_FORMAT_REGEX","DATA_URL_FORMAT_REGEX","createAjvInstance","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","Ajv","ajv","_extends","addFormats","addFormat","addKeyword","ADDITIONAL_PROPERTY_FLAG","RJSF_ADDITONAL_PROPERTIES_FLAG","Array","isArray","addMetaSchema","isObject","Object","keys","forEach","formatName","transformRJSFValidationErrors","errors","uiSchema","map","e","instancePath","keyword","params","schemaPath","parentSchema","rest","_objectWithoutPropertiesLoose","_excluded","_rest$message","message","property","replace","stack","trim","missingProperty","currentProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","invalidSchemaError","validationError","concat","errorSchema","toErrorSchema","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","_proto","prototype","toErrorList","fieldPath","rawValidation","compilationError","undefined","compiledValidator","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","result","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","createPrecompiledValidator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator-ajv8.esm.js","sources":["../src/createAjvInstance.ts","../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/createPrecompiledValidator.ts","../src/index.ts"],"sourcesContent":["import Ajv, { Options } from 'ajv';\nimport addFormats, { FormatsPluginOptions } from 'ajv-formats';\nimport isObject from 'lodash/isObject';\n\nimport { CustomValidatorOptionsType } from './types';\nimport { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG } from '@rjsf/utils';\n\nexport const AJV_CONFIG: Options = {\n allErrors: true,\n multipleOfPrecision: 8,\n strict: false,\n verbose: true,\n} as const;\nexport const COLOR_FORMAT_REGEX =\n /^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/;\nexport const DATA_URL_FORMAT_REGEX = /^data:([a-z]+\\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;\n\n/** Creates an Ajv version 8 implementation object with standard support for the 'color` and `data-url` custom formats.\n * If `additionalMetaSchemas` are provided then the Ajv instance is modified to add each of the meta schemas in the\n * list. If `customFormats` are provided then those additional formats are added to the list of supported formats. If\n * `ajvOptionsOverrides` are provided then they are spread on top of the default `AJV_CONFIG` options when constructing\n * the `Ajv` instance. With Ajv v8, the JSON Schema formats are not provided by default, but can be plugged in. By\n * default, all formats from the `ajv-formats` library are added. To disable this capability, set the `ajvFormatOptions`\n * parameter to `false`. Additionally, you can configure the `ajv-formats` by providing a custom set of\n * [format options](https://github.com/ajv-validator/ajv-formats) to the `ajvFormatOptions` parameter.\n *\n * @param [additionalMetaSchemas] - The list of additional meta schemas that the validator can access\n * @param [customFormats] - The set of additional custom formats that the validator will support\n * @param [ajvOptionsOverrides={}] - The set of validator config override options\n * @param [ajvFormatOptions] - The `ajv-format` options to use when adding formats to `ajv`; pass `false` to disable it\n * @param [AjvClass] - The `Ajv` class to use when creating the validator instance\n */\nexport default function createAjvInstance(\n additionalMetaSchemas?: CustomValidatorOptionsType['additionalMetaSchemas'],\n customFormats?: CustomValidatorOptionsType['customFormats'],\n ajvOptionsOverrides: CustomValidatorOptionsType['ajvOptionsOverrides'] = {},\n ajvFormatOptions?: FormatsPluginOptions | false,\n AjvClass: typeof Ajv = Ajv\n) {\n const ajv = new AjvClass({ ...AJV_CONFIG, ...ajvOptionsOverrides });\n if (ajvFormatOptions) {\n addFormats(ajv, ajvFormatOptions);\n } else if (ajvFormatOptions !== false) {\n addFormats(ajv);\n }\n\n // add custom formats\n ajv.addFormat('data-url', DATA_URL_FORMAT_REGEX);\n ajv.addFormat('color', COLOR_FORMAT_REGEX);\n\n // Add RJSF-specific additional properties keywords so Ajv doesn't report errors if strict is enabled.\n ajv.addKeyword(ADDITIONAL_PROPERTY_FLAG);\n ajv.addKeyword(RJSF_ADDITONAL_PROPERTIES_FLAG);\n\n // add more schemas to validate against\n if (Array.isArray(additionalMetaSchemas)) {\n ajv.addMetaSchema(additionalMetaSchemas);\n }\n\n // add more custom formats to validate against\n if (isObject(customFormats)) {\n Object.keys(customFormats).forEach((formatName) => {\n ajv.addFormat(formatName, customFormats[formatName]);\n });\n }\n\n return ajv;\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n JUNK_OPTION_ID,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n if (get(schema, ID_KEY) === JUNK_OPTION_ID) {\n return false;\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n"],"names":["AJV_CONFIG","allErrors","multipleOfPrecision","strict","verbose","COLOR_FORMAT_REGEX","DATA_URL_FORMAT_REGEX","createAjvInstance","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","Ajv","ajv","_extends","addFormats","addFormat","addKeyword","ADDITIONAL_PROPERTY_FLAG","RJSF_ADDITONAL_PROPERTIES_FLAG","Array","isArray","addMetaSchema","isObject","Object","keys","forEach","formatName","transformRJSFValidationErrors","errors","uiSchema","map","e","instancePath","keyword","params","schemaPath","parentSchema","rest","_objectWithoutPropertiesLoose","_excluded","_rest$message","message","property","replace","stack","trim","missingProperty","currentProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","invalidSchemaError","validationError","concat","errorSchema","toErrorSchema","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","_proto","prototype","toErrorList","fieldPath","rawValidation","compilationError","undefined","compiledValidator","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","result","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","JUNK_OPTION_ID","createPrecompiledValidator"],"mappings":"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"}
|
|
@@ -461,6 +461,9 @@
|
|
|
461
461
|
if (!isEqual__default["default"](rootSchema, this.rootSchema)) {
|
|
462
462
|
throw new Error('The schema associated with the precompiled validator differs from the rootSchema provided for validation');
|
|
463
463
|
}
|
|
464
|
+
if (get__default["default"](schema, utils.ID_KEY) === utils.JUNK_OPTION_ID) {
|
|
465
|
+
return false;
|
|
466
|
+
}
|
|
464
467
|
var validator = this.getValidator(schema);
|
|
465
468
|
return validator(formData);
|
|
466
469
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator-ajv8.umd.development.js","sources":["../src/createAjvInstance.ts","../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/createPrecompiledValidator.ts","../src/index.ts"],"sourcesContent":["import Ajv, { Options } from 'ajv';\nimport addFormats, { FormatsPluginOptions } from 'ajv-formats';\nimport isObject from 'lodash/isObject';\n\nimport { CustomValidatorOptionsType } from './types';\nimport { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG } from '@rjsf/utils';\n\nexport const AJV_CONFIG: Options = {\n allErrors: true,\n multipleOfPrecision: 8,\n strict: false,\n verbose: true,\n} as const;\nexport const COLOR_FORMAT_REGEX =\n /^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/;\nexport const DATA_URL_FORMAT_REGEX = /^data:([a-z]+\\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;\n\n/** Creates an Ajv version 8 implementation object with standard support for the 'color` and `data-url` custom formats.\n * If `additionalMetaSchemas` are provided then the Ajv instance is modified to add each of the meta schemas in the\n * list. If `customFormats` are provided then those additional formats are added to the list of supported formats. If\n * `ajvOptionsOverrides` are provided then they are spread on top of the default `AJV_CONFIG` options when constructing\n * the `Ajv` instance. With Ajv v8, the JSON Schema formats are not provided by default, but can be plugged in. By\n * default, all formats from the `ajv-formats` library are added. To disable this capability, set the `ajvFormatOptions`\n * parameter to `false`. Additionally, you can configure the `ajv-formats` by providing a custom set of\n * [format options](https://github.com/ajv-validator/ajv-formats) to the `ajvFormatOptions` parameter.\n *\n * @param [additionalMetaSchemas] - The list of additional meta schemas that the validator can access\n * @param [customFormats] - The set of additional custom formats that the validator will support\n * @param [ajvOptionsOverrides={}] - The set of validator config override options\n * @param [ajvFormatOptions] - The `ajv-format` options to use when adding formats to `ajv`; pass `false` to disable it\n * @param [AjvClass] - The `Ajv` class to use when creating the validator instance\n */\nexport default function createAjvInstance(\n additionalMetaSchemas?: CustomValidatorOptionsType['additionalMetaSchemas'],\n customFormats?: CustomValidatorOptionsType['customFormats'],\n ajvOptionsOverrides: CustomValidatorOptionsType['ajvOptionsOverrides'] = {},\n ajvFormatOptions?: FormatsPluginOptions | false,\n AjvClass: typeof Ajv = Ajv\n) {\n const ajv = new AjvClass({ ...AJV_CONFIG, ...ajvOptionsOverrides });\n if (ajvFormatOptions) {\n addFormats(ajv, ajvFormatOptions);\n } else if (ajvFormatOptions !== false) {\n addFormats(ajv);\n }\n\n // add custom formats\n ajv.addFormat('data-url', DATA_URL_FORMAT_REGEX);\n ajv.addFormat('color', COLOR_FORMAT_REGEX);\n\n // Add RJSF-specific additional properties keywords so Ajv doesn't report errors if strict is enabled.\n ajv.addKeyword(ADDITIONAL_PROPERTY_FLAG);\n ajv.addKeyword(RJSF_ADDITONAL_PROPERTIES_FLAG);\n\n // add more schemas to validate against\n if (Array.isArray(additionalMetaSchemas)) {\n ajv.addMetaSchema(additionalMetaSchemas);\n }\n\n // add more custom formats to validate against\n if (isObject(customFormats)) {\n Object.keys(customFormats).forEach((formatName) => {\n ajv.addFormat(formatName, customFormats[formatName]);\n });\n }\n\n return ajv;\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions<T>;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction<T>;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n"],"names":["AJV_CONFIG","allErrors","multipleOfPrecision","strict","verbose","COLOR_FORMAT_REGEX","DATA_URL_FORMAT_REGEX","createAjvInstance","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","Ajv","ajv","_extends","addFormats","addFormat","addKeyword","ADDITIONAL_PROPERTY_FLAG","RJSF_ADDITONAL_PROPERTIES_FLAG","Array","isArray","addMetaSchema","isObject","Object","keys","forEach","formatName","transformRJSFValidationErrors","errors","uiSchema","map","e","instancePath","keyword","params","schemaPath","parentSchema","rest","_objectWithoutPropertiesLoose","_excluded","_rest$message","message","property","replace","stack","trim","missingProperty","currentProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","invalidSchemaError","validationError","concat","errorSchema","toErrorSchema","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","_proto","prototype","toErrorList","fieldPath","rawValidation","compilationError","undefined","compiledValidator","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","result","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","createPrecompiledValidator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator-ajv8.umd.development.js","sources":["../src/createAjvInstance.ts","../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/createPrecompiledValidator.ts","../src/index.ts"],"sourcesContent":["import Ajv, { Options } from 'ajv';\nimport addFormats, { FormatsPluginOptions } from 'ajv-formats';\nimport isObject from 'lodash/isObject';\n\nimport { CustomValidatorOptionsType } from './types';\nimport { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG } from '@rjsf/utils';\n\nexport const AJV_CONFIG: Options = {\n allErrors: true,\n multipleOfPrecision: 8,\n strict: false,\n verbose: true,\n} as const;\nexport const COLOR_FORMAT_REGEX =\n /^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/;\nexport const DATA_URL_FORMAT_REGEX = /^data:([a-z]+\\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;\n\n/** Creates an Ajv version 8 implementation object with standard support for the 'color` and `data-url` custom formats.\n * If `additionalMetaSchemas` are provided then the Ajv instance is modified to add each of the meta schemas in the\n * list. If `customFormats` are provided then those additional formats are added to the list of supported formats. If\n * `ajvOptionsOverrides` are provided then they are spread on top of the default `AJV_CONFIG` options when constructing\n * the `Ajv` instance. With Ajv v8, the JSON Schema formats are not provided by default, but can be plugged in. By\n * default, all formats from the `ajv-formats` library are added. To disable this capability, set the `ajvFormatOptions`\n * parameter to `false`. Additionally, you can configure the `ajv-formats` by providing a custom set of\n * [format options](https://github.com/ajv-validator/ajv-formats) to the `ajvFormatOptions` parameter.\n *\n * @param [additionalMetaSchemas] - The list of additional meta schemas that the validator can access\n * @param [customFormats] - The set of additional custom formats that the validator will support\n * @param [ajvOptionsOverrides={}] - The set of validator config override options\n * @param [ajvFormatOptions] - The `ajv-format` options to use when adding formats to `ajv`; pass `false` to disable it\n * @param [AjvClass] - The `Ajv` class to use when creating the validator instance\n */\nexport default function createAjvInstance(\n additionalMetaSchemas?: CustomValidatorOptionsType['additionalMetaSchemas'],\n customFormats?: CustomValidatorOptionsType['customFormats'],\n ajvOptionsOverrides: CustomValidatorOptionsType['ajvOptionsOverrides'] = {},\n ajvFormatOptions?: FormatsPluginOptions | false,\n AjvClass: typeof Ajv = Ajv\n) {\n const ajv = new AjvClass({ ...AJV_CONFIG, ...ajvOptionsOverrides });\n if (ajvFormatOptions) {\n addFormats(ajv, ajvFormatOptions);\n } else if (ajvFormatOptions !== false) {\n addFormats(ajv);\n }\n\n // add custom formats\n ajv.addFormat('data-url', DATA_URL_FORMAT_REGEX);\n ajv.addFormat('color', COLOR_FORMAT_REGEX);\n\n // Add RJSF-specific additional properties keywords so Ajv doesn't report errors if strict is enabled.\n ajv.addKeyword(ADDITIONAL_PROPERTY_FLAG);\n ajv.addKeyword(RJSF_ADDITONAL_PROPERTIES_FLAG);\n\n // add more schemas to validate against\n if (Array.isArray(additionalMetaSchemas)) {\n ajv.addMetaSchema(additionalMetaSchemas);\n }\n\n // add more custom formats to validate against\n if (isObject(customFormats)) {\n Object.keys(customFormats).forEach((formatName) => {\n ajv.addFormat(formatName, customFormats[formatName]);\n });\n }\n\n return ajv;\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n JUNK_OPTION_ID,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n if (get(schema, ID_KEY) === JUNK_OPTION_ID) {\n return false;\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n"],"names":["AJV_CONFIG","allErrors","multipleOfPrecision","strict","verbose","COLOR_FORMAT_REGEX","DATA_URL_FORMAT_REGEX","createAjvInstance","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","Ajv","ajv","_extends","addFormats","addFormat","addKeyword","ADDITIONAL_PROPERTY_FLAG","RJSF_ADDITONAL_PROPERTIES_FLAG","Array","isArray","addMetaSchema","isObject","Object","keys","forEach","formatName","transformRJSFValidationErrors","errors","uiSchema","map","e","instancePath","keyword","params","schemaPath","parentSchema","rest","_objectWithoutPropertiesLoose","_excluded","_rest$message","message","property","replace","stack","trim","missingProperty","currentProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","invalidSchemaError","validationError","concat","errorSchema","toErrorSchema","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","_proto","prototype","toErrorList","fieldPath","rawValidation","compilationError","undefined","compiledValidator","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","result","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","JUNK_OPTION_ID","createPrecompiledValidator"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@rjsf/utils"),require("ajv"),require("ajv-formats"),require("lodash-es/isObject"),require("lodash-es/get"),require("lodash-es/isEqual")):"function"==typeof define&&define.amd?define(["exports","@rjsf/utils","ajv","ajv-formats","lodash-es/isObject","lodash-es/get","lodash-es/isEqual"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self)["@rjsf/validator-ajv8"]={},r.utils,r.Ajv,r.addFormats,r.isObject,r.get,r.isEqual)}(this,(function(r,e,t,a,i,o,s){"use strict";function n(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var l=n(t),d=n(a),c=n(i),u=n(o),h=n(s);function f(){return f=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[a]=t[a])}return r},f.apply(this,arguments)}var v={allErrors:!0,multipleOfPrecision:8,strict:!1,verbose:!0},m=/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,p=/^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/,g=["instancePath","keyword","params","schemaPath","parentSchema"];function y(r,t,a,i,o,s,n){var l=t.validationError,d=function(r,t){return void 0===r&&(r=[]),r.map((function(r){var a=r.instancePath,i=r.keyword,o=r.params,s=r.schemaPath,n=r.parentSchema,l=function(r,e){if(null==r)return{};var t,a,i={},o=Object.keys(r);for(a=0;a<o.length;a++)e.indexOf(t=o[a])>=0||(i[t]=r[t]);return i}(r,g).message,d=void 0===l?"":l,c=a.replace(/\//g,"."),h=(c+" "+d).trim();if("missingProperty"in o){var f=o.missingProperty,v=e.getUiOptions(u.default(t,""+(c=c?c+"."+o.missingProperty:o.missingProperty).replace(/^\./,""))).title;if(v)d=d.replace(f,v);else{var m=u.default(n,[e.PROPERTIES_KEY,f,"title"]);m&&(d=d.replace(f,m))}h=d}else{var p=e.getUiOptions(u.default(t,""+c.replace(/^\./,""))).title;if(p)h=("'"+p+"' "+d).trim();else{var y=null==n?void 0:n.title;y&&(h=("'"+y+"' "+d).trim())}}return{name:i,property:c,message:d,params:o,stack:h,schemaPath:s}}))}(t.errors,n);l&&(d=[].concat(d,[{stack:l.message}])),"function"==typeof s&&(d=s(d,n));var c=e.toErrorSchema(d);if(l&&(c=f({},c,{$schema:{__errors:[l.message]}})),"function"!=typeof o)return{errors:d,errorSchema:c};var h=e.getDefaultFormState(r,i,a,i,!0),v=o(h,e.createErrorHandler(h),n),m=e.unwrapErrorHandler(v);return e.validationDataMerge({errors:d,errorSchema:c},m)}var
|
|
1
|
+
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@rjsf/utils"),require("ajv"),require("ajv-formats"),require("lodash-es/isObject"),require("lodash-es/get"),require("lodash-es/isEqual")):"function"==typeof define&&define.amd?define(["exports","@rjsf/utils","ajv","ajv-formats","lodash-es/isObject","lodash-es/get","lodash-es/isEqual"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self)["@rjsf/validator-ajv8"]={},r.utils,r.Ajv,r.addFormats,r.isObject,r.get,r.isEqual)}(this,(function(r,e,t,a,i,o,s){"use strict";function n(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var l=n(t),d=n(a),c=n(i),u=n(o),h=n(s);function f(){return f=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[a]=t[a])}return r},f.apply(this,arguments)}var v={allErrors:!0,multipleOfPrecision:8,strict:!1,verbose:!0},m=/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,p=/^data:([a-z]+\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/,g=["instancePath","keyword","params","schemaPath","parentSchema"];function y(r,t,a,i,o,s,n){var l=t.validationError,d=function(r,t){return void 0===r&&(r=[]),r.map((function(r){var a=r.instancePath,i=r.keyword,o=r.params,s=r.schemaPath,n=r.parentSchema,l=function(r,e){if(null==r)return{};var t,a,i={},o=Object.keys(r);for(a=0;a<o.length;a++)e.indexOf(t=o[a])>=0||(i[t]=r[t]);return i}(r,g).message,d=void 0===l?"":l,c=a.replace(/\//g,"."),h=(c+" "+d).trim();if("missingProperty"in o){var f=o.missingProperty,v=e.getUiOptions(u.default(t,""+(c=c?c+"."+o.missingProperty:o.missingProperty).replace(/^\./,""))).title;if(v)d=d.replace(f,v);else{var m=u.default(n,[e.PROPERTIES_KEY,f,"title"]);m&&(d=d.replace(f,m))}h=d}else{var p=e.getUiOptions(u.default(t,""+c.replace(/^\./,""))).title;if(p)h=("'"+p+"' "+d).trim();else{var y=null==n?void 0:n.title;y&&(h=("'"+y+"' "+d).trim())}}return{name:i,property:c,message:d,params:o,stack:h,schemaPath:s}}))}(t.errors,n);l&&(d=[].concat(d,[{stack:l.message}])),"function"==typeof s&&(d=s(d,n));var c=e.toErrorSchema(d);if(l&&(c=f({},c,{$schema:{__errors:[l.message]}})),"function"!=typeof o)return{errors:d,errorSchema:c};var h=e.getDefaultFormState(r,i,a,i,!0),v=o(h,e.createErrorHandler(h),n),m=e.unwrapErrorHandler(v);return e.validationDataMerge({errors:d,errorSchema:c},m)}var E=function(){function r(r,t){this.ajv=void 0,this.localizer=void 0,this.ajv=function(r,t,a,i,o){void 0===a&&(a={}),void 0===o&&(o=l.default);var s=new o(f({},v,a));return i?d.default(s,i):!1!==i&&d.default(s),s.addFormat("data-url",p),s.addFormat("color",m),s.addKeyword(e.ADDITIONAL_PROPERTY_FLAG),s.addKeyword(e.RJSF_ADDITONAL_PROPERTIES_FLAG),Array.isArray(r)&&s.addMetaSchema(r),c.default(t)&&Object.keys(t).forEach((function(r){s.addFormat(r,t[r])})),s}(r.additionalMetaSchemas,r.customFormats,r.ajvOptionsOverrides,r.ajvFormatOptions,r.AjvClass),this.localizer=t}var t=r.prototype;return t.toErrorList=function(r,t){return void 0===t&&(t=[]),e.toErrorList(r,t)},t.rawValidation=function(r,t){var a,i,o=void 0;r[e.ID_KEY]&&(a=this.ajv.getSchema(r[e.ID_KEY]));try{void 0===a&&(a=this.ajv.compile(r)),a(t)}catch(r){o=r}return a&&("function"==typeof this.localizer&&this.localizer(a.errors),i=a.errors||void 0,a.errors=null),{errors:i,validationError:o}},t.validateFormData=function(r,e,t,a,i){return y(this,this.rawValidation(e,r),r,e,t,a,i)},t.isValid=function(r,t,a){var i,o=null!=(i=a[e.ID_KEY])?i:e.ROOT_SCHEMA_PREFIX;try{void 0===this.ajv.getSchema(o)&&this.ajv.addSchema(a,o);var s,n=e.withIdRefPrefix(r);return n[e.ID_KEY]&&(s=this.ajv.getSchema(n[e.ID_KEY])),void 0===s&&(s=this.ajv.compile(n)),s(t)}catch(r){return console.warn("Error encountered compiling schema:",r),!1}finally{this.ajv.removeSchema(o)}},r}();function j(r,e){return void 0===r&&(r={}),new E(r,e)}var b=function(){function r(r,e,t){this.rootSchema=void 0,this.validateFns=void 0,this.mainValidator=void 0,this.localizer=void 0,this.rootSchema=e,this.validateFns=r,this.localizer=t,this.mainValidator=this.getValidator(e)}var t=r.prototype;return t.getValidator=function(r){var t=u.default(r,e.ID_KEY)||e.hashForSchema(r),a=this.validateFns[t];if(!a)throw new Error('No precompiled validator function was found for the given schema for "'+t+'"');return a},t.toErrorList=function(r,t){return void 0===t&&(t=[]),e.toErrorList(r,t)},t.rawValidation=function(r,e){if(!h.default(r,this.rootSchema))throw new Error("The schema associated with the precompiled schema differs from the schema provided for validation");this.mainValidator(e),"function"==typeof this.localizer&&this.localizer(this.mainValidator.errors);var t=this.mainValidator.errors||void 0;return this.mainValidator.errors=null,{errors:t}},t.validateFormData=function(r,e,t,a,i){return y(this,this.rawValidation(e,r),r,e,t,a,i)},t.isValid=function(r,t,a){if(!h.default(a,this.rootSchema))throw new Error("The schema associated with the precompiled validator differs from the rootSchema provided for validation");return u.default(r,e.ID_KEY)!==e.JUNK_OPTION_ID&&this.getValidator(r)(t)},r}(),w=j();r.createPrecompiledValidator=function(r,e,t){return new b(r,e,t)},r.customizeValidator=j,r.default=w,Object.defineProperty(r,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=validator-ajv8.umd.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator-ajv8.umd.production.min.js","sources":["../src/createAjvInstance.ts","../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/index.ts","../src/createPrecompiledValidator.ts"],"sourcesContent":["import Ajv, { Options } from 'ajv';\nimport addFormats, { FormatsPluginOptions } from 'ajv-formats';\nimport isObject from 'lodash/isObject';\n\nimport { CustomValidatorOptionsType } from './types';\nimport { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG } from '@rjsf/utils';\n\nexport const AJV_CONFIG: Options = {\n allErrors: true,\n multipleOfPrecision: 8,\n strict: false,\n verbose: true,\n} as const;\nexport const COLOR_FORMAT_REGEX =\n /^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/;\nexport const DATA_URL_FORMAT_REGEX = /^data:([a-z]+\\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;\n\n/** Creates an Ajv version 8 implementation object with standard support for the 'color` and `data-url` custom formats.\n * If `additionalMetaSchemas` are provided then the Ajv instance is modified to add each of the meta schemas in the\n * list. If `customFormats` are provided then those additional formats are added to the list of supported formats. If\n * `ajvOptionsOverrides` are provided then they are spread on top of the default `AJV_CONFIG` options when constructing\n * the `Ajv` instance. With Ajv v8, the JSON Schema formats are not provided by default, but can be plugged in. By\n * default, all formats from the `ajv-formats` library are added. To disable this capability, set the `ajvFormatOptions`\n * parameter to `false`. Additionally, you can configure the `ajv-formats` by providing a custom set of\n * [format options](https://github.com/ajv-validator/ajv-formats) to the `ajvFormatOptions` parameter.\n *\n * @param [additionalMetaSchemas] - The list of additional meta schemas that the validator can access\n * @param [customFormats] - The set of additional custom formats that the validator will support\n * @param [ajvOptionsOverrides={}] - The set of validator config override options\n * @param [ajvFormatOptions] - The `ajv-format` options to use when adding formats to `ajv`; pass `false` to disable it\n * @param [AjvClass] - The `Ajv` class to use when creating the validator instance\n */\nexport default function createAjvInstance(\n additionalMetaSchemas?: CustomValidatorOptionsType['additionalMetaSchemas'],\n customFormats?: CustomValidatorOptionsType['customFormats'],\n ajvOptionsOverrides: CustomValidatorOptionsType['ajvOptionsOverrides'] = {},\n ajvFormatOptions?: FormatsPluginOptions | false,\n AjvClass: typeof Ajv = Ajv\n) {\n const ajv = new AjvClass({ ...AJV_CONFIG, ...ajvOptionsOverrides });\n if (ajvFormatOptions) {\n addFormats(ajv, ajvFormatOptions);\n } else if (ajvFormatOptions !== false) {\n addFormats(ajv);\n }\n\n // add custom formats\n ajv.addFormat('data-url', DATA_URL_FORMAT_REGEX);\n ajv.addFormat('color', COLOR_FORMAT_REGEX);\n\n // Add RJSF-specific additional properties keywords so Ajv doesn't report errors if strict is enabled.\n ajv.addKeyword(ADDITIONAL_PROPERTY_FLAG);\n ajv.addKeyword(RJSF_ADDITONAL_PROPERTIES_FLAG);\n\n // add more schemas to validate against\n if (Array.isArray(additionalMetaSchemas)) {\n ajv.addMetaSchema(additionalMetaSchemas);\n }\n\n // add more custom formats to validate against\n if (isObject(customFormats)) {\n Object.keys(customFormats).forEach((formatName) => {\n ajv.addFormat(formatName, customFormats[formatName]);\n });\n }\n\n return ajv;\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions<T>;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction<T>;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions<T>, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n"],"names":["AJV_CONFIG","allErrors","multipleOfPrecision","strict","verbose","COLOR_FORMAT_REGEX","DATA_URL_FORMAT_REGEX","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","uiSchema","invalidSchemaError","validationError","errors","map","e","instancePath","keyword","params","schemaPath","parentSchema","_rest$message","_objectWithoutPropertiesLoose","_excluded","message","property","replace","stack","trim","currentProperty","missingProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","transformRJSFValidationErrors","concat","errorSchema","toErrorSchema","_extends","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","this","ajv","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","Ajv","addFormats","addFormat","addKeyword","ADDITIONAL_PROPERTY_FLAG","RJSF_ADDITONAL_PROPERTIES_FLAG","Array","isArray","addMetaSchema","isObject","Object","keys","forEach","formatName","createAjvInstance","_proto","prototype","toErrorList","fieldPath","rawValidation","compiledValidator","compilationError","undefined","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator-ajv8.umd.production.min.js","sources":["../src/createAjvInstance.ts","../src/processRawValidationErrors.ts","../src/validator.ts","../src/customizeValidator.ts","../src/precompiledValidator.ts","../src/index.ts","../src/createPrecompiledValidator.ts"],"sourcesContent":["import Ajv, { Options } from 'ajv';\nimport addFormats, { FormatsPluginOptions } from 'ajv-formats';\nimport isObject from 'lodash/isObject';\n\nimport { CustomValidatorOptionsType } from './types';\nimport { ADDITIONAL_PROPERTY_FLAG, RJSF_ADDITONAL_PROPERTIES_FLAG } from '@rjsf/utils';\n\nexport const AJV_CONFIG: Options = {\n allErrors: true,\n multipleOfPrecision: 8,\n strict: false,\n verbose: true,\n} as const;\nexport const COLOR_FORMAT_REGEX =\n /^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/;\nexport const DATA_URL_FORMAT_REGEX = /^data:([a-z]+\\/[a-z0-9-+.]+)?;(?:name=(.*);)?base64,(.*)$/;\n\n/** Creates an Ajv version 8 implementation object with standard support for the 'color` and `data-url` custom formats.\n * If `additionalMetaSchemas` are provided then the Ajv instance is modified to add each of the meta schemas in the\n * list. If `customFormats` are provided then those additional formats are added to the list of supported formats. If\n * `ajvOptionsOverrides` are provided then they are spread on top of the default `AJV_CONFIG` options when constructing\n * the `Ajv` instance. With Ajv v8, the JSON Schema formats are not provided by default, but can be plugged in. By\n * default, all formats from the `ajv-formats` library are added. To disable this capability, set the `ajvFormatOptions`\n * parameter to `false`. Additionally, you can configure the `ajv-formats` by providing a custom set of\n * [format options](https://github.com/ajv-validator/ajv-formats) to the `ajvFormatOptions` parameter.\n *\n * @param [additionalMetaSchemas] - The list of additional meta schemas that the validator can access\n * @param [customFormats] - The set of additional custom formats that the validator will support\n * @param [ajvOptionsOverrides={}] - The set of validator config override options\n * @param [ajvFormatOptions] - The `ajv-format` options to use when adding formats to `ajv`; pass `false` to disable it\n * @param [AjvClass] - The `Ajv` class to use when creating the validator instance\n */\nexport default function createAjvInstance(\n additionalMetaSchemas?: CustomValidatorOptionsType['additionalMetaSchemas'],\n customFormats?: CustomValidatorOptionsType['customFormats'],\n ajvOptionsOverrides: CustomValidatorOptionsType['ajvOptionsOverrides'] = {},\n ajvFormatOptions?: FormatsPluginOptions | false,\n AjvClass: typeof Ajv = Ajv\n) {\n const ajv = new AjvClass({ ...AJV_CONFIG, ...ajvOptionsOverrides });\n if (ajvFormatOptions) {\n addFormats(ajv, ajvFormatOptions);\n } else if (ajvFormatOptions !== false) {\n addFormats(ajv);\n }\n\n // add custom formats\n ajv.addFormat('data-url', DATA_URL_FORMAT_REGEX);\n ajv.addFormat('color', COLOR_FORMAT_REGEX);\n\n // Add RJSF-specific additional properties keywords so Ajv doesn't report errors if strict is enabled.\n ajv.addKeyword(ADDITIONAL_PROPERTY_FLAG);\n ajv.addKeyword(RJSF_ADDITONAL_PROPERTIES_FLAG);\n\n // add more schemas to validate against\n if (Array.isArray(additionalMetaSchemas)) {\n ajv.addMetaSchema(additionalMetaSchemas);\n }\n\n // add more custom formats to validate against\n if (isObject(customFormats)) {\n Object.keys(customFormats).forEach((formatName) => {\n ajv.addFormat(formatName, customFormats[formatName]);\n });\n }\n\n return ajv;\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport {\n createErrorHandler,\n CustomValidator,\n ErrorTransformer,\n FormContextType,\n getDefaultFormState,\n getUiOptions,\n PROPERTIES_KEY,\n RJSFSchema,\n RJSFValidationError,\n StrictRJSFSchema,\n toErrorSchema,\n UiSchema,\n unwrapErrorHandler,\n validationDataMerge,\n ValidatorType,\n} from '@rjsf/utils';\n\nexport type RawValidationErrorsType<Result = any> = { errors?: Result[]; validationError?: Error };\n\n/** Transforming the error output from ajv to format used by @rjsf/utils.\n * At some point, components should be updated to support ajv.\n *\n * @param errors - The list of AJV errors to convert to `RJSFValidationErrors`\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport function transformRJSFValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(errors: ErrorObject[] = [], uiSchema?: UiSchema<T, S, F>): RJSFValidationError[] {\n return errors.map((e: ErrorObject) => {\n const { instancePath, keyword, params, schemaPath, parentSchema, ...rest } = e;\n let { message = '' } = rest;\n let property = instancePath.replace(/\\//g, '.');\n let stack = `${property} ${message}`.trim();\n\n if ('missingProperty' in params) {\n property = property ? `${property}.${params.missingProperty}` : params.missingProperty;\n const currentProperty: string = params.missingProperty;\n const uiSchemaTitle = getUiOptions(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n message = message.replace(currentProperty, uiSchemaTitle);\n } else {\n const parentSchemaTitle = get(parentSchema, [PROPERTIES_KEY, currentProperty, 'title']);\n\n if (parentSchemaTitle) {\n message = message.replace(currentProperty, parentSchemaTitle);\n }\n }\n\n stack = message;\n } else {\n const uiSchemaTitle = getUiOptions<T, S, F>(get(uiSchema, `${property.replace(/^\\./, '')}`)).title;\n\n if (uiSchemaTitle) {\n stack = `'${uiSchemaTitle}' ${message}`.trim();\n } else {\n const parentSchemaTitle = parentSchema?.title;\n\n if (parentSchemaTitle) {\n stack = `'${parentSchemaTitle}' ${message}`.trim();\n }\n }\n }\n\n // put data in expected format\n return {\n name: keyword,\n property,\n message,\n params, // specific to ajv\n stack,\n schemaPath,\n };\n });\n}\n\n/** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param validator - The `ValidatorType` implementation used for the `getDefaultFormState()` call\n * @param rawErrors - The list of raw `ErrorObject`s to process\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\nexport default function processRawValidationErrors<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(\n validator: ValidatorType<T, S, F>,\n rawErrors: RawValidationErrorsType<ErrorObject>,\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n) {\n const { validationError: invalidSchemaError } = rawErrors;\n let errors = transformRJSFValidationErrors<T, S, F>(rawErrors.errors, uiSchema);\n\n if (invalidSchemaError) {\n errors = [...errors, { stack: invalidSchemaError!.message }];\n }\n if (typeof transformErrors === 'function') {\n errors = transformErrors(errors, uiSchema);\n }\n\n let errorSchema = toErrorSchema<T>(errors);\n\n if (invalidSchemaError) {\n errorSchema = {\n ...errorSchema,\n $schema: {\n __errors: [invalidSchemaError!.message],\n },\n };\n }\n\n if (typeof customValidate !== 'function') {\n return { errors, errorSchema };\n }\n\n // Include form data with undefined values, which is required for custom validation.\n const newFormData = getDefaultFormState<T, S, F>(validator, schema, formData, schema, true) as T;\n\n const errorHandler = customValidate(newFormData, createErrorHandler<T>(newFormData), uiSchema);\n const userErrorSchema = unwrapErrorHandler<T>(errorHandler);\n return validationDataMerge<T>({ errors, errorSchema }, userErrorSchema);\n}\n","import Ajv, { ErrorObject, ValidateFunction } from 'ajv';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n ID_KEY,\n RJSFSchema,\n ROOT_SCHEMA_PREFIX,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n withIdRefPrefix,\n} from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport createAjvInstance from './createAjvInstance';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses the AJV 8 validation mechanism.\n */\nexport default class AJV8Validator<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>\n implements ValidatorType<T, S, F>\n{\n /** The AJV instance to use for all validations\n *\n * @private\n */\n private ajv: Ajv;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8Validator` instance using the `options`\n *\n * @param options - The `CustomValidatorOptionsType` options that are used to create the AJV instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n */\n constructor(options: CustomValidatorOptionsType, localizer?: Localizer) {\n const { additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass } = options;\n this.ajv = createAjvInstance(additionalMetaSchemas, customFormats, ajvOptionsOverrides, ajvFormatOptions, AjvClass);\n this.localizer = localizer;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n let compilationError: Error | undefined = undefined;\n let compiledValidator: ValidateFunction | undefined;\n if (schema[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schema[ID_KEY]);\n }\n try {\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schema);\n }\n compiledValidator(formData);\n } catch (err) {\n compilationError = err as Error;\n }\n\n let errors;\n if (compiledValidator) {\n if (typeof this.localizer === 'function') {\n this.localizer(compiledValidator.errors);\n }\n errors = compiledValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n compiledValidator.errors = null;\n }\n\n return {\n errors: errors as unknown as Result[],\n validationError: compilationError,\n };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or\n * false otherwise. If the schema is invalid, then this function will return\n * false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n const rootSchemaId = rootSchema[ID_KEY] ?? ROOT_SCHEMA_PREFIX;\n try {\n // add the rootSchema ROOT_SCHEMA_PREFIX as id.\n // then rewrite the schema ref's to point to the rootSchema\n // this accounts for the case where schema have references to models\n // that lives in the rootSchema but not in the schema in question.\n if (this.ajv.getSchema(rootSchemaId) === undefined) {\n this.ajv.addSchema(rootSchema, rootSchemaId);\n }\n const schemaWithIdRefPrefix = withIdRefPrefix<S>(schema) as S;\n let compiledValidator: ValidateFunction | undefined;\n if (schemaWithIdRefPrefix[ID_KEY]) {\n compiledValidator = this.ajv.getSchema(schemaWithIdRefPrefix[ID_KEY]);\n }\n if (compiledValidator === undefined) {\n compiledValidator = this.ajv.compile(schemaWithIdRefPrefix);\n }\n const result = compiledValidator(formData);\n return result as boolean;\n } catch (e) {\n console.warn('Error encountered compiling schema:', e);\n return false;\n } finally {\n // TODO: A function should be called if the root schema changes so we don't have to remove and recompile the schema every run.\n // make sure we remove the rootSchema from the global ajv instance\n this.ajv.removeSchema(rootSchemaId);\n }\n }\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { CustomValidatorOptionsType, Localizer } from './types';\nimport AJV8Validator from './validator';\n\n/** Creates and returns a customized implementation of the `ValidatorType` with the given customization `options` if\n * provided. If a `localizer` is provided, it is used to translate the messages generated by the underlying AJV\n * validation.\n *\n * @param [options={}] - The `CustomValidatorOptionsType` options that are used to create the `ValidatorType` instance\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The custom validator implementation resulting from the set of parameters provided\n */\nexport default function customizeValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(options: CustomValidatorOptionsType = {}, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8Validator<T, S, F>(options, localizer);\n}\n","import { ErrorObject } from 'ajv';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {\n CustomValidator,\n ErrorSchema,\n ErrorTransformer,\n FormContextType,\n hashForSchema,\n ID_KEY,\n JUNK_OPTION_ID,\n RJSFSchema,\n StrictRJSFSchema,\n toErrorList,\n UiSchema,\n ValidationData,\n ValidatorType,\n} from '@rjsf/utils';\n\nimport { CompiledValidateFunction, Localizer, ValidatorFunctions } from './types';\nimport processRawValidationErrors, { RawValidationErrorsType } from './processRawValidationErrors';\n\n/** `ValidatorType` implementation that uses an AJV 8 precompiled validator as created by the\n * `compileSchemaValidators()` function provided by the `@rjsf/validator-ajv8` library.\n */\nexport default class AJV8PrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n> implements ValidatorType<T, S, F>\n{\n /** The root schema object used to construct this validator\n *\n * @private\n */\n readonly rootSchema: S;\n\n /** The `ValidatorFunctions` map used to construct this validator\n *\n * @private\n */\n readonly validateFns: ValidatorFunctions;\n\n /** The main validator function associated with the base schema in the `precompiledValidator`\n *\n * @private\n */\n readonly mainValidator: CompiledValidateFunction;\n\n /** The Localizer function to use for localizing Ajv errors\n *\n * @private\n */\n readonly localizer?: Localizer;\n\n /** Constructs an `AJV8PrecompiledValidator` instance using the `validateFns` and `rootSchema`\n *\n * @param validateFns - The map of the validation functions that are generated by the `schemaCompile()` function\n * @param rootSchema - The root schema that was used with the `compileSchema()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @throws - Error when the base schema of the precompiled validator does not have a matching validator function\n */\n constructor(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer) {\n this.rootSchema = rootSchema;\n this.validateFns = validateFns;\n this.localizer = localizer;\n this.mainValidator = this.getValidator(rootSchema);\n }\n\n /** Returns the precompiled validator associated with the given `schema` from the map of precompiled validator\n * functions.\n *\n * @param schema - The schema for which a precompiled validator function is desired\n * @returns - The precompiled validator function associated with this schema\n */\n getValidator(schema: S) {\n const key = get(schema, ID_KEY) || hashForSchema(schema);\n const validator = this.validateFns[key];\n if (!validator) {\n throw new Error(`No precompiled validator function was found for the given schema for \"${key}\"`);\n }\n return validator;\n }\n\n /** Converts an `errorSchema` into a list of `RJSFValidationErrors`\n *\n * @param errorSchema - The `ErrorSchema` instance to convert\n * @param [fieldPath=[]] - The current field path, defaults to [] if not specified\n * @deprecated - Use the `toErrorList()` function provided by `@rjsf/utils` instead. This function will be removed in\n * the next major release.\n */\n toErrorList(errorSchema?: ErrorSchema<T>, fieldPath: string[] = []) {\n return toErrorList(errorSchema, fieldPath);\n }\n\n /** Runs the pure validation of the `schema` and `formData` without any of the RJSF functionality. Provided for use\n * by the playground. Returns the `errors` from the validation\n *\n * @param schema - The schema against which to validate the form data * @param schema\n * @param formData - The form data to validate\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator\n */\n rawValidation<Result = any>(schema: S, formData?: T): RawValidationErrorsType<Result> {\n if (!isEqual(schema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled schema differs from the schema provided for validation'\n );\n }\n this.mainValidator(formData);\n\n if (typeof this.localizer === 'function') {\n this.localizer(this.mainValidator.errors);\n }\n const errors = this.mainValidator.errors || undefined;\n\n // Clear errors to prevent persistent errors, see #1104\n this.mainValidator.errors = null;\n\n return { errors: errors as unknown as Result[] };\n }\n\n /** This function processes the `formData` with an optional user contributed `customValidate` function, which receives\n * the form data and a `errorHandler` function that will be used to add custom validation errors for each field. Also\n * supports a `transformErrors` function that will take the raw AJV validation errors, prior to custom validation and\n * transform them in what ever way it chooses.\n *\n * @param formData - The form data to validate\n * @param schema - The schema against which to validate the form data\n * @param [customValidate] - An optional function that is used to perform custom validation\n * @param [transformErrors] - An optional function that is used to transform errors after AJV validation\n * @param [uiSchema] - An optional uiSchema that is passed to `transformErrors` and `customValidate`\n */\n validateFormData(\n formData: T | undefined,\n schema: S,\n customValidate?: CustomValidator<T, S, F>,\n transformErrors?: ErrorTransformer<T, S, F>,\n uiSchema?: UiSchema<T, S, F>\n ): ValidationData<T> {\n const rawErrors = this.rawValidation<ErrorObject>(schema, formData);\n return processRawValidationErrors(this, rawErrors, formData, schema, customValidate, transformErrors, uiSchema);\n }\n\n /** Validates data against a schema, returning true if the data is valid, or false otherwise. If the schema is\n * invalid, then this function will return false.\n *\n * @param schema - The schema against which to validate the form data\n * @param formData - The form data to validate\n * @param rootSchema - The root schema used to provide $ref resolutions\n * @returns - true if the formData validates against the schema, false otherwise\n * @throws - Error when the schema provided does not match the base schema of the precompiled validator OR if there\n * isn't a precompiled validator function associated with the schema\n */\n isValid(schema: S, formData: T | undefined, rootSchema: S) {\n if (!isEqual(rootSchema, this.rootSchema)) {\n throw new Error(\n 'The schema associated with the precompiled validator differs from the rootSchema provided for validation'\n );\n }\n if (get(schema, ID_KEY) === JUNK_OPTION_ID) {\n return false;\n }\n const validator = this.getValidator(schema);\n return validator(formData);\n }\n}\n","import customizeValidator from './customizeValidator';\nimport createPrecompiledValidator from './createPrecompiledValidator';\n\nexport { customizeValidator, createPrecompiledValidator };\nexport * from './types';\n\nexport default customizeValidator();\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '@rjsf/utils';\n\nimport { Localizer, ValidatorFunctions } from './types';\nimport AJV8PrecompiledValidator from './precompiledValidator';\n\n/** Creates and returns a `ValidatorType` interface that is implemented with a precompiled validator. If a `localizer`\n * is provided, it is used to translate the messages generated by the underlying AJV validation.\n *\n * NOTE: The `validateFns` parameter is an object obtained by importing from a precompiled validation file created via\n * the `compileSchemaValidators()` function.\n *\n * @param validateFns - The map of the validation functions that are created by the `compileSchemaValidators()` function\n * @param rootSchema - The root schema that was used with the `compileSchemaValidators()` function\n * @param [localizer] - If provided, is used to localize a list of Ajv `ErrorObject`s\n * @returns - The precompiled validator implementation resulting from the set of parameters provided\n */\nexport default function createPrecompiledValidator<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(validateFns: ValidatorFunctions, rootSchema: S, localizer?: Localizer): ValidatorType<T, S, F> {\n return new AJV8PrecompiledValidator<T, S, F>(validateFns, rootSchema, localizer);\n}\n"],"names":["AJV_CONFIG","allErrors","multipleOfPrecision","strict","verbose","COLOR_FORMAT_REGEX","DATA_URL_FORMAT_REGEX","processRawValidationErrors","validator","rawErrors","formData","schema","customValidate","transformErrors","uiSchema","invalidSchemaError","validationError","errors","map","e","instancePath","keyword","params","schemaPath","parentSchema","_rest$message","_objectWithoutPropertiesLoose","_excluded","message","property","replace","stack","trim","currentProperty","missingProperty","uiSchemaTitle","getUiOptions","get","title","parentSchemaTitle","PROPERTIES_KEY","name","transformRJSFValidationErrors","concat","errorSchema","toErrorSchema","_extends","$schema","__errors","newFormData","getDefaultFormState","errorHandler","createErrorHandler","userErrorSchema","unwrapErrorHandler","validationDataMerge","AJV8Validator","options","localizer","this","ajv","additionalMetaSchemas","customFormats","ajvOptionsOverrides","ajvFormatOptions","AjvClass","Ajv","addFormats","addFormat","addKeyword","ADDITIONAL_PROPERTY_FLAG","RJSF_ADDITONAL_PROPERTIES_FLAG","Array","isArray","addMetaSchema","isObject","Object","keys","forEach","formatName","createAjvInstance","_proto","prototype","toErrorList","fieldPath","rawValidation","compiledValidator","compilationError","undefined","ID_KEY","getSchema","compile","err","validateFormData","isValid","rootSchema","_rootSchema$ID_KEY","rootSchemaId","ROOT_SCHEMA_PREFIX","addSchema","schemaWithIdRefPrefix","withIdRefPrefix","console","warn","removeSchema","customizeValidator","AJV8PrecompiledValidator","validateFns","mainValidator","getValidator","key","hashForSchema","Error","isEqual","JUNK_OPTION_ID"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rjsf/validator-ajv8",
|
|
3
|
-
"version": "5.7.
|
|
3
|
+
"version": "5.7.3",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/validator-ajv8.esm.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
"@babel/plugin-transform-react-jsx": "^7.21.5",
|
|
46
46
|
"@babel/preset-env": "^7.21.5",
|
|
47
47
|
"@babel/preset-react": "^7.18.6",
|
|
48
|
-
"@rjsf/utils": "^5.7.
|
|
48
|
+
"@rjsf/utils": "^5.7.3",
|
|
49
49
|
"@types/jest-expect-message": "^1.1.0",
|
|
50
50
|
"@types/json-schema": "^7.0.11",
|
|
51
51
|
"@types/lodash": "^4.14.194",
|
|
52
52
|
"dts-cli": "^1.6.3",
|
|
53
|
-
"eslint": "^8.
|
|
53
|
+
"eslint": "^8.41.0",
|
|
54
54
|
"jest-expect-message": "^1.1.3",
|
|
55
|
-
"rimraf": "^5.0.
|
|
55
|
+
"rimraf": "^5.0.1"
|
|
56
56
|
},
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"url": "git+https://github.com/rjsf-team/react-jsonschema-form.git"
|
|
76
76
|
},
|
|
77
77
|
"license": "Apache-2.0",
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "9d1a4389e5d759681f878717629337c92173f95d"
|
|
79
79
|
}
|