Signals — TC39
Install
Section titled “Install”yarn add @umpire/core @umpire/signals signal-polyfillimport { tc39Adapter } from '@umpire/signals/tc39'import { reactiveUmp } from '@umpire/signals'
const reactive = reactiveUmp(myUmp, tc39Adapter)Example
Section titled “Example”import { tc39Adapter } from '@umpire/signals/tc39'import { reactiveUmp } from '@umpire/signals'
const reactive = reactiveUmp(myUmp, tc39Adapter)
reactive.set('accountType', 'business')console.log(reactive.field('companyName').enabled) // trueThe TC39 proposal does not include effect(). Fouls tracking is not available with this adapter — reading reactive.fouls or calling reactive.foul() will throw.
Field availability works normally.
When to use this
Section titled “When to use this”The TC39 adapter is useful for environments targeting the eventual native signal API, or for server-side availability checks where fouls tracking isn’t needed. For full functionality including fouls, use the Preact or alien-signals adapter instead.