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; } }