# Structure

## Structure v2

- [Introduction](https://structure.js.org/undefined.md)
- [Schema concept](https://structure.js.org/schema-concept.md)
- [Shorthand and complete attribute definition](https://structure.js.org/schema-concept/shorthand-and-complete-attribute-definition.md)
- [Circular reference](https://structure.js.org/schema-concept/circular-references-and-dynamic-types.md)
- [Nullable attributes](https://structure.js.org/schema-concept/nullable-attributes.md)
- [Custom setters and getters](https://structure.js.org/custom-setters-and-getters.md)
- [Coercion](https://structure.js.org/coercion.md)
- [Primitive type coercion](https://structure.js.org/coercion/primitive-type-coercion.md)
- [Arrays coercion](https://structure.js.org/coercion/arrays-and-array-subclasses.md)
- [Generic coercion](https://structure.js.org/coercion/generic-coercion.md)
- [Recursive coercion](https://structure.js.org/coercion/recursive-coercion.md)
- [Disabling coercion](https://structure.js.org/coercion/disabling-coercion.md)
- [Validation](https://structure.js.org/validation.md)
- [String validations](https://structure.js.org/validation/string-validations.md)
- [Number validations](https://structure.js.org/validation/number-validations.md)
- [Boolean validations](https://structure.js.org/validation/boolean-validations.md)
- [Date validations](https://structure.js.org/validation/date-validations.md)
- [Array validations](https://structure.js.org/validation/array-validations.md)
- [Attribute reference](https://structure.js.org/validation/attribute-reference.md)
- [Nested validations](https://structure.js.org/validation/nested-validations.md)
- [Validate raw data](https://structure.js.org/validation/validate-raw-data.md)
- [Strict mode](https://structure.js.org/strict-mode.md)
- [Cloning an instance](https://structure.js.org/cloning.md)
- [Serialization](https://structure.js.org/serialization.md)
- [Testing](https://structure.js.org/testing.md)
- [Battlecry generators](https://structure.js.org/battlecry-generators.md)
- [Migrating from v1](https://structure.js.org/migrating-from-v1.md)
- [Support and compatibility](https://structure.js.org/support.md)
- [Changelog](https://structure.js.org/changelog.md)
- [Contributing](https://structure.js.org/contributing.md)
- [License](https://structure.js.org/license.md)

## Structure v1

- [Introduction](https://structure.js.org/v1/undefined.md)
- [Schema concept](https://structure.js.org/v1/schema-concept.md)
- [Shorthand and complete type descriptor](https://structure.js.org/v1/schema-concept/shorthand-and-complete-type-descriptor.md)
- [Circular reference](https://structure.js.org/v1/schema-concept/circular-references-and-dynamic-types.md)
- [Nullable attributes](https://structure.js.org/v1/schema-concept/nullable-attributes.md)
- [Coercion](https://structure.js.org/v1/coercion.md)
- [Primitive type coercion](https://structure.js.org/v1/coercion/primitive-type-coercion.md)
- [Arrays coercion](https://structure.js.org/v1/coercion/arrays-and-array-subclasses.md)
- [Generic coercion](https://structure.js.org/v1/coercion/generic-coercion.md)
- [Recursive coercion](https://structure.js.org/v1/coercion/recursive-coercion.md)
- [Observations](https://structure.js.org/v1/coercion/observations.md)
- [Validation](https://structure.js.org/v1/validation.md)
- [String validations](https://structure.js.org/v1/validation/string-validations.md)
- [Number validations](https://structure.js.org/v1/validation/number-validations.md)
- [Boolean validations](https://structure.js.org/v1/validation/boolean-validations.md)
- [Date validations](https://structure.js.org/v1/validation/date-validations.md)
- [Array validations](https://structure.js.org/v1/validation/array-validations.md)
- [Attribute reference](https://structure.js.org/v1/validation/attribute-reference.md)
- [Nested validations](https://structure.js.org/v1/validation/nested-validations.md)
- [Validate raw data](https://structure.js.org/v1/validation/validate-raw-data.md)
- [Strict mode](https://structure.js.org/v1/strict-mode.md)
- [Cloning an instance](https://structure.js.org/v1/cloning.md)
- [Serialization](https://structure.js.org/v1/serialization.md)
- [Contributing](https://structure.js.org/v1/contributing.md)
- [License](https://structure.js.org/v1/license.md)
