@rimbu/actor
This package offers state management tools to create stateful logic that can be easily integrated in any framework.
For complete documentation please visit the Rimbu Docs.
Installation
Yarn/NPM
yarn add @rimbu/actor
or
npm i @rimbu/actor
Deno
Create a file called rimbu.ts
and add the following:
export * from 'https://deno.land/x/rimbu/actor/mod.ts';
Or using a pinned version (x.y.z
):
export * from 'https://deno.land/x/rimbu/actor@x.y.z/mod.ts';
Then import what you need from rimbu.ts
:
import { Actor } from './rimbu.ts';
Because Rimbu uses complex types, it's recommended to use the --no-check
flag (your editor should already have checked your code) and to specify a tsconfig.json
file with the settings described below.
Running your script then becomes:
deno run --no-check --config tsconfig.json <your-script>.ts
Usage
import { Actor, Obs } from '@rimbu/actor';
const obs = Obs.create({ count: 0, changes: 0 });
const actor = Actor.create(obs, {
increase() {
obs.patchState({ count: (v) => v + 1, changes: (v) => v + 1 }),
}
decrease() {
obs.patchState({ count: (v) => v - 1, changes: (v) => v + 1 }),
}
});
console.log(actor.state);
actor.increase()
actor.increase()
actor.decrease()
console.log(actor.state)
Author
Arvid Nicolaas
Contributing
Feel very welcome to contribute to further improve Rimbu. Please read our Contributing guide.
Contributors
Made with contributors-img.
License
Licensed under the MIT License, Copyright © 2020-present Arvid Nicolaas.
See LICENSE for more information.