diff --git a/knockout/knockout.amd.d.ts b/knockout/knockout.amd.d.ts index 8df7033e30..093478ab4f 100644 --- a/knockout/knockout.amd.d.ts +++ b/knockout/knockout.amd.d.ts @@ -2,301 +2,9 @@ // Project: http://knockoutjs.com // Definitions by: Boris Yankov // Definitions: https://github.com/borisyankov/DefinitelyTyped +/// declare module 'knockout' { - - export interface KnockoutSubscribableFunctions { - extend(source); - dispose(): void; - peek(): any; - valueHasMutated(): void; - valueWillMutate(): void; - } - export interface KnockoutComputedFunctions extends KnockoutSubscribableFunctions { - getDependenciesCount(): number; - hasWriteFunction(): bool; - } - export interface KnockoutObservableFunctions extends KnockoutSubscribableFunctions { - } - export interface KnockoutObservableArrayFunctions extends KnockoutObservableFunctions { - // General Array functions - indexOf(searchElement, fromIndex?: number): number; - slice(start: number, end?: number): any[]; - splice(start: number): any[]; - splice(start: number, deleteCount: number, ...items: any[]): any[]; - pop(); - push(...items: any[]): void; - shift(); - unshift(...items: any[]): number; - reverse(): any[]; - sort(): void; - sort(compareFunction): void; - // Ko specific - replace(oldItem: any, newItem: any): void; - remove(item): any[]; - removeAll(items: any[]): any[]; - removeAll(): any[]; - destroy(item): void; - destroyAll(items: any[]): void; - destroyAll(): void; - } - export interface KnockoutSubscribableStatic { - fn: KnockoutSubscribableFunctions; - new (): KnockoutSubscription; - } - export interface KnockoutSubscription extends KnockoutSubscribableFunctions { - subscribe(callback: (newValue: any) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite, topic?: string); - } - export interface KnockoutComputedStatic { - fn: KnockoutComputedFunctions; - (): KnockoutComputed; - (func: Function, context?: any, options?: any): KnockoutComputed; - (def: KnockoutComputedDefine): KnockoutComputed; - (options?: any): KnockoutComputed; - } - export interface KnockoutComputed extends KnockoutObservableAny, KnockoutComputedFunctions { - (): any; - (value): void; - } - export interface KnockoutObservableArrayStatic { - fn: KnockoutObservableArrayFunctions; - (): KnockoutObservableArray; - (value: any[]): KnockoutObservableArray; - new (): KnockoutObservableArray; - new (value: any[]): KnockoutObservableArray; - } - export interface KnockoutObservableArray extends KnockoutObservableArrayFunctions { - (): any[]; - (value: any[]): void; - subscribe(callback: (newValue: any[]) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite: any[], topic?: string); - } - export interface KnockoutObservableStatic { - fn: KnockoutObservableFunctions; - (value: string): KnockoutObservableString; - (value: Date): KnockoutObservableDate; - (value: number): KnockoutObservableNumber; - (value: bool): KnockoutObservableBool; - (value?: any): KnockoutObservableAny; - new (value: string): KnockoutObservableString; - new (value: Date): KnockoutObservableDate; - new (value: number): KnockoutObservableNumber; - new (value: bool): KnockoutObservableBool; - new (value?: any): KnockoutObservableAny; - } - /** use as method to get/set the value */ - export interface KnockoutObservableBase extends KnockoutObservableFunctions { - getSubscriptionsCount(): number; - } - /** use as method to get/set the value - can cast to a more appropriate (typed) interface such as KnockoutObservableString or KnockoutObservableNumber - */ - export interface KnockoutObservableAny extends KnockoutObservableBase { - (): any; - (value): void; - subscribe(callback: (newValue: any) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite, topic?: string); - } - export interface KnockoutObservableString extends KnockoutObservableBase { - (): string; - (value: string): void; - subscribe(callback: (newValue: string) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite: string, topic?: string); - } - export interface KnockoutObservableObject extends KnockoutObservableBase { - (): {}; - (value: {}): void; - subscribe(callback: (newValue: {}) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite: {}, topic?: string); - } - export interface KnockoutObservableNumber extends KnockoutObservableBase { - (): number; - (value: number): void; - subscribe(callback: (newValue: number) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite: number, topic?: string); - } - export interface KnockoutObservableBool extends KnockoutObservableBase { - (): bool; - (value: bool): void; - subscribe(callback: (newValue: bool) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite: bool, topic?: string); - } - export interface KnockoutObservableDate extends KnockoutObservableBase { - (): Date; - (value: Date): void; - subscribe(callback: (newValue: Date) => void , target?: any, topic?: string): KnockoutSubscription; - notifySubscribers(valueToWrite: Date, topic?: string); - } - export interface KnockoutComputedDefine { - read(): any; - write(any); - } - export interface KnockoutBindingContext { - $parent: any; - $parents: any[]; - $root: any; - $data: any; - $index?: number; - $parentContext?: KnockoutBindingContext; - extend(any): any; - createChildContext(any): any; - } - export interface KnockoutBindingHandler { - init? (element: any, valueAccessor: () => any, allBindingsAccessor: () => any, viewModel: any, bindingContext: KnockoutBindingContext): void; - update? (element: any, valueAccessor: () => any, allBindingsAccessor: () => any, viewModel: any, bindingContext: KnockoutBindingContext): void; - options?: any; - } - export interface KnockoutBindingHandlers { - // Controlling text and appearance - visible: KnockoutBindingHandler; - text: KnockoutBindingHandler; - html: KnockoutBindingHandler; - css: KnockoutBindingHandler; - style: KnockoutBindingHandler; - attr: KnockoutBindingHandler; - // Control Flow - foreach: KnockoutBindingHandler; - if: KnockoutBindingHandler; - ifnot: KnockoutBindingHandler; - with: KnockoutBindingHandler; - // Working with form fields - click: KnockoutBindingHandler; - event: KnockoutBindingHandler; - submit: KnockoutBindingHandler; - enable: KnockoutBindingHandler; - disable: KnockoutBindingHandler; - value: KnockoutBindingHandler; - hasfocus: KnockoutBindingHandler; - checked: KnockoutBindingHandler; - options: KnockoutBindingHandler; - selectedOptions: KnockoutBindingHandler; - uniqueName: KnockoutBindingHandler; - // Rendering templates - template: KnockoutBindingHandler; - } - export interface KnockoutMemoization { - memoize(callback); - unmemoize(memoId, callbackParams); - unmemoizeDomNodeAndDescendants(domNode, extraCallbackParamsArray); - parseMemoText(memoText); - } - export interface KnockoutVirtualElement {} - export interface KnockoutVirtualElements { - allowedBindings: { [bindingName: string]: bool; }; - 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; }); - } - export interface KnockoutExtenders { - throttle(target: any, timeout: number): KnockoutComputed; - notify(target: any, notifyWhen: string): any; - } - export interface KnockoutUtils { - ////////////////////////////////// - // utils.domManipulation.js - ////////////////////////////////// - simpleHtmlParse(html: string); - jQueryHtmlParse(html: string); - parseHtmlFragment(html: string); - setHtml(node: Element, html: string): void; - setHtml(node: Element, html: () => string): void; - ////////////////////////////////// - // utils.domData.js - ////////////////////////////////// - domData: { - get(node: Element, key: string); - set(node: Element, key: string, value: any); - getAll(node: Element, createIfNotFound: bool); - clear(node: Element); - }; - ////////////////////////////////// - // utils.domNodeDisposal.js - ////////////////////////////////// - domNodeDisposal: { - addDisposeCallback(node: Element, callback: Function); - removeDisposeCallback(node: Element, callback: Function); - cleanNode(node: Element); - removeNode(node: Element); - }; - ////////////////////////////////// - // utils.js - ////////////////////////////////// - fieldsIncludedWithJsonPost: any[]; - arrayForEach(array: any[], action: (any) => void ): void; - arrayIndexOf(array: any[], item: any): number; - arrayFirst(array: any[], predicate: (item) => bool, predicateOwner?: any): any; - arrayRemoveItem(array: any[], itemToRemove: any): void; - arrayGetDistinctValues(array: any[]): any[]; - arrayMap(array: any[], mapping: (item) => any): any[]; - arrayFilter(array: any[], predicate: (item) => bool): any[]; - arrayPushAll(array: any[], valuesToPush: any[]): any[]; - extend(target, source); - emptyDomNode(domNode): void; - moveCleanedNodesToContainerElement(nodes: any[]): HTMLElement; - cloneNodes(nodesArray: any[], shouldCleanNodes: bool): any[]; - setDomNodeChildren(domNode: any, childNodes: any[]): void; - replaceDomNodes(nodeToReplaceOrNodeArray: any, newNodesArray: any[]): void; - setOptionNodeSelectionState(optionNode: any, isSelected: bool): void; - stringTrim(str: string): string; - stringTokenize(str: string, delimiter: string): string; - stringStartsWith(str: string, startsWith: string): string; - domNodeIsContainedBy(node: any, containedByNode: any): bool; - domNodeIsAttachedToDocument(node: any): bool; - tagNameLower(element: any): string; - registerEventHandler(element: any, eventType: any, handler: Function): void; - triggerEvent(element: any, eventType: any): void; - unwrapObservable(value: any): any; - toggleDomNodeCssClass(node: any, className: string, shouldHaveClass: bool): void; - //setTextContent(element: any, textContent: string): void; // NOT PART OF THE MINIFIED API SURFACE (ONLY IN knockout-{version}.debug.js) https://github.com/SteveSanderson/knockout/issues/670 - setElementName(element: any, name: string): void; - ensureSelectElementIsRenderedCorrectly(selectElement); - forceRefresh(node: any): void; - ensureSelectElementIsRenderedCorrectly(selectElement: any): void; - range(min: any, max: any): any; - makeArray(arrayLikeObject: any): any[]; - getFormFields(form: any, fieldName: string): any[]; - parseJson(jsonString: string): any; - stringifyJson(data: any, replacer: Function, space: string): string; - postJson(urlOrForm: any, data: any, options: any): void; - ieVersion: number; - isIe6: bool; - isIe7: bool; - } - ////////////////////////////////// - // templateSources.js - ////////////////////////////////// - export interface KnockoutTemplateSourcesDomElement { - text(valueToWrite?); - data(key, valueToWrite?); - } - export interface KnockoutTemplateSources { - domElement: KnockoutTemplateSourcesDomElement; - anonymousTemplate: { - prototype: KnockoutTemplateSourcesDomElement; - new (element: Element): KnockoutTemplateSourcesDomElement; - }; - } - ////////////////////////////////// - // nativeTemplateEngine.js - ////////////////////////////////// - interface KnockoutNativeTemplateEngine { - renderTemplateSource(templateSource, bindingContext, options?); - } - ////////////////////////////////// - // templateEngine.js - ////////////////////////////////// - export interface KnockoutTemplateEngine extends KnockoutNativeTemplateEngine { - createJavaScriptEvaluatorBlock(script: string); - makeTemplateSource(template, templateDocument); - renderTemplate(template, bindingContext, options, templateDocument); - isTemplateRewritten(template, templateDocument): bool; - rewriteTemplate(template, rewriterCallback, templateDocument); - } - export var utils: KnockoutUtils; export var memoization: KnockoutMemoization; export var bindingHandlers: KnockoutBindingHandlers;