veffect
Version:
powerful TypeScript validation library built on the robust foundation of Effect combining exceptional type safety, high performance, and developer experience. Taking inspiration from Effect's functional principles, VEffect delivers a balanced approach tha
199 lines (198 loc) • 5.44 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IntersectionValidationError = exports.RegExpValidationError = exports.BigIntValidationError = exports.MapValidationError = exports.SetValidationError = exports.CustomValidationError = exports.RefinementValidationError = exports.RecordValidationError = exports.TupleValidationError = exports.UnionValidationError = exports.DateValidationError = exports.ArrayValidationError = exports.ObjectValidationError = exports.NumberValidationError = exports.StringValidationError = exports.TypeValidationError = exports.createValidationError = void 0;
/**
* Create a validation error
*/
const createValidationError = (tag, message, path) => ({
_tag: tag,
message,
path
});
exports.createValidationError = createValidationError;
/**
* Type validation error
*/
class TypeValidationError {
constructor(message, expected, received, path) {
this.message = message;
this.expected = expected;
this.received = received;
this.path = path;
this._tag = 'TypeValidationError';
}
}
exports.TypeValidationError = TypeValidationError;
/**
* String validation error
*/
class StringValidationError {
constructor(message, path) {
this.message = message;
this.path = path;
this._tag = 'StringValidationError';
}
}
exports.StringValidationError = StringValidationError;
/**
* Number validation error
*/
class NumberValidationError {
constructor(message, path) {
this.message = message;
this.path = path;
this._tag = 'NumberValidationError';
}
}
exports.NumberValidationError = NumberValidationError;
/**
* Object validation error
*/
class ObjectValidationError {
constructor(message, errors, path) {
this.message = message;
this.errors = errors;
this.path = path;
this._tag = 'ObjectValidationError';
}
}
exports.ObjectValidationError = ObjectValidationError;
/**
* Array validation error
*/
class ArrayValidationError {
constructor(message, errors, path) {
this.message = message;
this.errors = errors;
this.path = path;
this._tag = 'ArrayValidationError';
}
}
exports.ArrayValidationError = ArrayValidationError;
/**
* Date validation error
*/
class DateValidationError {
constructor(message, path) {
this.message = message;
this.path = path;
this._tag = 'DateValidationError';
}
}
exports.DateValidationError = DateValidationError;
/**
* Union validation error
*/
class UnionValidationError {
constructor(message, unionErrors, path) {
this.message = message;
this.unionErrors = unionErrors;
this.path = path;
this._tag = 'UnionValidationError';
}
}
exports.UnionValidationError = UnionValidationError;
/**
* Tuple validation error
*/
class TupleValidationError {
constructor(message, errors, path) {
this.message = message;
this.errors = errors;
this.path = path;
this._tag = 'TupleValidationError';
}
}
exports.TupleValidationError = TupleValidationError;
/**
* Record/Map validation error
*/
class RecordValidationError {
constructor(message, errors, path) {
this.message = message;
this.errors = errors;
this.path = path;
this._tag = 'RecordValidationError';
}
}
exports.RecordValidationError = RecordValidationError;
/**
* Refinement validation error
*/
class RefinementValidationError {
constructor(message, path) {
this.message = message;
this.path = path;
this._tag = 'RefinementValidationError';
}
}
exports.RefinementValidationError = RefinementValidationError;
/**
* Custom validation error
*/
class CustomValidationError {
constructor(message, path) {
this.message = message;
this.path = path;
this._tag = 'CustomValidationError';
}
}
exports.CustomValidationError = CustomValidationError;
/**
* Set validation error
*/
class SetValidationError {
constructor(message, errors, path) {
this.message = message;
this.errors = errors;
this.path = path;
this._tag = 'SetValidationError';
}
}
exports.SetValidationError = SetValidationError;
/**
* Map validation error
*/
class MapValidationError {
constructor(message, errors, path) {
this.message = message;
this.errors = errors;
this.path = path;
this._tag = 'MapValidationError';
}
}
exports.MapValidationError = MapValidationError;
/**
* BigInt validation error
*/
class BigIntValidationError {
constructor(message, path) {
this.message = message;
this.path = path;
this._tag = 'BigIntValidationError';
}
}
exports.BigIntValidationError = BigIntValidationError;
/**
* RegExp validation error
*/
class RegExpValidationError {
constructor(message, path) {
this.message = message;
this.path = path;
this._tag = 'RegExpValidationError';
}
}
exports.RegExpValidationError = RegExpValidationError;
/**
* Intersection validation error
*/
class IntersectionValidationError {
constructor(message, errors, path) {
this.message = message;
this.errors = errors;
this.path = path;
this._tag = 'IntersectionValidationError';
}
}
exports.IntersectionValidationError = IntersectionValidationError;