UNPKG

@palmares/schemas

Version:

This defines a default schema definition for validation of data, it abstract popular schema validation libraries like zod, yup, valibot and others"

77 lines (73 loc) 2.15 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/exceptions.ts var SchemaAdapterNotImplementedError = class extends Error { static { __name(this, "SchemaAdapterNotImplementedError"); } constructor(args) { super(`Schema adapter did not implement ${args.functionName} in ${args.className}`); } }; // src/adapter/fields/index.ts var FieldAdapter = class { static { __name(this, "FieldAdapter"); } translate(_fieldAdapter, _args, _base) { throw new SchemaAdapterNotImplementedError({ className: this.constructor.name, functionName: "translate" }); } parse(_adapter, _fieldAdapter, _schema, _value, _args) { throw new SchemaAdapterNotImplementedError({ className: this.constructor.name, functionName: "parse" }); } toString(_adapter, _fieldAdapter, _args, _base) { throw new SchemaAdapterNotImplementedError({ className: this.constructor.name, functionName: "toString" }); } // eslint-disable-next-line ts/require-await async formatError(_adapter, _fieldAdapter, _schema, _error, _metadata) { throw new SchemaAdapterNotImplementedError({ className: this.constructor.name, functionName: "formatError" }); } }; // src/adapter/fields/string.ts function stringFieldAdapter(args) { let CustomStringFieldAdapter = class CustomStringFieldAdapter extends StringFieldAdapter { static { __name(this, "CustomStringFieldAdapter"); } translate = args.translate; toString = args.toString; formatError = args.formatError; parse = args.parse; }; return CustomStringFieldAdapter; } __name(stringFieldAdapter, "stringFieldAdapter"); var StringFieldAdapter = class extends FieldAdapter { static { __name(this, "StringFieldAdapter"); } translate(_fieldAdapter, _args) { } parse(_adapter, _fieldAdapter, _result, _value, _args) { throw new SchemaAdapterNotImplementedError({ className: this.constructor.name, functionName: "parse" }); } }; export { StringFieldAdapter, stringFieldAdapter };