_parseResource = str => {
	const match =
		/** @type {[string, string, string | undefined, string | undefined]} */
		(/** @type {unknown} */ (PATH_QUERY_FRAGMENT_REGEXP.exec(str)));
	return {
		resource: str,
		path: match[1].replace(/\0(.)/g, "$1"),
		query: match[2] ? match[2].replace(/\0(.)/g, "$1") : "",
		fragment: match[3] || ""
	};
}
@param {string} str the path with query and fragment
@returns {ParsedResource} parsed parts