shift73k/assets_old/node_modules/es-abstract/test/helpers/createBoundESNamespace.js

24 lines
521 B
JavaScript
Raw Normal View History

'use strict';
var bind = require('function-bind');
var OwnPropertyKeys = require('../../helpers/OwnPropertyKeys');
module.exports = function createBoundESNamespace(ES) {
var keys = OwnPropertyKeys(ES);
var result = {};
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
var prop = ES[key];
if (typeof prop === 'function') {
prop = bind.call(prop, undefined);
} else if (prop && typeof prop === 'object') {
prop = createBoundESNamespace(prop);
}
result[key] = prop;
}
return result;
};