Class DS.BooleanTransform

Extends: DS.Transform
Module: ember-data
Since: v3.2.0

The DS.BooleanTransform class is used to serialize and deserialize boolean attributes on Ember Data record objects. This transform is used when boolean is passed as the type parameter to the DS.attr function.

Usage

app/models/user.js
1
2
3
4
5
6
7
import DS from 'ember-data';

export default DS.Model.extend({
  isAdmin: DS.attr('boolean'),
  name: DS.attr('string'),
  email: DS.attr('string')
});

By default the boolean transform only allows for values of true or false. You can opt into allowing null values for boolean attributes via DS.attr('boolean', { allowNull: true })

app/models/user.js
1
2
3
4
5
6
7
import DS from 'ember-data';

export default DS.Model.extend({
  email: DS.attr('string'),
  username: DS.attr('string'),
  wantsWeeklyEmail: DS.attr('boolean', { allowNull: true })
});

Show:

Module: ember-data

Available since v3.2.0

serialized
The serialized value
options
hash of options passed to `DS.attr`
returns
The deserialized value

When given a serialize value from a JSON object this method must return the deserialized value for the record attribute.

Example

1
2
3
deserialize(serialized, options) {
  return empty(serialized) ? null : Number(serialized);
}
Module: ember-data

Available since v3.2.0

deserialized
The deserialized value
options
hash of options passed to `DS.attr`
returns
The serialized value

When given a deserialized value from a record attribute this method must return the serialized value.

Example

1
2
3
4
5
import { isEmpty } from '@ember/utils';

serialize(deserialized, options) {
  return isEmpty(deserialized) ? null : Number(deserialized);
}