| 1 |
- const r="%[a-f0-9]{2}",e=new RegExp("("+r+")|([^%]+?)","gi"),t=new RegExp("("+r+")+","gi");function n(r,e){try{return[decodeURIComponent(r.join(""))]}catch(a){}if(1===r.length)return r;e=e||1;const t=r.slice(0,e),o=r.slice(e);return Array.prototype.concat.call([],n(t),n(o))}function o(r){try{return decodeURIComponent(r)}catch(t){let o=r.match(e)||[];for(let a=1;a<o.length;a++)o=(r=n(o,a).join("")).match(e)||[];return r}}function a(r,e){if("string"!=typeof r||"string"!=typeof e)throw new TypeError("Expected the arguments to be of type `string`");if(""===r||""===e)return[];const t=r.indexOf(e);return-1===t?[]:[r.slice(0,t),r.slice(t+e.length)]}function c(r,e){const t={};if(Array.isArray(e))for(const n of e){const e=Object.getOwnPropertyDescriptor(r,n);(null==e?void 0:e.enumerable)&&Object.defineProperty(t,n,e)}else for(const n of Reflect.ownKeys(r)){const o=Object.getOwnPropertyDescriptor(r,n);o.enumerable&&e(n,r[n],r)&&Object.defineProperty(t,n,o)}return t}const i=r=>null==r,s=r=>encodeURIComponent(r).replace(/[!'()*]/g,(r=>"%".concat(r.charCodeAt(0).toString(16).toUpperCase()))),l=Symbol("encodeFragmentIdentifier");function u(r){if("string"!=typeof r||1!==r.length)throw new TypeError("arrayFormatSeparator must be single character string")}function p(r,e){return e.encode?e.strict?s(r):encodeURIComponent(r):r}function f(r,e){return e.decode?function(r){if("string"!=typeof r)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof r+"`");try{return decodeURIComponent(r)}catch(e){return function(r){const e={"%FE%FF":"��","%FF%FE":"��"};let n=t.exec(r);for(;n;){try{e[n[0]]=decodeURIComponent(n[0])}catch(c){const r=o(n[0]);r!==n[0]&&(e[n[0]]=r)}n=t.exec(r)}e["%C2"]="�";const a=Object.keys(e);for(const t of a)r=r.replace(new RegExp(t,"g"),e[t]);return r}(r)}}(r):r}function y(r){return Array.isArray(r)?r.sort():"object"==typeof r?y(Object.keys(r)).sort(((r,e)=>Number(r)-Number(e))).map((e=>r[e])):r}function d(r){const e=r.indexOf("#");return-1!==e&&(r=r.slice(0,e)),r}function m(r,e){return e.parseNumbers&&!Number.isNaN(Number(r))&&"string"==typeof r&&""!==r.trim()?r=Number(r):!e.parseBooleans||null===r||"true"!==r.toLowerCase()&&"false"!==r.toLowerCase()||(r="true"===r.toLowerCase()),r}function g(r){const e=(r=d(r)).indexOf("?");return-1===e?"":r.slice(e+1)}function b(r,e){u((e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e}).arrayFormatSeparator);const t=function(r){let e;switch(r.arrayFormat){case"index":return(r,t,n)=>{e=/\[(\d*)]$/.exec(r),r=r.replace(/\[\d*]$/,""),e?(void 0===n[r]&&(n[r]={}),n[r][e[1]]=t):n[r]=t};case"bracket":return(r,t,n)=>{e=/(\[])$/.exec(r),r=r.replace(/\[]$/,""),e?void 0!==n[r]?n[r]=[...n[r],t]:n[r]=[t]:n[r]=t};case"colon-list-separator":return(r,t,n)=>{e=/(:list)$/.exec(r),r=r.replace(/:list$/,""),e?void 0!==n[r]?n[r]=[...n[r],t]:n[r]=[t]:n[r]=t};case"comma":case"separator":return(e,t,n)=>{const o="string"==typeof t&&t.includes(r.arrayFormatSeparator),a="string"==typeof t&&!o&&f(t,r).includes(r.arrayFormatSeparator);t=a?f(t,r):t;const c=o||a?t.split(r.arrayFormatSeparator).map((e=>f(e,r))):null===t?t:f(t,r);n[e]=c};case"bracket-separator":return(e,t,n)=>{const o=/(\[])$/.test(e);if(e=e.replace(/\[]$/,""),!o)return void(n[e]=t?f(t,r):t);const a=null===t?[]:t.split(r.arrayFormatSeparator).map((e=>f(e,r)));void 0!==n[e]?n[e]=[...n[e],...a]:n[e]=a};default:return(r,e,t)=>{void 0!==t[r]?t[r]=[...[t[r]].flat(),e]:t[r]=e}}}(e),n=Object.create(null);if("string"!=typeof r)return n;if(!(r=r.trim().replace(/^[?#&]/,"")))return n;for(const o of r.split("&")){if(""===o)continue;const r=e.decode?o.replace(/\+/g," "):o;let[c,i]=a(r,"=");void 0===c&&(c=r),i=void 0===i?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?i:f(i,e),t(f(c,e),i,n)}for(const[o,a]of Object.entries(n))if("object"==typeof a&&null!==a)for(const[r,t]of Object.entries(a))a[r]=m(t,e);else n[o]=m(a,e);return!1===e.sort?n:(!0===e.sort?Object.keys(n).sort():Object.keys(n).sort(e.sort)).reduce(((r,e)=>{const t=n[e];return Boolean(t)&&"object"==typeof t&&!Array.isArray(t)?r[e]=y(t):r[e]=t,r}),Object.create(null))}function j(r,e){if(!r)return"";u((e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e}).arrayFormatSeparator);const t=function(r){switch(r.arrayFormat){case"index":return e=>(t,n)=>{const o=t.length;return void 0===n||r.skipNull&&null===n||r.skipEmptyString&&""===n?t:null===n?[...t,[p(e,r),"[",o,"]"].join("")]:[...t,[p(e,r),"[",p(o,r),"]=",p(n,r)].join("")]};case"bracket":return e=>(t,n)=>void 0===n||r.skipNull&&null===n||r.skipEmptyString&&""===n?t:null===n?[...t,[p(e,r),"[]"].join("")]:[...t,[p(e,r),"[]=",p(n,r)].join("")];case"colon-list-separator":return e=>(t,n)=>void 0===n||r.skipNull&&null===n||r.skipEmptyString&&""===n?t:null===n?[...t,[p(e,r),":list="].join("")]:[...t,[p(e,r),":list=",p(n,r)].join("")];case"comma":case"separator":case"bracket-separator":{const e="bracket-separator"===r.arrayFormat?"[]=":"=";return t=>(n,o)=>void 0===o||r.skipNull&&null===o||r.skipEmptyString&&""===o?n:(o=null===o?"":o,0===n.length?[[p(t,r),e,p(o,r)].join("")]:[[n,p(o,r)].join(r.arrayFormatSeparator)])}default:return e=>(t,n)=>void 0===n||r.skipNull&&null===n||r.skipEmptyString&&""===n?t:null===n?[...t,p(e,r)]:[...t,[p(e,r),"=",p(n,r)].join("")]}}(e),n={};for(const[c,s]of Object.entries(r))o=c,e.skipNull&&i(r[o])||e.skipEmptyString&&""===r[o]||(n[c]=s);var o;const a=Object.keys(n);return!1!==e.sort&&a.sort(e.sort),a.map((n=>{const o=r[n];return void 0===o?"":null===o?p(n,e):Array.isArray(o)?0===o.length&&"bracket-separator"===e.arrayFormat?p(n,e)+"[]":o.reduce(t(n),[]).join("&"):p(n,e)+"="+p(o,e)})).filter((r=>r.length>0)).join("&")}function h(r,e){var t,n;e={decode:!0,...e};let[o,c]=a(r,"#");return void 0===o&&(o=r),{url:null!=(n=null==(t=null==o?void 0:o.split("?"))?void 0:t[0])?n:"",query:b(g(r),e),...e&&e.parseFragmentIdentifier&&c?{fragmentIdentifier:f(c,e)}:{}}}function k(r,e){e={encode:!0,strict:!0,[l]:!0,...e};const t=d(r.url).split("?")[0]||"";let n=j({...b(g(r.url),{sort:!1}),...r.query},e);n&&(n="?".concat(n));let o=function(r){let e="";const t=r.indexOf("#");return-1!==t&&(e=r.slice(t)),e}(r.url);if(r.fragmentIdentifier){const n=new URL(t);n.hash=r.fragmentIdentifier,o=e[l]?n.hash:"#".concat(r.fragmentIdentifier)}return"".concat(t).concat(n).concat(o)}function F(r,e,t){t={parseFragmentIdentifier:!0,[l]:!1,...t};const{url:n,query:o,fragmentIdentifier:a}=h(r,t);return k({url:n,query:c(o,e),fragmentIdentifier:a},t)}const O=Object.freeze(Object.defineProperty({__proto__:null,exclude:function(r,e,t){return F(r,Array.isArray(e)?r=>!e.includes(r):(r,t)=>!e(r,t),t)},extract:g,parse:b,parseUrl:h,pick:F,stringify:j,stringifyUrl:k},Symbol.toStringTag,{value:"Module"})),v=r=>{if(null===r)return null;const e=Object.assign({},r);return Object.keys(e).forEach((t=>e[t]="object"==typeof r[t]?v(r[t]):r[t])),Array.isArray(r)?(e.length=r.length,Array.from(e)):e};export{v as d,O as q};
|