From 04e86065e316682aca74af487a7ac2cb7cb2c455 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Mon, 2 Oct 2017 10:29:24 +0300 Subject: [PATCH] fix: snapshot failing on constructor prop --- lib/utils/helpers.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/utils/helpers.ts b/lib/utils/helpers.ts index 1ab9ab76..44f8e4df 100644 --- a/lib/utils/helpers.ts +++ b/lib/utils/helpers.ts @@ -118,12 +118,17 @@ export const isSafari = Object.prototype.toString.call(window.HTMLElement).index || (function (p) { return p.toString() === '[object SafariRemoteNotification]'; })(!window['safari'] || safari.pushNotification); +// works only for plain objects (JSON) export function snapshot(obj) { if(obj == undefined || typeof(obj) !== 'object') { 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) { if (obj.hasOwnProperty(key)) {