diff options
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.js | 13 |
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", { |