diff --git a/Observable.js b/Observable.js index d80895f..6d659b1 100644 --- a/Observable.js +++ b/Observable.js @@ -215,9 +215,9 @@ * @returns The value set. */ value: (function () { - function areSameValues(lhs, rhs) { + var areSameValues = Object.is || function (lhs, rhs) { return lhs === rhs && (lhs !== 0 || 1 / lhs === 1 / rhs) || lhs !== lhs && rhs !== rhs; - } + }; return function (name, value) { var type = name in this ? Observable.CHANGETYPE_UPDATE : Observable.CHANGETYPE_ADD, oldValue = this[name], diff --git a/ObservablePath.js b/ObservablePath.js index 936ea68..bd0ee9f 100644 --- a/ObservablePath.js +++ b/ObservablePath.js @@ -11,16 +11,15 @@ })(this, function (Observable, BindingSource) { "use strict"; - var EMPTY_OBJECT = {}; + var EMPTY_OBJECT = {}, + areSameValues = Object.is || function (lhs, rhs) { + return lhs === rhs && (lhs !== 0 || 1 / lhs === 1 / rhs) || lhs !== lhs && rhs !== rhs; + }; function getPathComps(path, create) { return path === "" ? [] : typeof path.splice !== "function" ? path.split(".") : create ? path.slice() : path; } - function areSameValues(lhs, rhs) { - return lhs === rhs && (lhs !== 0 || 1 / lhs === 1 / rhs) || lhs !== lhs && rhs !== rhs; - } - /** * @method module:liaison/ObservablePath.getObjectPath * @param {object} o An object.