goldstein 4.1.2 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChangeLog +5 -0
- package/README.md +0 -4
- package/build/parser.cjs +23 -1
- package/package.json +1 -1
- package/packages/keyword-try/index.js +22 -0
- package/packages/printer/index.js +18 -0
- package/packages/printer/visitors/await-expression.js +10 -0
- package/packages/printer/visitors/call-expression.js +10 -0
- package/packages/printer/visitors/try-statement.js +12 -0
package/ChangeLog
CHANGED
package/README.md
CHANGED
package/build/parser.cjs
CHANGED
|
@@ -5498,11 +5498,21 @@ function keywordTry(Parser3) {
|
|
|
5498
5498
|
arguments: [
|
|
5499
5499
|
expression.callee,
|
|
5500
5500
|
...expression.arguments
|
|
5501
|
-
]
|
|
5501
|
+
],
|
|
5502
|
+
goldstein: createGoldsteinNode({
|
|
5503
|
+
await: false,
|
|
5504
|
+
callee: expression.callee,
|
|
5505
|
+
arguments: expression.arguments
|
|
5506
|
+
})
|
|
5502
5507
|
};
|
|
5503
5508
|
else if (isAwaitExpression(expression))
|
|
5504
5509
|
node.expression = {
|
|
5505
5510
|
type: "AwaitExpression",
|
|
5511
|
+
goldstein: createGoldsteinNode({
|
|
5512
|
+
await: true,
|
|
5513
|
+
callee: expression.argument.callee,
|
|
5514
|
+
arguments: expression.argument.arguments
|
|
5515
|
+
}),
|
|
5506
5516
|
argument: {
|
|
5507
5517
|
type: "CallExpression",
|
|
5508
5518
|
callee: {
|
|
@@ -5546,6 +5556,18 @@ function keywordTry(Parser3) {
|
|
|
5546
5556
|
}
|
|
5547
5557
|
};
|
|
5548
5558
|
}
|
|
5559
|
+
function createGoldsteinNode(args) {
|
|
5560
|
+
return {
|
|
5561
|
+
type: "TryStatement",
|
|
5562
|
+
expression: true,
|
|
5563
|
+
await: args.await,
|
|
5564
|
+
argument: {
|
|
5565
|
+
type: "CallExpression",
|
|
5566
|
+
callee: args.callee,
|
|
5567
|
+
arguments: args.arguments
|
|
5568
|
+
}
|
|
5569
|
+
};
|
|
5570
|
+
}
|
|
5549
5571
|
|
|
5550
5572
|
// packages/keyword-should/index.js
|
|
5551
5573
|
var import_putout2 = require("putout");
|
package/package.json
CHANGED
|
@@ -43,10 +43,20 @@ export default function keywordTry(Parser) {
|
|
|
43
43
|
expression.callee,
|
|
44
44
|
...expression.arguments,
|
|
45
45
|
],
|
|
46
|
+
goldstein: createGoldsteinNode({
|
|
47
|
+
await: false,
|
|
48
|
+
callee: expression.callee,
|
|
49
|
+
arguments: expression.arguments,
|
|
50
|
+
}),
|
|
46
51
|
};
|
|
47
52
|
else if (isAwaitExpression(expression))
|
|
48
53
|
node.expression = {
|
|
49
54
|
type: 'AwaitExpression',
|
|
55
|
+
goldstein: createGoldsteinNode({
|
|
56
|
+
await: true,
|
|
57
|
+
callee: expression.argument.callee,
|
|
58
|
+
arguments: expression.argument.arguments,
|
|
59
|
+
}),
|
|
50
60
|
argument: {
|
|
51
61
|
type: 'CallExpression',
|
|
52
62
|
callee: {
|
|
@@ -100,3 +110,15 @@ export default function keywordTry(Parser) {
|
|
|
100
110
|
};
|
|
101
111
|
}
|
|
102
112
|
|
|
113
|
+
function createGoldsteinNode(args) {
|
|
114
|
+
return {
|
|
115
|
+
type: 'TryStatement',
|
|
116
|
+
expression: true,
|
|
117
|
+
await: args.await,
|
|
118
|
+
argument: {
|
|
119
|
+
type: 'CallExpression',
|
|
120
|
+
callee: args.callee,
|
|
121
|
+
arguments: args.arguments,
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {print as printJS} from '@putout/printer';
|
|
2
|
+
|
|
3
|
+
import {AwaitExpression} from './visitors/await-expression.js';
|
|
4
|
+
import {CallExpression} from './visitors/call-expression.js';
|
|
5
|
+
import {TryStatement} from './visitors/try-statement.js';
|
|
6
|
+
import {fixEmpty} from '../goldstein/index.js';
|
|
7
|
+
|
|
8
|
+
export const print = (ast) => {
|
|
9
|
+
const code = printJS(ast, {
|
|
10
|
+
visitors: {
|
|
11
|
+
CallExpression,
|
|
12
|
+
TryStatement,
|
|
13
|
+
AwaitExpression,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
return fixEmpty(code);
|
|
18
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {visitors as v} from '@putout/printer';
|
|
2
|
+
export const TryStatement = (path, printer, semantics) => {
|
|
3
|
+
const {maybe, print} = printer;
|
|
4
|
+
const {node} = path;
|
|
5
|
+
|
|
6
|
+
if (!node.expression)
|
|
7
|
+
return v.TryStatement(path, printer, semantics);
|
|
8
|
+
|
|
9
|
+
print('try ');
|
|
10
|
+
maybe.print(node.await, 'await ');
|
|
11
|
+
print('__argument');
|
|
12
|
+
};
|