From e8dd7a5c8fdbcb0836f51a2cc7945225f1e2faa7 Mon Sep 17 00:00:00 2001 From: ZOS Date: Fri, 21 Jun 2013 10:00:46 +0400 Subject: [PATCH 1/2] Knockout.validation support new Knockout definition (generics) and replace bool to boolean. --- knockout.validation/knockout.validation.d.ts | 109 +++++++++---------- 1 file changed, 53 insertions(+), 56 deletions(-) diff --git a/knockout.validation/knockout.validation.d.ts b/knockout.validation/knockout.validation.d.ts index 88c1cc59d..72ea55dc9 100644 --- a/knockout.validation/knockout.validation.d.ts +++ b/knockout.validation/knockout.validation.d.ts @@ -5,66 +5,66 @@ /// -interface KnockoutValidationGroupingOptions { - deep?: bool; - observable?: bool; +interface KnockoutValidationGroupingOptions { + deep?: boolean; + observable?: boolean; } -interface KnockoutValidationConfiguration { - registerExtenders?: bool; - messagesOnModified?: bool; +interface KnockoutValidationConfiguration { + registerExtenders?: boolean; + messagesOnModified?: boolean; messageTemplate?: string; - insertMessages?: bool; - parseInputAttributes?: bool; - writeInputAttributes?: bool; - decorateElement?: bool; + insertMessages?: boolean; + parseInputAttributes?: boolean; + writeInputAttributes?: boolean; + decorateElement?: boolean; errorClass?: string; errorElementClass?: string; errorMessageClass?: string; - grouping?: KnockoutValidationGroupingOptions; + grouping?: KnockoutValidationGroupingOptions; } -interface KnockoutValidationUtils { - isArray(o: any): bool; - isObject(o: any): bool; +interface KnockoutValidationUtils { + isArray(o: any): boolean; + isObject(o: any): boolean; values(o: any): any[]; getValue(o: any): any; - hasAttribute(node: Element, attr: string): bool; - isValidatable(o: any): bool; + hasAttribute(node: Element, attr: string): boolean; + isValidatable(o: any): boolean; insertAfter(node: Element, newNode: Element): void; newId(): number; getConfigOptions(element: Element): KnockoutValidationConfiguration; setDomData(node: Element, data: KnockoutValidationConfiguration): void; getDomData(node: Element): KnockoutValidationConfiguration; contextFor(node: Element): KnockoutValidationConfiguration; - isEmptyVal(val: any): bool; + isEmptyVal(val: any): boolean; } -interface KnockoutValidationAsyncCallbackArgs { - isValid: bool; +interface KnockoutValidationAsyncCallbackArgs { + isValid: boolean; + message: string; +} + +interface KnockoutValidationAsyncCallback { + (result: boolean): void; + (result: KnockoutValidationAsyncCallbackArgs): void; +} + +interface KnockoutValidationRuleDefinition { message: string; + validator(value: any, params: any): boolean; } -interface KnockoutValidationAsyncCallback { - (result: bool): void; - (result: KnockoutValidationAsyncCallbackArgs): void; +interface KnockoutValidationAsyncRuleDefinition extends KnockoutValidationRuleDefinition { + async: boolean; + validator(value: any, params: any, callback: KnockoutValidationAsyncCallback): void; } -interface KnockoutValidationRuleDefinition { - message: string; - validator(value: any, params: any): bool; +interface KnockoutValidationAnonymousRuleDefinition { + validation: KnockoutValidationRuleDefinition; } -interface KnockoutValidationAsyncRuleDefinition extends KnockoutValidationRuleDefinition { - async: bool; - validator(value: any, params: any, callback: KnockoutValidationAsyncCallback): void; -} - -interface KnockoutValidationAnonymousRuleDefinition { - validation: KnockoutValidationRuleDefinition; -} - -interface KnockoutValidationRuleDefinitions { +interface KnockoutValidationRuleDefinitions { date: KnockoutValidationRuleDefinition; dateISO: KnockoutValidationRuleDefinition; digit: KnockoutValidationRuleDefinition; @@ -80,30 +80,30 @@ interface KnockoutValidationRuleDefinitions { phoneUS: KnockoutValidationRuleDefinition; required: KnockoutValidationRuleDefinition; step: KnockoutValidationRuleDefinition; - unique: KnockoutValidationRuleDefinition; + unique: KnockoutValidationRuleDefinition; } -interface KnockoutValidationRule { +interface KnockoutValidationRule { rule: string; params: any; message?: string; - condition?: () => bool; + condition?: () => boolean; } -interface KnockoutValidationErrors { +interface KnockoutValidationErrors { (): string[]; showAllMessages(): void; - showAllMessages(show: bool): void; + showAllMessages(show: boolean): void; } -interface KnockoutValidationGroup { +interface KnockoutValidationGroup { errors?: KnockoutValidationErrors; - isValid?: () => bool; - isAnyMessageShown?: () => bool; + isValid?: () => boolean; + isAnyMessageShown?: () => boolean; } -interface KnockoutValidationStatic { - init(options?: KnockoutValidationConfiguration, force?: bool): void; +interface KnockoutValidationStatic { + init(options?: KnockoutValidationConfiguration, force?: boolean): void; configure(options: KnockoutValidationConfiguration): void; reset(): void; @@ -111,11 +111,8 @@ interface KnockoutValidationStatic { formatMessage(message: string, params: string): string; - addRule(observable: KnockoutObservableAny, rule: KnockoutValidationRule): KnockoutObservableAny; - addRule(observable: KnockoutObservableString, rule: KnockoutValidationRule): KnockoutObservableString; - addRule(observable: KnockoutObservableNumber, rule: KnockoutValidationRule): KnockoutObservableNumber; - addRule(observable: KnockoutObservableBool, rule: KnockoutValidationRule): KnockoutObservableBool; - addRule(observable: KnockoutObservableDate, rule: KnockoutValidationRule): KnockoutObservableDate; + addRule(observable: KnockoutObservable, rule: KnockoutValidationRule): KnockoutObservable; + addAnonymousRule(observable: KnockoutObservableBase, ruleObj: KnockoutValidationAnonymousRuleDefinition): void; insertValidationMessage(element: Element): Element; @@ -128,18 +125,18 @@ interface KnockoutValidationStatic { utils: KnockoutValidationUtils; localize(msgTranslations: any): void; - validateObservable(observable: KnockoutObservableBase): bool; + validateObservable(observable: KnockoutObservableBase): boolean; } -interface KnockoutStatic { +interface KnockoutStatic { validation: KnockoutValidationStatic; validatedObservable(initialValue: any): KnockoutObservableBase; - applyBindingsWithValidation(viewModel: any, rootNode?: any, options?: KnockoutValidationConfiguration): void; + applyBindingsWithValidation(viewModel: any, rootNode?: any, options?: KnockoutValidationConfiguration): void; } -interface KnockoutSubscribableFunctions { +interface KnockoutSubscribableFunctions { isValid: KnockoutComputed; - isValidating: KnockoutObservableBool; - rules: KnockoutObservableArray; + isValidating: KnockoutObservable; + rules: KnockoutObservableArray; } From d95235848c9a30b3d7a160328d081f4844b1510e Mon Sep 17 00:00:00 2001 From: ZOS Date: Fri, 21 Jun 2013 11:13:21 +0400 Subject: [PATCH 2/2] Generics support to KnockoutSubscribableFunctions and added base interface to rule definitions. --- knockout.validation/knockout.validation.d.ts | 234 ++++++++++--------- 1 file changed, 119 insertions(+), 115 deletions(-) diff --git a/knockout.validation/knockout.validation.d.ts b/knockout.validation/knockout.validation.d.ts index 72ea55dc9..725902e60 100644 --- a/knockout.validation/knockout.validation.d.ts +++ b/knockout.validation/knockout.validation.d.ts @@ -1,142 +1,146 @@ -// Type definitions for Knockout Validation -// Project: https://github.com/ericmbarnard/Knockout-Validation -// Definitions by: Dan Ludwig -// Definitions: https://github.com/borisyankov/DefinitelyTyped - -/// - +// Type definitions for Knockout Validation +// Project: https://github.com/ericmbarnard/Knockout-Validation +// Definitions by: Dan Ludwig +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + interface KnockoutValidationGroupingOptions { - deep?: boolean; + deep?: boolean; observable?: boolean; -} - +} + interface KnockoutValidationConfiguration { - registerExtenders?: boolean; - messagesOnModified?: boolean; - messageTemplate?: string; - insertMessages?: boolean; - parseInputAttributes?: boolean; - writeInputAttributes?: boolean; - decorateElement?: boolean; - errorClass?: string; - errorElementClass?: string; - errorMessageClass?: string; + registerExtenders?: boolean; + messagesOnModified?: boolean; + messageTemplate?: string; + insertMessages?: boolean; + parseInputAttributes?: boolean; + writeInputAttributes?: boolean; + decorateElement?: boolean; + errorClass?: string; + errorElementClass?: string; + errorMessageClass?: string; grouping?: KnockoutValidationGroupingOptions; -} - +} + interface KnockoutValidationUtils { - isArray(o: any): boolean; - isObject(o: any): boolean; - values(o: any): any[]; - getValue(o: any): any; - hasAttribute(node: Element, attr: string): boolean; - isValidatable(o: any): boolean; - insertAfter(node: Element, newNode: Element): void; - newId(): number; - getConfigOptions(element: Element): KnockoutValidationConfiguration; - setDomData(node: Element, data: KnockoutValidationConfiguration): void; - getDomData(node: Element): KnockoutValidationConfiguration; - contextFor(node: Element): KnockoutValidationConfiguration; + isArray(o: any): boolean; + isObject(o: any): boolean; + values(o: any): any[]; + getValue(o: any): any; + hasAttribute(node: Element, attr: string): boolean; + isValidatable(o: any): boolean; + insertAfter(node: Element, newNode: Element): void; + newId(): number; + getConfigOptions(element: Element): KnockoutValidationConfiguration; + setDomData(node: Element, data: KnockoutValidationConfiguration): void; + getDomData(node: Element): KnockoutValidationConfiguration; + contextFor(node: Element): KnockoutValidationConfiguration; isEmptyVal(val: any): boolean; -} - +} + interface KnockoutValidationAsyncCallbackArgs { - isValid: boolean; + isValid: boolean; message: string; -} - +} + interface KnockoutValidationAsyncCallback { - (result: boolean): void; + (result: boolean): void; (result: KnockoutValidationAsyncCallbackArgs): void; -} - -interface KnockoutValidationRuleDefinition { - message: string; +} + +interface KnockoutValidationRuleBase +{ + message: string; +} + +interface KnockoutValidationRuleDefinition extends KnockoutValidationRuleBase { validator(value: any, params: any): boolean; -} - -interface KnockoutValidationAsyncRuleDefinition extends KnockoutValidationRuleDefinition { - async: boolean; +} + +interface KnockoutValidationAsyncRuleDefinition extends KnockoutValidationRuleBase { + async: boolean; validator(value: any, params: any, callback: KnockoutValidationAsyncCallback): void; -} - +} + interface KnockoutValidationAnonymousRuleDefinition { validation: KnockoutValidationRuleDefinition; -} - +} + interface KnockoutValidationRuleDefinitions { - date: KnockoutValidationRuleDefinition; - dateISO: KnockoutValidationRuleDefinition; - digit: KnockoutValidationRuleDefinition; - email: KnockoutValidationRuleDefinition; - equal: KnockoutValidationRuleDefinition; - max: KnockoutValidationRuleDefinition; - maxLength: KnockoutValidationRuleDefinition; - min: KnockoutValidationRuleDefinition; - minLength: KnockoutValidationRuleDefinition; - notEqual: KnockoutValidationRuleDefinition; - number: KnockoutValidationRuleDefinition; - pattern: KnockoutValidationRuleDefinition; - phoneUS: KnockoutValidationRuleDefinition; - required: KnockoutValidationRuleDefinition; - step: KnockoutValidationRuleDefinition; + date: KnockoutValidationRuleDefinition; + dateISO: KnockoutValidationRuleDefinition; + digit: KnockoutValidationRuleDefinition; + email: KnockoutValidationRuleDefinition; + equal: KnockoutValidationRuleDefinition; + max: KnockoutValidationRuleDefinition; + maxLength: KnockoutValidationRuleDefinition; + min: KnockoutValidationRuleDefinition; + minLength: KnockoutValidationRuleDefinition; + notEqual: KnockoutValidationRuleDefinition; + number: KnockoutValidationRuleDefinition; + pattern: KnockoutValidationRuleDefinition; + phoneUS: KnockoutValidationRuleDefinition; + required: KnockoutValidationRuleDefinition; + step: KnockoutValidationRuleDefinition; unique: KnockoutValidationRuleDefinition; -} - +} + interface KnockoutValidationRule { - rule: string; - params: any; - message?: string; + rule: string; + params: any; + message?: string; condition?: () => boolean; -} - +} + interface KnockoutValidationErrors { - (): string[]; - showAllMessages(): void; + (): string[]; + showAllMessages(): void; showAllMessages(show: boolean): void; -} - +} + interface KnockoutValidationGroup { - errors?: KnockoutValidationErrors; - isValid?: () => boolean; + errors?: KnockoutValidationErrors; + isValid?: () => boolean; isAnyMessageShown?: () => boolean; -} - +} + interface KnockoutValidationStatic { - init(options?: KnockoutValidationConfiguration, force?: boolean): void; - configure(options: KnockoutValidationConfiguration): void; - reset(): void; - - group(obj: any, options?: any): KnockoutValidationErrors; - - formatMessage(message: string, params: string): string; - - addRule(observable: KnockoutObservable, rule: KnockoutValidationRule): KnockoutObservable; - - addAnonymousRule(observable: KnockoutObservableBase, ruleObj: KnockoutValidationAnonymousRuleDefinition): void; - - insertValidationMessage(element: Element): Element; - parseInputValidationAttributes(element: Element, valueAccessor: () => KnockoutObservableBase): void; - - rules: KnockoutValidationRuleDefinitions; - - addExtender(ruleName: string): void; - registerExtenders(): void; - utils: KnockoutValidationUtils; - - localize(msgTranslations: any): void; + init(options?: KnockoutValidationConfiguration, force?: boolean): void; + configure(options: KnockoutValidationConfiguration): void; + reset(): void; + + group(obj: any, options?: any): KnockoutValidationErrors; + + formatMessage(message: string, params: string): string; + + addRule(observable: KnockoutObservable, rule: KnockoutValidationRule): KnockoutObservable; + + addAnonymousRule(observable: KnockoutObservableBase, ruleObj: KnockoutValidationAnonymousRuleDefinition): void; + + insertValidationMessage(element: Element): Element; + parseInputValidationAttributes(element: Element, valueAccessor: () => KnockoutObservableBase): void; + + rules: KnockoutValidationRuleDefinitions; + + addExtender(ruleName: string): void; + registerExtenders(): void; + utils: KnockoutValidationUtils; + + localize(msgTranslations: any): void; validateObservable(observable: KnockoutObservableBase): boolean; -} - +} + interface KnockoutStatic { - validation: KnockoutValidationStatic; - validatedObservable(initialValue: any): KnockoutObservableBase; + validation: KnockoutValidationStatic; + validatedObservable(initialValue: any): KnockoutObservableBase; applyBindingsWithValidation(viewModel: any, rootNode?: any, options?: KnockoutValidationConfiguration): void; -} - +} + interface KnockoutSubscribableFunctions { - isValid: KnockoutComputed; - isValidating: KnockoutObservable; - rules: KnockoutObservableArray; -} - + isValid: KnockoutComputed; + isValidating: KnockoutObservable; + rules: KnockoutObservableArray; +} +