Skip to content

Latest commit

 

History

History
55 lines (44 loc) · 912 Bytes

README.md

File metadata and controls

55 lines (44 loc) · 912 Bytes

fashion-model-defaults

fashion-model mixin that attaches an applyDefaults method to the model prototype.

Using default as a standard value:

var DefaultsMixin = require('fashion-model-defaults');

var Person = Model.extend({
  mixins: [DefaultsMixin],
  properties: {
    name: {
      type: String,
      default: 'Bob'
    },
    age: Number
  }
});

var bob = new Person({
  age: 30
});

bob.applyDefaults();
bob.getName(); // Returns 'Bob'

Using default as a function:

var DefaultsMixin = require('fashion-model-defaults');

var Person = Model.extend({
  mixins: [DefaultsMixin],
  properties: {
    name: {
      type: String,
      default: function() {
        return 'Bob';
      }
    },
    age: Number
  }
});

var bob = new Person({
  age: 30
});

bob.applyDefaults();
bob.getName(); // Returns 'Bob'