From ac83dd4a08bdbab6df270d6dae8d9e2d6d619342 Mon Sep 17 00:00:00 2001 From: Sam Nystrom Date: Wed, 6 Mar 2024 20:52:45 +0000 Subject: init --- src/dataflow.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/dataflow.ts (limited to 'src/dataflow.ts') diff --git a/src/dataflow.ts b/src/dataflow.ts new file mode 100644 index 0000000..ffbab5d --- /dev/null +++ b/src/dataflow.ts @@ -0,0 +1,19 @@ +import { signal, Signal } from '@preact/signals'; + +export class InputSocket { + link: Signal>; + manual: Signal; + + constructor(initialValue: T) { + this.link = signal(null); + this.manual = signal(initialValue); + } + + get value() { + return this.link.value ? this.link.value.value : this.manual.value; + } + + set value(x: T) { + this.manual.value = x; + } +} \ No newline at end of file -- cgit v1.2.3