UNPKG

container.ts

Version:
206 lines (205 loc) 8.47 kB
/// <reference types="validator" /> import * as moment from "moment-timezone"; import { ErrorChain } from "../error"; /** Validate error codes. */ export declare enum EValidateError { InvalidBoolean = 0, InvalidInteger = 1, InvalidFloat = 2, InvalidHexadecimal = 3, InvalidString = 4, InvalidAscii = 5, InvalidBase64 = 6, InvalidAlpha = 7, InvalidAlphanumeric = 8, InvalidCreditCard = 9, InvalidEmail = 10, InvalidDomain = 11, InvalidHexColour = 12, InvalidIp = 13, InvalidJson = 14, InvalidMacAddress = 15, InvalidMd5 = 16, InvalidMobilePhone = 17, InvalidMongoId = 18, InvalidPostalCode = 19, InvalidUrl = 20, InvalidUuid = 21, InvalidPort = 22, InvalidLanguage = 23, InvalidCountry = 24, InvalidLocale = 25, InvalidTimeZone = 26, InvalidDate = 27, InvalidDuration = 28, } /** Validate error chain class. */ export declare class ValidateError extends ErrorChain { constructor(code: EValidateError, value?: any, cause?: Error); } /** Validate.isBoolean options. */ export interface IValidateBoolean { /** If true, strict validation is used. */ strict?: boolean; } /** Wrapper for validator.toBoolean. */ export declare function isBoolean(value?: string, options?: IValidateBoolean): boolean; /** Validate.isInteger options. */ export interface IValidateInteger extends ValidatorJS.IsIntOptions { } /** Wrapper for validator.isInt. */ export declare function isInteger(value?: string, options?: IValidateInteger): number; /** Validate.isFloat options. */ export interface IValidateFloat extends ValidatorJS.IsFloatOptions { } /** Wrapper for validator.isFloat. */ export declare function isFloat(value?: string, options?: IValidateFloat): number; /** Wrapper for validator.isHexadecimal. */ export declare function isHexadecimal(value?: string): number; /** Validate.isString options. */ export interface IValidateString extends ValidatorJS.IsLengthOptions { /** Require lower case characters. */ lowercase?: boolean; /** Require upper case characters. */ uppercase?: boolean; /** Optional array of allowed values. */ values?: string[]; } /** Wrapper for validator methods isLength, isUppercase, isLowercase and isIn. */ export declare function isString(value?: string, options?: IValidateString): string; /** Wrapper for validator.isAscii. */ export declare function isAscii(value?: string, options?: IValidateString): string; /** Wrapper for validator.isBase64. */ export declare function isBase64(value?: string, options?: IValidateString): string; /** Validate.isAlpha options. */ export interface IValidateAlpha extends IValidateString { /** Locale used by validator, defaults to en-GB. */ locale?: ValidatorJS.AlphaLocale; } /** Wrapper for validator.isAlpha. */ export declare function isAlpha(value?: string, options?: IValidateAlpha): string; /** Validate.isAlphanumeric options. */ export interface IValidateAlphanumeric extends IValidateString { /** Locale used by validator, defaults to en-GB. */ locale?: ValidatorJS.AlphanumericLocale; } /** Wrapper for validator.isAlphanumeric. */ export declare function isAlphanumeric(value?: string, options?: IValidateAlphanumeric): string; /** Wrapper for validator.isCreditCard. */ export declare function isCreditCard(value?: string): string; /** Validate.isEmail options. */ export interface IValidateEmail extends ValidatorJS.IsEmailOptions { } /** Wrapper for validator.isEmail. */ export declare function isEmail(value?: string, options?: IValidateEmail): string; /** Validate.isDomain options. */ export interface IValidateDomain extends ValidatorJS.IsFQDNOptions { } /** Wrapper for validator.isFQDN. */ export declare function isDomain(value?: string, options?: IValidateDomain): string; /** Wrapper for validator.isHexColor. */ export declare function isHexColour(value?: string): string; /** Validate.isIp options. */ export interface IValidateIp { /** IP version number, defaults to 4. */ version?: 4 | 6; } /** Wrapper for validator.isIP. */ export declare function isIp(value?: string, options?: IValidateIp): string; /** Wrapper for validator.isJSON. */ export declare function isJson<T>(value?: string): T; /** Wrapper for validator.isMACAddress. */ export declare function isMacAddress(value?: string): string; /** Wrapper for validator.isMD5. */ export declare function isMd5(value?: string): string; /** Validate.isMobilePhone options. */ export interface IValidateMobilePhone { /** Locale used by validator, defaults to en-GB. */ locale?: ValidatorJS.MobilePhoneLocale; } /** Wrapper for validator.isMobilePhone. */ export declare function isMobilePhone(value?: string, options?: IValidateMobilePhone): string; /** Wrapper for validator.isMongoId. */ export declare function isMongoId(value?: string): string; /** Validate.isPostalCode options. */ export interface IValidatePostalCode { /** Locale used by validator, defaults to GB. */ locale?: ValidatorJS.PostalCodeLocale; } /** Wrapper for validator.isPostalCode. */ export declare function isPostalCode(value?: string, options?: IValidatePostalCode): string; /** Validate.isUrl options. */ export interface IValidateUrl extends ValidatorJS.IsURLOptions { } /** Wrapper for validator.isURL. */ export declare function isUrl(value?: string, options?: IValidateUrl): string; /** Validate.isUuid options. */ export interface IValidateUuid { /** UUID version number, defaults to all. */ version?: 3 | 4 | 5; } /** Wrapper for validator.isUUID. */ export declare function isUuid(value?: string, options?: IValidateUuid): string; /** Validate that value is a valid port number (1 - 65535). */ export declare function isPort(value?: string): number; /** Validate that value is a valid ISO639 language code. */ export declare function isLanguage(value?: string): string; /** Validate that value is a valid ISO3166 country code. */ export declare function isCountry(value?: string): string; /** Validate.isLocale options. */ export interface IValidateLocale { /** Language/country code separator, defaults to '_'. */ separator?: string; } /** Validate that value is a valid locale (language_COUNTRY). */ export declare function isLocale(value?: string, options?: IValidateLocale): string; /** Validate that value is a valid time zone defined in 'moment-timezone' library. */ export declare function isTimeZone(value?: string): string; /** Validate.isDate options. */ export interface IValidateDate { /** Formatting hints passed to 'moment-timezone', defaults to ISO8601. */ format?: string | string[]; /** Timezone used for parsing, defaults to 'Etc/UTC'. */ timezone?: string; } /** Validate that value is a valid date parsed by 'moment-timezone' library. */ export declare function isDate(value?: string, options?: IValidateDate): moment.Moment; /** Validate.isDuration options. */ export interface IValidateDuration { /** Optional unit of time passed to 'moment-timezone'. */ unit?: moment.unitOfTime.DurationConstructor; } /** Validate that value is a valid duration parsed by 'moment-timezone' library. */ export declare function isDuration(value?: string, options?: IValidateDuration): moment.Duration; /** Static validate methods container. */ export declare class Validate { static isBoolean: typeof isBoolean; static isInteger: typeof isInteger; static isFloat: typeof isFloat; static isHexadecimal: typeof isHexadecimal; static isString: typeof isString; static isAscii: typeof isAscii; static isBase64: typeof isBase64; static isAlpha: typeof isAlpha; static isAlphanumeric: typeof isAlphanumeric; static isCreditCard: typeof isCreditCard; static isEmail: typeof isEmail; static isDomain: typeof isDomain; static isHexColour: typeof isHexColour; static isIp: typeof isIp; static isJson: typeof isJson; static isMacAddress: typeof isMacAddress; static isMd5: typeof isMd5; static isMobilePhone: typeof isMobilePhone; static isMongoId: typeof isMongoId; static isPostalCode: typeof isPostalCode; static isUrl: typeof isUrl; static isUuid: typeof isUuid; static isPort: typeof isPort; static isLanguage: typeof isLanguage; static isCountry: typeof isCountry; static isLocale: typeof isLocale; static isTimeZone: typeof isTimeZone; static isDate: typeof isDate; static isDuration: typeof isDuration; }