Sha256: c20c9f5d83d7d612a11933b9c479b336ee6a29aad7dfa2b1ce0da8e606ab15e3

Contents?: true

Size: 1.36 KB

Versions: 20

Compression:

Stored size: 1.36 KB

Contents

"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}`
        };
      }
    }
  };
}

Version data entries

20 entries across 20 versions & 2 rubygems

Version Path
rapid_stack-0.1.1 templates/FrontEnd/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.62 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.61 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.60 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.59 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.58 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.57 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.56 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.55 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.54 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.53 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.52 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.51 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.50 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.49 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.48 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.47 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.46 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
immosquare-cleaner-0.1.45 node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js