1 | require("./es6");
|
2 |
|
3 | var types = require("../lib/types");
|
4 | var def = types.Type.def;
|
5 | var or = types.Type.or;
|
6 | var builtin = types.builtInTypes;
|
7 | var defaults = require("../lib/shared").defaults;
|
8 |
|
9 | def("Function")
|
10 | .field("async", Boolean, defaults["false"]);
|
11 |
|
12 | def("SpreadProperty")
|
13 | .bases("Node")
|
14 | .build("argument")
|
15 | .field("argument", def("Expression"));
|
16 |
|
17 | def("ObjectExpression")
|
18 | .field("properties", [or(def("Property"), def("SpreadProperty"))]);
|
19 |
|
20 | def("SpreadPropertyPattern")
|
21 | .bases("Pattern")
|
22 | .build("argument")
|
23 | .field("argument", def("Pattern"));
|
24 |
|
25 | def("ObjectPattern")
|
26 | .field("properties", [or(
|
27 | def("Property"),
|
28 | def("PropertyPattern"),
|
29 | def("SpreadPropertyPattern")
|
30 | )]);
|
31 |
|
32 | def("AwaitExpression")
|
33 | .bases("Expression")
|
34 | .build("argument", "all")
|
35 | .field("argument", or(def("Expression"), null))
|
36 | .field("all", Boolean, defaults["false"]);
|