UNPKG

@snipsonian/core

Version:

Core/base reusable javascript code snippets

23 lines (20 loc) 639 B
import appendQueryParams from './appendQueryParams'; import replacePathParams from './replacePathParams'; import { IUrlParams } from './types'; export default function constructResourceUrl({ url, baseUrl = '', pathParams, queryParams, }: { url: string; baseUrl?: string; pathParams?: IUrlParams; queryParams?: IUrlParams; }): string { const prefixedUrl = `${baseUrl}${url}`; return [prefixedUrl] .map((resourceUrl) => replacePathParams({ url: resourceUrl, params: pathParams })) .map((resourceUrl) => appendQueryParams({ url: resourceUrl, params: queryParams })) .pop(); }