mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 19:07:08 +00:00
Update Mithril definitions
This commit is contained in:
parent
58641fd48c
commit
fc18b2dfd4
250
mithril/mithril.d.ts
vendored
250
mithril/mithril.d.ts
vendored
@ -5,90 +5,174 @@
|
||||
|
||||
//Mithril type definitions for Typescript
|
||||
|
||||
interface MithrilStatic {
|
||||
(selector: string, attributes: Object, children?: any): MithrilVirtualElement;
|
||||
(selector: string, children?: any): MithrilVirtualElement;
|
||||
prop<T>(value?: T): (value?: T) => T;
|
||||
prop<T>(promise: MithrilPromise<T>): MithrilPromiseProperty<T>;
|
||||
withAttr(property: string, callback: (value: any) => void): (e: Event) => any;
|
||||
module(rootElement: Node, module: MithrilModule): void;
|
||||
trust(html: string): String;
|
||||
render(rootElement: Element, children?: any): void;
|
||||
render(rootElement: HTMLDocument, children?: any): void;
|
||||
redraw: MithrilRedraw;
|
||||
route: MithrilRoute;
|
||||
request(options: MithrilXHROptions): MithrilPromise<any>;
|
||||
deferred<T>(): MithrilDeferred<T>;
|
||||
sync<T>(promises: MithrilPromise<T>[]): MithrilPromise<T>;
|
||||
startComputation(): void;
|
||||
endComputation(): void;
|
||||
declare module _mithril {
|
||||
interface MithrilStatic {
|
||||
|
||||
<T extends MithrilController>(selector: string, attributes: MithrilAttributes, ...children: Array<string|MithrilVirtualElement|MithrilComponent<T>>): MithrilVirtualElement;
|
||||
<T extends MithrilController>(selector: string, ...children: Array<string|MithrilVirtualElement|MithrilComponent<T>>): MithrilVirtualElement;
|
||||
|
||||
prop<T>(promise: MithrilPromise<T>) : MithrilPromiseProperty<T>;
|
||||
prop<T>(value: T): MithrilProperty<T>;
|
||||
prop(): MithrilProperty<Object>; // might be that this should be Property<any>
|
||||
|
||||
withAttr(property: string, callback: (value: any) => void): (e: MithrilEvent) => any;
|
||||
|
||||
module<T extends MithrilController>(rootElement: Node, component: MithrilComponent<T>): T;
|
||||
module<T extends MithrilController>(rootElement: Node): T;
|
||||
mount<T extends MithrilController>(rootElement: Node, component: MithrilComponent<T>): T;
|
||||
mount<T extends MithrilController>(rootElement: Node): T;
|
||||
|
||||
component<T extends MithrilController>(component: MithrilComponent<T>, ...args: Array<any>): MithrilComponent<T>
|
||||
|
||||
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;
|
||||
|
||||
redraw: {
|
||||
(force?: boolean): void;
|
||||
strategy: MithrilProperty<string>;
|
||||
}
|
||||
|
||||
route: {
|
||||
<T extends MithrilController>(rootElement: HTMLDocument, defaultRoute: string, routes: MithrilRoutes<T>): void;
|
||||
<T extends MithrilController>(rootElement: Element, defaultRoute: string, routes: MithrilRoutes<T>): void;
|
||||
|
||||
(element: Element, isInitialized: boolean, context: Object, vdom: Object): void;
|
||||
(path: string, params?: any, shouldReplaceHistory?: boolean): void;
|
||||
(): string;
|
||||
|
||||
param(key: string): string;
|
||||
mode: string;
|
||||
buildQueryString(data: Object): String
|
||||
parseQueryString(data: String): Object
|
||||
}
|
||||
|
||||
request<T>(options: MithrilXHROptions): MithrilPromise<T>;
|
||||
|
||||
deferred: {
|
||||
onerror(e: Error): void;
|
||||
<T>(): MithrilDeferred<T>;
|
||||
}
|
||||
|
||||
sync<T>(promises: MithrilPromise<T>[]): MithrilPromise<T[]>;
|
||||
|
||||
startComputation(): void;
|
||||
endComputation(): void;
|
||||
|
||||
// For test suite
|
||||
deps: {
|
||||
(mockWindow: Window): Window;
|
||||
factory: Object;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export interface MithrilVirtualElement {
|
||||
key?: number;
|
||||
tag?: string;
|
||||
attrs?: MithrilAttributes;
|
||||
children?: any[];
|
||||
}
|
||||
|
||||
// Configuration function for an element
|
||||
interface MithrilElementConfig {
|
||||
(element: Element, isInitialized: boolean, context?: any, vdom?: MithrilVirtualElement): 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<T extends MithrilController> {
|
||||
(ctrl: T): string|MithrilVirtualElement;
|
||||
}
|
||||
|
||||
interface MithrilComponent<T extends MithrilController> {
|
||||
controller: MithrilControllerFunction|{ new(): T };
|
||||
view: MithrilView<T>;
|
||||
}
|
||||
|
||||
interface MithrilProperty<T> {
|
||||
(): T;
|
||||
(value: T): T;
|
||||
toJSON(): T;
|
||||
}
|
||||
|
||||
interface MithrilPromiseProperty<T> extends MithrilPromise<T> {
|
||||
(): T;
|
||||
(value: T): T;
|
||||
toJSON(): T;
|
||||
}
|
||||
|
||||
interface MithrilRoutes<T extends MithrilController> {
|
||||
[key: string]: MithrilComponent<T>;
|
||||
}
|
||||
|
||||
|
||||
interface MithrilDeferred<T> {
|
||||
resolve(value?: T): void;
|
||||
reject(value?: any): void;
|
||||
promise: MithrilPromise<T>;
|
||||
}
|
||||
|
||||
interface MithrilSuccessCallback<T, U> {
|
||||
(value: T): U;
|
||||
(value: T): MithrilPromise<U>;
|
||||
}
|
||||
|
||||
interface MithrilErrorCallback<U> {
|
||||
(value: Error): U;
|
||||
(value: string): U;
|
||||
}
|
||||
|
||||
interface MithrilPromise<T> {
|
||||
(): T;
|
||||
(value: T): T;
|
||||
then<U>(success: (value: T) => U): MithrilPromise<U>;
|
||||
then<U>(success: (value: T) => MithrilPromise<U>): MithrilPromise<U>;
|
||||
then<U,V>(success: (value: T) => U, error: (value: Error) => V): MithrilPromise<U>|MithrilPromise<V>;
|
||||
then<U,V>(success: (value: T) => MithrilPromise<U>, error: (value: Error) => V): MithrilPromise<U>|MithrilPromise<V>;
|
||||
}
|
||||
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 MithrilRoute {
|
||||
(rootElement: Element, defaultRoute: string, routes: { [key: string]: MithrilModule }): void;
|
||||
(rootElement: HTMLDocument, defaultRoute: string, routes: { [key: string]: MithrilModule }): void;
|
||||
(path: string, params?: any, shouldReplaceHistory?: boolean): void;
|
||||
(element: Element, isInitialized: boolean): void;
|
||||
(): string;
|
||||
mode: string;
|
||||
param: MithrilParam;
|
||||
buildQueryString(data: Object): string;
|
||||
parseQueryString(queryString: string): Object;
|
||||
}
|
||||
declare var Mithril: _mithril.MithrilStatic;
|
||||
declare var m: _mithril.MithrilStatic;
|
||||
|
||||
interface MithrilParam {
|
||||
(param: string): string;
|
||||
declare module "mithril" {
|
||||
export = m;
|
||||
}
|
||||
|
||||
interface MithrilRedraw {
|
||||
(): void;
|
||||
strategy: (value?: string) => string;
|
||||
}
|
||||
|
||||
interface MithrilVirtualElement {
|
||||
tag: string;
|
||||
attrs: Object;
|
||||
children: any;
|
||||
}
|
||||
|
||||
interface MithrilModule {
|
||||
controller: Function;
|
||||
view: (controller?: any) => MithrilVirtualElement;
|
||||
}
|
||||
|
||||
interface MithrilDeferred<T> {
|
||||
resolve(value?: T): void;
|
||||
reject(value?: any): void;
|
||||
promise: MithrilPromise<T>;
|
||||
}
|
||||
|
||||
interface MithrilPromise<T> {
|
||||
(value?: T): T;
|
||||
then<R>(successCallback?: (value: T) => R, errorCallback?: (value: any) => any): MithrilPromise<R>;
|
||||
then<R>(successCallback?: (value: T) => MithrilPromise<R>, errorCallback?: (value: any) => any): MithrilPromise<R>;
|
||||
}
|
||||
|
||||
interface MithrilPromiseProperty<T> extends MithrilPromise<T> {
|
||||
(): T;
|
||||
(value: T): T;
|
||||
toJSON(): T;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
declare var Mithril: MithrilStatic;
|
||||
declare var m: MithrilStatic;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user