From fe70fd39203ee709a8a7811dfaa5e1a4d976e74a Mon Sep 17 00:00:00 2001 From: Gordon Brander Date: Fri, 7 Jun 2024 11:01:28 -0700 Subject: [PATCH] Update computed signature to include any case ...also pipe --- typescript/packages/common-frp/src/operators.ts | 5 +++++ typescript/packages/common-frp/src/signal.ts | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/typescript/packages/common-frp/src/operators.ts b/typescript/packages/common-frp/src/operators.ts index 36f129e00..946a7baec 100644 --- a/typescript/packages/common-frp/src/operators.ts +++ b/typescript/packages/common-frp/src/operators.ts @@ -78,6 +78,11 @@ export type Pipe = { g2h: UnaryFn, h2i: UnaryFn ): I + + ( + value: any, + ...fns: [(value: any) => any] + ): any } /** Pipe a value through a series of functions */ diff --git a/typescript/packages/common-frp/src/signal.ts b/typescript/packages/common-frp/src/signal.ts index 4bc06e787..f119bfdee 100644 --- a/typescript/packages/common-frp/src/signal.ts +++ b/typescript/packages/common-frp/src/signal.ts @@ -117,7 +117,7 @@ export const state = (initial: T) => { } } -export type computed = { +export type Computed = { ( upstreams: [Signal, Signal], compute: (a: A, b: B) => Z @@ -175,9 +175,13 @@ export type computed = { ], compute: (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) => Z ): Signal + ( + upstreams: Array>, + compute: (...values: any) => any + ): Signal } -export const computed: computed = ( +export const computed: Computed = ( upstreams: Array>, compute: (...values: Array) => any ): Signal => {