octonom
Version:
Object Document Mapper for any database
18 lines (17 loc) • 768 B
TypeScript
import { ISanitizeOptions, ISchema, ISchemaInstance, ISchemaOptions } from './schema';
export declare type StringInstance = ISchemaInstance<string>;
export interface IStringOptions extends ISchemaOptions<StringInstance> {
default?: string | (() => string);
enum?: string[];
min?: number;
max?: number;
regex?: RegExp;
}
export declare class StringSchema implements ISchema<string, StringInstance, string> {
readonly options: IStringOptions;
constructor(options?: IStringOptions);
create(value: any, sanitizeOptions?: ISanitizeOptions): StringInstance;
toObject(instance: StringInstance): string;
validate(instance: StringInstance): Promise<void>;
protected sanitize(value: any, sanitizeOptions: ISanitizeOptions): string;
}