mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
72 lines
3.9 KiB
TypeScript
72 lines
3.9 KiB
TypeScript
// Type definitions for revalidate 1.1
|
|
// Project: https://github.com/jfairbank/revalidate
|
|
// Definitions by: alex3165 <https://github.com/alex3165>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
// This project is licensed under the MIT license.
|
|
// Copyrights are respective of each contributor listed at the beginning of each definition file.
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
|
|
// to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
|
// and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
|
|
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
export interface CombineValidatorsOptions {
|
|
serializeValues?(values: any): any;
|
|
}
|
|
|
|
export interface Config {
|
|
field?: any;
|
|
message?: string;
|
|
}
|
|
|
|
export interface Multiple {
|
|
multiple?: boolean;
|
|
}
|
|
|
|
export type ComposeConfig = Config & Multiple;
|
|
|
|
export interface ParsedField {
|
|
isArray: boolean;
|
|
baseName: string;
|
|
fullName: string;
|
|
}
|
|
|
|
export type MessageCreator = ((field: any) => any) | string;
|
|
export type ValidatorImpl = (message: any) => (value: any, allValues?: any) => any;
|
|
export type Comparer = (a: any, b: any) => boolean;
|
|
|
|
export type ConfiguredValidator = (value?: any, allValues?: any) => any;
|
|
export type UnconfiguredValidator = (config?: string | Config, value?: any, allValues?: any) => any;
|
|
export type ConfiguredCombinedValidator = (value?: any, allValues?: any) => any;
|
|
|
|
export type CurryableValidator = (config?: string | Config) => ConfiguredValidator;
|
|
export type ComposedCurryableValidator = (config?: string | ComposeConfig) => ConfiguredValidator;
|
|
|
|
export type ConfigurableValidator = UnconfiguredValidator & CurryableValidator;
|
|
|
|
export type Validator = ConfiguredValidator & UnconfiguredValidator;
|
|
|
|
export function createValidator(curriedDefinition: ValidatorImpl, defaultMessageCreator?: MessageCreator): ConfigurableValidator;
|
|
export function composeValidators(firstValidator: Validator | any, ...validators: Validator[]): ComposedCurryableValidator;
|
|
export function combineValidators(validators: any, options?: CombineValidatorsOptions): ConfiguredCombinedValidator;
|
|
|
|
export function hasLengthBetween(min: number, max: number): ConfigurableValidator;
|
|
export function hasLengthGreaterThan(min: number): ConfigurableValidator;
|
|
export function hasLengthLessThan(max: number): ConfigurableValidator;
|
|
|
|
export function isAlphabetic(config?: string | Config, value?: any, allValues?: any): ConfiguredValidator | any;
|
|
export function isAlphaNumeric(config?: string | Config, value?: any, allValues?: any): ConfiguredValidator | any;
|
|
export function isNumeric(config?: string | Config, value?: any, allValues?: any): ConfiguredValidator | any;
|
|
export function isOneOf(config?: string | Config, value?: any, allValues?: any): ConfiguredValidator | any;
|
|
export function isRequired(config?: string | Config, value?: any, allValues?: any): ConfiguredValidator | any;
|
|
export function isRequiredIf(config?: string | Config, value?: any, allValues?: any): ConfiguredValidator | any;
|
|
|
|
export function matchesField(otherField: string, otherFieldLabel: string): ConfigurableValidator;
|
|
export function matchesPattern(regex: RegExp): ConfigurableValidator;
|