getify/literalizer

fix how template literal is processed

Open

#26 建立於 2015年1月7日

在 GitHub 查看
 (0 留言) (0 反應) (1 負責人)JavaScript (2 fork)github user discovery
bughelp wanted

倉庫指標

Star
 (18 star)
PR 合併指標
 (PR 指標待抓取)

描述

There are quite a few problems with the existing implementation regarding template literals. Off the top of my head:

  1. the way it looks for the ending after starting a template literal is wrong. Instead of just looking for the next, it should count them in a stack, much like matching { } or ( ) pairs would be done.
  2. Template literals can have other template literals inside their expressions.
  3. Each ${ inside the literal should break out and just create elements of text (code), but must track { } pairs so it can identify the ending }, and go back into template literal mode, resuming its search for either ${ or ```.
  4. The tagged identifier before a template literal, if present, should be included as part of the first template literal element in the stream. heuristic: preceding whitespace then identifier.

貢獻者指南