123456789101112131415161718192021222324252627282930313233 |
- "use strict";
- const isReactNative = typeof navigator > "u" ? !1 : navigator.product === "ReactNative", defaultOptions = { timeout: isReactNative ? 6e4 : 12e4 }, processOptions = function(opts) {
- const options = {
- ...defaultOptions,
- ...typeof opts == "string" ? { url: opts } : opts
- }, { searchParams } = new URL(options.url, "http://localhost");
- if (options.timeout = normalizeTimeout(options.timeout), options.query) {
- for (const [key, value] of Object.entries(options.query))
- if (value !== void 0)
- if (Array.isArray(value))
- for (const v of value)
- searchParams.append(key, v);
- else
- searchParams.append(key, value);
- }
- const [url] = options.url.split("?"), search = searchParams.toString();
- return search && (options.url = `${url}?${search}`), options.method = options.body && !options.method ? "POST" : (options.method || "GET").toUpperCase(), options;
- };
- function normalizeTimeout(time) {
- if (time === !1 || time === 0)
- return !1;
- if (time.connect || time.socket)
- return time;
- const delay = Number(time);
- return isNaN(delay) ? normalizeTimeout(defaultOptions.timeout) : { connect: delay, socket: delay };
- }
- const validUrl = /^https?:\/\//i, validateOptions = function(options) {
- if (!validUrl.test(options.url))
- throw new Error(`"${options.url}" is not a valid URL`);
- };
- exports.processOptions = processOptions;
- exports.validateOptions = validateOptions;
- //# sourceMappingURL=defaultOptionsValidator-CXwrNjme.cjs.map
|