diff options
Diffstat (limited to 'src/dataflow.ts')
| -rw-r--r-- | src/dataflow.ts | 19 |
1 files changed, 19 insertions, 0 deletions
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<T> { + link: Signal<null | Signal<T>>; + manual: Signal<T>; + + 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 |
