Spaces:
Configuration error
Configuration error
; | |
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 _types2 = require("./types.js"); | |
const { | |
isDeclareExportDeclaration, | |
isStatement | |
} = _t; | |
function AnyTypeAnnotation() { | |
this.word("any"); | |
} | |
function ArrayTypeAnnotation(node) { | |
this.print(node.elementType, node, 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, node); | |
this.print(node.id.typeAnnotation.typeAnnotation, node); | |
if (node.predicate) { | |
this.space(); | |
this.print(node.predicate, node); | |
} | |
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, node); | |
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, node); | |
this.space(); | |
this.print(node.body, node); | |
} | |
function DeclareModuleExports(node) { | |
this.word("declare"); | |
this.space(); | |
this.word("module"); | |
this.tokenChar(46); | |
this.word("exports"); | |
this.print(node.typeAnnotation, node); | |
} | |
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, node); | |
this.print(node.id.typeAnnotation, node); | |
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, node); | |
this.print(body, node); | |
} | |
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, node); | |
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, node); | |
this.tokenChar(44); | |
} | |
function enumInitializedMember(context, node) { | |
const { | |
id, | |
init | |
} = node; | |
context.print(id, node); | |
context.space(); | |
context.token("="); | |
context.space(); | |
context.print(init, node); | |
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, node); | |
if (!isStatement(declar)) this.semicolon(); | |
} else { | |
this.tokenChar(123); | |
if (node.specifiers.length) { | |
this.space(); | |
this.printList(node.specifiers, node); | |
this.space(); | |
} | |
this.tokenChar(125); | |
if (node.source) { | |
this.space(); | |
this.word("from"); | |
this.space(); | |
this.print(node.source, node); | |
} | |
this.semicolon(); | |
} | |
} | |
function ExistsTypeAnnotation() { | |
this.tokenChar(42); | |
} | |
function FunctionTypeAnnotation(node, parent) { | |
this.print(node.typeParameters, node); | |
this.tokenChar(40); | |
if (node.this) { | |
this.word("this"); | |
this.tokenChar(58); | |
this.space(); | |
this.print(node.this.typeAnnotation, node); | |
if (node.params.length || node.rest) { | |
this.tokenChar(44); | |
this.space(); | |
} | |
} | |
this.printList(node.params, node); | |
if (node.rest) { | |
if (node.params.length) { | |
this.tokenChar(44); | |
this.space(); | |
} | |
this.token("..."); | |
this.print(node.rest, node); | |
} | |
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, node); | |
} | |
function FunctionTypeParam(node) { | |
this.print(node.name, node); | |
if (node.optional) this.tokenChar(63); | |
if (node.name) { | |
this.tokenChar(58); | |
this.space(); | |
} | |
this.print(node.typeAnnotation, node); | |
} | |
function InterfaceExtends(node) { | |
this.print(node.id, node); | |
this.print(node.typeParameters, node, true); | |
} | |
function _interfaceish(node) { | |
var _node$extends; | |
this.print(node.id, node); | |
this.print(node.typeParameters, node); | |
if ((_node$extends = node.extends) != null && _node$extends.length) { | |
this.space(); | |
this.word("extends"); | |
this.space(); | |
this.printList(node.extends, node); | |
} | |
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, node); | |
} | |
if ((_node$implements = node.implements) != null && _node$implements.length) { | |
this.space(); | |
this.word("implements"); | |
this.space(); | |
this.printList(node.implements, node); | |
} | |
} | |
this.space(); | |
this.print(node.body, node); | |
} | |
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() { | |
this.space(); | |
this.tokenChar(38); | |
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, node); | |
} | |
this.space(); | |
this.print(node.body, node); | |
} | |
function IntersectionTypeAnnotation(node) { | |
this.printJoin(node.types, node, { | |
separator: andSeparator | |
}); | |
} | |
function MixedTypeAnnotation() { | |
this.word("mixed"); | |
} | |
function EmptyTypeAnnotation() { | |
this.word("empty"); | |
} | |
function NullableTypeAnnotation(node) { | |
this.tokenChar(63); | |
this.print(node.typeAnnotation, node); | |
} | |
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, node); | |
this.tokenChar(93); | |
} | |
function TypeofTypeAnnotation(node) { | |
this.word("typeof"); | |
this.space(); | |
this.print(node.argument, node); | |
} | |
function TypeAlias(node) { | |
this.word("type"); | |
this.space(); | |
this.print(node.id, node); | |
this.print(node.typeParameters, node); | |
this.space(); | |
this.tokenChar(61); | |
this.space(); | |
this.print(node.right, node); | |
this.semicolon(); | |
} | |
function TypeAnnotation(node) { | |
this.tokenChar(58); | |
this.space(); | |
if (node.optional) this.tokenChar(63); | |
this.print(node.typeAnnotation, node); | |
} | |
function TypeParameterInstantiation(node) { | |
this.tokenChar(60); | |
this.printList(node.params, node, {}); | |
this.tokenChar(62); | |
} | |
function TypeParameter(node) { | |
this._variance(node); | |
this.word(node.name); | |
if (node.bound) { | |
this.print(node.bound, node); | |
} | |
if (node.default) { | |
this.space(); | |
this.tokenChar(61); | |
this.space(); | |
this.print(node.default, node); | |
} | |
} | |
function OpaqueType(node) { | |
this.word("opaque"); | |
this.space(); | |
this.word("type"); | |
this.space(); | |
this.print(node.id, node); | |
this.print(node.typeParameters, node); | |
if (node.supertype) { | |
this.tokenChar(58); | |
this.space(); | |
this.print(node.supertype, node); | |
} | |
if (node.impltype) { | |
this.space(); | |
this.tokenChar(61); | |
this.space(); | |
this.print(node.impltype, node); | |
} | |
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, node, { | |
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, node); | |
this.tokenChar(93); | |
this.tokenChar(93); | |
if (node.optional) this.tokenChar(63); | |
if (!node.method) { | |
this.tokenChar(58); | |
this.space(); | |
} | |
this.print(node.value, node); | |
} | |
function ObjectTypeCallProperty(node) { | |
if (node.static) { | |
this.word("static"); | |
this.space(); | |
} | |
this.print(node.value, node); | |
} | |
function ObjectTypeIndexer(node) { | |
if (node.static) { | |
this.word("static"); | |
this.space(); | |
} | |
this._variance(node); | |
this.tokenChar(91); | |
if (node.id) { | |
this.print(node.id, node); | |
this.tokenChar(58); | |
this.space(); | |
} | |
this.print(node.key, node); | |
this.tokenChar(93); | |
this.tokenChar(58); | |
this.space(); | |
this.print(node.value, node); | |
} | |
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, node); | |
if (node.optional) this.tokenChar(63); | |
if (!node.method) { | |
this.tokenChar(58); | |
this.space(); | |
} | |
this.print(node.value, node); | |
} | |
function ObjectTypeSpreadProperty(node) { | |
this.token("..."); | |
this.print(node.argument, node); | |
} | |
function QualifiedTypeIdentifier(node) { | |
this.print(node.qualification, node); | |
this.tokenChar(46); | |
this.print(node.id, node); | |
} | |
function SymbolTypeAnnotation() { | |
this.word("symbol"); | |
} | |
function orSeparator() { | |
this.space(); | |
this.tokenChar(124); | |
this.space(); | |
} | |
function UnionTypeAnnotation(node) { | |
this.printJoin(node.types, node, { | |
separator: orSeparator | |
}); | |
} | |
function TypeCastExpression(node) { | |
this.tokenChar(40); | |
this.print(node.expression, node); | |
this.print(node.typeAnnotation, node); | |
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, node, true); | |
this.tokenChar(91); | |
this.print(node.indexType, node); | |
this.tokenChar(93); | |
} | |
function OptionalIndexedAccessType(node) { | |
this.print(node.objectType, node); | |
if (node.optional) { | |
this.token("?."); | |
} | |
this.tokenChar(91); | |
this.print(node.indexType, node); | |
this.tokenChar(93); | |
} | |
//# sourceMappingURL=flow.js.map | |