diff --git a/knockout/knockout.d.ts b/knockout/knockout.d.ts index 500f94ff8e..699ad851df 100644 --- a/knockout/knockout.d.ts +++ b/knockout/knockout.d.ts @@ -5,7 +5,7 @@ interface KnockoutSubscribableFunctions { - notifySubscribers(valueToWrite: T, event?: string); + notifySubscribers(valueToWrite: T, event?: string): void; } interface KnockoutComputedFunctions { @@ -27,12 +27,13 @@ interface KnockoutObservableArrayFunctions { unshift(...items: T[]): number; reverse(): T[]; sort(): void; - sort(compareFunction): void; + sort(compareFunction: (left: any, right: any) => number): void; // Ko specific replace(oldItem: T, newItem: T): void; - remove(item): T[]; + remove(item: T): T[]; + remove(removeFunction: (item: T) => boolean): T[]; removeAll(items: T[]): T[]; removeAll(): T[]; @@ -121,9 +122,8 @@ interface KnockoutBindingContext { $index?: number; $parentContext?: KnockoutBindingContext; - extend(any): any; - createChildContext(any): any; - createChildContext(a: any, b: any, c: Function): any; + extend(properties: any): any; + createChildContext(dataItemOrAccessor: any, dataItemAlias: any, extendCallback?: Function): any; } interface KnockoutBindingHandler { @@ -167,23 +167,23 @@ interface KnockoutBindingHandlers { } interface KnockoutMemoization { - memoize(callback); - unmemoize(memoId, callbackParams); - unmemoizeDomNodeAndDescendants(domNode, extraCallbackParamsArray); - parseMemoText(memoText); + memoize(callback: () => string): string; + unmemoize(memoId: string, callbackParams: Array): boolean; + unmemoizeDomNodeAndDescendants(domNode: any, extraCallbackParamsArray: Array): boolean; + parseMemoText(memoText: string): string; } interface KnockoutVirtualElement {} interface KnockoutVirtualElements { allowedBindings: { [bindingName: string]: boolean; }; - emptyNode( e: KnockoutVirtualElement ); - firstChild( e: KnockoutVirtualElement ); - insertAfter( container: KnockoutVirtualElement, nodeToInsert: HTMLElement, insertAfter: HTMLElement ); - nextSibling( e: KnockoutVirtualElement ); - prepend( e: KnockoutVirtualElement, toInsert: HTMLElement ); - setDomNodeChildren( e: KnockoutVirtualElement, newChildren: { length: number;[index: number]: HTMLElement; } ); - childNodes( e: KnockoutVirtualElement ): HTMLElement[]; + emptyNode(node: KnockoutVirtualElement ): void; + firstChild(node: KnockoutVirtualElement ): KnockoutVirtualElement; + insertAfter( container: KnockoutVirtualElement, nodeToInsert: HTMLElement, insertAfter: HTMLElement ): void; + nextSibling(node: KnockoutVirtualElement): HTMLElement; + prepend(node: KnockoutVirtualElement, toInsert: HTMLElement ): void; + setDomNodeChildren(node: KnockoutVirtualElement, newChildren: { length: number;[index: number]: HTMLElement; } ): void; + childNodes(node: KnockoutVirtualElement ): HTMLElement[]; } interface KnockoutExtenders { @@ -197,11 +197,11 @@ interface KnockoutUtils { // utils.domManipulation.js ////////////////////////////////// - simpleHtmlParse(html: string); + simpleHtmlParse(html: string): Array; - jQueryHtmlParse(html: string); + jQueryHtmlParse(html: string): Array; - parseHtmlFragment(html: string); + parseHtmlFragment(html: string): Array; setHtml(node: Element, html: string): void; @@ -212,13 +212,13 @@ interface KnockoutUtils { ////////////////////////////////// domData: { - get (node: Element, key: string); + get (node: Element, key: string): any; - set (node: Element, key: string, value: any); + set (node: Element, key: string, value: any): void; - getAll(node: Element, createIfNotFound: boolean); + getAll(node: Element, createIfNotFound: boolean): any; - clear(node: Element); + clear(node: Element): boolean; }; ////////////////////////////////// @@ -226,13 +226,13 @@ interface KnockoutUtils { ////////////////////////////////// domNodeDisposal: { - addDisposeCallback(node: Element, callback: Function); + addDisposeCallback(node: Element, callback: Function): void; - removeDisposeCallback(node: Element, callback: Function); + removeDisposeCallback(node: Element, callback: Function): void; - cleanNode(node: Element); + cleanNode(node: Element): Element; - removeNode(node: Element); + removeNode(node: Element): void; }; ////////////////////////////////// @@ -261,9 +261,9 @@ interface KnockoutUtils { arrayPushAll(array: KnockoutObservableArray, valuesToPush: T[]): T[]; - extend(target, source); + extend(target: Object, source: Object): Object; - emptyDomNode(domNode): void; + emptyDomNode(domNode: HTMLElement): void; moveCleanedNodesToContainerElement(nodes: any[]): HTMLElement; @@ -336,9 +336,9 @@ interface KnockoutArrayChange { interface KnockoutTemplateSourcesDomElement { - text(valueToWrite?); + text(valueToWrite?: any): any; - data(key, valueToWrite?); + data(key: string, valueToWrite?: any): any; } @@ -360,7 +360,7 @@ interface KnockoutTemplateSources { interface KnockoutNativeTemplateEngine { - renderTemplateSource(templateSource, bindingContext, options?); + renderTemplateSource(templateSource: Object, bindingContext?: KnockoutBindingContext, options?: Object): Array; } ////////////////////////////////// @@ -369,15 +369,15 @@ interface KnockoutNativeTemplateEngine { interface KnockoutTemplateEngine extends KnockoutNativeTemplateEngine { - createJavaScriptEvaluatorBlock(script: string); + createJavaScriptEvaluatorBlock(script: string): string; - makeTemplateSource(template, templateDocument); + makeTemplateSource(template: any, templateDocument?: Document): any; - renderTemplate(template, bindingContext, options, templateDocument); + renderTemplate(template: any, bindingContext: KnockoutBindingContext, options: Object, templateDocument: Document): any; - isTemplateRewritten(template, templateDocument): boolean; + isTemplateRewritten(template: any, templateDocument: Document): boolean; - rewriteTemplate(template, rewriterCallback, templateDocument); + rewriteTemplate(template: any, rewriterCallback: Function, templateDocument: Document): void; } ///////////////////////////////// @@ -406,10 +406,10 @@ interface KnockoutStatic { isWriteableObservable(instance: any): boolean; isComputed(instance: any): boolean; dataFor(node: any): any; - removeNode(node: Element); - cleanNode(node: Element); - renderTemplate(template: Function, viewModel: any, options?: any, target?: any, renderMode?: any); - renderTemplate(template: string, viewModel: any, options?: any, target?: any, renderMode?: any); + removeNode(node: Element): void; + cleanNode(node: Element): Element; + renderTemplate(template: Function, viewModel: any, options?: any, target?: any, renderMode?: any): any; + renderTemplate(template: string, viewModel: any, options?: any, target?: any, renderMode?: any): any; unwrap(value: any): any; ////////////////////////////////// @@ -435,11 +435,12 @@ interface KnockoutStatic { templateRewriting: { - ensureTemplateIsRewritten(template, templateEngine, templateDocument); + ensureTemplateIsRewritten(template: Node, templateEngine: KnockoutTemplateEngine, templateDocument: Document): any; + ensureTemplateIsRewritten(template: string, templateEngine: KnockoutTemplateEngine, templateDocument: Document): any; - memoizeBindingAttributeSyntax(htmlString: string, templateEngine: KnockoutTemplateEngine); + memoizeBindingAttributeSyntax(htmlString: string, templateEngine: KnockoutTemplateEngine): any; - applyMemoizedBindingsToNextSibling(bindings); + applyMemoizedBindingsToNextSibling(bindings: any, nodeName: string): string; }; ////////////////////////////////// @@ -463,22 +464,32 @@ interface KnockoutStatic { prototype: KnockoutTemplateEngine; - renderTemplateSource(templateSource, bindingContext, options); + renderTemplateSource(templateSource: Object, bindingContext: KnockoutBindingContext, options: Object): Node[]; createJavaScriptEvaluatorBlock(script: string): string; - addTemplate(templateName, templateMarkup); + addTemplate(templateName: string, templateMarkup: string): void; }; ////////////////////////////////// // templating.js ////////////////////////////////// - setTemplateEngine(templateEngine: KnockoutNativeTemplateEngine); + setTemplateEngine(templateEngine: KnockoutNativeTemplateEngine): void; - renderTemplate(template, dataOrBindingContext, options, targetNodeOrNodeArray, renderMode); + renderTemplate(template: Function, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; + renderTemplate(template: any, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; + renderTemplate(template: Function, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; + renderTemplate(template: any, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node, renderMode: string): any; + renderTemplate(template: Function, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; + renderTemplate(template: any, dataOrBindingContext: KnockoutBindingContext, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; + renderTemplate(template: Function, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; + renderTemplate(template: any, dataOrBindingContext: any, options: Object, targetNodeOrNodeArray: Node[], renderMode: string): any; - renderTemplateForEach(template, arrayOrObservableArray, options, targetNode, parentBindingContext); + renderTemplateForEach(template: Function, arrayOrObservableArray: Array, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; + renderTemplateForEach(template: any, arrayOrObservableArray: Array, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; + renderTemplateForEach(template: Function, arrayOrObservableArray: KnockoutObservable, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; + renderTemplateForEach(template: any, arrayOrObservableArray: KnockoutObservable, options: Object, targetNode: Node, parentBindingContext: KnockoutBindingContext): any; expressionRewriting: { bindingRewriteValidators: any; @@ -494,9 +505,9 @@ interface KnockoutStatic { selectExtensions: { - readValue(element: any); + readValue(element: HTMLElement): any; - writeValue(element: any, value: any); + writeValue(element: HTMLElement, value: any): void; }; }