From b00433a90258265c3b560c1ca926155af0ac1f02 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Fri, 5 Jul 2019 20:14:28 +0300 Subject: [PATCH] reworked mixin(..) Signed-off-by: Alex A. Naanou --- object.js | 9 +++++++-- package.json | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/object.js b/object.js index a49d154..490ea60 100755 --- a/object.js +++ b/object.js @@ -70,7 +70,7 @@ function(method, name, that){ //--------------------------------------------------------------------- -// Create an object and mix in sets of methods... +// Create an object and mix in sets of methods/props/attrs... // // mixin(root, object, ...) // -> object @@ -87,7 +87,12 @@ module.mixin = function(root, ...objects){ return objects .reduce(function(res, cur){ - return Object.assign(Object.create(res), cur) }, root) } + var o = Object.create(res) + Object.keys(cur) + .map(function(k){ + Object.defineProperty(o, k, + Object.getOwnPropertyDescriptor(cur, k)) }) + return o }, root) } diff --git a/package.json b/package.json index 8d33411..7b7c101 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ig-object", - "version": "1.2.0", + "version": "1.3.0", "description": "", "main": "object.js", "scripts": {