Change CalcFun type to support lambdas (#27)

This commit is contained in:
Jack Williams 2019-07-04 13:43:04 +01:00 коммит произвёл GitHub
Родитель e95620b343
Коммит 67b0ed8684
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -8,11 +8,11 @@ export interface CalcObj<O> {
request(origin: O, property: string, ...args: any[]): CalcValue<O> | Pending<CalcValue<O>>;
}
export interface CalcFun {
<O>(trace: Trace, origin: O, args: CalcValue<O>[]): Delayed<CalcValue<O>>;
export interface CalcFun<O = unknown> {
<T extends O>(trace: Trace, origin: T, args: CalcValue<T>[]): Delayed<CalcValue<T>>;
}
export type CalcValue<O> = Primitive | CalcObj<O> | CalcFun;
export type CalcValue<O> = Primitive | CalcObj<O> | CalcFun<O>;
export function makeError(message: string): CalcObj<unknown> {
return {