{"version":3,"file":"shims.mjs","sources":["../src/shims.ts"],"sourcesContent":["import { setHidden } from './common'\nimport { globals, observe } from './globals'\nimport { $$, $O } from './symbols'\n\nexport const shims: Array<[Function, string[]]> = [\n  [Object, ['keys', 'values', 'entries']],\n  [Array, ['from']],\n]\n\nshims.forEach(([namespace, keys]) =>\n  keys.forEach(key => {\n    const fn = namespace[key]\n    const shim = (...args: any[]) => {\n      const target = args[0] && args[0][$$]\n      if (target) {\n        observe(target, $O)\n        args[0] = target\n      }\n      return fn(...args)\n    }\n    setHidden(shim, 'name', fn.name)\n    Object.defineProperty(namespace, key, {\n      get: () => (globals.observe ? shim : fn),\n    })\n  })\n)\n"],"names":[],"mappings":";;MAIa,QAAqC;AAAA,EAChD,CAAC,QAAQ,CAAC,QAAQ,UAAU;AAAA,EAC5B,CAAC,OAAO,CAAC;AAAA;AAGX,MAAM,QAAQ,CAAC,CAAC,WAAW,UACzB,KAAK,QAAQ,SAAO;AAClB,QAAM,KAAK,UAAU;AACrB,QAAM,OAAO,IAAI,SAAgB;AAC/B,UAAM,SAAS,KAAK,MAAM,KAAK,GAAG;AAClC,QAAI,QAAQ;AACV,cAAQ,QAAQ;AAChB,WAAK,KAAK;AAAA;AAEZ,WAAO,GAAG,GAAG;AAAA;AAEf,YAAU,MAAM,QAAQ,GAAG;AAC3B,SAAO,eAAe,WAAW,KAAK;AAAA,IACpC,KAAK,MAAO,QAAQ,UAAU,OAAO;AAAA;AAAA;;;;"}