@worker-tools/json-fetch
Version:
A drop-in replacements for fetch, Request, and Response with first class support for JSON objects.
28 lines • 1.13 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.urlWithParams = exports.ParamsURL = exports.SearchURL = exports.SearchParamsURL = void 0;
// This could be it's own module...
/**
* Like `URL`, but accepts a `params` argument that is added to the search parameters/query string.
*/
class SearchParamsURL extends URL {
constructor(url, params, base) {
super(url, base);
const iterable = Array.isArray(params) || params instanceof URLSearchParams
? params
: typeof params === 'string'
? new URLSearchParams(params)
: Object.entries(params !== null && params !== void 0 ? params : {});
for (const [k, v] of iterable)
this.searchParams.append(k, '' + v);
}
}
exports.SearchParamsURL = SearchParamsURL;
exports.SearchURL = SearchParamsURL;
exports.ParamsURL = SearchParamsURL;
/** @deprecated Use SearchParamsURL instead */
const urlWithParams = (...args) => {
return new SearchParamsURL(...args).href;
};
exports.urlWithParams = urlWithParams;
//# sourceMappingURL=search-params-url.js.map
;