fix: snapshot failing on constructor prop

This commit is contained in:
Roman Hotsiy 2017-10-02 10:29:24 +03:00
parent 278e5d7917
commit 04e86065e3
No known key found for this signature in database
GPG Key ID: 5CB7B3ACABA57CB0

View File

@ -118,12 +118,17 @@ export const isSafari = Object.prototype.toString.call(window.HTMLElement).index
|| (function (p) { return p.toString() === '[object SafariRemoteNotification]'; })(!window['safari'] || (function (p) { return p.toString() === '[object SafariRemoteNotification]'; })(!window['safari']
|| safari.pushNotification); || safari.pushNotification);
// works only for plain objects (JSON)
export function snapshot(obj) { export function snapshot(obj) {
if(obj == undefined || typeof(obj) !== 'object') { if(obj == undefined || typeof(obj) !== 'object') {
return obj; return obj;
} }
var temp = new obj.constructor(); if(obj instanceof Date) {
return new Date(obj.getTime());
}
var temp = Array.isArray(obj) ? [] : {};
for(var key in obj) { for(var key in obj) {
if (obj.hasOwnProperty(key)) { if (obj.hasOwnProperty(key)) {