Licence
ISC
Version
1.0.3
Deps
1
Size
15 kB
Vulns
0
Weekly
0
@beautiful-eyes/reactiveclass
Reactivity primitives for Beautiful Eyes: ReactiveClass, @State, @Effect, @Input, and @Computed (passthrough today).
A write on one instance runs that instance's effects and DOM subscriptions. There is no global store.
npm install @beautiful-eyes/reactiveclass
import { ReactiveClass, State, Effect } from '@beautiful-eyes/reactiveclass';
class Counter extends ReactiveClass {
@State() count = 0;
@Effect((ctx: Counter) => [ctx.count])
log(prev?: number) {
console.log('was', prev, 'now', this.count);
}
}
@State-- accessor for primitives; objects / arrays / Maps / Sets are wrapped withProxify@Effect(depFn)--depFnmust return an array; changed slots invoke the method@Input-- like@Statewith an===skip, used for parent$props
Most apps should import these from @beautiful-eyes/core, which re-exports this package.
- Docs: beautiful-eyes.netlify.app
- Source: github.com/AmKreta/Beautiful-Eyes