-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[typescript] parsing template literal as type #9748
[typescript] parsing template literal as type #9748
Conversation
tanhauhau
commented
Mar 22, 2019
Q | A |
---|---|
Fixed Issues? | Fixes #9706 |
Patch: Bug Fix? | |
Major: Breaking Change? | |
Minor: New Feature? | |
Tests Added + Pass? | Yes |
Documentation PR Link | |
Any Dependency Changes? | |
License | MIT |
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/10593/ |
node.literal = this.finishNode( | ||
noSubstitutionTemplateLiteralNode, | ||
"NoSubstitutionTemplateLiteral", | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see why we need a new node type here. We can just re-use TemplateLiteral
: if node.expressions.length === 0
, then it doesn't have any substitution.
"NoSubstitutionTemplateLiteral", | ||
); | ||
} else { | ||
throw this.unexpected(startPosition); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
throw this.unexpected(startPosition); | |
throw this.raise(templateNode.expressions[0].start, "Template literal types cannot have any substitution"); |
Thanks! |