| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | // 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 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 getOrCreateMetadataMap = function (target, targetKey, create) {  var targetMetadata = store.get(target);  if (!targetMetadata) {    if (!create) return;    store.set(target, targetMetadata = new Map());  }  var keyMetadata = targetMetadata.get(targetKey);  if (!keyMetadata) {    if (!create) return;    targetMetadata.set(targetKey, keyMetadata = new Map());  } return keyMetadata;};var ordinaryHasOwnMetadata = function (MetadataKey, O, P) {  var metadataMap = getOrCreateMetadataMap(O, P, false);  return metadataMap === undefined ? false : metadataMap.has(MetadataKey);};var ordinaryGetOwnMetadata = function (MetadataKey, O, P) {  var metadataMap = getOrCreateMetadataMap(O, P, false);  return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);};var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {  getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);};var ordinaryOwnMetadataKeys = function (target, targetKey) {  var metadataMap = getOrCreateMetadataMap(target, targetKey, false);  var keys = [];  if (metadataMap) metadataMap.forEach(function (_, key) { push(keys, key); });  return keys;};var toMetadataKey = function (it) {  return it === undefined || typeof it == 'symbol' ? it : String(it);};module.exports = {  store: store,  getMap: getOrCreateMetadataMap,  has: ordinaryHasOwnMetadata,  get: ordinaryGetOwnMetadata,  set: ordinaryDefineOwnMetadata,  keys: ordinaryOwnMetadataKeys,  toKey: toMetadataKey};
 |