UNPKG

md-curcuma

Version:

A Typescript library for transporting and converting markdown and other data.

29 lines (28 loc) 1.25 kB
interface EventMap { readable: (data: string) => void; error: (error: Error) => void; } type EventCallback<T extends keyof EventMap> = EventMap[T]; interface IObserver { on<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; off<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; once<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; emit<T extends keyof EventMap>(event: T, ...args: Parameters<EventCallback<T>>): void; } declare class EventObserver implements IObserver { private events; constructor(); on<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; once<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; off<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; emit<T extends keyof EventMap>(event: T, ...args: Parameters<EventCallback<T>>): void; } declare class Parser { private observer; constructor(); on<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; once<T extends keyof EventMap>(event: T, callback: EventCallback<T>): void; parse(data: string): void; triggerError(error: Error): void; } declare const parser: Parser;