From 83f69845ffbdb39b692795f00709c84dc3f603ad Mon Sep 17 00:00:00 2001 From: guybedford Date: Fri, 9 Oct 2015 18:25:44 +0200 Subject: [PATCH] faster newModule --- src/loader.js | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/loader.js b/src/loader.js index 21dc7bd..6f2076c 100644 --- a/src/loader.js +++ b/src/loader.js @@ -740,19 +740,14 @@ function logloads(loads) { if (typeof obj != 'object') throw new TypeError('Expected object'); - // we do this to be able to tell if a module is a module privately in ES5 - // by doing m instanceof Module var m = new Module(); - var pNames; - if (Object.getOwnPropertyNames && obj != null) { + var pNames = []; + if (Object.getOwnPropertyNames && obj != null) pNames = Object.getOwnPropertyNames(obj); - } - else { - pNames = []; + else for (var key in obj) pNames.push(key); - } for (var i = 0; i < pNames.length; i++) (function(key) { defineProperty(m, key, { @@ -764,9 +759,6 @@ function logloads(loads) { }); })(pNames[i]); - if (Object.preventExtensions) - Object.preventExtensions(m); - return m; }, // 26.3.3.14