Sha256: 6172cf214524b8e1ee042ee944389166b2551828bdca7de5031dfb214cc44da6

Contents?: true

Size: 1.36 KB

Versions: 11

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

11 entries across 10 versions & 3 rubygems

Version Path
disco_app-0.16.1 test/dummy/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
disco_app-0.15.2 test/dummy/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
disco_app-0.18.4 test/dummy/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
disco_app-0.18.1 test/dummy/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
disco_app-0.14.0 test/dummy/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/@babel/helper-define-polyfill-provider/lib/meta-resolver.js