()
| 25 | } |
| 26 | |
| 27 | export function createSignal<Args extends unknown[] = []>(): Signal<Args> { |
| 28 | const listeners = new Set<(...args: Args) => void>() |
| 29 | return { |
| 30 | subscribe(listener) { |
| 31 | listeners.add(listener) |
| 32 | return () => { |
| 33 | listeners.delete(listener) |
| 34 | } |
| 35 | }, |
| 36 | emit(...args) { |
| 37 | for (const listener of listeners) listener(...args) |
| 38 | }, |
| 39 | clear() { |
| 40 | listeners.clear() |
| 41 | }, |
| 42 | } |
| 43 | } |
| 44 |
no outgoing calls
no test coverage detected