1 line
1.5 KiB
Plaintext
1 line
1.5 KiB
Plaintext
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { parse, ParsedUrlQuery } from 'node:querystring'\n\ntype Regex = {\n keys: string[] | false\n pattern: RegExp\n}\n\nexport const getURLParams = ({ pattern, keys }: Regex, reqUrl = '/'): URLParams => {\n const matches = pattern.exec(reqUrl)\n\n const params = {}\n\n if (matches && typeof keys !== 'boolean')\n for (let i = 0; i < keys.length; i++) {\n if (matches[i + 1]) {\n params[keys[i]] = decodeURIComponent(matches[i + 1])\n }\n }\n\n return params\n}\n\nexport type URLParams = {\n [key: string]: string\n}\n\nconst getQueryIndex = (url: string): number => {\n const index = url.indexOf('?')\n return index === -1 ? url.length : index\n}\n\nexport const getPathname = (url: string): string => url.slice(0, getQueryIndex(url))\n\nexport const getQueryParams = (url = '/'): ParsedUrlQuery => parse(url.slice(getQueryIndex(url) + 1))\n"],"names":[],"mappings":";AAOO,MAAM,eAAe,CAAC,EAAE,SAAS,KAAK,GAAU,SAAS,QAAmB;AAC3E,QAAA,UAAU,QAAQ,KAAK,MAAM;AAEnC,QAAM,SAAS,CAAA;AAEX,MAAA,WAAW,OAAO,SAAS;AAC7B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAChC,UAAA,QAAQ,IAAI,CAAC,GAAG;AACX,eAAA,KAAK,CAAC,CAAC,IAAI,mBAAmB,QAAQ,IAAI,CAAC,CAAC;AAAA,MACrD;AAAA,IACF;AAEK,SAAA;AACT;AAMA,MAAM,gBAAgB,CAAC,QAAwB;AACvC,QAAA,QAAQ,IAAI,QAAQ,GAAG;AACtB,SAAA,UAAU,KAAK,IAAI,SAAS;AACrC;AAEa,MAAA,cAAc,CAAC,QAAwB,IAAI,MAAM,GAAG,cAAc,GAAG,CAAC;AAEtE,MAAA,iBAAiB,CAAC,MAAM,QAAwB,MAAM,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC;"} |