dmnd/dedent

๐Ÿ› Bug: \\n -> \n should only happen with template strings

fuenfundachtzig opened this issue ยท 1 comments

Bug Report Checklist

  • I have tried restarting my IDE and the issue persists.
  • I have pulled the latest main branch of the repository.
  • I have searched for related issues and found none that matched my issue.

Expected

dedent("\\nu") should return the string unchanged.

Actual

dedent("\\nu") turns the \\n into a newline, i.e. returns a newline character + u.

Additional Info

This happens because result.replace(/\\n/g, "\n") is called regardless of the value of escapeSpecialCharacters, i.e. regardless of whether dedent is called as a tag on a template or as a function on a string.
An easy fix would be to make the replacement conditional, solving this particular problem. (However, it would still not work for dedent`\\nu` because here, still the \\n would be replaced ๐Ÿคทโ€โ™‚๏ธ)

๐ŸŽ‰ This is included in version v1.5.2 ๐ŸŽ‰

The release is available on:

Cheers! ๐Ÿ“ฆ๐Ÿš€