mirror of
https://git.hmsn.ink/kospo/helptalk/api.git
synced 2026-03-20 11:33:42 +09:00
first
This commit is contained in:
24
sample/prod/talk/bundle/mithril-2.2.2/pathname/parse.js
Normal file
24
sample/prod/talk/bundle/mithril-2.2.2/pathname/parse.js
Normal file
@@ -0,0 +1,24 @@
|
||||
"use strict"
|
||||
|
||||
var parseQueryString = require("../querystring/parse")
|
||||
|
||||
// Returns `{path, params}` from `url`
|
||||
module.exports = function(url) {
|
||||
var queryIndex = url.indexOf("?")
|
||||
var hashIndex = url.indexOf("#")
|
||||
var queryEnd = hashIndex < 0 ? url.length : hashIndex
|
||||
var pathEnd = queryIndex < 0 ? queryEnd : queryIndex
|
||||
var path = url.slice(0, pathEnd).replace(/\/{2,}/g, "/")
|
||||
|
||||
if (!path) path = "/"
|
||||
else {
|
||||
if (path[0] !== "/") path = "/" + path
|
||||
if (path.length > 1 && path[path.length - 1] === "/") path = path.slice(0, -1)
|
||||
}
|
||||
return {
|
||||
path: path,
|
||||
params: queryIndex < 0
|
||||
? {}
|
||||
: parseQueryString(url.slice(queryIndex + 1, queryEnd)),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user