PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/metro-resolver/src/utils

Просмотр файла: matchSubpathFromExportsLike.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true,
});
exports.matchSubpathFromExportsLike = matchSubpathFromExportsLike;
var _matchSubpathPattern = require("./matchSubpathPattern");
var _reduceExportsLikeMap = require("./reduceExportsLikeMap");
function matchSubpathFromExportsLike(
  context,
  subpath,
  exportsLikeMap,
  platform,
  createConfigError,
) {
  const conditionNames = new Set([
    "default",
    context.isESMImport === true ? "import" : "require",
    ...context.unstable_conditionNames,
    ...(platform != null
      ? (context.unstable_conditionsByPlatform[platform] ?? [])
      : []),
  ]);
  const exportsLikeMapAfterConditions = (0,
  _reduceExportsLikeMap.reduceExportsLikeMap)(
    exportsLikeMap,
    conditionNames,
    createConfigError,
  );
  let target = exportsLikeMapAfterConditions.get(subpath);
  let patternMatch = null;
  if (target == null) {
    const expansionKeys = [...exportsLikeMapAfterConditions.keys()]
      .map((key) => ({
        key,
        baseLength: key.indexOf("*"),
      }))
      .filter((data) => data.baseLength !== -1)
      .sort((a, b) => {
        if (a.baseLength === b.baseLength) {
          return b.key.length - a.key.length;
        }
        return b.baseLength - a.baseLength;
      });
    for (const { key } of expansionKeys) {
      const value = exportsLikeMapAfterConditions.get(key);
      patternMatch = (0, _matchSubpathPattern.matchSubpathPattern)(
        key,
        subpath,
      );
      if (patternMatch != null) {
        target = value;
        break;
      }
    }
  }
  return {
    target: target ?? null,
    patternMatch,
  };
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!