Version: 3.10.0-beta.13.11.0-beta.13.11.0-beta.23.11.03.11.1-canary.03.11.13.11.23.11.33.11.43.11.53.12.0-beta.03.12.0-canary.03.12.0-canary.13.12.0-canary.23.12.03.12.13.12.23.12.33.12.43.12.53.12.63.13.0-beta.03.13.0-beta.13.13.0-beta.23.13.0-canary.03.13.03.13.13.13.23.13.3-alpha.03.13.33.14.0-alpha.03.14.0-alpha.13.14.0-alpha.23.14.0-alpha.33.14.0-alpha.43.14.0-beta.03.14.0-beta.23.14.03.14.13.15.0-alpha.03.15.0-alpha.13.15.0-beta.03.15.03.15.13.16.0-alpha.03.16.0-alpha.23.16.0-alpha.33.16.0-beta.03.16.0-beta.13.16.03.16.23.16.33.16.43.16.53.16.63.16.73.16.83.16.93.17.0-alpha.03.17.0-beta.03.17.03.17.13.18.0-alpha.03.18.0-beta.03.18.03.19.0-alpha.03.19.0-beta.03.19.03.20.0-alpha.03.20.0-beta.03.20.03.20.13.20.23.20.33.20.43.20.53.21.0-alpha.03.21.0-beta.03.21.0-beta.13.21.03.21.13.21.23.22.0-alpha.03.22.0-alpha.13.22.0-beta.03.22.0-beta.13.22.0-beta.23.22.0-beta.33.22.03.22.13.23.0-alpha.03.23.0-beta.03.23.03.24.0-alpha.03.24.0-alpha.13.24.0-beta.03.24.03.24.13.24.23.25.0-alpha.03.25.0-beta.03.25.03.26.0-alpha.03.26.0-beta.03.26.03.27.0-alpha.03.27.0-beta.03.27.03.27.13.28.0-alpha.03.28.0-alpha.33.28.0-beta.03.28.0-beta.13.28.0-beta.23.28.0-beta.33.28.03.28.13.28.23.28.33.28.43.28.53.28.63.28.73.28.83.28.93.28.103.28.113.28.123.28.133.29.0-alpha.03.29.0-alpha.13.29.0-alpha.23.29.0-alpha.33.29.0-alpha.43.29.0-alpha.53.29.0-alpha.63.29.0-alpha.73.29.0-alpha.83.29.0-alpha.93.29.0-alpha.103.29.0-alpha.113.29.0-alpha.123.29.0-alpha.133.29.0-alpha.153.29.0-alpha.163.29.0-alpha.174.0.0-beta.04.0.0-beta.14.0.0-beta.24.0.0-beta.34.0.0-beta.44.0.04.0.14.0.24.1.0-alpha.04.1.0-alpha.14.1.0-alpha.24.1.0-alpha.34.1.0-alpha.44.1.0-alpha.54.1.0-alpha.64.1.0-alpha.74.1.0-alpha.84.1.0-alpha.94.1.0-alpha.104.1.0-alpha.114.1.0-alpha.124.1.0-alpha.134.1.0-alpha.144.1.0-alpha.154.1.0-alpha.164.1.0-beta.04.1.04.2.0-alpha.04.2.0-alpha.14.2.0-alpha.24.2.0-alpha.34.2.0-alpha.44.2.0-alpha.54.2.0-alpha.64.2.0-alpha.74.2.0-alpha.84.2.0-alpha.94.2.0-alpha.104.2.0-beta.04.2.04.3.0-beta.04.3.04.4.0-alpha.04.4.0-alpha.14.4.0-alpha.24.4.0-alpha.34.4.0-alpha.44.4.0-alpha.54.4.0-alpha.64.4.0-alpha.74.4.0-alpha.84.4.0-alpha.94.4.0-alpha.104.4.0-alpha.114.4.0-alpha.124.4.0-alpha.134.4.0-alpha.144.4.0-alpha.154.4.0-alpha.164.4.0-beta.14.4.04.4.14.4.24.4.34.5.0-alpha.04.5.0-alpha.14.5.0-alpha.24.5.0-alpha.34.5.0-alpha.44.5.0-alpha.54.5.0-alpha.64.5.0-beta.04.5.04.6.04.6.14.6.24.6.34.6.44.6.54.6.64.7.0-beta.04.7.0-beta.14.7.04.7.14.7.24.7.34.8.0-alpha.04.8.0-alpha.14.8.0-alpha.24.8.0-alpha.34.8.0-alpha.44.8.0-alpha.54.8.0-alpha.64.8.0-beta.04.8.04.8.14.8.24.8.34.8.44.8.64.8.74.8.84.9.0-alpha.04.9.0-alpha.14.9.0-alpha.24.9.0-alpha.34.9.0-alpha.44.9.0-alpha.54.9.0-alpha.64.9.0-alpha.104.9.0-alpha.124.9.0-alpha.134.9.0-alpha.144.9.0-beta.04.9.0-beta.14.9.0-beta.24.9.0-beta.34.9.04.9.14.10.0-alpha.04.10.0-alpha.14.10.0-alpha.24.10.0-alpha.34.10.0-alpha.44.10.0-alpha.54.10.0-alpha.64.10.0-alpha.74.10.0-alpha.84.10.0-alpha.94.10.0-alpha.104.10.0-alpha.114.10.0-alpha.124.10.0-alpha.134.10.0-alpha.144.10.0-alpha.154.10.0-alpha.164.10.0-alpha.174.10.0-alpha.184.10.0-alpha.194.10.0-alpha.204.10.0-alpha.214.10.0-alpha.224.10.0-alpha.234.10.0-alpha.244.10.0-alpha.254.10.0-alpha.264.10.0-alpha.274.10.0-beta.04.10.0-beta.14.10.0-beta.24.10.0-beta.34.10.0-beta.44.10.04.11.04.11.14.11.24.11.34.12.0-alpha.04.12.0-alpha.14.12.0-alpha.24.12.0-alpha.34.12.0-alpha.44.12.0-alpha.54.12.0-alpha.64.12.0-alpha.74.12.0-alpha.84.12.0-alpha.94.12.0-alpha.104.12.0-alpha.114.12.0-alpha.124.12.0-alpha.134.12.0-alpha.144.12.0-alpha.154.12.0-alpha.164.12.0-alpha.174.12.0-alpha.184.12.0-alpha.194.12.0-alpha.204.12.0-beta.04.12.0-beta.14.12.0-beta.24.12.0-beta.34.12.0-beta.44.12.0-beta.54.12.0-beta.64.12.0-beta.74.12.0-beta.84.12.0-beta.94.12.0-beta.104.12.0-beta.114.12.04.12.14.12.24.12.34.12.44.12.54.12.64.12.74.12.85.0.0-alpha.05.0.0-alpha.15.0.0-alpha.25.0.0-alpha.35.0.0-beta.05.0.0-beta.15.0.0-beta.25.0.05.0.15.1.0-alpha.05.1.0-alpha.15.1.0-alpha.25.1.0-alpha.35.1.0-alpha.45.1.0-alpha.55.1.0-alpha.65.1.0-alpha.75.1.0-alpha.85.1.0-alpha.95.1.0-alpha.105.1.0-alpha.115.1.0-alpha.125.1.0-alpha.135.1.0-alpha.145.1.0-alpha.155.1.0-beta.05.1.0-beta.15.1.05.1.15.1.25.2.0-alpha.05.2.0-alpha.15.2.0-alpha.25.2.0-alpha.35.2.0-alpha.45.2.0-alpha.55.2.0-beta.05.2.05.3.0-alpha.05.3.0-alpha.15.3.0-alpha.25.3.0-alpha.35.3.0-alpha.45.3.0-alpha.55.3.0-alpha.65.3.0-alpha.75.3.0-alpha.85.3.0-alpha.95.3.0-alpha.105.3.0-alpha.115.3.0-alpha.125.3.0-alpha.135.3.0-alpha.145.3.0-alpha.155.3.0-beta.05.3.0-beta.15.3.0-beta.25.3.0-beta.35.3.0-beta.45.3.0-beta.55.3.05.3.15.3.25.3.35.3.45.3.55.3.65.3.75.3.85.4.0-alpha.05.4.0-alpha.15.4.0-alpha.25.4.0-alpha.35.4.0-alpha.45.4.0-alpha.55.4.0-alpha.65.4.0-alpha.75.4.0-alpha.85.4.0-alpha.95.4.0-alpha.105.4.0-alpha.115.4.0-alpha.125.4.0-alpha.135.4.0-alpha.145.4.0-alpha.155.4.0-alpha.165.4.0-alpha.175.4.0-alpha.195.4.0-alpha.205.4.0-alpha.215.4.0-alpha.225.4.0-alpha.235.4.0-alpha.265.4.0-alpha.275.4.0-alpha.285.4.0-alpha.295.4.0-alpha.305.4.0-alpha.315.4.0-alpha.325.4.0-alpha.335.4.0-alpha.345.4.0-alpha.355.4.0-alpha.415.4.0-alpha.435.4.0-alpha.445.4.0-alpha.455.4.0-alpha.465.4.0-alpha.475.4.0-alpha.495.4.0-alpha.505.4.0-alpha.515.4.0-alpha.525.4.0-alpha.535.4.0-alpha.545.4.0-alpha.555.4.0-alpha.565.4.0-alpha.575.4.0-alpha.585.4.0-alpha.595.4.0-alpha.605.4.0-alpha.615.4.0-alpha.635.4.0-alpha.645.4.0-alpha.705.4.0-alpha.715.4.0-alpha.725.4.0-alpha.735.4.0-alpha.745.4.0-alpha.755.4.0-alpha.765.4.0-alpha.775.4.0-alpha.785.4.0-alpha.795.4.0-alpha.805.4.0-alpha.815.4.0-alpha.825.4.0-alpha.835.4.0-alpha.845.4.0-alpha.855.4.0-alpha.865.4.0-alpha.875.4.0-alpha.885.4.0-alpha.895.4.0-alpha.905.4.0-alpha.915.4.0-alpha.925.4.0-alpha.945.4.0-alpha.975.4.0-alpha.985.4.0-alpha.995.4.0-alpha.1005.4.0-alpha.1015.4.0-alpha.1025.4.0-alpha.1035.4.0-alpha.1045.4.0-alpha.1055.4.0-alpha.1065.4.0-alpha.1075.4.0-alpha.1085.4.0-beta.05.4.0-beta.15.4.0-beta.25.4.0-beta.35.4.0-beta.45.4.0-beta.55.4.0-beta.65.4.0-beta.75.4.0-beta.85.4.0-beta.95.4.0-beta.105.4.0-beta.115.5.0-alpha.05.5.0-alpha.15.5.0-alpha.25.5.0-alpha.35.5.0-alpha.45.5.0-alpha.95.5.0-alpha.105.5.0-alpha.11
/**
In EmberData a `Model` is a class defining the attributes and relationships
of a specific resource `type` (model name). In this sense it represents a static "schema".
Data for individual resources fetched from your API is presented
to the UI via instances of the `Model`s you define.
An instantiated `Model` is referred to as a `record`.
When we refer to the `ModelClass` we are referring to the class definition
and the static schema methods present on it.
When we refer to a `record` we refer to a specific class instance presenting
the resource data for a given `type` and `id`.
### Defining a Model
```app/models/person.js
import Model, { attr, belongsTo, hasMany } from '@ember-data/model';
export default Model.extend({
name: attr(),
dog: belongsTo('pet', { inverse: 'owners', async: false }),
friends: hasMany('person', { inverse: 'friends', async: true }),
});
```
### modelName convention
By convention, the name of a given model (its `type`) matches the name
of the file in the `app/models` folder and should be lowercase, singular
and dasherized.
@module @ember-data/model
@main @ember-data/model
@class Model
@public
*/
export { Model as default, attr, belongsTo, hasMany } from './-private';