Package Exports
- @directive-run/core
- @directive-run/core/adapter-utils
- @directive-run/core/migration
- @directive-run/core/plugins
- @directive-run/core/testing
- @directive-run/core/worker
Readme
@directive-run/core
Constraint-driven runtime for TypeScript. Declare requirements, let the runtime resolve them.
Install
npm install @directive-run/coreUsage
import { createModule, createSystem, t } from "@directive-run/core";
const counter = createModule("counter", {
schema: {
facts: { count: t.number() },
derivations: { doubled: t.number() },
events: { increment: {} },
requirements: {},
},
init: (facts) => {
facts.count = 0;
},
derive: {
doubled: (facts) => facts.count * 2,
},
on: {
increment: (facts) => {
facts.count += 1;
},
},
});
const system = createSystem({ module: counter });
system.start();
system.events.increment();
console.log(system.facts.count); // 1
console.log(system.read("doubled")); // 2Subpath Exports
| Import | Purpose |
|---|---|
@directive-run/core |
Core runtime, modules, systems |
@directive-run/core/plugins |
Logging, devtools, persistence plugins |
@directive-run/core/testing |
Mock resolvers, fake timers, assertions |
@directive-run/core/migration |
Redux/Zustand/XState migration helpers |
License
MIT