summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/@babel/types/lib/definitions/flow.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/@babel/types/lib/definitions/flow.js')
-rw-r--r--tools/node_modules/eslint/node_modules/@babel/types/lib/definitions/flow.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/tools/node_modules/eslint/node_modules/@babel/types/lib/definitions/flow.js b/tools/node_modules/eslint/node_modules/@babel/types/lib/definitions/flow.js
index fa4218fd0d..40bcc2e13f 100644
--- a/tools/node_modules/eslint/node_modules/@babel/types/lib/definitions/flow.js
+++ b/tools/node_modules/eslint/node_modules/@babel/types/lib/definitions/flow.js
@@ -3,18 +3,21 @@
var _utils = require("./utils");
const defineType = (0, _utils.defineAliasedType)("Flow");
const defineInterfaceishType = name => {
+ const isDeclareClass = name === "DeclareClass";
defineType(name, {
builder: ["id", "typeParameters", "extends", "body"],
- visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"],
+ visitor: ["id", "typeParameters", "extends", ...(isDeclareClass ? ["mixins", "implements"] : []), "body"],
aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
+ fields: Object.assign({
id: (0, _utils.validateType)("Identifier"),
typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),
- extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),
+ extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends"))
+ }, isDeclareClass ? {
mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),
- implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")),
+ implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements"))
+ } : {}, {
body: (0, _utils.validateType)("ObjectTypeAnnotation")
- }
+ })
});
};
defineType("AnyTypeAnnotation", {