obix-core-reactive
v0.5.0
Published
OBIX Reactive projection — current state, frozen props, subscribers, changedKeys, effects lifecycle. Action execution routes through obix-core-ir applyAction. Depends on obix-core-spec, obix-core-ir and obix-core-scheduler (effects). Not the reactive cont
Readme
obix-core-reactive
Previous name:
@obinexusltd/obix-core-reactive— OBIX packages are named without an npm scope since decision D-102 (2026-09-29); the package, its version and its exports are unchanged.
The Reactive projection — subscribers, changedKeys, effects lifecycle.
npm install obix-core-reactiveAPI
const create = toReactive(artifact);
const r = create({ props: { limitSeconds: 5 } });
const off = r.subscribe((next, prev, meta) => { meta.changedKeys; });
r.dispatch("Start");
r.startEffects(clock); // scheduler re-checks while(state,props) after each tick
r.stopEffects();
r.state; r.transitions; r.render(); r.validate();Transitions go through obix-core-ir.applyAction. dispatch no-ops (returns the same
reference, no transitions++, no subscriber calls) when an action returns its
input — matching identity semantics like Start at the Timer's terminal state.
Dependency role
obix-core-spec + obix-core-ir + obix-core-scheduler/effects. Not a dependency of obix-core-scheduler/effects
(that would be a cycle). Consumed by obix-compiler-equivalence, obix-driver-dom,
obix-fixture-timer.
Level 0 status
✅ State, props, subscribers, changedKeys, every effects via the injected
clock. Deferred: after / on effects.
Installation
npm install obix-core-reactiveBasic usage
import { defaultClock, toReactive } from 'obix-core-reactive';API surface
obix-core-reactive— 2 value exports:defaultClock,toReactive- Type declarations:
./dist/index.d.ts(and a declaration next to every JS entry point).
Architecture role
obix-core-reactive is a lower-level core package: an implementation building block of OBIX; applications normally reach OBIX through the umbrella obix, and install this package directly only for what it alone provides.
The architecture of OBIX — the package families and which packages are public API — is indexed in the umbrella: docs/architecture.md.
Package relationships
- Depends on (OBIX):
obix-core-ir,obix-core-scheduler,obix-core-spec. - Used by (OBIX):
obix-compiler-equivalence,obix-adapter-reactive,obix-binding-reactive.
Testing
- 2 test files ship in the npm package (
test/): the evidence of the package's contract, published so that its verification can be inspected — not runtime code (no entry point reaches them). - Standalone: 2 of 2 — they read nothing outside the package.
- Run them with
npm test(node --test "test/*.test.mjs") in the OBIX monorepo, which provides the test tooling (Node's test runner, TypeScript) and the harness.
Documentation
- CHANGELOG.md
- The OBIX architecture index: obix/docs/architecture.md
Repository
- https://github.com/obinexus/obix-core-reactive —
[email protected]:obinexus/obix-core-reactive.git - Issues: https://github.com/obinexus/obix-core-reactive/issues
- The repository is a clean export of the package from the OBIX monorepo. Its lineage — the sources it was recovered from and its earlier names — is
PROVENANCE.json, shipped in this package; the repository's copy also records the monorepo commit it was exported from.
License
MIT — see LICENSE.
