Sha256: a8a65f087f66ca9ccf0585db4a7d2332ec7c1ebac574bf7571cd271824850cf4

Contents?: true

Size: 1.05 KB

Versions: 26

Compression:

Stored size: 1.05 KB

Contents

import { match } from "path-to-regexp";
import { getCleanUrl } from "@mswjs/interceptors";
import { normalizePath } from './normalizePath.mjs';
function coercePath(path) {
  return path.replace(
    /([:a-zA-Z_-]*)(\*{1,2})+/g,
    (_, parameterName, wildcard) => {
      const expression = "(.*)";
      if (!parameterName) {
        return expression;
      }
      return parameterName.startsWith(":") ? `${parameterName}${wildcard}` : `${parameterName}${expression}`;
    }
  ).replace(/([^\/])(:)(?=\d+)/, "$1\\$2").replace(/^([^\/]+)(:)(?=\/\/)/, "$1\\$2");
}
function matchRequestUrl(url, path, baseUrl) {
  const normalizedPath = normalizePath(path, baseUrl);
  const cleanPath = typeof normalizedPath === "string" ? coercePath(normalizedPath) : normalizedPath;
  const cleanUrl = getCleanUrl(url);
  const result = match(cleanPath, { decode: decodeURIComponent })(cleanUrl);
  const params = result && result.params || {};
  return {
    matches: result !== false,
    params
  };
}
export {
  coercePath,
  matchRequestUrl
};
//# sourceMappingURL=matchRequestUrl.mjs.map

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.25 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.24 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.23 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.22 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.21 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.20 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.19 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.18 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.17 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.16 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.15 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.14 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.13 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.12 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.11 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.10 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.9 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.8 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs
clapton-0.0.7 lib/clapton/javascripts/node_modules/msw/lib/core/utils/matching/matchRequestUrl.mjs