From 577d0f70396f15caa76c18038b7845597bd94821 Mon Sep 17 00:00:00 2001 From: Leo Horie Date: Tue, 24 Mar 2015 20:45:43 -0400 Subject: [PATCH] #506 allow AMD modules to load from typescript --- mithril.d.ts | 287 ++++++++++++++++++++++++++------------------------- 1 file changed, 144 insertions(+), 143 deletions(-) diff --git a/mithril.d.ts b/mithril.d.ts index 06264c71..0c489880 100644 --- a/mithril.d.ts +++ b/mithril.d.ts @@ -1,165 +1,166 @@ //Mithril type definitions for Typescript +declare module _mithril { + interface MithrilStatic { -interface MithrilStatic { + (selector: string, attributes: MithrilAttributes, ...children: Array): MithrilVirtualElement; + (selector: string, ...children: Array): MithrilVirtualElement; - (selector: string, attributes: MithrilAttributes, ...children: Array): MithrilVirtualElement; - (selector: string, ...children: Array): MithrilVirtualElement; + prop(promise: MithrilPromise) : MithrilPromiseProperty; + prop(value: T): MithrilProperty; + prop(): MithrilProperty; // might be that this should be Property - prop(promise: MithrilPromise) : MithrilPromiseProperty; - prop(value: T): MithrilProperty; - prop(): MithrilProperty; // might be that this should be Property + withAttr(property: string, callback: (value: any) => void): (e: MithrilEvent) => any; - withAttr(property: string, callback: (value: any) => void): (e: MithrilEvent) => any; + module(rootElement: Node, module: MithrilModule): T; + module(rootElement: Node): T; - module(rootElement: Node, module: MithrilModule): T; - module(rootElement: Node): T; + trust(html: string): string; - trust(html: string): string; + render(rootElement: Element|HTMLDocument): void; + render(rootElement: Element|HTMLDocument, children: MithrilVirtualElement, forceRecreation?: boolean): void; + render(rootElement: Element|HTMLDocument, children: MithrilVirtualElement[], forceRecreation?: boolean): void; - render(rootElement: Element|HTMLDocument): void; - render(rootElement: Element|HTMLDocument, children: MithrilVirtualElement, forceRecreation?: boolean): void; - render(rootElement: Element|HTMLDocument, children: MithrilVirtualElement[], forceRecreation?: boolean): void; + redraw: { + (force?: boolean): void; + strategy: MithrilProperty; + } - redraw: { - (force?: boolean): void; - strategy: MithrilProperty; - } + route: { + (rootElement: HTMLDocument, defaultRoute: string, routes: MithrilRoutes): void; + (rootElement: Element, defaultRoute: string, routes: MithrilRoutes): void; - route: { - (rootElement: HTMLDocument, defaultRoute: string, routes: MithrilRoutes): void; - (rootElement: Element, defaultRoute: string, routes: MithrilRoutes): void; + (element: Element, isInitialized: boolean): void; + (path: string, params?: any, shouldReplaceHistory?: boolean): void; + (): string; - (element: Element, isInitialized: boolean): void; - (path: string, params?: any, shouldReplaceHistory?: boolean): void; - (): string; + param(key: string): string; + mode: string; + } - param(key: string): string; - mode: string; - } + request(options: MithrilXHROptions): MithrilPromise; - request(options: MithrilXHROptions): MithrilPromise; + deferred: { + onerror(e: Error): void; + (): MithrilDeferred; + } - deferred: { - onerror(e: Error): void; - (): MithrilDeferred; - } + sync(promises: MithrilPromise[]): MithrilPromise; - sync(promises: MithrilPromise[]): MithrilPromise; + startComputation(): void; + endComputation(): void; - startComputation(): void; - endComputation(): void; + // For test suite + deps: { + (mockWindow: Window): Window; + factory: Object; + } - // For test suite - deps: { - (mockWindow: Window): Window; - factory: Object; - } + } + interface MithrilVirtualElement { + key?: number; + tag?: string; + attrs?: MithrilAttributes; + children?: any[]; + } + + // Configuration function for an element + interface MithrilElementConfig { + (element: Element, isInitialized: boolean, context?: any): void; + } + + // Attributes on a virtual element + interface MithrilAttributes { + title?: string; + className?: string; + class?: string; + config?: MithrilElementConfig; + } + + // Defines the subset of Event that Mithril needs + interface MithrilEvent { + currentTarget: Element; + } + + interface MithrilController { + onunload?(evt: Event): any; + } + + interface MithrilControllerFunction extends MithrilController { + (): any; + } + + interface MithrilView { + (ctrl: T): string|MithrilVirtualElement; + } + + interface MithrilModule { + controller: MithrilControllerFunction|{ new(): T }; + view: MithrilView; + } + + interface MithrilProperty { + (): T; + (value: T): T; + toJSON(): T; + } + + interface MithrilPromiseProperty extends MithrilPromise { + (): T; + (value: T): T; + toJSON(): T; + } + + interface MithrilRoutes { + [key: string]: MithrilModule; + } + + + interface MithrilDeferred { + resolve(value?: T): void; + reject(value?: any): void; + promise: MithrilPromise; + } + + interface MithrilSuccessCallback { + (value: T): U; + (value: T): MithrilPromise; + } + + interface MithrilErrorCallback { + (value: Error): U; + (value: string): U; + } + + interface MithrilPromise { + (): T; + (value: T): T; + then(success: (value: T) => U): MithrilPromise; + then(success: (value: T) => MithrilPromise): MithrilPromise; + then(success: (value: T) => U, error: (value: Error) => V): MithrilPromise|MithrilPromise; + then(success: (value: T) => MithrilPromise, error: (value: Error) => V): MithrilPromise|MithrilPromise; + } + interface MithrilXHROptions { + method?: string; + url: string; + user?: string; + password?: string; + data?: any; + background?: boolean; + unwrapSuccess?(data: any): any; + unwrapError?(data: any): any; + serialize?(dataToSerialize: any): string; + deserialize?(dataToDeserialize: string): any; + extract?(xhr: XMLHttpRequest, options: MithrilXHROptions): string; + type?(data: Object): void; + config?(xhr: XMLHttpRequest, options: MithrilXHROptions): XMLHttpRequest; + dataType?: string; + } } -interface MithrilVirtualElement { - key?: number; - tag?: string; - attrs?: MithrilAttributes; - children?: any[]; -} +declare var Mithril: _mithril.MithrilStatic; +declare var m: _mithril.MithrilStatic; -// Configuration function for an element -interface MithrilElementConfig { - (element: Element, isInitialized: boolean, context?: any): void; -} - -// Attributes on a virtual element -interface MithrilAttributes { - title?: string; - className?: string; - class?: string; - config?: MithrilElementConfig; -} - -// Defines the subset of Event that Mithril needs -interface MithrilEvent { - currentTarget: Element; -} - -interface MithrilController { - onunload?(evt: Event): any; -} - -interface MithrilControllerFunction extends MithrilController { - (): any; -} - -interface MithrilView { - (ctrl: T): string|MithrilVirtualElement; -} - -interface MithrilModule { - controller: MithrilControllerFunction|{ new(): T }; - view: MithrilView; -} - -interface MithrilProperty { - (): T; - (value: T): T; - toJSON(): T; -} - -interface MithrilPromiseProperty extends MithrilPromise { - (): T; - (value: T): T; - toJSON(): T; -} - -interface MithrilRoutes { - [key: string]: MithrilModule; -} - - -interface MithrilDeferred { - resolve(value?: T): void; - reject(value?: any): void; - promise: MithrilPromise; -} - -interface MithrilSuccessCallback { - (value: T): U; - (value: T): MithrilPromise; -} - -interface MithrilErrorCallback { - (value: Error): U; - (value: string): U; -} - -interface MithrilPromise { - (): T; - (value: T): T; - then(success: (value: T) => U): MithrilPromise; - then(success: (value: T) => MithrilPromise): MithrilPromise; - then(success: (value: T) => U, error: (value: Error) => V): MithrilPromise|MithrilPromise; - then(success: (value: T) => MithrilPromise, error: (value: Error) => V): MithrilPromise|MithrilPromise; -} -interface MithrilXHROptions { - method?: string; - url: string; - user?: string; - password?: string; - data?: any; - background?: boolean; - unwrapSuccess?(data: any): any; - unwrapError?(data: any): any; - serialize?(dataToSerialize: any): string; - deserialize?(dataToDeserialize: string): any; - extract?(xhr: XMLHttpRequest, options: MithrilXHROptions): string; - type?(data: Object): void; - config?(xhr: XMLHttpRequest, options: MithrilXHROptions): XMLHttpRequest; - dataType?: string; -} - -declare var Mithril: MithrilStatic; -declare var m: MithrilStatic; - -declare module 'mithril' { +declare module "mithril" { export = m; -} +} \ No newline at end of file