// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
-var Map = require('../modules/es.map');
-var WeakMap = require('../modules/es.weak-map');
+require('../modules/es.map');
+require('../modules/es.weak-map');
+var getBuiltIn = require('../internals/get-built-in');
+var uncurryThis = require('../internals/function-uncurry-this');
var shared = require('../internals/shared');
+var Map = getBuiltIn('Map');
+var WeakMap = getBuiltIn('WeakMap');
+var push = uncurryThis([].push);
+
var metadata = shared('metadata');
var store = metadata.store || (metadata.store = new WeakMap());
var ordinaryOwnMetadataKeys = function (target, targetKey) {
var metadataMap = getOrCreateMetadataMap(target, targetKey, false);
var keys = [];
- if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });
+ if (metadataMap) metadataMap.forEach(function (_, key) { push(keys, key); });
return keys;
};