// Replaces nanoquery 1.3.0 (MIT) with the platform's URLSearchParams. // Semantics preserved: returns a plain object; repeated keys become arrays. import { equal } from './assert.js' export default function nanoquery (url) { equal(typeof url, 'string', 'nanoquery: url should be type string') const query = {} const index = url.indexOf('?') if (index === -1) return query const params = new URLSearchParams(url.slice(index + 1)) for (const [key, value] of params) { if (Object.hasOwn(query, key)) { if (Array.isArray(query[key])) query[key].push(value) else query[key] = [query[key], value] } else { query[key] = value } } return query }