mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-01-30 05:27:30 +00:00
60 lines
1.7 KiB
TypeScript
60 lines
1.7 KiB
TypeScript
// Type definitions for RefluxJS 0.4
|
|
// Project: https://github.com/reflux/refluxjs
|
|
// Definitions by: Maurice de Beijer <https://github.com/mauricedb>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
export as namespace Reflux;
|
|
|
|
export interface StoreDefinition {
|
|
listenables?: any[];
|
|
init?: Function;
|
|
getInitialState?: Function;
|
|
[propertyName: string]: any;
|
|
}
|
|
|
|
export interface ListenFn {
|
|
(...params: any[]): any;
|
|
completed: Function;
|
|
failed: Function;
|
|
}
|
|
export interface Listenable {
|
|
listen: ListenFn;
|
|
}
|
|
|
|
export interface Subscription {
|
|
stop: Function;
|
|
listenable: Listenable;
|
|
}
|
|
|
|
export interface Store {
|
|
hasListener(listenable: Listenable): boolean;
|
|
listenToMany(listenables: Listenable[]): void;
|
|
validateListening(listenable: Listenable): string;
|
|
listenTo(listenable: Listenable, callback: Function, defaultCallback?: Function): Subscription;
|
|
stopListeningTo(listenable: Listenable): boolean;
|
|
stopListeningToAll(): void;
|
|
fetchInitialState(listenable: Listenable, defaultCallback: Function): void;
|
|
trigger(state: any): void;
|
|
listen(callback: Function, bindContext: any): Function;
|
|
}
|
|
|
|
export interface ActionsDefinition {
|
|
[index: string]: any;
|
|
}
|
|
|
|
export interface Actions {
|
|
[index: string]: Listenable;
|
|
}
|
|
|
|
export function createStore(definition: StoreDefinition): Store;
|
|
|
|
export function createAction(definition?: ActionsDefinition): any;
|
|
|
|
export function createActions(definitions: ActionsDefinition | string[]): any;
|
|
|
|
export function connect(store: Store, key?: string): void;
|
|
export function listenTo(store: Store, handler: string): void;
|
|
export function setState(state: any): void;
|
|
|
|
export function ListenerMixin(): any;
|