mirror of
https://github.com/nodejs/node.git
synced 2025-08-18 15:18:46 +02:00

PR-URL: https://github.com/nodejs/node/pull/52351 Reviewed-By: Luke Karrys <luke@lukekarrys.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
20 lines
No EOL
847 B
JavaScript
20 lines
No EOL
847 B
JavaScript
/**
|
|
* 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.
|
|
*/
|
|
export const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {
|
|
return windowsPathsNoEscape
|
|
? s.replace(/\[([^\/\\])\]/g, '$1')
|
|
: s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1');
|
|
};
|
|
//# sourceMappingURL=unescape.js.map
|