ast-types
Advanced tools
Comparing version 0.11.4 to 0.11.5
109
def/flow.js
@@ -9,27 +9,31 @@ module.exports = function (fork) { | ||
// Type Annotations | ||
def("Type").bases("Node"); | ||
// Base types | ||
def("Flow").bases("Node"); | ||
def("FlowType").bases("Flow"); | ||
// Type annotations | ||
def("AnyTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("EmptyTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("MixedTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("VoidTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("NumberTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("NumberLiteralTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("value", "raw") | ||
@@ -42,3 +46,3 @@ .field("value", Number) | ||
def("NumericLiteralTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("value", "raw") | ||
@@ -49,7 +53,7 @@ .field("value", Number) | ||
def("StringTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("StringLiteralTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("value", "raw") | ||
@@ -60,7 +64,7 @@ .field("value", String) | ||
def("BooleanTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("BooleanLiteralTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("value", "raw") | ||
@@ -73,34 +77,34 @@ .field("value", Boolean) | ||
.build("typeAnnotation") | ||
.field("typeAnnotation", def("Type")); | ||
.field("typeAnnotation", def("FlowType")); | ||
def("NullableTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("typeAnnotation") | ||
.field("typeAnnotation", def("Type")); | ||
.field("typeAnnotation", def("FlowType")); | ||
def("NullLiteralTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("NullTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("ThisTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("ExistsTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("ExistentialTypeParam") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build(); | ||
def("FunctionTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("params", "returnType", "rest", "typeParameters") | ||
.field("params", [def("FunctionTypeParam")]) | ||
.field("returnType", def("Type")) | ||
.field("returnType", def("FlowType")) | ||
.field("rest", or(def("FunctionTypeParam"), null)) | ||
@@ -113,12 +117,12 @@ .field("typeParameters", or(def("TypeParameterDeclaration"), null)); | ||
.field("name", def("Identifier")) | ||
.field("typeAnnotation", def("Type")) | ||
.field("typeAnnotation", def("FlowType")) | ||
.field("optional", Boolean); | ||
def("ArrayTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("elementType") | ||
.field("elementType", def("Type")); | ||
.field("elementType", def("FlowType")); | ||
def("ObjectTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("properties", "indexers", "callProperties") | ||
@@ -151,3 +155,3 @@ .field("properties", [ | ||
.field("key", or(def("Literal"), def("Identifier"))) | ||
.field("value", def("Type")) | ||
.field("value", def("FlowType")) | ||
.field("optional", Boolean) | ||
@@ -160,4 +164,4 @@ .field("variance", LegacyVariance, defaults["null"]); | ||
.field("id", def("Identifier")) | ||
.field("key", def("Type")) | ||
.field("value", def("Type")) | ||
.field("key", def("FlowType")) | ||
.field("value", def("FlowType")) | ||
.field("variance", LegacyVariance, defaults["null"]); | ||
@@ -180,3 +184,3 @@ | ||
def("GenericTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("id", "typeParameters") | ||
@@ -187,3 +191,3 @@ .field("id", or(def("Identifier"), def("QualifiedTypeIdentifier"))) | ||
def("MemberTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("object", "property") | ||
@@ -196,15 +200,15 @@ .field("object", def("Identifier")) | ||
def("UnionTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("types") | ||
.field("types", [def("Type")]); | ||
.field("types", [def("FlowType")]); | ||
def("IntersectionTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("types") | ||
.field("types", [def("Type")]); | ||
.field("types", [def("FlowType")]); | ||
def("TypeofTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("argument") | ||
.field("argument", def("Type")); | ||
.field("argument", def("FlowType")); | ||
@@ -214,3 +218,3 @@ def("ObjectTypeSpreadProperty") | ||
.build("argument") | ||
.field("argument", def("Type")); | ||
.field("argument", def("FlowType")); | ||
@@ -231,6 +235,6 @@ def("Identifier") | ||
.build("params") | ||
.field("params", [def("Type")]); | ||
.field("params", [def("FlowType")]); | ||
def("TypeParameter") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("name", "variance", "bound") | ||
@@ -311,3 +315,3 @@ .field("name", String) | ||
.field("typeParameters", or(def("TypeParameterDeclaration"), null)) | ||
.field("right", def("Type")); | ||
.field("right", def("FlowType")); | ||
@@ -319,4 +323,4 @@ def("OpaqueType") | ||
.field("typeParameters", or(def("TypeParameterDeclaration"), null)) | ||
.field("implType", def("Type")) | ||
.field("superType", def("Type")); | ||
.field("implType", def("FlowType")) | ||
.field("superType", def("FlowType")); | ||
@@ -338,5 +342,5 @@ def("DeclareTypeAlias") | ||
def("TupleTypeAnnotation") | ||
.bases("Type") | ||
.bases("FlowType") | ||
.build("types") | ||
.field("types", [def("Type")]); | ||
.field("types", [def("FlowType")]); | ||
@@ -376,3 +380,3 @@ def("DeclareVariable") | ||
def("DeclareClass"), | ||
def("Type"), // Implies default. | ||
def("FlowType"), // Implies default. | ||
null | ||
@@ -396,2 +400,13 @@ )) | ||
), defaults["null"]); | ||
def("FlowPredicate").bases("Flow"); | ||
def("InferredPredicate") | ||
.bases("FlowPredicate") | ||
.build(); | ||
def("DeclaredPredicate") | ||
.bases("FlowPredicate") | ||
.build("value") | ||
.field("value", def("Expression")); | ||
}; |
@@ -16,3 +16,4 @@ module.exports = require('./fork')([ | ||
require("./def/babel"), | ||
require("./def/typescript") | ||
require("./def/typescript"), | ||
require("./def/es-proposals") | ||
]); |
@@ -21,3 +21,3 @@ { | ||
], | ||
"version": "0.11.4", | ||
"version": "0.11.5", | ||
"homepage": "http://github.com/benjamn/ast-types", | ||
@@ -40,6 +40,6 @@ "repository": { | ||
"esprima-fb": "~14001.1.0-dev-harmony-fb", | ||
"flow-parser": "^0.72.0", | ||
"flow-parser": "^0.73.0", | ||
"glob": "^7.1.2", | ||
"mocha": "^5.0.0", | ||
"reify": "^0.15.1" | ||
"reify": "^0.16.1" | ||
}, | ||
@@ -46,0 +46,0 @@ "engines": { |
173597
25
4143