flatstate

0.1.1 • Public • Published

flatstate

Build Status Coverage Status donate

A simple prototypal inheritance based state, inspired by this blog post.

The flatstate function pollutes a generic class adding a setState method.

Such method could also be borrowed at runtime.

class MyEl extends HTMLElement {
  setState(state) {
    flatstate.setState.call(this, state);
    this.render(state);
  }
  render(state) {
    this.textContent = state.name;
  }
}
const el = new MyEl();
el.setState({name: 'test', clicks: 0});
el.addEventListener('click', () => {
  this.setState({
    clicks: this.state.clicks + 1
  });
});

// or alternatively
const Class = flatstate(class {
  // prototype will have a setState method
});

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i flatstate

    Weekly Downloads

    0

    Version

    0.1.1

    License

    ISC

    Last publish

    Collaborators

    • webreflection