Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Composable, heritable first-class states


State is a JavaScript library for implementing first-class states on arbitrary owner objects.

A State is a module of behavior — expressed as definitions of methods, data, and/or events — that can be exhibited by its owner. The State object model provides for hierarchical, compositional, and indirect prototypal relations between States, facilitating a variety of patterns for reuse and modularity.

State object model

An owner object exhibits the behavior expressed by its current state — method calls the owner receives are automatically dispatched to methods defined or inherited by that State. Behavior of the owner is altered by executing transitions that carry its current state reference from one of its States to another.

Visit for an introduction, with sample code, comprehensive documentation including a getting started guide and conceptual overview, API reference, and annotated source.


Something went wrong with that request. Please try again.