@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
JavaScript
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/number.ts
function numberFieldAdapter(args) {
let CustomNumberFieldAdapter = class CustomNumberFieldAdapter extends NumberFieldAdapter {
static {
__name(this, "CustomNumberFieldAdapter");
}
translate = args.translate;
toString = args.toString;
formatError = args.formatError;
parse = args.parse;
};
return CustomNumberFieldAdapter;
}
__name(numberFieldAdapter, "numberFieldAdapter");
var NumberFieldAdapter = class extends FieldAdapter {
static {
__name(this, "NumberFieldAdapter");
}
translate(_fieldAdapter, _args) {
}
parse(_adapter, _fieldAdapter, _result, _value, _args) {
throw new SchemaAdapterNotImplementedError({
className: this.constructor.name,
functionName: "parse"
});
}
};
export {
NumberFieldAdapter,
numberFieldAdapter
};