🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@sjsf-lab/ata-validator

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sjsf-lab/ata-validator - npm Package Compare versions

Comparing version
3.0.0
to
3.1.0
+5
-4
dist/precompile/validator.d.ts
import type { FieldValueValidator, FormValueValidator, Validator } from "@sjsf/form";
import type { ValidationResult as AtaValidationResult } from "ata-validator";
import type { ValueCloner } from "../validator.js";
import { type ErrorsTransformerOptions } from "../errors.js";

@@ -11,3 +12,3 @@ export type CompiledValidator = (data: unknown) => AtaValidationResult | {

};
export interface ValidatorOptions {
export interface ValidatorOptions extends ValueCloner {
validateFunctions: ValidateFunctions;

@@ -17,6 +18,6 @@ augmentSuffix?: string;

export declare function createValidator(options: ValidatorOptions): Validator;
export interface FormValueValidatorOptions extends ValidatorOptions, ErrorsTransformerOptions {
export interface FormValueValidatorOptions extends ValidatorOptions, ErrorsTransformerOptions, ValueCloner {
}
export declare function createFormValueValidator<T>(options: FormValueValidatorOptions): FormValueValidator<T>;
export interface FieldValueValidatorOptions extends ValidatorOptions {
export interface FieldValueValidatorOptions extends ValidatorOptions, ValueCloner {
}

@@ -26,2 +27,2 @@ export declare function createFieldValueValidator(options: FieldValueValidatorOptions): FieldValueValidator;

}
export declare function createFormValidatorFactory<T>(vOptions: ValidatorOptions): (options: Omit<FormValidatorOptions, keyof ValidatorOptions>) => Validator & FormValueValidator<T> & FieldValueValidator;
export declare function createFormValidatorFactory<T>({ cloneValue, ...vOptions }: Omit<ValidatorOptions, keyof ValueCloner> & Partial<ValueCloner>): (options: Omit<FormValidatorOptions, keyof ValidatorOptions>) => Validator & FormValueValidator<T> & FieldValueValidator;

@@ -27,3 +27,3 @@ import { DEFAULT_AUGMENT_SUFFIX } from "@sjsf/form/validators/precompile";

const validator = getValidator(options, schema);
return validator(formValue).valid;
return validator(options.cloneValue(formValue)).valid;
},

@@ -37,3 +37,3 @@ };

const validator = getValidator(options, rootSchema);
const { valid, errors } = validator(formValue);
const { valid, errors } = validator(options.cloneValue(formValue));
if (valid) {

@@ -52,3 +52,3 @@ return {

const validator = getValidator(options, field.schema);
const { valid, errors } = validator(fieldValue);
const { valid, errors } = validator(options.cloneValue(fieldValue));
if (valid) {

@@ -61,5 +61,6 @@ return [];

}
export function createFormValidatorFactory(vOptions) {
export function createFormValidatorFactory({ cloneValue = structuredClone, ...vOptions }) {
return (options) => {
const full = {
cloneValue,
...vOptions,

@@ -66,0 +67,0 @@ ...options,

@@ -1,5 +0,8 @@

import type { Config, FieldValueValidator, FormValueValidator, Schema, Validator } from "@sjsf/form";
import type { Config, FieldValueValidator, FormValue, FormValueValidator, Schema, Validator } from "@sjsf/form";
import { type MapLike } from "@sjsf/form/lib/memoize";
import { Validator as AtaValidator } from "ata-validator";
import { type ErrorsTransformerOptions } from "./errors.js";
export interface ValueCloner {
cloneValue: (value: FormValue) => FormValue;
}
export type AtaValidatorFactory = (schema: Schema) => AtaValidator;

@@ -19,16 +22,16 @@ export declare const COLOR_FORMAT_REGEX: RegExp;

export declare function createFieldSchemaValidatorFactory(factory: AtaValidatorFactory, cache?: WeakMap<Schema, AtaValidator>): (config: Config) => AtaValidator;
export interface ValidatorOptions {
export interface ValidatorOptions extends ValueCloner {
createSchemaValidator: (schema: Schema, rootSchema: Schema) => AtaValidator;
}
export declare function createValidator({ createSchemaValidator, }: ValidatorOptions): Validator;
export interface FormValueValidatorOptions extends ValidatorOptions, ErrorsTransformerOptions {
export declare function createValidator({ createSchemaValidator, cloneValue, }: ValidatorOptions): Validator;
export interface FormValueValidatorOptions extends ValidatorOptions, ErrorsTransformerOptions, ValueCloner {
}
export declare function createFormValueValidator<T>(options: FormValueValidatorOptions): FormValueValidator<T>;
export interface FieldValueValidatorOptions {
export interface FieldValueValidatorOptions extends ValueCloner {
compileFieldSchema: (config: Config) => AtaValidator;
}
export declare function createFieldValueValidator({ compileFieldSchema, }: FieldValueValidatorOptions): FieldValueValidator;
export declare function createFieldValueValidator({ compileFieldSchema, cloneValue, }: FieldValueValidatorOptions): FieldValueValidator;
export interface FormValidatorOptions extends ValidatorOptions, FormValueValidatorOptions, FieldValueValidatorOptions {
}
export declare function createFormValidator<T>({ factory, schemaValidatorsCache, fieldsValidatorsCache, createSchemaValidator, compileFieldSchema, ...rest }?: Partial<FormValidatorOptions> & {
export declare function createFormValidator<T>({ factory, schemaValidatorsCache, fieldsValidatorsCache, createSchemaValidator, compileFieldSchema, cloneValue, ...rest }?: Partial<FormValidatorOptions> & {
factory?: AtaValidatorFactory;

@@ -35,0 +38,0 @@ schemaValidatorsCache?: ValidatorsCache;

@@ -37,3 +37,3 @@ import { DATA_URL_FORMAT, ID_KEY, prefixSchemaRefs, ROOT_SCHEMA_PREFIX, } from "@sjsf/form/core";

}
export function createValidator({ createSchemaValidator, }) {
export function createValidator({ createSchemaValidator, cloneValue, }) {
return {

@@ -45,3 +45,3 @@ isValid(schemaDef, rootSchema, formValue) {

const validator = createSchemaValidator(schemaDef, rootSchema);
return validator.isValidObject(formValue);
return validator.isValidObject(cloneValue(formValue));
},

@@ -55,3 +55,3 @@ };

const validator = options.createSchemaValidator(rootSchema, rootSchema);
const { valid, errors } = validator.validate(formValue);
const { valid, errors } = validator.validate(options.cloneValue(formValue));
if (valid) {

@@ -66,7 +66,7 @@ return {

}
export function createFieldValueValidator({ compileFieldSchema, }) {
export function createFieldValueValidator({ compileFieldSchema, cloneValue, }) {
return {
validateFieldValue(field, fieldValue) {
const validator = compileFieldSchema(field);
const { valid, errors } = validator.validate(fieldValue);
const { valid, errors } = validator.validate(cloneValue(fieldValue));
if (valid) {

@@ -79,5 +79,6 @@ return [];

}
export function createFormValidator({ factory = defaultValidatorFactory, schemaValidatorsCache, fieldsValidatorsCache, createSchemaValidator = createSchemaValidatorFactory(factory, schemaValidatorsCache), compileFieldSchema = createFieldSchemaValidatorFactory(factory, fieldsValidatorsCache), ...rest } = {}) {
export function createFormValidator({ factory = defaultValidatorFactory, schemaValidatorsCache, fieldsValidatorsCache, createSchemaValidator = createSchemaValidatorFactory(factory, schemaValidatorsCache), compileFieldSchema = createFieldSchemaValidatorFactory(factory, fieldsValidatorsCache), cloneValue = structuredClone, ...rest } = {}) {
const options = {
...rest,
cloneValue,
createSchemaValidator,

@@ -84,0 +85,0 @@ compileFieldSchema,

{
"name": "@sjsf-lab/ata-validator",
"version": "3.0.0",
"version": "3.1.0",
"description": "The ata based validator for svelte-jsonschema-form",

@@ -44,6 +44,6 @@ "license": "MIT",

"@sjsf/form": "^3.5.0",
"ata-validator": "^0.12.6"
"ata-validator": "^0.13.1"
},
"devDependencies": {
"ata-validator": "^0.12.6",
"ata-validator": "^0.13.2",
"svelte": "^5.55.5",

@@ -50,0 +50,0 @@ "@sjsf/form": "3.6.0",