Introduction

A simple schema/attributes library built on top of modern JavaScript

npm Build Status Coverage Status Code Climate JS.ORG

Structure provides a simple interface which allows you to add attributes to your ES6 classes based on a schema, with validations and type coercion.

Use cases

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

Example usage

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.

Last updated

Was this helpful?