dilswer
Version:
Blazingly fast data validation library with TypeScript integration.
32 lines (31 loc) • 857 B
JavaScript
// src/data-types/generate-standard-schema.ts
import { Path } from "../validation-algorithms/path.mjs";
import {
AggregateValidationError,
ValidationError
} from "../validation-algorithms/validation-error/validation-error.mjs";
function getStandardSchemaProps(type) {
var _a;
const root = Path.init("$");
let validate = (_a = type["compiledValidatorRef"].fn) != null ? _a : ((value) => {
try {
type["~validate"](root, value);
return { value };
} catch (error) {
if (ValidationError.isValidationError(error) || AggregateValidationError.isAggregateValidationError(error)) {
return {
issues: [{ path: error.pathSegments, message: error.details() }]
};
}
throw error;
}
});
return {
version: 1,
vendor: "Dilswer",
validate
};
}
export {
getStandardSchemaProps
};