| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`require('../modules/es.map');require('../modules/es.weak-map');var getBuiltIn = require('../internals/get-built-in');var create = require('../internals/object-create');var isObject = require('../internals/is-object');var $Object = Object;var $TypeError = TypeError;var Map = getBuiltIn('Map');var WeakMap = getBuiltIn('WeakMap');var Node = function () {  // keys  this.object = null;  this.symbol = null;  // child nodes  this.primitives = null;  this.objectsByIndex = create(null);};Node.prototype.get = function (key, initializer) {  return this[key] || (this[key] = initializer());};Node.prototype.next = function (i, it, IS_OBJECT) {  var store = IS_OBJECT    ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap())    : this.primitives || (this.primitives = new Map());  var entry = store.get(it);  if (!entry) store.set(it, entry = new Node());  return entry;};var root = new Node();module.exports = function () {  var active = root;  var length = arguments.length;  var i, it;  // for prevent leaking, start from objects  for (i = 0; i < length; i++) {    if (isObject(it = arguments[i])) active = active.next(i, it, true);  }  if (this === $Object && active === root) throw $TypeError('Composite keys must contain a non-primitive component');  for (i = 0; i < length; i++) {    if (!isObject(it = arguments[i])) active = active.next(i, it, false);  } return active;};
 |