@motorcycle/router
Version:
Standard Router Driver for Motorcycle.js
20 lines (19 loc) • 973 B
TypeScript
import { RouterSource } from './RouterSource';
import { Stream } from 'most';
import { Component } from '@motorcycle/run';
import { RouterInput } from './types';
export interface RouterDefinitions<Sources, Sinks> {
[key: string]: Component<Sources, Sinks & {
router: RouterInput;
}> | RouterDefinitions<Sources, Sinks>;
}
export declare type RouterComponentSources<Sources> = Sources & {
router: RouterSource;
};
export interface RouterHOC {
(definitions: RouterDefinitions<any, any>, sources: RouterComponentSources<any>): Stream<any>;
<Sources, Sinks>(definitions: RouterDefinitions<Sources, Sinks>, sources: RouterComponentSources<Sources>): Stream<Sinks>;
(definitions: RouterDefinitions<any, any>): (sources: RouterComponentSources<any>) => Stream<any>;
<Sources, Sinks>(definitions: RouterDefinitions<Sources, Sinks>): (sources: RouterComponentSources<Sources>) => Stream<Sinks>;
}
export declare const RouterComponent: RouterHOC;