diff --git a/type-definitions/most.d.ts b/type-definitions/most.d.ts index 06b159e2..0508360a 100644 --- a/type-definitions/most.d.ts +++ b/type-definitions/most.d.ts @@ -1,12 +1,13 @@ -declare type SeedValue = { seed: S, value: V }; -declare type TimeValue = { time: number, value: V }; +declare type SeedValue = { seed: S, value: V }; +declare type UnfoldValue = SeedValue | { done: true, value?: V } +declare type TimeValue = { time: number, value: V }; declare interface Generator {} declare interface Iterable { [Symbol.iterator](): IterableIterator } declare type CreateGenerator = (...args: Array) => Generator, any, any>; -export interface Sink { +export interface Sink { event(time: number, value: A): void; // end value parameter is deprecated end(time: number, value?: A): void; @@ -228,7 +229,7 @@ export function periodic(period: number, a?: A): Stream; export function fromEvent(event: string, target: any, useCapture?: boolean): Stream; export function fromEvent(event: string, target: any): Stream; -export function unfold(f: (seed: S) => SeedValue>, seed: S): Stream; +export function unfold(f: (seed: S) => UnfoldValue | Promise>, seed: S): Stream; export function iterate(f: (a: A) => A|Promise, a: A): Stream; export function generate(g: CreateGenerator, ...args: Array): Stream;