Spaces:
Sleeping
Sleeping
| ; | |
| 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}` | |
| }; | |
| } | |
| } | |
| }; | |
| } |