|
@@ -52,6 +52,7 @@ export const enum NodeTypes {
|
|
|
JS_TEMPLATE_LITERAL,
|
|
JS_TEMPLATE_LITERAL,
|
|
|
JS_IF_STATEMENT,
|
|
JS_IF_STATEMENT,
|
|
|
JS_ASSIGNMENT_EXPRESSION,
|
|
JS_ASSIGNMENT_EXPRESSION,
|
|
|
|
|
+ JS_SEQUENCE_EXPRESSION,
|
|
|
JS_RETURN_STATEMENT
|
|
JS_RETURN_STATEMENT
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -282,6 +283,7 @@ export type JSChildNode =
|
|
|
| ConditionalExpression
|
|
| ConditionalExpression
|
|
|
| CacheExpression
|
|
| CacheExpression
|
|
|
| AssignmentExpression
|
|
| AssignmentExpression
|
|
|
|
|
+ | SequenceExpression
|
|
|
|
|
|
|
|
export interface CallExpression extends Node {
|
|
export interface CallExpression extends Node {
|
|
|
type: NodeTypes.JS_CALL_EXPRESSION
|
|
type: NodeTypes.JS_CALL_EXPRESSION
|
|
@@ -344,6 +346,7 @@ export type SSRCodegenNode =
|
|
|
| IfStatement
|
|
| IfStatement
|
|
|
| AssignmentExpression
|
|
| AssignmentExpression
|
|
|
| ReturnStatement
|
|
| ReturnStatement
|
|
|
|
|
+ | SequenceExpression
|
|
|
|
|
|
|
|
export interface BlockStatement extends Node {
|
|
export interface BlockStatement extends Node {
|
|
|
type: NodeTypes.JS_BLOCK_STATEMENT
|
|
type: NodeTypes.JS_BLOCK_STATEMENT
|
|
@@ -368,6 +371,11 @@ export interface AssignmentExpression extends Node {
|
|
|
right: JSChildNode
|
|
right: JSChildNode
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+export interface SequenceExpression extends Node {
|
|
|
|
|
+ type: NodeTypes.JS_SEQUENCE_EXPRESSION
|
|
|
|
|
+ expressions: JSChildNode[]
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
export interface ReturnStatement extends Node {
|
|
export interface ReturnStatement extends Node {
|
|
|
type: NodeTypes.JS_RETURN_STATEMENT
|
|
type: NodeTypes.JS_RETURN_STATEMENT
|
|
|
returns: TemplateChildNode | TemplateChildNode[] | JSChildNode
|
|
returns: TemplateChildNode | TemplateChildNode[] | JSChildNode
|
|
@@ -727,6 +735,16 @@ export function createAssignmentExpression(
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+export function createSequenceExpression(
|
|
|
|
|
+ expressions: SequenceExpression['expressions']
|
|
|
|
|
+): SequenceExpression {
|
|
|
|
|
+ return {
|
|
|
|
|
+ type: NodeTypes.JS_SEQUENCE_EXPRESSION,
|
|
|
|
|
+ expressions,
|
|
|
|
|
+ loc: locStub
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
export function createReturnStatement(
|
|
export function createReturnStatement(
|
|
|
returns: ReturnStatement['returns']
|
|
returns: ReturnStatement['returns']
|
|
|
): ReturnStatement {
|
|
): ReturnStatement {
|