UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

107 lines (106 loc) 2.37 kB
export type LocaleValueFnParams<TExtra extends {} = {}> = { path: string; type: string; label?: string; value: any; originalValue: any; } & TExtra; export type LocaleValueFn<TExtra extends {} = {}> = (params: LocaleValueFnParams<TExtra>) => string; export type LocaleValue<TExtra extends {} = {}> = string | LocaleValueFn<TExtra>; export interface MixedLocale { default: LocaleValue; required: LocaleValue; oneOf: LocaleValue<{ values: string; }>; notOneOf: LocaleValue<{ values: string; }>; notType: LocaleValue; defined: LocaleValue; } export interface StringLocale { length: LocaleValue<{ length: number; }>; min: LocaleValue<{ min: number; }>; max: LocaleValue<{ max: number; }>; matches: LocaleValue<{ regex: RegExp; }>; email: LocaleValue<{ regex: RegExp; }>; url: LocaleValue<{ regex: RegExp; }>; trim: LocaleValue; lowercase: LocaleValue; uppercase: LocaleValue; chineseMobilePhoneNumber: LocaleValue; chineseIDCardNumber: LocaleValue; } export interface NumberLocale { min: LocaleValue<{ min: number; }>; max: LocaleValue<{ max: number; }>; lessThan: LocaleValue<{ less: number; }>; moreThan: LocaleValue<{ more: number; }>; positive: LocaleValue<{ more: number; }>; negative: LocaleValue<{ less: number; }>; integer: LocaleValue; id: LocaleValue; positiveInteger: LocaleValue; negativeInteger: LocaleValue; nonPositive: LocaleValue; nonNegative: LocaleValue; nonPositiveInteger: LocaleValue; nonNegativeInteger: LocaleValue; } export interface DateLocale { min: LocaleValue<{ min: Date | string; }>; max: LocaleValue<{ max: Date | string; }>; } export interface BooleanLocale { } export interface ObjectLocale { noUnknown: LocaleValue<{ unknown: string; }>; } export interface ArrayLocale { min: LocaleValue<{ min: number; }>; max: LocaleValue<{ max: number; }>; } export interface Locale { mixed: MixedLocale; string: StringLocale; number: NumberLocale; date: DateLocale; boolean: BooleanLocale; object: ObjectLocale; array: ArrayLocale; }