diff --git a/dist/knockout.validation.d.ts b/dist/knockout.validation.d.ts index 1348de8..5f34394 100644 --- a/dist/knockout.validation.d.ts +++ b/dist/knockout.validation.d.ts @@ -64,7 +64,7 @@ declare module "knockout" { export interface ValidationRuleExtenderParams { /** The rule parameters. */ - params: T; + params: T | ko.Subscribable; /** The rule message. */ message?: string; /** The rule condition. */ @@ -143,26 +143,30 @@ declare module "knockout" { export type ValidationAnonymousRuleDefinition = ValidationRuleDefinition | ValidationAsyncRuleDefinition; + export type ValidationExtendType = T | ko.Subscribable | ValidationRuleExtenderParams; + + export type ValidationExtendAccessType = () => T | ValidationExtendType; + export interface ValidationExtendOptions { validation?: ValidationRule | ValidationRuleDefinition | ValidationAsyncRuleDefinition | Array; validatable?: boolean | ExtenderValidatableOptions; - required?: boolean | ValidationRuleExtenderParams; - min?: number | ValidationRuleExtenderParams; - max?: number | ValidationRuleExtenderParams; - minLength?: number | ValidationRuleExtenderParams; - maxLength?: number | ValidationRuleExtenderParams; - pattern?: RegExp | ValidationRuleExtenderParams; - step?: number | ValidationRuleExtenderParams; - email?: boolean | ValidationRuleExtenderParams; - date?: boolean | ValidationRuleExtenderParams; - dateISO?: boolean | ValidationRuleExtenderParams; - number?: boolean | ValidationRuleExtenderParams; - digit?: boolean | ValidationRuleExtenderParams; - phoneUS?: boolean | ValidationRuleExtenderParams; - equal?: ko.Subscribable | ValidationRuleExtenderParams>; - notEqual?: ko.Subscribable | ValidationRuleExtenderParams>; - unique?: ValidationRuleExtenderParams; + required?: ValidationExtendType; + min?: ValidationExtendType; + max?: ValidationExtendType; + minLength?: ValidationExtendType; + maxLength?: ValidationExtendType; + pattern?: ValidationExtendType; + step?: ValidationExtendType; + email?: ValidationExtendType; + date?: ValidationExtendType; + dateISO?: ValidationExtendType; + number?: ValidationExtendType; + digit?: ValidationExtendType; + phoneUS?: ValidationExtendType; + equal?: ValidationExtendAccessType; + notEqual?: ValidationExtendAccessType; + unique?: ValidationExtendType; } export interface ExtenderValidatableOptions { @@ -172,7 +176,7 @@ declare module "knockout" { export interface ExtenderUniqueOptions { /** array or function returning (observable) array in which the value has to be unique. */ - collection?: ko.MaybeObservableArray; + collection?: ko.MaybeObservableArray | (() => ko.MaybeObservableArray); /** Function that returns value from an object stored in collection. If it is null the value is compared directly. */ valueAccessor?: (item: any) => any; /** Set to true when object you are validating is automatically updating collection. */ @@ -418,22 +422,22 @@ declare module "knockout" { */ validatable>(target: T, options: boolean | validation.ExtenderValidatableOptions): T & validation.ObservableValidationExtension; - required>(target: T, options: boolean | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - min>(target: T, options: number | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - max>(target: T, options: number | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - minLength>(target: T, options: number | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - maxLength>(target: T, options: number | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - pattern>(target: T, options: RegExp | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - step>(target: T, options: number | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - email>(target: T, options: boolean | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - date>(target: T, options: boolean | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - dateISO>(target: T, options: boolean | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - number>(target: T, options: boolean | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - digit>(target: T, options: boolean | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - phoneUS>(target: T, options: boolean | validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; - equal>(target: T, options: ko.Subscribable | validation.ValidationRuleExtenderParams>): T & validation.ObservableValidationExtension; - notEqual>(target: T, options: ko.Subscribable | validation.ValidationRuleExtenderParams>): T & validation.ObservableValidationExtension; - unique>(target: T, options: validation.ValidationRuleExtenderParams): T & validation.ObservableValidationExtension; + required>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + min>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + max>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + minLength>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + maxLength>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + pattern>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + step>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + email>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + date>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + dateISO>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + number>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + digit>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + phoneUS>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; + equal>(target: T, options: validation.ValidationExtendAccessType): T & validation.ObservableValidationExtension; + notEqual>(target: T, options: validation.ValidationExtendAccessType): T & validation.ObservableValidationExtension; + unique>(target: T, options: validation.ValidationExtendType): T & validation.ObservableValidationExtension; } export interface SubscribableFunctions {