An open API service indexing awesome lists of open source software.

https://github.com/invrs/industry-state

Immutable state for your factories
https://github.com/invrs/industry-state

Last synced: 22 days ago
JSON representation

Immutable state for your factories

Awesome Lists containing this project

README

          

# IndustryState [![Build Status](https://travis-ci.org/invrs/industry-state.svg?branch=master)](https://travis-ci.org/invrs/industry-state)

Immutable state for your factories.

## Requirements

This extension requires that the factory function returns a stateful object.

## Usage

```js
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() // { a: 1, b: 2 }
test.a() // { value: 1 }
```