1.0.0 • Published 1 year ago

@mixery/state-machine v1.0.0

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
1 year ago

State Machine

Yet another state-related package

State machine allows you to share value across all components through the usage of Slot. Each Slot can watch for any changes in value (either by changing its internal value or from binded slot).

Example

import * as sm from "@mixery/state-machine";

let mySlot = new sm.Slot<string>("default value (optional)");
mySlot.onChange.add((newValue, oldValue) => {
    console.log(newValue, oldValue);
});
mySlot.value = "new value";

let anotherSlot = new sm.Slot<string>();
mySlot.bindTo(anotherSlot);
anotherSlot.value; // "new value"