Permalink
Cannot retrieve contributors at this time
executable file
49 lines (49 sloc)
2 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/uri-js/dist/esnext/schemes/urn.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { SCHEMES } from "../uri"; | |
const NID$ = "(?:[0-9A-Za-z][0-9A-Za-z\\-]{1,31})"; | |
const PCT_ENCODED$ = "(?:\\%[0-9A-Fa-f]{2})"; | |
const TRANS$$ = "[0-9A-Za-z\\(\\)\\+\\,\\-\\.\\:\\=\\@\\;\\$\\_\\!\\*\\'\\/\\?\\#]"; | |
const NSS$ = "(?:(?:" + PCT_ENCODED$ + "|" + TRANS$$ + ")+)"; | |
const URN_SCHEME = new RegExp("^urn\\:(" + NID$ + ")$"); | |
const URN_PATH = new RegExp("^(" + NID$ + ")\\:(" + NSS$ + ")$"); | |
const URN_PARSE = /^([^\:]+)\:(.*)/; | |
const URN_EXCLUDED = /[\x00-\x20\\\"\&\<\>\[\]\^\`\{\|\}\~\x7F-\xFF]/g; | |
//RFC 2141 | |
const handler = { | |
scheme: "urn", | |
parse: function (components, options) { | |
const matches = components.path && components.path.match(URN_PARSE); | |
let urnComponents = components; | |
if (matches) { | |
const scheme = options.scheme || urnComponents.scheme || "urn"; | |
const nid = matches[1].toLowerCase(); | |
const nss = matches[2]; | |
const urnScheme = `${scheme}:${options.nid || nid}`; | |
const schemeHandler = SCHEMES[urnScheme]; | |
urnComponents.nid = nid; | |
urnComponents.nss = nss; | |
urnComponents.path = undefined; | |
if (schemeHandler) { | |
urnComponents = schemeHandler.parse(urnComponents, options); | |
} | |
} | |
else { | |
urnComponents.error = urnComponents.error || "URN can not be parsed."; | |
} | |
return urnComponents; | |
}, | |
serialize: function (urnComponents, options) { | |
const scheme = options.scheme || urnComponents.scheme || "urn"; | |
const nid = urnComponents.nid; | |
const urnScheme = `${scheme}:${options.nid || nid}`; | |
const schemeHandler = SCHEMES[urnScheme]; | |
if (schemeHandler) { | |
urnComponents = schemeHandler.serialize(urnComponents, options); | |
} | |
const uriComponents = urnComponents; | |
const nss = urnComponents.nss; | |
uriComponents.path = `${nid || options.nid}:${nss}`; | |
return uriComponents; | |
}, | |
}; | |
export default handler; | |
//# sourceMappingURL=urn.js.map |