2017-10-05 16:51:09 -04:00
|
|
|
/// <reference types="node" />
|
|
|
|
|
|
|
|
|
|
import * as EventEmitter from 'events'
|
|
|
|
|
|
|
|
|
|
export = Choo
|
|
|
|
|
|
|
|
|
|
declare class Choo {
|
2017-10-18 20:44:59 +09:00
|
|
|
constructor (opts?: Choo.IChoo)
|
2018-06-11 16:51:56 +08:00
|
|
|
use (callback: (state: Choo.IState, emitter: EventEmitter, app: this) => void): void
|
2017-10-05 16:51:09 -04:00
|
|
|
route (routeName: string, handler: (state: Choo.IState, emit: (name: string, ...args: any[]) => void) => void): void
|
|
|
|
|
mount (selector: string): void
|
|
|
|
|
start (): HTMLElement
|
|
|
|
|
toString (location: string, state?: Choo.IState): string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
declare namespace Choo {
|
|
|
|
|
export interface IChoo {
|
|
|
|
|
history?: boolean
|
|
|
|
|
href?: boolean
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface IState {
|
|
|
|
|
events: {
|
|
|
|
|
[key: string]: string
|
|
|
|
|
}
|
|
|
|
|
params: {
|
|
|
|
|
[key: string]: string
|
|
|
|
|
}
|
|
|
|
|
query?: {
|
|
|
|
|
[key: string]: string
|
|
|
|
|
}
|
|
|
|
|
href: string
|
|
|
|
|
route: string
|
|
|
|
|
title: string
|
|
|
|
|
[key: string]: any
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|