diff --git a/knockout.mapping/knockout.mapping.d.ts b/knockout.mapping/knockout.mapping.d.ts index fcb8680170..b5ea75f8a3 100644 --- a/knockout.mapping/knockout.mapping.d.ts +++ b/knockout.mapping/knockout.mapping.d.ts @@ -5,64 +5,66 @@ /// -interface KnockoutMappingCreateOptions { - data: any; - parent: any; +export as namespace mapping; + +declare var self: KnockoutMapping; +export = self; + +declare global { + interface KnockoutMappingCreateOptions { + data: any; + parent: any; + } + + interface KnockoutMappingUpdateOptions { + data: any; + parent: any; + target: any; + observable?: KnockoutObservable; + } + + interface KnockoutMappingOptions { + ignore?: string[]; + include?: string[]; + copy?: string[]; + mappedProperties?: string[]; + deferEvaluation?: boolean; + create?: (options: KnockoutMappingCreateOptions) => void; + update?: (options: KnockoutMappingUpdateOptions) => void; + key?: (data: any) => any; + } + + interface KnockoutMapping { + isMapped(viewModel: any): boolean; + fromJS(jsObject: any): any; + fromJS(jsObject: any, targetOrOptions: any): any; + fromJS(jsObject: any, inputOptions: any, target: any): any; + fromJSON(jsonString: string): any; + fromJSON(jsonString: string, targetOrOptions: any): any; + fromJSON(jsonString: string, inputOptions: any, target: any): any; + toJS(rootObject: any, options?: KnockoutMappingOptions): any; + toJSON(rootObject: any, options?: KnockoutMappingOptions): any; + defaultOptions(): KnockoutMappingOptions; + resetDefaultOptions(): void; + getType(x: any): any; + visitModel(rootObject: any, callback: Function, options?: { visitedObjects?: any; parentName?: string; ignore?: string[]; copy?: string[]; include?: string[]; }): any; + } + + interface KnockoutObservableArrayFunctions { + mappedCreate(item: T): T; + + mappedRemove(item: T): T[]; + mappedRemove(removeFunction: (item: T) => boolean): T[]; + mappedRemoveAll(items: T[]): T[]; + mappedRemoveAll(): T[]; + + mappedDestroy(item: T): void; + mappedDestroy(destroyFunction: (item: T) => boolean): void; + mappedDestroyAll(items: T[]): void; + mappedDestroyAll(): void; + } + + interface KnockoutStatic { + mapping: KnockoutMapping; + } } - -interface KnockoutMappingUpdateOptions { - data: any; - parent: any; - target: any; - observable?: KnockoutObservable; -} - -interface KnockoutMappingOptions { - ignore?: string[]; - include?: string[]; - copy?: string[]; - mappedProperties?: string[]; - deferEvaluation?: boolean; - create?: (options: KnockoutMappingCreateOptions) => void; - update?: (options: KnockoutMappingUpdateOptions) => void; - key?: (data: any) => any; -} - -interface KnockoutMapping { - isMapped(viewModel: any): boolean; - fromJS(jsObject: any): any; - fromJS(jsObject: any, targetOrOptions: any): any; - fromJS(jsObject: any, inputOptions: any, target: any): any; - fromJSON(jsonString: string): any; - fromJSON(jsonString: string, targetOrOptions: any): any; - fromJSON(jsonString: string, inputOptions: any, target: any): any; - toJS(rootObject: any, options?: KnockoutMappingOptions): any; - toJSON(rootObject: any, options?: KnockoutMappingOptions): any; - defaultOptions(): KnockoutMappingOptions; - resetDefaultOptions(): void; - getType(x: any): any; - visitModel(rootObject: any, callback: Function, options?: { visitedObjects?: any; parentName?: string; ignore?: string[]; copy?: string[]; include?: string[]; }): any; -} - -interface KnockoutObservableArrayFunctions { - mappedCreate(item: T): T; - - mappedRemove(item: T): T[]; - mappedRemove(removeFunction: (item: T) => boolean): T[]; - mappedRemoveAll(items: T[]): T[]; - mappedRemoveAll(): T[]; - - mappedDestroy(item: T): void; - mappedDestroy(destroyFunction: (item: T) => boolean): void; - mappedDestroyAll(items: T[]): void; - mappedDestroyAll(): void; -} - -interface KnockoutStatic { - mapping: KnockoutMapping; -} - -declare module "knockout.mapping" { - export = mapping; -} -declare var mapping: KnockoutMapping;