dilswer
Version:
Blazingly fast data validation library with TypeScript integration.
84 lines (83 loc) • 7.85 kB
TypeScript
import { Type } from "./data-types/Type";
import type { AnyType } from "./data-types/type-types";
import { And, Exclude, Omit, Partial, Pick, Required } from "./intrinsic-type-utils/index";
import { toJsonSchema } from "./json-schema-parser/to-json-schema";
import { toTsType } from "./ts-type-generator/to-ts-type";
import { parseWith } from "./universal-parser/universal-parser";
import { compileFastValidator } from "./validation-algorithms/compile-fast-validator";
import { validator } from "./validation-algorithms/create-validator";
import { assertType } from "./validation-algorithms/ensure-data-type";
import { ValidationError } from "./validation-algorithms/validation-error/validation-error";
export type { AnyType, BasicType, BasicTypeNames, ComplexType, FieldDescriptor, Metadata as TypeMetadata, RecordTypeSchema, TypeVisitor, } from "./data-types/type-types";
export type { Infer } from "./data-types/type-utils";
export type { ArrayType } from "./data-types/types/array";
export type { BooleanType } from "./data-types/types/boolean";
export type { CustomType } from "./data-types/types/custom";
export type { DictType } from "./data-types/types/dict";
export type { EnumType } from "./data-types/types/enum";
export type { EnumMemberType } from "./data-types/types/enum-member";
export type { FunctionType } from "./data-types/types/function";
export type { InstanceOfType } from "./data-types/types/instance";
export type { IntegerType } from "./data-types/types/integer";
export type { IntersectionType } from "./data-types/types/intersection";
export type { LiteralType } from "./data-types/types/literal";
export type { NullType } from "./data-types/types/null";
export type { NumberType } from "./data-types/types/number";
export type { RecordType } from "./data-types/types/record";
export type { RecursiveType, RecursiveTypeReference, } from "./data-types/types/recursive";
export type { SetType } from "./data-types/types/set";
export type { StringType } from "./data-types/types/string";
export type { StringFloatType as StringNumeralType } from "./data-types/types/string-float";
export type { StringIntegerType } from "./data-types/types/string-integer";
export type { StringMatchingType } from "./data-types/types/string-matching";
export type { SymbolType } from "./data-types/types/symbol";
export type { TupleType } from "./data-types/types/tuple";
export type { UndefinedType } from "./data-types/types/undefined";
export type { UnionType } from "./data-types/types/union";
export type { UnknownType } from "./data-types/types/unknown";
export * from "./intrinsic-type-utils/index";
export type { ParseToJsonSchemaOptions } from "./json-schema-parser/to-json-schema";
export type { TsParsingMode, TsParsingOptions, } from "./ts-type-generator/parser-options";
export type { FastValidator } from "./validation-algorithms/compile-fast-validator";
export { And, assertType, compileFastValidator, Exclude, Omit, parseWith, Partial, Pick, Required, toJsonSchema, toTsType, Type, ValidationError, validator, };
declare const _default: {
And: <R1 extends import("./data-types/type-types").RecordTypeSchema, R2 extends import("./data-types/type-types").RecordTypeSchema>(recordDataTypeA: import("./data-types/types/record").RecordType<R1>, recordDataTypeB: import("./data-types/types/record").RecordType<R2>) => import("./intrinsic-type-utils/types").SumRecord<R1, R2>;
assertType: <DT extends AnyType>(type: DT, data: unknown) => asserts data is import("./data-types/type-utils").ReWrap<import("./data-types/type-utils").ParseDataType<DT>>;
validator: typeof validator;
compileFastValidator: <DT_1 extends AnyType>(dataType: DT_1) => import("./validation-algorithms/compile-fast-validator").FastValidator<DT_1>;
ValidationError: typeof ValidationError;
Type: {
readonly Unknown: import("./data-types/types/unknown").UnknownType;
readonly String: import("./data-types/types/string").StringType;
readonly Number: import("./data-types/types/number").NumberType;
readonly Int: import("./data-types/types/integer").IntegerType;
readonly Boolean: import("./data-types/types/boolean").BooleanType;
readonly Symbol: import("./data-types/types/symbol").SymbolType;
readonly Function: import("./data-types/types/function").FunctionType;
readonly Null: import("./data-types/types/null").NullType;
readonly Undefined: import("./data-types/types/undefined").UndefinedType;
Record<TS extends import("./data-types/type-types").RecordTypeSchema>(args: TS): import("./data-types/types/record").RecordType<TS>;
Dict<DT_2 extends AnyType[]>(...args: DT_2): import("./data-types/types/dict").DictType<DT_2>;
Array<DT_3 extends AnyType[]>(...args: DT_3): import("./data-types/types/array").ArrayType<DT_3>;
Tuple<DT_4 extends AnyType[]>(...args: DT_4): import("./data-types/types/tuple").TupleType<DT_4>;
Set<DT_5 extends AnyType[]>(...args: DT_5): import("./data-types/types/set").SetType<DT_5>;
OneOf<DT_6 extends AnyType[]>(...args: DT_6): import("./data-types/types/union").UnionType<DT_6>;
AllOf<DT_7 extends AnyType[]>(...args: DT_7): import("./data-types/types/intersection").IntersectionType<DT_7>;
Literal<V extends string | number | boolean>(value: V): import("./data-types/types/literal").LiteralType<V>;
EnumMember<M extends string | number>(enumMember: M): import("./data-types/types/enum-member").EnumMemberType<M>;
Enum<T extends string, TEnumValue extends string | number>(enumInstance: { [key in T]: TEnumValue; }): import("./data-types/types/enum").EnumType<TEnumValue>;
InstanceOf<DT_8>(instanceOf: new (...args: any[]) => DT_8): import("./data-types/types/instance").InstanceOfType<DT_8>;
Custom<VF extends (v: any) => v is any>(validateFunction: VF): import("./data-types/types/custom").CustomType<VF>;
Recursive<DT_9 extends AnyType>(getDataType: (ref: import("./data-types/types/recursive").RecursiveTypeReference) => DT_9): import("./data-types/types/recursive").RecursiveType<DT_9>;
Option<DT_10 extends AnyType>(type: DT_10): import("./data-types/type-types").OptionalField<DT_10>;
};
Exclude: <U extends import("./data-types/types/union").UnionType<any[]>, E extends import("./data-types/type-types").BasicType>(union: U, ...excludeTypes: E[]) => import("./intrinsic-type-utils/types").ExcludeOneOf<U, E>;
Omit: <R extends import("./data-types/type-types").RecordTypeSchema, K extends keyof R>(recordDataType: import("./data-types/types/record").RecordType<R>, ...omitKeys: readonly K[]) => import("./intrinsic-type-utils/types").OmitRecord<R, K>;
Partial: <R_1 extends import("./data-types/type-types").RecordTypeSchema>(recordDataType: import("./data-types/types/record").RecordType<R_1>) => import("./intrinsic-type-utils/types").PartialRecord<R_1>;
Pick: <R_2 extends import("./data-types/type-types").RecordTypeSchema, K_1 extends keyof R_2>(recordDataType: import("./data-types/types/record").RecordType<R_2>, ...pickKeys: readonly K_1[]) => import("./intrinsic-type-utils/types").PickRecord<R_2, K_1>;
Required: <R_3 extends import("./data-types/type-types").RecordTypeSchema>(recordDataType: import("./data-types/types/record").RecordType<R_3>) => import("./intrinsic-type-utils/types").RequiredRecord<R_3>;
toJsonSchema: (type: AnyType, options?: import("./json-schema-parser/to-json-schema").ParseToJsonSchemaOptions, include$schemaProperty?: boolean) => import("json-schema").JSONSchema6 | undefined;
toTsType: (dataType: AnyType, options?: Partial<import("./ts-type-generator/parser-options").TsParsingOptions> | undefined) => string;
parseWith: <R_4>(visitor: import("./data-types/type-types").TypeVisitor<R_4>, type: AnyType) => R_4;
};
export default _default;