You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
973 B
24 lines
973 B
"use strict"; |
|
Object.defineProperty(exports, "__esModule", { value: true }); |
|
exports.unescape = void 0; |
|
/** |
|
* Un-escape a string that has been escaped with {@link escape}. |
|
* |
|
* If the {@link windowsPathsNoEscape} option is used, then square-brace |
|
* escapes are removed, but not backslash escapes. For example, it will turn |
|
* the string `'[*]'` into `*`, but it will not turn `'\\*'` into `'*'`, |
|
* becuase `\` is a path separator in `windowsPathsNoEscape` mode. |
|
* |
|
* When `windowsPathsNoEscape` is not set, then both brace escapes and |
|
* backslash escapes are removed. |
|
* |
|
* Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped |
|
* or unescaped. |
|
*/ |
|
const unescape = (s, { windowsPathsNoEscape = false, } = {}) => { |
|
return windowsPathsNoEscape |
|
? s.replace(/\[([^\/\\])\]/g, '$1') |
|
: s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1'); |
|
}; |
|
exports.unescape = unescape; |
|
//# sourceMappingURL=unescape.js.map
|