@lakutata/core
Version:
Lakutata Framework Core
306 lines (305 loc) • 11 kB
TypeScript
import { BaseSchema, BooleanSchema, NumberSchema, StringSchema, DateSchema } from 'yup';
import { AnySchema } from 'yup/lib/schema';
import { AssertsShape, ObjectShape, OptionalObjectSchema, TypeOfShape } from 'yup/lib/object';
import { AnyObject, Maybe, Optionals } from 'yup/lib/types';
import Lazy, { LazyBuilder } from 'yup/lib/Lazy';
import { TypeOf } from 'yup/lib/util/types';
import { OptionalArraySchema } from 'yup/lib/array';
import Reference, { ReferenceOptions } from 'yup/lib/Reference';
import { MixedSchema } from 'yup/lib/mixed';
import { BaseObject } from './BaseObject';
declare module 'yup' {
interface StringSchema {
ipv4(): StringSchema;
ipv6(): StringSchema;
ip(): StringSchema;
ssh(): StringSchema;
dataUrl(): StringSchema;
url(option?: {
acceptParams?: boolean;
protocol?: string[] | string;
blackHostnameList?: string[];
whiteHostnameList?: string[];
}): StringSchema;
phone(countryCode?: string, strict?: boolean): StringSchema;
}
interface ObjectSchema<TShape extends ObjectShape, TContext extends AnyObject = AnyObject, TIn extends Maybe<TypeOfShape<TShape>> = TypeOfShape<TShape>, TOut extends Maybe<AssertsShape<TShape>> = AssertsShape<TShape> | Optionals<TIn>> extends BaseSchema<TIn, TContext, TOut> {
structure(valueSchema: AnySchema): OptionalObjectSchema<TShape, Record<string, any>, TypeOfShape<TShape>>;
}
}
declare type ContextOf<T> = T extends AnySchema<any, infer C> ? C : never;
export declare class ValidatorClass extends BaseObject {
readonly COUNTRY_CODE: {
Afghanistan: string;
Albania: string;
Algeria: string;
'American Samoa': string;
Andorra: string;
Angola: string;
Anguilla: string;
Antarctica: string;
'Antigua and Barbuda': string;
Argentina: string;
Armenia: string;
Aruba: string;
Australia: string;
Austria: string;
Azerbaijan: string;
Bahamas: string;
Bahrain: string;
Bangladesh: string;
Barbados: string;
Belarus: string;
Belgium: string;
Belize: string;
Benin: string;
Bermuda: string;
Bhutan: string;
Bolivia: string;
'Bosnia and Herzegovina': string;
Botswana: string;
Brazil: string;
'British Indian Ocean Territory': string;
'British Virgin Islands': string;
Brunei: string;
Bulgaria: string;
'Burkina Faso': string;
Burundi: string;
Cambodia: string;
Cameroon: string;
Canada: string;
'Cape Verde': string;
'Cayman Islands': string;
'Central African Republic': string;
Chad: string;
Chile: string;
China: string;
'Christmas Island': string;
'Cocos Islands': string;
Colombia: string;
Comoros: string;
'Cook Islands': string;
'Costa Rica': string;
Croatia: string;
Cuba: string;
Curacao: string;
Cyprus: string;
'Czech Republic': string;
'Democratic Republic of the Congo': string;
Denmark: string;
Djibouti: string;
Dominica: string;
'Dominican Republic': string;
'East Timor': string;
Ecuador: string;
Egypt: string;
'El Salvador': string;
'Equatorial Guinea': string;
Eritrea: string;
Estonia: string;
Ethiopia: string;
'Falkland Islands': string;
'Faroe Islands': string;
Fiji: string;
Finland: string;
France: string;
'French Polynesia': string;
Gabon: string;
Gambia: string;
Georgia: string;
Germany: string;
Ghana: string;
Gibraltar: string;
Greece: string;
Greenland: string;
Grenada: string;
Guam: string;
Guatemala: string;
Guernsey: string;
Guinea: string;
'Guinea-Bissau': string;
Guyana: string;
Haiti: string;
Honduras: string;
'Hong Kong': string;
Hungary: string;
Iceland: string;
India: string;
Indonesia: string;
Iran: string;
Iraq: string;
Ireland: string;
'Isle of Man': string;
Israel: string;
Italy: string;
'Ivory Coast': string;
Jamaica: string;
Japan: string;
Jersey: string;
Jordan: string;
Kazakhstan: string;
Kenya: string;
Kiribati: string;
Kosovo: string;
Kuwait: string;
Kyrgyzstan: string;
Laos: string;
Latvia: string;
Lebanon: string;
Lesotho: string;
Liberia: string;
Libya: string;
Liechtenstein: string;
Lithuania: string;
Luxembourg: string;
Macau: string;
Macedonia: string;
Madagascar: string;
Malawi: string;
Malaysia: string;
Maldives: string;
Mali: string;
Malta: string;
'Marshall Islands': string;
Mauritania: string;
Mauritius: string;
Mayotte: string;
Mexico: string;
Micronesia: string;
Moldova: string;
Monaco: string;
Mongolia: string;
Montenegro: string;
Montserrat: string;
Morocco: string;
Mozambique: string;
Myanmar: string;
Namibia: string;
Nauru: string;
Nepal: string;
Netherlands: string;
'Netherlands Antilles': string;
'New Caledonia': string;
'New Zealand': string;
Nicaragua: string;
Niger: string;
Nigeria: string;
Niue: string;
'North Korea': string;
'Northern Mariana Islands': string;
Norway: string;
Oman: string;
Pakistan: string;
Palau: string;
Palestine: string;
Panama: string;
'Papua New Guinea': string;
Paraguay: string;
Peru: string;
Philippines: string;
Pitcairn: string;
Poland: string;
Portugal: string;
'Puerto Rico': string;
Qatar: string;
'Republic of the Congo': string;
Reunion: string;
Romania: string;
Russia: string;
Rwanda: string;
'Saint Barthelemy': string;
'Saint Helena': string;
'Saint Kitts and Nevis': string;
'Saint Lucia': string;
'Saint Martin': string;
'Saint Pierre and Miquelon': string;
'Saint Vincent and the Grenadines': string;
Samoa: string;
'San Marino': string;
'Sao Tome and Principe': string;
'Saudi Arabia': string;
Senegal: string;
Serbia: string;
Seychelles: string;
'Sierra Leone': string;
Singapore: string;
'Sint Maarten': string;
Slovakia: string;
Slovenia: string;
'Solomon Islands': string;
Somalia: string;
'South Africa': string;
'South Korea': string;
'South Sudan': string;
Spain: string;
'Sri Lanka': string;
Sudan: string;
Suriname: string;
'Svalbard and Jan Mayen': string;
Swaziland: string;
Sweden: string;
Switzerland: string;
Syria: string;
Taiwan: string;
Tajikistan: string;
Tanzania: string;
Thailand: string;
Togo: string;
Tokelau: string;
Tonga: string;
'Trinidad and Tobago': string;
Tunisia: string;
Turkey: string;
Turkmenistan: string;
'Turks and Caicos Islands': string;
Tuvalu: string;
'U.S. Virgin Islands': string;
Uganda: string;
Ukraine: string;
'United Arab Emirates': string;
'United Kingdom': string;
'United States': string;
Uruguay: string;
Uzbekistan: string;
Vanuatu: string;
Vatican: string;
Venezuela: string;
Vietnam: string;
'Wallis and Futuna': string;
'Western Sahara': string;
Yemen: string;
Zambia: string;
Zimbabwe: string;
};
get String(): StringSchema<string | undefined, Record<string, any>, string | undefined>;
get Email(): StringSchema<string | undefined, Record<string, any>, string | undefined>;
get SSH(): StringSchema<string | undefined, Record<string, any>, string | undefined>;
get DataURL(): StringSchema<string | undefined, Record<string, any>, string | undefined>;
get Bool(): BooleanSchema<boolean | undefined, Record<string, any>, boolean | undefined>;
get Boolean(): BooleanSchema<boolean | undefined, Record<string, any>, boolean | undefined>;
get Number(): NumberSchema<number | undefined, Record<string, any>, number | undefined>;
get Integer(): NumberSchema<number | undefined, Record<string, any>, number | undefined>;
get Date(): DateSchema<Date | undefined, Record<string, any>, Date | undefined>;
get Any(): MixedSchema<any, Record<string, any>, any>;
URL(option?: {
acceptParams?: boolean;
protocol?: string[] | string;
blackHostnameList?: string[];
whiteHostnameList?: string[];
}): StringSchema<string | undefined, Record<string, any>, string | undefined>;
Phone(countryCode?: string, strict?: boolean): StringSchema<string | undefined, Record<string, any>, string | undefined>;
IP(mode?: 'ipv4' | 'ipv6' | 'both'): StringSchema<string | undefined, Record<string, any>, string | undefined>;
Object<TShape extends ObjectShape>(spec?: TShape): OptionalObjectSchema<TShape, Record<string, any>, TypeOfShape<TShape>>;
Object<TShape extends ObjectShape>(structure?: AnySchema): OptionalObjectSchema<TShape, Record<string, any>, TypeOfShape<TShape>>;
Object<TShape extends ObjectShape>(spec?: TShape, structure?: AnySchema): OptionalObjectSchema<TShape, Record<string, any>, TypeOfShape<TShape>>;
KeyValueStructure<T extends AnySchema>(valueType: T): Lazy<any, ContextOf<T>>;
Array<C extends AnyObject = AnyObject, T extends AnySchema | Lazy<any, any> = AnySchema>(type?: T): OptionalArraySchema<T, C, TypeOf<T>[] | undefined>;
Ref<TValue = unknown>(key: string, options?: ReferenceOptions<TValue>): Reference<TValue>;
Lazy<T extends AnySchema>(builder: LazyBuilder<T>): Lazy<T, ContextOf<T>>;
constructor();
validate<SchemaType extends AnySchema, DataType = any>(schema: SchemaType, data: DataType): Promise<DataType>;
validateSync<SchemaType extends AnySchema, DataType = any>(schema: SchemaType, data: DataType): DataType;
isValid<SchemaType extends AnySchema, DataType = any>(schema: SchemaType, data: DataType): Promise<boolean>;
isValidSync<SchemaType extends AnySchema, DataType = any>(schema: SchemaType, data: DataType): boolean;
}
export {};