Sha256: 603dbe9c61e95085bb72d30f343dc660d59c2090a63cedf50270c7db4aa910e2

Contents?: true

Size: 708 Bytes

Versions: 26

Compression:

Stored size: 708 Bytes

Contents

import type { Path } from './matchRequestUrl'
import { cleanUrl } from '../url/cleanUrl'
import { getAbsoluteUrl } from '../url/getAbsoluteUrl'

/**
 * Normalizes a given request handler path:
 * - Preserves RegExp.
 * - Removes query parameters and hashes.
 * - Rebases relative URLs against the "baseUrl" or the current location.
 * - Preserves relative URLs in Node.js, unless specified otherwise.
 * - Preserves optional path parameters.
 */
export function normalizePath(path: Path, baseUrl?: string): Path {
  // RegExp paths do not need normalization.
  if (path instanceof RegExp) {
    return path
  }

  const maybeAbsoluteUrl = getAbsoluteUrl(path, baseUrl)

  return cleanUrl(maybeAbsoluteUrl)
}

Version data entries

26 entries across 26 versions & 1 rubygems

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