Ver código fonte

Avoids options object copy

main
Eric Amodio 3 anos atrás
pai
commit
0742ce2218
1 arquivos alterados com 4 adições e 9 exclusões
  1. +4
    -9
      src/system/string.ts

+ 4
- 9
src/system/string.ts Ver arquivo

@ -285,27 +285,22 @@ export function md5(s: string, encoding: BinaryToTextEncoding = 'base64'): strin
return createHash('md5').update(s).digest(encoding);
}
export function normalizePath(
fileName: string,
options: { addLeadingSlash?: boolean; stripTrailingSlash?: boolean } = { stripTrailingSlash: true },
) {
export function normalizePath(fileName: string, options?: { addLeadingSlash?: boolean; stripTrailingSlash?: boolean }) {
if (fileName == null || fileName.length === 0) return fileName;
let normalized = fileName.replace(pathNormalizeRegex, '/');
const { addLeadingSlash, stripTrailingSlash } = { stripTrailingSlash: true, ...options };
if (stripTrailingSlash) {
if (options?.stripTrailingSlash ?? true) {
normalized = normalized.replace(pathStripTrailingSlashRegex, emptyStr);
}
if (addLeadingSlash && normalized.charCodeAt(0) !== CharCode.Slash) {
if ((options?.addLeadingSlash ?? false) && normalized.charCodeAt(0) !== CharCode.Slash) {
normalized = `/${normalized}`;
}
if (isWindows) {
// Ensure that drive casing is normalized (lower case)
normalized = normalized.replace(driveLetterNormalizeRegex, (drive: string) => drive.toLowerCase());
normalized = normalized.replace(driveLetterNormalizeRegex, drive => drive.toLowerCase());
}
return normalized;

Carregando…
Cancelar
Salvar