blob: ffbab5dda1ade9ab758186c321687dcf791e7d19 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
}
}
|