Skip to content

Commit 21ca495

Browse files
committed
* use a null prototype object for the buffer
* some cleanup
1 parent 251d623 commit 21ca495

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

addon/helpers.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
var hasOwnProp = Object.prototype.hasOwnProperty;
22

3-
function aliasMethod(methodName) {
3+
export function aliasMethod(methodName) {
44
return function() {
55
return this[methodName].apply(this, arguments);
66
};
77
}
88

9-
function empty(obj) {
9+
export function empty(obj) {
1010
var key;
1111
for (key in obj) {
1212
if (!hasOwnProp.call(obj, key)) { continue; }
1313
return false;
1414
}
1515
return true;
1616
}
17-
18-
export { aliasMethod, empty };

addon/mixin.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
import Ember from 'ember';
2-
import {aliasMethod, empty} from './helpers';
2+
import {
3+
aliasMethod,
4+
empty
5+
} from './helpers';
36

47
var get = Ember.get;
58
var set = Ember.set;
69
var keys = Ember.keys;
710
var isArray = Ember.isArray;
811
var computed = Ember.computed;
912

10-
export default Ember.Mixin.create({
13+
var hasOwnProperty = Object.prototype.hasOwnProperty;
1114

15+
export default Ember.Mixin.create({
1216
hasChanges : computed.readOnly('hasBufferedChanges'),
1317
applyChanges : aliasMethod('applyBufferedChanges'),
1418
discardChanges : aliasMethod('discardBufferedChanges'),
@@ -26,14 +30,14 @@ export default Ember.Mixin.create({
2630
}, this);
2731
}
2832
else {
29-
this.buffer = {};
33+
this.buffer = Ember.create(null);
3034
}
3135
},
3236

3337
unknownProperty: function(key) {
3438
var buffer = this.buffer;
3539

36-
if (buffer.hasOwnProperty(key)) {
40+
if (hasOwnProperty.call(buffer, key)) {
3741
return buffer[key];
3842
} else {
3943
return this._super(key);
@@ -50,7 +54,7 @@ export default Ember.Mixin.create({
5054
current = get(content, key);
5155
}
5256

53-
previous = buffer.hasOwnProperty(key) ? buffer[key] : current;
57+
previous = hasOwnProperty.call(buffer, key) ? buffer[key] : current;
5458

5559
if (previous === value) {
5660
return;

0 commit comments

Comments
 (0)