20 lines
685 B
JavaScript
20 lines
685 B
JavaScript
'use strict';
|
|
var $ = require('../internals/export');
|
|
var apply = require('../internals/function-apply');
|
|
var getCompositeKeyNode = require('../internals/composite-key');
|
|
var getBuiltIn = require('../internals/get-built-in');
|
|
var create = require('../internals/object-create');
|
|
|
|
var $Object = Object;
|
|
|
|
var initializer = function () {
|
|
var freeze = getBuiltIn('Object', 'freeze');
|
|
return freeze ? freeze(create(null)) : create(null);
|
|
};
|
|
|
|
// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
|
|
$({ global: true, forced: true }, {
|
|
compositeKey: function compositeKey() {
|
|
return apply(getCompositeKeyNode, $Object, arguments).get('object', initializer);
|
|
}
|
|
});
|