Introduction
Last updated
Last updated
Structure provides a simple interface which allows you to add attributes to your ES6 classes based on a schema, with validations and type coercion.
You can use Structure for a lot of different cases, including:
Domain entities and value objects
Model business rules
Validation and coercion of request data
Map pure objects and JSON to your application classes
Add attributes to classes that you can't change the class hierarchy
What Structure is not:
It's not a database abstraction
It's not a Model of a MVC framework
It's not an attempt to simulate classic inheritance in JavaScript
For each attribute on your schema, a getter and a setter will be created into the given class. It'll also auto-assign those attributes passed to the constructor.