axiodb
Version:
A blazing-fast, lightweight, and scalable nodejs package based DBMS for modern application. Supports schemas, encryption, and advanced query capabilities.
27 lines (26 loc) • 1.52 kB
TypeScript
import Joi from "joi";
export declare const SchemaTypes: {
string: <TSchema = string>() => Joi.StringSchema<TSchema>;
number: <TSchema = number>() => Joi.NumberSchema<TSchema>;
boolean: <TSchema = boolean>() => Joi.BooleanSchema<TSchema>;
object: <TSchema = any, isStrict = false, T = TSchema>(schema?: Joi.SchemaMap<T, isStrict>) => Joi.ObjectSchema<TSchema>;
array: <TSchema = any[]>() => Joi.ArraySchema<TSchema>;
date: <TSchema = Date>() => Joi.DateSchema<TSchema>;
binary: <TSchema = Buffer<ArrayBufferLike>>() => Joi.BinarySchema<TSchema>;
func: <TSchema = Function>() => Joi.FunctionSchema<TSchema>;
ref: (key: string, options?: Joi.ReferenceOptions) => Joi.Reference;
any: <TSchema = any>() => Joi.AnySchema<TSchema>;
alphanum: () => Joi.StringSchema<string>;
email: (options?: Joi.EmailOptions) => Joi.StringSchema<string>;
guid: (options?: Joi.GuidOptions) => Joi.StringSchema<string>;
ip: (options?: Joi.IpOptions) => Joi.StringSchema<string>;
uri: (options?: Joi.UriOptions) => Joi.StringSchema<string>;
max: (limit: number | Joi.Reference) => Joi.NumberSchema<number>;
min: (limit: number | Joi.Reference) => Joi.NumberSchema<number>;
length: (limit: number | Joi.Reference) => Joi.StringSchema<string>;
pattern: (regex: RegExp) => Joi.StringSchema<string>;
required: () => Joi.Schema<any>;
optional: () => Joi.Schema<any>;
allow: (values: any[]) => Joi.Schema<any>;
valid: (values: any[]) => Joi.Schema<any>;
};