firescript
Version:
Firescript transpiler
36 lines (30 loc) • 629 B
JavaScript
const JSElement = require('./JSElement')
/**
* AwaitExpression
*
* @class AwaitExpression
* @extends JSElement
*
* interface AwaitExpression {
* type: 'AwaitExpression';
* argument: Expression;
* }
*/
class AwaitExpression extends JSElement {
constructor (ast) {
super(ast)
this.argument = this.createElement(ast.argument)
}
compile (buffer) {
buffer.registerItem(this.location)
buffer.write('await ')
buffer.write(this.argument)
}
toESString (ctx) {
return this.renderElement(
'await ' +
this.argument.toESString(ctx)
)
}
}
module.exports = AwaitExpression