1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- "use strict";
- exports.__esModule = true;
- exports.default = createMetaResolver;
- var _utils = require("./utils");
- const PossibleGlobalObjects = new Set(["global", "globalThis", "self", "window"]);
- function createMetaResolver(polyfills) {
- const {
- static: staticP,
- instance: instanceP,
- global: globalP
- } = polyfills;
- return meta => {
- if (meta.kind === "global" && globalP && (0, _utils.has)(globalP, meta.name)) {
- return {
- kind: "global",
- desc: globalP[meta.name],
- name: meta.name
- };
- }
- if (meta.kind === "property" || meta.kind === "in") {
- const {
- placement,
- object,
- key
- } = meta;
- if (object && placement === "static") {
- if (globalP && PossibleGlobalObjects.has(object) && (0, _utils.has)(globalP, key)) {
- return {
- kind: "global",
- desc: globalP[key],
- name: key
- };
- }
- if (staticP && (0, _utils.has)(staticP, object) && (0, _utils.has)(staticP[object], key)) {
- return {
- kind: "static",
- desc: staticP[object][key],
- name: `${object}$${key}`
- };
- }
- }
- if (instanceP && (0, _utils.has)(instanceP, key)) {
- return {
- kind: "instance",
- desc: instanceP[key],
- name: `${key}`
- };
- }
- }
- };
- }
|