Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.AnyTypeAnnotation = AnyTypeAnnotation; | |
| exports.ArrayTypeAnnotation = ArrayTypeAnnotation; | |
| exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation; | |
| exports.BooleanTypeAnnotation = BooleanTypeAnnotation; | |
| exports.DeclareClass = DeclareClass; | |
| exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration; | |
| exports.DeclareExportDeclaration = DeclareExportDeclaration; | |
| exports.DeclareFunction = DeclareFunction; | |
| exports.DeclareInterface = DeclareInterface; | |
| exports.DeclareModule = DeclareModule; | |
| exports.DeclareModuleExports = DeclareModuleExports; | |
| exports.DeclareOpaqueType = DeclareOpaqueType; | |
| exports.DeclareTypeAlias = DeclareTypeAlias; | |
| exports.DeclareVariable = DeclareVariable; | |
| exports.DeclaredPredicate = DeclaredPredicate; | |
| exports.EmptyTypeAnnotation = EmptyTypeAnnotation; | |
| exports.EnumBooleanBody = EnumBooleanBody; | |
| exports.EnumBooleanMember = EnumBooleanMember; | |
| exports.EnumDeclaration = EnumDeclaration; | |
| exports.EnumDefaultedMember = EnumDefaultedMember; | |
| exports.EnumNumberBody = EnumNumberBody; | |
| exports.EnumNumberMember = EnumNumberMember; | |
| exports.EnumStringBody = EnumStringBody; | |
| exports.EnumStringMember = EnumStringMember; | |
| exports.EnumSymbolBody = EnumSymbolBody; | |
| exports.ExistsTypeAnnotation = ExistsTypeAnnotation; | |
| exports.FunctionTypeAnnotation = FunctionTypeAnnotation; | |
| exports.FunctionTypeParam = FunctionTypeParam; | |
| exports.IndexedAccessType = IndexedAccessType; | |
| exports.InferredPredicate = InferredPredicate; | |
| exports.InterfaceDeclaration = InterfaceDeclaration; | |
| exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends; | |
| exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation; | |
| exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation; | |
| exports.MixedTypeAnnotation = MixedTypeAnnotation; | |
| exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation; | |
| exports.NullableTypeAnnotation = NullableTypeAnnotation; | |
| Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { | |
| enumerable: true, | |
| get: function () { | |
| return _types2.NumericLiteral; | |
| } | |
| }); | |
| exports.NumberTypeAnnotation = NumberTypeAnnotation; | |
| exports.ObjectTypeAnnotation = ObjectTypeAnnotation; | |
| exports.ObjectTypeCallProperty = ObjectTypeCallProperty; | |
| exports.ObjectTypeIndexer = ObjectTypeIndexer; | |
| exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot; | |
| exports.ObjectTypeProperty = ObjectTypeProperty; | |
| exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty; | |
| exports.OpaqueType = OpaqueType; | |
| exports.OptionalIndexedAccessType = OptionalIndexedAccessType; | |
| exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier; | |
| Object.defineProperty(exports, "StringLiteralTypeAnnotation", { | |
| enumerable: true, | |
| get: function () { | |
| return _types2.StringLiteral; | |
| } | |
| }); | |
| exports.StringTypeAnnotation = StringTypeAnnotation; | |
| exports.SymbolTypeAnnotation = SymbolTypeAnnotation; | |
| exports.ThisTypeAnnotation = ThisTypeAnnotation; | |
| exports.TupleTypeAnnotation = TupleTypeAnnotation; | |
| exports.TypeAlias = TypeAlias; | |
| exports.TypeAnnotation = TypeAnnotation; | |
| exports.TypeCastExpression = TypeCastExpression; | |
| exports.TypeParameter = TypeParameter; | |
| exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation; | |
| exports.TypeofTypeAnnotation = TypeofTypeAnnotation; | |
| exports.UnionTypeAnnotation = UnionTypeAnnotation; | |
| exports.Variance = Variance; | |
| exports.VoidTypeAnnotation = VoidTypeAnnotation; | |
| exports._interfaceish = _interfaceish; | |
| exports._variance = _variance; | |
| var _t = require("@babel/types"); | |
| var _modules = require("./modules.js"); | |
| var _index = require("../node/index.js"); | |
| var _types2 = require("./types.js"); | |
| const { | |
| isDeclareExportDeclaration, | |
| isStatement | |
| } = _t; | |
| function AnyTypeAnnotation() { | |
| this.word("any"); | |
| } | |
| function ArrayTypeAnnotation(node) { | |
| this.print(node.elementType, true); | |
| this.tokenChar(91); | |
| this.tokenChar(93); | |
| } | |
| function BooleanTypeAnnotation() { | |
| this.word("boolean"); | |
| } | |
| function BooleanLiteralTypeAnnotation(node) { | |
| this.word(node.value ? "true" : "false"); | |
| } | |
| function NullLiteralTypeAnnotation() { | |
| this.word("null"); | |
| } | |
| function DeclareClass(node, parent) { | |
| if (!isDeclareExportDeclaration(parent)) { | |
| this.word("declare"); | |
| this.space(); | |
| } | |
| this.word("class"); | |
| this.space(); | |
| this._interfaceish(node); | |
| } | |
| function DeclareFunction(node, parent) { | |
| if (!isDeclareExportDeclaration(parent)) { | |
| this.word("declare"); | |
| this.space(); | |
| } | |
| this.word("function"); | |
| this.space(); | |
| this.print(node.id); | |
| this.print(node.id.typeAnnotation.typeAnnotation); | |
| if (node.predicate) { | |
| this.space(); | |
| this.print(node.predicate); | |
| } | |
| this.semicolon(); | |
| } | |
| function InferredPredicate() { | |
| this.tokenChar(37); | |
| this.word("checks"); | |
| } | |
| function DeclaredPredicate(node) { | |
| this.tokenChar(37); | |
| this.word("checks"); | |
| this.tokenChar(40); | |
| this.print(node.value); | |
| this.tokenChar(41); | |
| } | |
| function DeclareInterface(node) { | |
| this.word("declare"); | |
| this.space(); | |
| this.InterfaceDeclaration(node); | |
| } | |
| function DeclareModule(node) { | |
| this.word("declare"); | |
| this.space(); | |
| this.word("module"); | |
| this.space(); | |
| this.print(node.id); | |
| this.space(); | |
| this.print(node.body); | |
| } | |
| function DeclareModuleExports(node) { | |
| this.word("declare"); | |
| this.space(); | |
| this.word("module"); | |
| this.tokenChar(46); | |
| this.word("exports"); | |
| this.print(node.typeAnnotation); | |
| } | |
| function DeclareTypeAlias(node) { | |
| this.word("declare"); | |
| this.space(); | |
| this.TypeAlias(node); | |
| } | |
| function DeclareOpaqueType(node, parent) { | |
| if (!isDeclareExportDeclaration(parent)) { | |
| this.word("declare"); | |
| this.space(); | |
| } | |
| this.OpaqueType(node); | |
| } | |
| function DeclareVariable(node, parent) { | |
| if (!isDeclareExportDeclaration(parent)) { | |
| this.word("declare"); | |
| this.space(); | |
| } | |
| this.word("var"); | |
| this.space(); | |
| this.print(node.id); | |
| this.print(node.id.typeAnnotation); | |
| this.semicolon(); | |
| } | |
| function DeclareExportDeclaration(node) { | |
| this.word("declare"); | |
| this.space(); | |
| this.word("export"); | |
| this.space(); | |
| if (node.default) { | |
| this.word("default"); | |
| this.space(); | |
| } | |
| FlowExportDeclaration.call(this, node); | |
| } | |
| function DeclareExportAllDeclaration(node) { | |
| this.word("declare"); | |
| this.space(); | |
| _modules.ExportAllDeclaration.call(this, node); | |
| } | |
| function EnumDeclaration(node) { | |
| const { | |
| id, | |
| body | |
| } = node; | |
| this.word("enum"); | |
| this.space(); | |
| this.print(id); | |
| this.print(body); | |
| } | |
| function enumExplicitType(context, name, hasExplicitType) { | |
| if (hasExplicitType) { | |
| context.space(); | |
| context.word("of"); | |
| context.space(); | |
| context.word(name); | |
| } | |
| context.space(); | |
| } | |
| function enumBody(context, node) { | |
| const { | |
| members | |
| } = node; | |
| context.token("{"); | |
| context.indent(); | |
| context.newline(); | |
| for (const member of members) { | |
| context.print(member); | |
| context.newline(); | |
| } | |
| if (node.hasUnknownMembers) { | |
| context.token("..."); | |
| context.newline(); | |
| } | |
| context.dedent(); | |
| context.token("}"); | |
| } | |
| function EnumBooleanBody(node) { | |
| const { | |
| explicitType | |
| } = node; | |
| enumExplicitType(this, "boolean", explicitType); | |
| enumBody(this, node); | |
| } | |
| function EnumNumberBody(node) { | |
| const { | |
| explicitType | |
| } = node; | |
| enumExplicitType(this, "number", explicitType); | |
| enumBody(this, node); | |
| } | |
| function EnumStringBody(node) { | |
| const { | |
| explicitType | |
| } = node; | |
| enumExplicitType(this, "string", explicitType); | |
| enumBody(this, node); | |
| } | |
| function EnumSymbolBody(node) { | |
| enumExplicitType(this, "symbol", true); | |
| enumBody(this, node); | |
| } | |
| function EnumDefaultedMember(node) { | |
| const { | |
| id | |
| } = node; | |
| this.print(id); | |
| this.tokenChar(44); | |
| } | |
| function enumInitializedMember(context, node) { | |
| context.print(node.id); | |
| context.space(); | |
| context.token("="); | |
| context.space(); | |
| context.print(node.init); | |
| context.token(","); | |
| } | |
| function EnumBooleanMember(node) { | |
| enumInitializedMember(this, node); | |
| } | |
| function EnumNumberMember(node) { | |
| enumInitializedMember(this, node); | |
| } | |
| function EnumStringMember(node) { | |
| enumInitializedMember(this, node); | |
| } | |
| function FlowExportDeclaration(node) { | |
| if (node.declaration) { | |
| const declar = node.declaration; | |
| this.print(declar); | |
| if (!isStatement(declar)) this.semicolon(); | |
| } else { | |
| this.tokenChar(123); | |
| if (node.specifiers.length) { | |
| this.space(); | |
| this.printList(node.specifiers); | |
| this.space(); | |
| } | |
| this.tokenChar(125); | |
| if (node.source) { | |
| this.space(); | |
| this.word("from"); | |
| this.space(); | |
| this.print(node.source); | |
| } | |
| this.semicolon(); | |
| } | |
| } | |
| function ExistsTypeAnnotation() { | |
| this.tokenChar(42); | |
| } | |
| function FunctionTypeAnnotation(node, parent) { | |
| this.print(node.typeParameters); | |
| this.tokenChar(40); | |
| if (node.this) { | |
| this.word("this"); | |
| this.tokenChar(58); | |
| this.space(); | |
| this.print(node.this.typeAnnotation); | |
| if (node.params.length || node.rest) { | |
| this.tokenChar(44); | |
| this.space(); | |
| } | |
| } | |
| this.printList(node.params); | |
| if (node.rest) { | |
| if (node.params.length) { | |
| this.tokenChar(44); | |
| this.space(); | |
| } | |
| this.token("..."); | |
| this.print(node.rest); | |
| } | |
| this.tokenChar(41); | |
| const type = parent == null ? void 0 : parent.type; | |
| if (type != null && (type === "ObjectTypeCallProperty" || type === "ObjectTypeInternalSlot" || type === "DeclareFunction" || type === "ObjectTypeProperty" && parent.method)) { | |
| this.tokenChar(58); | |
| } else { | |
| this.space(); | |
| this.token("=>"); | |
| } | |
| this.space(); | |
| this.print(node.returnType); | |
| } | |
| function FunctionTypeParam(node) { | |
| this.print(node.name); | |
| if (node.optional) this.tokenChar(63); | |
| if (node.name) { | |
| this.tokenChar(58); | |
| this.space(); | |
| } | |
| this.print(node.typeAnnotation); | |
| } | |
| function InterfaceExtends(node) { | |
| this.print(node.id); | |
| this.print(node.typeParameters, true); | |
| } | |
| function _interfaceish(node) { | |
| var _node$extends; | |
| this.print(node.id); | |
| this.print(node.typeParameters); | |
| if ((_node$extends = node.extends) != null && _node$extends.length) { | |
| this.space(); | |
| this.word("extends"); | |
| this.space(); | |
| this.printList(node.extends); | |
| } | |
| if (node.type === "DeclareClass") { | |
| var _node$mixins, _node$implements; | |
| if ((_node$mixins = node.mixins) != null && _node$mixins.length) { | |
| this.space(); | |
| this.word("mixins"); | |
| this.space(); | |
| this.printList(node.mixins); | |
| } | |
| if ((_node$implements = node.implements) != null && _node$implements.length) { | |
| this.space(); | |
| this.word("implements"); | |
| this.space(); | |
| this.printList(node.implements); | |
| } | |
| } | |
| this.space(); | |
| this.print(node.body); | |
| } | |
| function _variance(node) { | |
| var _node$variance; | |
| const kind = (_node$variance = node.variance) == null ? void 0 : _node$variance.kind; | |
| if (kind != null) { | |
| if (kind === "plus") { | |
| this.tokenChar(43); | |
| } else if (kind === "minus") { | |
| this.tokenChar(45); | |
| } | |
| } | |
| } | |
| function InterfaceDeclaration(node) { | |
| this.word("interface"); | |
| this.space(); | |
| this._interfaceish(node); | |
| } | |
| function andSeparator(occurrenceCount) { | |
| this.space(); | |
| this.token("&", false, occurrenceCount); | |
| this.space(); | |
| } | |
| function InterfaceTypeAnnotation(node) { | |
| var _node$extends2; | |
| this.word("interface"); | |
| if ((_node$extends2 = node.extends) != null && _node$extends2.length) { | |
| this.space(); | |
| this.word("extends"); | |
| this.space(); | |
| this.printList(node.extends); | |
| } | |
| this.space(); | |
| this.print(node.body); | |
| } | |
| function IntersectionTypeAnnotation(node) { | |
| this.printJoin(node.types, { | |
| separator: andSeparator | |
| }); | |
| } | |
| function MixedTypeAnnotation() { | |
| this.word("mixed"); | |
| } | |
| function EmptyTypeAnnotation() { | |
| this.word("empty"); | |
| } | |
| function NullableTypeAnnotation(node) { | |
| this.tokenChar(63); | |
| this.print(node.typeAnnotation); | |
| } | |
| function NumberTypeAnnotation() { | |
| this.word("number"); | |
| } | |
| function StringTypeAnnotation() { | |
| this.word("string"); | |
| } | |
| function ThisTypeAnnotation() { | |
| this.word("this"); | |
| } | |
| function TupleTypeAnnotation(node) { | |
| this.tokenChar(91); | |
| this.printList(node.types); | |
| this.tokenChar(93); | |
| } | |
| function TypeofTypeAnnotation(node) { | |
| this.word("typeof"); | |
| this.space(); | |
| this.print(node.argument); | |
| } | |
| function TypeAlias(node) { | |
| this.word("type"); | |
| this.space(); | |
| this.print(node.id); | |
| this.print(node.typeParameters); | |
| this.space(); | |
| this.tokenChar(61); | |
| this.space(); | |
| this.print(node.right); | |
| this.semicolon(); | |
| } | |
| function TypeAnnotation(node, parent) { | |
| this.tokenChar(58); | |
| this.space(); | |
| if (parent.type === "ArrowFunctionExpression") { | |
| this.tokenContext |= _index.TokenContext.arrowFlowReturnType; | |
| } else if (node.optional) { | |
| this.tokenChar(63); | |
| } | |
| this.print(node.typeAnnotation); | |
| } | |
| function TypeParameterInstantiation(node) { | |
| this.tokenChar(60); | |
| this.printList(node.params, {}); | |
| this.tokenChar(62); | |
| } | |
| function TypeParameter(node) { | |
| this._variance(node); | |
| this.word(node.name); | |
| if (node.bound) { | |
| this.print(node.bound); | |
| } | |
| if (node.default) { | |
| this.space(); | |
| this.tokenChar(61); | |
| this.space(); | |
| this.print(node.default); | |
| } | |
| } | |
| function OpaqueType(node) { | |
| this.word("opaque"); | |
| this.space(); | |
| this.word("type"); | |
| this.space(); | |
| this.print(node.id); | |
| this.print(node.typeParameters); | |
| if (node.supertype) { | |
| this.tokenChar(58); | |
| this.space(); | |
| this.print(node.supertype); | |
| } | |
| if (node.impltype) { | |
| this.space(); | |
| this.tokenChar(61); | |
| this.space(); | |
| this.print(node.impltype); | |
| } | |
| this.semicolon(); | |
| } | |
| function ObjectTypeAnnotation(node) { | |
| if (node.exact) { | |
| this.token("{|"); | |
| } else { | |
| this.tokenChar(123); | |
| } | |
| const props = [...node.properties, ...(node.callProperties || []), ...(node.indexers || []), ...(node.internalSlots || [])]; | |
| if (props.length) { | |
| this.newline(); | |
| this.space(); | |
| this.printJoin(props, { | |
| addNewlines(leading) { | |
| if (leading && !props[0]) return 1; | |
| }, | |
| indent: true, | |
| statement: true, | |
| iterator: () => { | |
| if (props.length !== 1 || node.inexact) { | |
| this.tokenChar(44); | |
| this.space(); | |
| } | |
| } | |
| }); | |
| this.space(); | |
| } | |
| if (node.inexact) { | |
| this.indent(); | |
| this.token("..."); | |
| if (props.length) { | |
| this.newline(); | |
| } | |
| this.dedent(); | |
| } | |
| if (node.exact) { | |
| this.token("|}"); | |
| } else { | |
| this.tokenChar(125); | |
| } | |
| } | |
| function ObjectTypeInternalSlot(node) { | |
| if (node.static) { | |
| this.word("static"); | |
| this.space(); | |
| } | |
| this.tokenChar(91); | |
| this.tokenChar(91); | |
| this.print(node.id); | |
| this.tokenChar(93); | |
| this.tokenChar(93); | |
| if (node.optional) this.tokenChar(63); | |
| if (!node.method) { | |
| this.tokenChar(58); | |
| this.space(); | |
| } | |
| this.print(node.value); | |
| } | |
| function ObjectTypeCallProperty(node) { | |
| if (node.static) { | |
| this.word("static"); | |
| this.space(); | |
| } | |
| this.print(node.value); | |
| } | |
| function ObjectTypeIndexer(node) { | |
| if (node.static) { | |
| this.word("static"); | |
| this.space(); | |
| } | |
| this._variance(node); | |
| this.tokenChar(91); | |
| if (node.id) { | |
| this.print(node.id); | |
| this.tokenChar(58); | |
| this.space(); | |
| } | |
| this.print(node.key); | |
| this.tokenChar(93); | |
| this.tokenChar(58); | |
| this.space(); | |
| this.print(node.value); | |
| } | |
| function ObjectTypeProperty(node) { | |
| if (node.proto) { | |
| this.word("proto"); | |
| this.space(); | |
| } | |
| if (node.static) { | |
| this.word("static"); | |
| this.space(); | |
| } | |
| if (node.kind === "get" || node.kind === "set") { | |
| this.word(node.kind); | |
| this.space(); | |
| } | |
| this._variance(node); | |
| this.print(node.key); | |
| if (node.optional) this.tokenChar(63); | |
| if (!node.method) { | |
| this.tokenChar(58); | |
| this.space(); | |
| } | |
| this.print(node.value); | |
| } | |
| function ObjectTypeSpreadProperty(node) { | |
| this.token("..."); | |
| this.print(node.argument); | |
| } | |
| function QualifiedTypeIdentifier(node) { | |
| this.print(node.qualification); | |
| this.tokenChar(46); | |
| this.print(node.id); | |
| } | |
| function SymbolTypeAnnotation() { | |
| this.word("symbol"); | |
| } | |
| function orSeparator(occurrenceCount) { | |
| this.space(); | |
| this.token("|", false, occurrenceCount); | |
| this.space(); | |
| } | |
| function UnionTypeAnnotation(node) { | |
| this.printJoin(node.types, { | |
| separator: orSeparator | |
| }); | |
| } | |
| function TypeCastExpression(node) { | |
| this.tokenChar(40); | |
| this.print(node.expression); | |
| this.print(node.typeAnnotation); | |
| this.tokenChar(41); | |
| } | |
| function Variance(node) { | |
| if (node.kind === "plus") { | |
| this.tokenChar(43); | |
| } else { | |
| this.tokenChar(45); | |
| } | |
| } | |
| function VoidTypeAnnotation() { | |
| this.word("void"); | |
| } | |
| function IndexedAccessType(node) { | |
| this.print(node.objectType, true); | |
| this.tokenChar(91); | |
| this.print(node.indexType); | |
| this.tokenChar(93); | |
| } | |
| function OptionalIndexedAccessType(node) { | |
| this.print(node.objectType); | |
| if (node.optional) { | |
| this.token("?."); | |
| } | |
| this.tokenChar(91); | |
| this.print(node.indexType); | |
| this.tokenChar(93); | |
| } | |
| //# sourceMappingURL=flow.js.map | |