diff --git a/lib/utils/blob-service.js b/lib/utils/blob-service.js --- a/lib/utils/blob-service.js +++ b/lib/utils/blob-service.js @@ -2,6 +2,7 @@ import invariant from 'invariant'; +import { replacePathParams, type URLPathParams } from './url-utils.js'; import type { BlobServiceHTTPEndpoint } from '../facts/blob-service.js'; import blobServiceConfig from '../facts/blob-service.js'; @@ -37,12 +38,9 @@ function makeBlobServiceEndpointURL( endpoint: BlobServiceHTTPEndpoint, - params: { +[name: string]: string } = {}, + params: URLPathParams = {}, ): string { - let path = endpoint.path; - for (const name in params) { - path = path.replace(`:${name}`, params[name]); - } + const path = replacePathParams(endpoint.path, params); return `${blobServiceConfig.url}${path}`; } diff --git a/lib/utils/url-utils.js b/lib/utils/url-utils.js --- a/lib/utils/url-utils.js +++ b/lib/utils/url-utils.js @@ -115,4 +115,13 @@ const setURLPrefix = 'SET_URL_PREFIX'; -export { infoFromURL, setURLPrefix }; +export type URLPathParams = { +[name: string]: string }; + +function replacePathParams(path: string, params: URLPathParams = {}): string { + for (const name in params) { + path = path.replace(`:${name}`, params[name]); + } + return path; +} + +export { infoFromURL, setURLPrefix, replacePathParams };