x-js-utils
Version:
49 lines (48 loc) • 2.08 kB
TypeScript
export declare type XTestSingleParamsFun = (value: string) => boolean;
export declare type XTestMultipleParamsFun = (value: string, params: string) => boolean;
export interface XTestOptions {
isEmail: XTestSingleParamsFun;
isMobile: XTestSingleParamsFun;
isUrl: XTestSingleParamsFun;
isDate: XTestSingleParamsFun;
isDateISO: XTestSingleParamsFun;
isNumber: XTestSingleParamsFun;
isInteger: XTestSingleParamsFun;
isIdCard: XTestSingleParamsFun;
isCarNo: XTestSingleParamsFun;
isAmount: XTestSingleParamsFun;
isChinese: XTestSingleParamsFun;
isLetter: XTestSingleParamsFun;
isEnOrNum: XTestSingleParamsFun;
isContains: XTestMultipleParamsFun;
isRange: (value: number, params: number[]) => boolean;
isRangeLength: (value: string, params: number[]) => boolean;
isLandline: XTestSingleParamsFun;
isJsonString: (value: string, basics: boolean) => boolean;
isArray: (value: any) => boolean;
isObject: (value: any) => boolean;
isImageByExtName: XTestSingleParamsFun;
isVideoByExtName: XTestSingleParamsFun;
isAudioByExtName: XTestSingleParamsFun;
}
export interface XDateOptions {
dateFormat: (dateTime?: any, fmt?: string, cn?: boolean) => string;
}
export interface XObjectOptions {
deepClone: (obj: any) => any;
deepMerge: (target: object, source: object) => object | null;
trim: (str: string, pos?: XPosType) => string;
}
export interface XTimingOptions {
debounce: (func: () => void, wait: number, immediate: boolean, timeoutName: string) => any;
throttle: (fn: () => void, time: number, isImmediate: boolean, timeoutName: string) => any;
}
export interface XEncryptOptions {
md5: (value: string) => string;
}
export declare type XPosType = "both" | "left" | "right" | "all";
export declare const dateUtils: XDateOptions;
export declare const testUtils: XTestOptions;
export declare const objectUtils: XObjectOptions;
export declare const timingUtils: XTimingOptions;
export declare const encryptUtils: XEncryptOptions;