Immutable state for your factories.
This extension requires that the factory function returns a stateful object.
import { factory } from "industry"
import { functions } from "industry-functions"
import { instance } from "industry-instance"
import { standard_io } from "industry-standard-io"
import { state } from "industry-state"
class Test {
init() {
this.state({ a: 1 })
}
a({ state: { a } }) {
return a
}
}
let test = factory(Test)
.set("functions", functions)
.set("instance", instance)
.set("state", state)
.set("standard_io", standard_io)
test({ b: 2 })
test().state()
test.a()