Skip to content

Commit

Permalink
Don’t invoke hooks that have no functionality
Browse files Browse the repository at this point in the history
* tryInvoke needed to invoke these empty methods, merely because they exists
* those method had to be super wrapped
  • Loading branch information
stefanpenner committed Mar 16, 2017
1 parent 8b7d19f commit ff78938
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions addon/-private/system/model/model.js
Expand Up @@ -463,56 +463,56 @@ const Model = Ember.Object.extend(Ember.Evented, {
@event ready
*/
ready() {},
ready: null,

/**
Fired when the record is loaded from the server.
@event didLoad
*/
didLoad() {},
didLoad: null,

/**
Fired when the record is updated.
@event didUpdate
*/
didUpdate() {},
didUpdate: null,

/**
Fired when a new record is commited to the server.
@event didCreate
*/
didCreate() {},
didCreate: null,

/**
Fired when the record is deleted.
@event didDelete
*/
didDelete() {},
didDelete: null,

/**
Fired when the record becomes invalid.
@event becameInvalid
*/
becameInvalid() {},
becameInvalid: null,

/**
Fired when the record enters the error state.
@event becameError
*/
becameError() {},
becameError: null,

/**
Fired when the record is rolled back.
@event rolledBack
*/
rolledBack() {},
rolledBack: null,

//TODO Do we want to deprecate these?
/**
Expand Down Expand Up @@ -828,14 +828,18 @@ const Model = Ember.Object.extend(Ember.Evented, {
@param {String} name
*/
trigger(name) {
let length = arguments.length;
let args = new Array(length - 1);
let fn = this[name];

for (let i = 1; i < length; i++) {
args[i - 1] = arguments[i];
if (typeof fn === 'function') {
let length = arguments.length;
let args = new Array(length - 1);

for (let i = 1; i < length; i++) {
args[i - 1] = arguments[i];
}
fn.apply(this, args)
}

Ember.tryInvoke(this, name, args);
this._super(...arguments);
},

Expand Down

0 comments on commit ff78938

Please sign in to comment.