Skip to content

Commit

Permalink
feature: @putout/printer: ForOfStatement: await
Browse files Browse the repository at this point in the history
  • Loading branch information
coderaiser committed Jul 7, 2023
1 parent 177567d commit 0c2a787
Show file tree
Hide file tree
Showing 8 changed files with 15 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
for await (x of y) {}
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ const {
markAfter,
markBefore,
isMarkedAfter,
} = require('../mark');
} = require('../../mark');

const {
isFirst,
isNext,
isLast,
} = require('../is');
} = require('../../is');

module.exports.ForOfStatement = {
beforeIf(path) {
Expand All @@ -27,8 +27,11 @@ module.exports.ForOfStatement = {
markBefore(path);
},
print(path, {indent, print, maybe, traverse}) {
const {node} = path;

indent();
print('for');
maybe.print(node.await, ' await');
print.space();
print('(');
print('__left');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
'use strict';

const {extend} = require('supertape');
const {printExtension} = require('../../../test/printer');
const {readFixtures} = require('../../../test/fixture');
const {printExtension} = require('../../../../test/printer');
const {readFixtures} = require('../../../../test/fixture');
const {parse} = require('putout');
const {print} = require('../../printer');
const {print} = require('../../../printer');
const fixture = readFixtures(__dirname);

const test = extend({
Expand All @@ -21,6 +21,11 @@ test('printer: tokenizer: statement: for-of: inside', (t) => {
t.end();
});

test('printer: tokenizer: statement: for-of: await', (t) => {
t.print(fixture.forOfAwait);
t.end();
});

test('printer: tokenizer: statement: for-of: space', (t) => {
const ast = parse(fixture.forOfSpace);

Expand Down
2 changes: 1 addition & 1 deletion lib/tokenize/statements/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
const {ExpressionStatement} = require('./expression-statement');
const {VariableDeclaration} = require('./variable-declaration/variable-declaration');
const {IfStatement} = require('./if-statement/if-statement');
const {ForOfStatement} = require('./for-of-statement');
const {ForOfStatement} = require('./for-of-statement/for-of-statement');
const {BlockStatement} = require('./block-statement/block-statement');
const {ReturnStatement} = require('./return-statement/return-statement');
const TryStatements = require('./try-statements');
Expand Down

0 comments on commit 0c2a787

Please sign in to comment.