class Cells {
constructor(definition, state = null) {
this.network =
definition instanceof Network ? definition : network(definition);
this.cycles = {};
this.defaults = this.network.defaults;
this.state = Object.assign({}, this.defaults, state);
}
init(overrides = undefined) {
const initial = overrides
? Object.assign({}, this.defaults, overrides)
: this.state;
return this.update(initial);
}
update(update = this.state) {
this.state = apply(this.network, update, this.state);
return this.state;
}
}