00000000: 22 75 73 65 20 73 74 72 69 63 74 22 3b 0a 0a 4f "use strict";..O
00000010: 62 6a 65 63 74 2e 64 65 66 69 6e 65 50 72 6f 70 bject.defineProp
00000020: 65 72 74 79 28 65 78 70 6f 72 74 73 2c 20 22 5f erty(exports, "_
00000030: 5f 65 73 4d 6f 64 75 6c 65 22 2c 20 7b 0a 20 20 _esModule", {.
00000040: 76 61 6c 75 65 3a 20 74 72 75 65 0a 7d 29 3b 0a value: true.});.
00000050: 65 78 70 6f 72 74 73 2e 61 6e 79 54 79 70 65 41 exports.anyTypeA
00000060: 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 61 6e 79 54 nnotation = anyT
00000070: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 ypeAnnotation;.e
00000080: 78 70 6f 72 74 73 2e 61 72 67 75 6d 65 6e 74 50 xports.argumentP
00000090: 6c 61 63 65 68 6f 6c 64 65 72 20 3d 20 61 72 67 laceholder = arg
000000a0: 75 6d 65 6e 74 50 6c 61 63 65 68 6f 6c 64 65 72 umentPlaceholder
000000b0: 3b 0a 65 78 70 6f 72 74 73 2e 61 72 72 61 79 45 ;.exports.arrayE
000000c0: 78 70 72 65 73 73 69 6f 6e 20 3d 20 61 72 72 61 xpression = arra
000000d0: 79 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 yExpression;.exp
000000e0: 6f 72 74 73 2e 61 72 72 61 79 50 61 74 74 65 72 orts.arrayPatter
000000f0: 6e 20 3d 20 61 72 72 61 79 50 61 74 74 65 72 6e n = arrayPattern
00000100: 3b 0a 65 78 70 6f 72 74 73 2e 61 72 72 61 79 54 ;.exports.arrayT
00000110: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 ypeAnnotation =
00000120: 61 72 72 61 79 54 79 70 65 41 6e 6e 6f 74 61 74 arrayTypeAnnotat
00000130: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 61 72 72 ion;.exports.arr
00000140: 6f 77 46 75 6e 63 74 69 6f 6e 45 78 70 72 65 73 owFunctionExpres
00000150: 73 69 6f 6e 20 3d 20 61 72 72 6f 77 46 75 6e 63 sion = arrowFunc
00000160: 74 69 6f 6e 45 78 70 72 65 73 73 69 6f 6e 3b 0a tionExpression;.
00000170: 65 78 70 6f 72 74 73 2e 61 73 73 69 67 6e 6d 65 exports.assignme
00000180: 6e 74 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 61 ntExpression = a
00000190: 73 73 69 67 6e 6d 65 6e 74 45 78 70 72 65 73 73 ssignmentExpress
000001a0: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 61 73 73 ion;.exports.ass
000001b0: 69 67 6e 6d 65 6e 74 50 61 74 74 65 72 6e 20 3d ignmentPattern =
000001c0: 20 61 73 73 69 67 6e 6d 65 6e 74 50 61 74 74 65 assignmentPatte
000001d0: 72 6e 3b 0a 65 78 70 6f 72 74 73 2e 61 77 61 69 rn;.exports.awai
000001e0: 74 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 61 77 tExpression = aw
000001f0: 61 69 74 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 aitExpression;.e
00000200: 78 70 6f 72 74 73 2e 62 69 67 49 6e 74 4c 69 74 xports.bigIntLit
00000210: 65 72 61 6c 20 3d 20 62 69 67 49 6e 74 4c 69 74 eral = bigIntLit
00000220: 65 72 61 6c 3b 0a 65 78 70 6f 72 74 73 2e 62 69 eral;.exports.bi
00000230: 6e 61 72 79 45 78 70 72 65 73 73 69 6f 6e 20 3d naryExpression =
00000240: 20 62 69 6e 61 72 79 45 78 70 72 65 73 73 69 6f binaryExpressio
00000250: 6e 3b 0a 65 78 70 6f 72 74 73 2e 62 69 6e 64 45 n;.exports.bindE
00000260: 78 70 72 65 73 73 69 6f 6e 20 3d 20 62 69 6e 64 xpression = bind
00000270: 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f Expression;.expo
00000280: 72 74 73 2e 62 6c 6f 63 6b 53 74 61 74 65 6d 65 rts.blockStateme
00000290: 6e 74 20 3d 20 62 6c 6f 63 6b 53 74 61 74 65 6d nt = blockStatem
000002a0: 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 62 6f 6f ent;.exports.boo
000002b0: 6c 65 61 6e 4c 69 74 65 72 61 6c 20 3d 20 62 6f leanLiteral = bo
000002c0: 6f 6c 65 61 6e 4c 69 74 65 72 61 6c 3b 0a 65 78 oleanLiteral;.ex
000002d0: 70 6f 72 74 73 2e 62 6f 6f 6c 65 61 6e 4c 69 74 ports.booleanLit
000002e0: 65 72 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 69 eralTypeAnnotati
000002f0: 6f 6e 20 3d 20 62 6f 6f 6c 65 61 6e 4c 69 74 65 on = booleanLite
00000300: 72 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f ralTypeAnnotatio
00000310: 6e 3b 0a 65 78 70 6f 72 74 73 2e 62 6f 6f 6c 65 n;.exports.boole
00000320: 61 6e 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e anTypeAnnotation
00000330: 20 3d 20 62 6f 6f 6c 65 61 6e 54 79 70 65 41 6e = booleanTypeAn
00000340: 6e 6f 74 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 notation;.export
00000350: 73 2e 62 72 65 61 6b 53 74 61 74 65 6d 65 6e 74 s.breakStatement
00000360: 20 3d 20 62 72 65 61 6b 53 74 61 74 65 6d 65 6e = breakStatemen
00000370: 74 3b 0a 65 78 70 6f 72 74 73 2e 63 61 6c 6c 45 t;.exports.callE
00000380: 78 70 72 65 73 73 69 6f 6e 20 3d 20 63 61 6c 6c xpression = call
00000390: 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f Expression;.expo
000003a0: 72 74 73 2e 63 61 74 63 68 43 6c 61 75 73 65 20 rts.catchClause
000003b0: 3d 20 63 61 74 63 68 43 6c 61 75 73 65 3b 0a 65 = catchClause;.e
000003c0: 78 70 6f 72 74 73 2e 63 6c 61 73 73 41 63 63 65 xports.classAcce
000003d0: 73 73 6f 72 50 72 6f 70 65 72 74 79 20 3d 20 63 ssorProperty = c
000003e0: 6c 61 73 73 41 63 63 65 73 73 6f 72 50 72 6f 70 lassAccessorProp
000003f0: 65 72 74 79 3b 0a 65 78 70 6f 72 74 73 2e 63 6c erty;.exports.cl
00000400: 61 73 73 42 6f 64 79 20 3d 20 63 6c 61 73 73 42 assBody = classB
00000410: 6f 64 79 3b 0a 65 78 70 6f 72 74 73 2e 63 6c 61 ody;.exports.cla
00000420: 73 73 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 ssDeclaration =
00000430: 63 6c 61 73 73 44 65 63 6c 61 72 61 74 69 6f 6e classDeclaration
00000440: 3b 0a 65 78 70 6f 72 74 73 2e 63 6c 61 73 73 45 ;.exports.classE
00000450: 78 70 72 65 73 73 69 6f 6e 20 3d 20 63 6c 61 73 xpression = clas
00000460: 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 sExpression;.exp
00000470: 6f 72 74 73 2e 63 6c 61 73 73 49 6d 70 6c 65 6d orts.classImplem
00000480: 65 6e 74 73 20 3d 20 63 6c 61 73 73 49 6d 70 6c ents = classImpl
00000490: 65 6d 65 6e 74 73 3b 0a 65 78 70 6f 72 74 73 2e ements;.exports.
000004a0: 63 6c 61 73 73 4d 65 74 68 6f 64 20 3d 20 63 6c classMethod = cl
000004b0: 61 73 73 4d 65 74 68 6f 64 3b 0a 65 78 70 6f 72 assMethod;.expor
000004c0: 74 73 2e 63 6c 61 73 73 50 72 69 76 61 74 65 4d ts.classPrivateM
000004d0: 65 74 68 6f 64 20 3d 20 63 6c 61 73 73 50 72 69 ethod = classPri
000004e0: 76 61 74 65 4d 65 74 68 6f 64 3b 0a 65 78 70 6f vateMethod;.expo
000004f0: 72 74 73 2e 63 6c 61 73 73 50 72 69 76 61 74 65 rts.classPrivate
00000500: 50 72 6f 70 65 72 74 79 20 3d 20 63 6c 61 73 73 Property = class
00000510: 50 72 69 76 61 74 65 50 72 6f 70 65 72 74 79 3b PrivateProperty;
00000520: 0a 65 78 70 6f 72 74 73 2e 63 6c 61 73 73 50 72 .exports.classPr
00000530: 6f 70 65 72 74 79 20 3d 20 63 6c 61 73 73 50 72 operty = classPr
00000540: 6f 70 65 72 74 79 3b 0a 65 78 70 6f 72 74 73 2e operty;.exports.
00000550: 63 6f 6e 64 69 74 69 6f 6e 61 6c 45 78 70 72 65 conditionalExpre
00000560: 73 73 69 6f 6e 20 3d 20 63 6f 6e 64 69 74 69 6f ssion = conditio
00000570: 6e 61 6c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 nalExpression;.e
00000580: 78 70 6f 72 74 73 2e 63 6f 6e 74 69 6e 75 65 53 xports.continueS
00000590: 74 61 74 65 6d 65 6e 74 20 3d 20 63 6f 6e 74 69 tatement = conti
000005a0: 6e 75 65 53 74 61 74 65 6d 65 6e 74 3b 0a 65 78 nueStatement;.ex
000005b0: 70 6f 72 74 73 2e 64 65 62 75 67 67 65 72 53 74 ports.debuggerSt
000005c0: 61 74 65 6d 65 6e 74 20 3d 20 64 65 62 75 67 67 atement = debugg
000005d0: 65 72 53 74 61 74 65 6d 65 6e 74 3b 0a 65 78 70 erStatement;.exp
000005e0: 6f 72 74 73 2e 64 65 63 69 6d 61 6c 4c 69 74 65 orts.decimalLite
000005f0: 72 61 6c 20 3d 20 64 65 63 69 6d 61 6c 4c 69 74 ral = decimalLit
00000600: 65 72 61 6c 3b 0a 65 78 70 6f 72 74 73 2e 64 65 eral;.exports.de
00000610: 63 6c 61 72 65 43 6c 61 73 73 20 3d 20 64 65 63 clareClass = dec
00000620: 6c 61 72 65 43 6c 61 73 73 3b 0a 65 78 70 6f 72 lareClass;.expor
00000630: 74 73 2e 64 65 63 6c 61 72 65 45 78 70 6f 72 74 ts.declareExport
00000640: 41 6c 6c 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d AllDeclaration =
00000650: 20 64 65 63 6c 61 72 65 45 78 70 6f 72 74 41 6c declareExportAl
00000660: 6c 44 65 63 6c 61 72 61 74 69 6f 6e 3b 0a 65 78 lDeclaration;.ex
00000670: 70 6f 72 74 73 2e 64 65 63 6c 61 72 65 45 78 70 ports.declareExp
00000680: 6f 72 74 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d ortDeclaration =
00000690: 20 64 65 63 6c 61 72 65 45 78 70 6f 72 74 44 65 declareExportDe
000006a0: 63 6c 61 72 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 claration;.expor
000006b0: 74 73 2e 64 65 63 6c 61 72 65 46 75 6e 63 74 69 ts.declareFuncti
000006c0: 6f 6e 20 3d 20 64 65 63 6c 61 72 65 46 75 6e 63 on = declareFunc
000006d0: 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 64 65 tion;.exports.de
000006e0: 63 6c 61 72 65 49 6e 74 65 72 66 61 63 65 20 3d clareInterface =
000006f0: 20 64 65 63 6c 61 72 65 49 6e 74 65 72 66 61 63 declareInterfac
00000700: 65 3b 0a 65 78 70 6f 72 74 73 2e 64 65 63 6c 61 e;.exports.decla
00000710: 72 65 4d 6f 64 75 6c 65 20 3d 20 64 65 63 6c 61 reModule = decla
00000720: 72 65 4d 6f 64 75 6c 65 3b 0a 65 78 70 6f 72 74 reModule;.export
00000730: 73 2e 64 65 63 6c 61 72 65 4d 6f 64 75 6c 65 45 s.declareModuleE
00000740: 78 70 6f 72 74 73 20 3d 20 64 65 63 6c 61 72 65 xports = declare
00000750: 4d 6f 64 75 6c 65 45 78 70 6f 72 74 73 3b 0a 65 ModuleExports;.e
00000760: 78 70 6f 72 74 73 2e 64 65 63 6c 61 72 65 4f 70 xports.declareOp
00000770: 61 71 75 65 54 79 70 65 20 3d 20 64 65 63 6c 61 aqueType = decla
00000780: 72 65 4f 70 61 71 75 65 54 79 70 65 3b 0a 65 78 reOpaqueType;.ex
00000790: 70 6f 72 74 73 2e 64 65 63 6c 61 72 65 54 79 70 ports.declareTyp
000007a0: 65 41 6c 69 61 73 20 3d 20 64 65 63 6c 61 72 65 eAlias = declare
000007b0: 54 79 70 65 41 6c 69 61 73 3b 0a 65 78 70 6f 72 TypeAlias;.expor
000007c0: 74 73 2e 64 65 63 6c 61 72 65 56 61 72 69 61 62 ts.declareVariab
000007d0: 6c 65 20 3d 20 64 65 63 6c 61 72 65 56 61 72 69 le = declareVari
000007e0: 61 62 6c 65 3b 0a 65 78 70 6f 72 74 73 2e 64 65 able;.exports.de
000007f0: 63 6c 61 72 65 64 50 72 65 64 69 63 61 74 65 20 claredPredicate
00000800: 3d 20 64 65 63 6c 61 72 65 64 50 72 65 64 69 63 = declaredPredic
00000810: 61 74 65 3b 0a 65 78 70 6f 72 74 73 2e 64 65 63 ate;.exports.dec
00000820: 6f 72 61 74 6f 72 20 3d 20 64 65 63 6f 72 61 74 orator = decorat
00000830: 6f 72 3b 0a 65 78 70 6f 72 74 73 2e 64 69 72 65 or;.exports.dire
00000840: 63 74 69 76 65 20 3d 20 64 69 72 65 63 74 69 76 ctive = directiv
00000850: 65 3b 0a 65 78 70 6f 72 74 73 2e 64 69 72 65 63 e;.exports.direc
00000860: 74 69 76 65 4c 69 74 65 72 61 6c 20 3d 20 64 69 tiveLiteral = di
00000870: 72 65 63 74 69 76 65 4c 69 74 65 72 61 6c 3b 0a rectiveLiteral;.
00000880: 65 78 70 6f 72 74 73 2e 64 6f 45 78 70 72 65 73 exports.doExpres
00000890: 73 69 6f 6e 20 3d 20 64 6f 45 78 70 72 65 73 73 sion = doExpress
000008a0: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 64 6f 57 ion;.exports.doW
000008b0: 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 20 3d 20 hileStatement =
000008c0: 64 6f 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 doWhileStatement
000008d0: 3b 0a 65 78 70 6f 72 74 73 2e 65 6d 70 74 79 53 ;.exports.emptyS
000008e0: 74 61 74 65 6d 65 6e 74 20 3d 20 65 6d 70 74 79 tatement = empty
000008f0: 53 74 61 74 65 6d 65 6e 74 3b 0a 65 78 70 6f 72 Statement;.expor
00000900: 74 73 2e 65 6d 70 74 79 54 79 70 65 41 6e 6e 6f ts.emptyTypeAnno
00000910: 74 61 74 69 6f 6e 20 3d 20 65 6d 70 74 79 54 79 tation = emptyTy
00000920: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 78 peAnnotation;.ex
00000930: 70 6f 72 74 73 2e 65 6e 75 6d 42 6f 6f 6c 65 61 ports.enumBoolea
00000940: 6e 42 6f 64 79 20 3d 20 65 6e 75 6d 42 6f 6f 6c nBody = enumBool
00000950: 65 61 6e 42 6f 64 79 3b 0a 65 78 70 6f 72 74 73 eanBody;.exports
00000960: 2e 65 6e 75 6d 42 6f 6f 6c 65 61 6e 4d 65 6d 62 .enumBooleanMemb
00000970: 65 72 20 3d 20 65 6e 75 6d 42 6f 6f 6c 65 61 6e er = enumBoolean
00000980: 4d 65 6d 62 65 72 3b 0a 65 78 70 6f 72 74 73 2e Member;.exports.
00000990: 65 6e 75 6d 44 65 63 6c 61 72 61 74 69 6f 6e 20 enumDeclaration
000009a0: 3d 20 65 6e 75 6d 44 65 63 6c 61 72 61 74 69 6f = enumDeclaratio
000009b0: 6e 3b 0a 65 78 70 6f 72 74 73 2e 65 6e 75 6d 44 n;.exports.enumD
000009c0: 65 66 61 75 6c 74 65 64 4d 65 6d 62 65 72 20 3d efaultedMember =
000009d0: 20 65 6e 75 6d 44 65 66 61 75 6c 74 65 64 4d 65 enumDefaultedMe
000009e0: 6d 62 65 72 3b 0a 65 78 70 6f 72 74 73 2e 65 6e mber;.exports.en
000009f0: 75 6d 4e 75 6d 62 65 72 42 6f 64 79 20 3d 20 65 umNumberBody = e
00000a00: 6e 75 6d 4e 75 6d 62 65 72 42 6f 64 79 3b 0a 65 numNumberBody;.e
00000a10: 78 70 6f 72 74 73 2e 65 6e 75 6d 4e 75 6d 62 65 xports.enumNumbe
00000a20: 72 4d 65 6d 62 65 72 20 3d 20 65 6e 75 6d 4e 75 rMember = enumNu
00000a30: 6d 62 65 72 4d 65 6d 62 65 72 3b 0a 65 78 70 6f mberMember;.expo
00000a40: 72 74 73 2e 65 6e 75 6d 53 74 72 69 6e 67 42 6f rts.enumStringBo
00000a50: 64 79 20 3d 20 65 6e 75 6d 53 74 72 69 6e 67 42 dy = enumStringB
00000a60: 6f 64 79 3b 0a 65 78 70 6f 72 74 73 2e 65 6e 75 ody;.exports.enu
00000a70: 6d 53 74 72 69 6e 67 4d 65 6d 62 65 72 20 3d 20 mStringMember =
00000a80: 65 6e 75 6d 53 74 72 69 6e 67 4d 65 6d 62 65 72 enumStringMember
00000a90: 3b 0a 65 78 70 6f 72 74 73 2e 65 6e 75 6d 53 79 ;.exports.enumSy
00000aa0: 6d 62 6f 6c 42 6f 64 79 20 3d 20 65 6e 75 6d 53 mbolBody = enumS
00000ab0: 79 6d 62 6f 6c 42 6f 64 79 3b 0a 65 78 70 6f 72 ymbolBody;.expor
00000ac0: 74 73 2e 65 78 69 73 74 73 54 79 70 65 41 6e 6e ts.existsTypeAnn
00000ad0: 6f 74 61 74 69 6f 6e 20 3d 20 65 78 69 73 74 73 otation = exists
00000ae0: 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a TypeAnnotation;.
00000af0: 65 78 70 6f 72 74 73 2e 65 78 70 6f 72 74 41 6c exports.exportAl
00000b00: 6c 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 65 lDeclaration = e
00000b10: 78 70 6f 72 74 41 6c 6c 44 65 63 6c 61 72 61 74 xportAllDeclarat
00000b20: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 65 78 70 ion;.exports.exp
00000b30: 6f 72 74 44 65 66 61 75 6c 74 44 65 63 6c 61 72 ortDefaultDeclar
00000b40: 61 74 69 6f 6e 20 3d 20 65 78 70 6f 72 74 44 65 ation = exportDe
00000b50: 66 61 75 6c 74 44 65 63 6c 61 72 61 74 69 6f 6e faultDeclaration
00000b60: 3b 0a 65 78 70 6f 72 74 73 2e 65 78 70 6f 72 74 ;.exports.export
00000b70: 44 65 66 61 75 6c 74 53 70 65 63 69 66 69 65 72 DefaultSpecifier
00000b80: 20 3d 20 65 78 70 6f 72 74 44 65 66 61 75 6c 74 = exportDefault
00000b90: 53 70 65 63 69 66 69 65 72 3b 0a 65 78 70 6f 72 Specifier;.expor
00000ba0: 74 73 2e 65 78 70 6f 72 74 4e 61 6d 65 64 44 65 ts.exportNamedDe
00000bb0: 63 6c 61 72 61 74 69 6f 6e 20 3d 20 65 78 70 6f claration = expo
00000bc0: 72 74 4e 61 6d 65 64 44 65 63 6c 61 72 61 74 69 rtNamedDeclarati
00000bd0: 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 65 78 70 6f on;.exports.expo
00000be0: 72 74 4e 61 6d 65 73 70 61 63 65 53 70 65 63 69 rtNamespaceSpeci
00000bf0: 66 69 65 72 20 3d 20 65 78 70 6f 72 74 4e 61 6d fier = exportNam
00000c00: 65 73 70 61 63 65 53 70 65 63 69 66 69 65 72 3b espaceSpecifier;
00000c10: 0a 65 78 70 6f 72 74 73 2e 65 78 70 6f 72 74 53 .exports.exportS
00000c20: 70 65 63 69 66 69 65 72 20 3d 20 65 78 70 6f 72 pecifier = expor
00000c30: 74 53 70 65 63 69 66 69 65 72 3b 0a 65 78 70 6f tSpecifier;.expo
00000c40: 72 74 73 2e 65 78 70 72 65 73 73 69 6f 6e 53 74 rts.expressionSt
00000c50: 61 74 65 6d 65 6e 74 20 3d 20 65 78 70 72 65 73 atement = expres
00000c60: 73 69 6f 6e 53 74 61 74 65 6d 65 6e 74 3b 0a 65 sionStatement;.e
00000c70: 78 70 6f 72 74 73 2e 66 69 6c 65 20 3d 20 66 69 xports.file = fi
00000c80: 6c 65 3b 0a 65 78 70 6f 72 74 73 2e 66 6f 72 49 le;.exports.forI
00000c90: 6e 53 74 61 74 65 6d 65 6e 74 20 3d 20 66 6f 72 nStatement = for
00000ca0: 49 6e 53 74 61 74 65 6d 65 6e 74 3b 0a 65 78 70 InStatement;.exp
00000cb0: 6f 72 74 73 2e 66 6f 72 4f 66 53 74 61 74 65 6d orts.forOfStatem
00000cc0: 65 6e 74 20 3d 20 66 6f 72 4f 66 53 74 61 74 65 ent = forOfState
00000cd0: 6d 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 66 6f ment;.exports.fo
00000ce0: 72 53 74 61 74 65 6d 65 6e 74 20 3d 20 66 6f 72 rStatement = for
00000cf0: 53 74 61 74 65 6d 65 6e 74 3b 0a 65 78 70 6f 72 Statement;.expor
00000d00: 74 73 2e 66 75 6e 63 74 69 6f 6e 44 65 63 6c 61 ts.functionDecla
00000d10: 72 61 74 69 6f 6e 20 3d 20 66 75 6e 63 74 69 6f ration = functio
00000d20: 6e 44 65 63 6c 61 72 61 74 69 6f 6e 3b 0a 65 78 nDeclaration;.ex
00000d30: 70 6f 72 74 73 2e 66 75 6e 63 74 69 6f 6e 45 78 ports.functionEx
00000d40: 70 72 65 73 73 69 6f 6e 20 3d 20 66 75 6e 63 74 pression = funct
00000d50: 69 6f 6e 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 ionExpression;.e
00000d60: 78 70 6f 72 74 73 2e 66 75 6e 63 74 69 6f 6e 54 xports.functionT
00000d70: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 ypeAnnotation =
00000d80: 66 75 6e 63 74 69 6f 6e 54 79 70 65 41 6e 6e 6f functionTypeAnno
00000d90: 74 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e tation;.exports.
00000da0: 66 75 6e 63 74 69 6f 6e 54 79 70 65 50 61 72 61 functionTypePara
00000db0: 6d 20 3d 20 66 75 6e 63 74 69 6f 6e 54 79 70 65 m = functionType
00000dc0: 50 61 72 61 6d 3b 0a 65 78 70 6f 72 74 73 2e 67 Param;.exports.g
00000dd0: 65 6e 65 72 69 63 54 79 70 65 41 6e 6e 6f 74 61 enericTypeAnnota
00000de0: 74 69 6f 6e 20 3d 20 67 65 6e 65 72 69 63 54 79 tion = genericTy
00000df0: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 78 peAnnotation;.ex
00000e00: 70 6f 72 74 73 2e 69 64 65 6e 74 69 66 69 65 72 ports.identifier
00000e10: 20 3d 20 69 64 65 6e 74 69 66 69 65 72 3b 0a 65 = identifier;.e
00000e20: 78 70 6f 72 74 73 2e 69 66 53 74 61 74 65 6d 65 xports.ifStateme
00000e30: 6e 74 20 3d 20 69 66 53 74 61 74 65 6d 65 6e 74 nt = ifStatement
00000e40: 3b 0a 65 78 70 6f 72 74 73 2e 69 6d 70 6f 72 74 ;.exports.import
00000e50: 20 3d 20 5f 69 6d 70 6f 72 74 3b 0a 65 78 70 6f = _import;.expo
00000e60: 72 74 73 2e 69 6d 70 6f 72 74 41 74 74 72 69 62 rts.importAttrib
00000e70: 75 74 65 20 3d 20 69 6d 70 6f 72 74 41 74 74 72 ute = importAttr
00000e80: 69 62 75 74 65 3b 0a 65 78 70 6f 72 74 73 2e 69 ibute;.exports.i
00000e90: 6d 70 6f 72 74 44 65 63 6c 61 72 61 74 69 6f 6e mportDeclaration
00000ea0: 20 3d 20 69 6d 70 6f 72 74 44 65 63 6c 61 72 61 = importDeclara
00000eb0: 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 69 6d tion;.exports.im
00000ec0: 70 6f 72 74 44 65 66 61 75 6c 74 53 70 65 63 69 portDefaultSpeci
00000ed0: 66 69 65 72 20 3d 20 69 6d 70 6f 72 74 44 65 66 fier = importDef
00000ee0: 61 75 6c 74 53 70 65 63 69 66 69 65 72 3b 0a 65 aultSpecifier;.e
00000ef0: 78 70 6f 72 74 73 2e 69 6d 70 6f 72 74 45 78 70 xports.importExp
00000f00: 72 65 73 73 69 6f 6e 20 3d 20 69 6d 70 6f 72 74 ression = import
00000f10: 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f Expression;.expo
00000f20: 72 74 73 2e 69 6d 70 6f 72 74 4e 61 6d 65 73 70 rts.importNamesp
00000f30: 61 63 65 53 70 65 63 69 66 69 65 72 20 3d 20 69 aceSpecifier = i
00000f40: 6d 70 6f 72 74 4e 61 6d 65 73 70 61 63 65 53 70 mportNamespaceSp
00000f50: 65 63 69 66 69 65 72 3b 0a 65 78 70 6f 72 74 73 ecifier;.exports
00000f60: 2e 69 6d 70 6f 72 74 53 70 65 63 69 66 69 65 72 .importSpecifier
00000f70: 20 3d 20 69 6d 70 6f 72 74 53 70 65 63 69 66 69 = importSpecifi
00000f80: 65 72 3b 0a 65 78 70 6f 72 74 73 2e 69 6e 64 65 er;.exports.inde
00000f90: 78 65 64 41 63 63 65 73 73 54 79 70 65 20 3d 20 xedAccessType =
00000fa0: 69 6e 64 65 78 65 64 41 63 63 65 73 73 54 79 70 indexedAccessTyp
00000fb0: 65 3b 0a 65 78 70 6f 72 74 73 2e 69 6e 66 65 72 e;.exports.infer
00000fc0: 72 65 64 50 72 65 64 69 63 61 74 65 20 3d 20 69 redPredicate = i
00000fd0: 6e 66 65 72 72 65 64 50 72 65 64 69 63 61 74 65 nferredPredicate
00000fe0: 3b 0a 65 78 70 6f 72 74 73 2e 69 6e 74 65 72 66 ;.exports.interf
00000ff0: 61 63 65 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d aceDeclaration =
00001000: 20 69 6e 74 65 72 66 61 63 65 44 65 63 6c 61 72 interfaceDeclar
00001010: 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 69 ation;.exports.i
00001020: 6e 74 65 72 66 61 63 65 45 78 74 65 6e 64 73 20 nterfaceExtends
00001030: 3d 20 69 6e 74 65 72 66 61 63 65 45 78 74 65 6e = interfaceExten
00001040: 64 73 3b 0a 65 78 70 6f 72 74 73 2e 69 6e 74 65 ds;.exports.inte
00001050: 72 66 61 63 65 54 79 70 65 41 6e 6e 6f 74 61 74 rfaceTypeAnnotat
00001060: 69 6f 6e 20 3d 20 69 6e 74 65 72 66 61 63 65 54 ion = interfaceT
00001070: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 ypeAnnotation;.e
00001080: 78 70 6f 72 74 73 2e 69 6e 74 65 72 70 72 65 74 xports.interpret
00001090: 65 72 44 69 72 65 63 74 69 76 65 20 3d 20 69 6e erDirective = in
000010a0: 74 65 72 70 72 65 74 65 72 44 69 72 65 63 74 69 terpreterDirecti
000010b0: 76 65 3b 0a 65 78 70 6f 72 74 73 2e 69 6e 74 65 ve;.exports.inte
000010c0: 72 73 65 63 74 69 6f 6e 54 79 70 65 41 6e 6e 6f rsectionTypeAnno
000010d0: 74 61 74 69 6f 6e 20 3d 20 69 6e 74 65 72 73 65 tation = interse
000010e0: 63 74 69 6f 6e 54 79 70 65 41 6e 6e 6f 74 61 74 ctionTypeAnnotat
000010f0: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 6a 53 58 ion;.exports.jSX
00001100: 41 74 74 72 69 62 75 74 65 20 3d 20 65 78 70 6f Attribute = expo
00001110: 72 74 73 2e 6a 73 78 41 74 74 72 69 62 75 74 65 rts.jsxAttribute
00001120: 20 3d 20 6a 73 78 41 74 74 72 69 62 75 74 65 3b = jsxAttribute;
00001130: 0a 65 78 70 6f 72 74 73 2e 6a 53 58 43 6c 6f 73 .exports.jSXClos
00001140: 69 6e 67 45 6c 65 6d 65 6e 74 20 3d 20 65 78 70 ingElement = exp
00001150: 6f 72 74 73 2e 6a 73 78 43 6c 6f 73 69 6e 67 45 orts.jsxClosingE
00001160: 6c 65 6d 65 6e 74 20 3d 20 6a 73 78 43 6c 6f 73 lement = jsxClos
00001170: 69 6e 67 45 6c 65 6d 65 6e 74 3b 0a 65 78 70 6f ingElement;.expo
00001180: 72 74 73 2e 6a 53 58 43 6c 6f 73 69 6e 67 46 72 rts.jSXClosingFr
00001190: 61 67 6d 65 6e 74 20 3d 20 65 78 70 6f 72 74 73 agment = exports
000011a0: 2e 6a 73 78 43 6c 6f 73 69 6e 67 46 72 61 67 6d .jsxClosingFragm
000011b0: 65 6e 74 20 3d 20 6a 73 78 43 6c 6f 73 69 6e 67 ent = jsxClosing
000011c0: 46 72 61 67 6d 65 6e 74 3b 0a 65 78 70 6f 72 74 Fragment;.export
000011d0: 73 2e 6a 53 58 45 6c 65 6d 65 6e 74 20 3d 20 65 s.jSXElement = e
000011e0: 78 70 6f 72 74 73 2e 6a 73 78 45 6c 65 6d 65 6e xports.jsxElemen
000011f0: 74 20 3d 20 6a 73 78 45 6c 65 6d 65 6e 74 3b 0a t = jsxElement;.
00001200: 65 78 70 6f 72 74 73 2e 6a 53 58 45 6d 70 74 79 exports.jSXEmpty
00001210: 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 65 78 70 Expression = exp
00001220: 6f 72 74 73 2e 6a 73 78 45 6d 70 74 79 45 78 70 orts.jsxEmptyExp
00001230: 72 65 73 73 69 6f 6e 20 3d 20 6a 73 78 45 6d 70 ression = jsxEmp
00001240: 74 79 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 tyExpression;.ex
00001250: 70 6f 72 74 73 2e 6a 53 58 45 78 70 72 65 73 73 ports.jSXExpress
00001260: 69 6f 6e 43 6f 6e 74 61 69 6e 65 72 20 3d 20 65 ionContainer = e
00001270: 78 70 6f 72 74 73 2e 6a 73 78 45 78 70 72 65 73 xports.jsxExpres
00001280: 73 69 6f 6e 43 6f 6e 74 61 69 6e 65 72 20 3d 20 sionContainer =
00001290: 6a 73 78 45 78 70 72 65 73 73 69 6f 6e 43 6f 6e jsxExpressionCon
000012a0: 74 61 69 6e 65 72 3b 0a 65 78 70 6f 72 74 73 2e tainer;.exports.
000012b0: 6a 53 58 46 72 61 67 6d 65 6e 74 20 3d 20 65 78 jSXFragment = ex
000012c0: 70 6f 72 74 73 2e 6a 73 78 46 72 61 67 6d 65 6e ports.jsxFragmen
000012d0: 74 20 3d 20 6a 73 78 46 72 61 67 6d 65 6e 74 3b t = jsxFragment;
000012e0: 0a 65 78 70 6f 72 74 73 2e 6a 53 58 49 64 65 6e .exports.jSXIden
000012f0: 74 69 66 69 65 72 20 3d 20 65 78 70 6f 72 74 73 tifier = exports
00001300: 2e 6a 73 78 49 64 65 6e 74 69 66 69 65 72 20 3d .jsxIdentifier =
00001310: 20 6a 73 78 49 64 65 6e 74 69 66 69 65 72 3b 0a jsxIdentifier;.
00001320: 65 78 70 6f 72 74 73 2e 6a 53 58 4d 65 6d 62 65 exports.jSXMembe
00001330: 72 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 65 78 rExpression = ex
00001340: 70 6f 72 74 73 2e 6a 73 78 4d 65 6d 62 65 72 45 ports.jsxMemberE
00001350: 78 70 72 65 73 73 69 6f 6e 20 3d 20 6a 73 78 4d xpression = jsxM
00001360: 65 6d 62 65 72 45 78 70 72 65 73 73 69 6f 6e 3b emberExpression;
00001370: 0a 65 78 70 6f 72 74 73 2e 6a 53 58 4e 61 6d 65 .exports.jSXName
00001380: 73 70 61 63 65 64 4e 61 6d 65 20 3d 20 65 78 70 spacedName = exp
00001390: 6f 72 74 73 2e 6a 73 78 4e 61 6d 65 73 70 61 63 orts.jsxNamespac
000013a0: 65 64 4e 61 6d 65 20 3d 20 6a 73 78 4e 61 6d 65 edName = jsxName
000013b0: 73 70 61 63 65 64 4e 61 6d 65 3b 0a 65 78 70 6f spacedName;.expo
000013c0: 72 74 73 2e 6a 53 58 4f 70 65 6e 69 6e 67 45 6c rts.jSXOpeningEl
000013d0: 65 6d 65 6e 74 20 3d 20 65 78 70 6f 72 74 73 2e ement = exports.
000013e0: 6a 73 78 4f 70 65 6e 69 6e 67 45 6c 65 6d 65 6e jsxOpeningElemen
000013f0: 74 20 3d 20 6a 73 78 4f 70 65 6e 69 6e 67 45 6c t = jsxOpeningEl
00001400: 65 6d 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 6a ement;.exports.j
00001410: 53 58 4f 70 65 6e 69 6e 67 46 72 61 67 6d 65 6e SXOpeningFragmen
00001420: 74 20 3d 20 65 78 70 6f 72 74 73 2e 6a 73 78 4f t = exports.jsxO
00001430: 70 65 6e 69 6e 67 46 72 61 67 6d 65 6e 74 20 3d peningFragment =
00001440: 20 6a 73 78 4f 70 65 6e 69 6e 67 46 72 61 67 6d jsxOpeningFragm
00001450: 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 6a 53 58 ent;.exports.jSX
00001460: 53 70 72 65 61 64 41 74 74 72 69 62 75 74 65 20 SpreadAttribute
00001470: 3d 20 65 78 70 6f 72 74 73 2e 6a 73 78 53 70 72 = exports.jsxSpr
00001480: 65 61 64 41 74 74 72 69 62 75 74 65 20 3d 20 6a eadAttribute = j
00001490: 73 78 53 70 72 65 61 64 41 74 74 72 69 62 75 74 sxSpreadAttribut
000014a0: 65 3b 0a 65 78 70 6f 72 74 73 2e 6a 53 58 53 70 e;.exports.jSXSp
000014b0: 72 65 61 64 43 68 69 6c 64 20 3d 20 65 78 70 6f readChild = expo
000014c0: 72 74 73 2e 6a 73 78 53 70 72 65 61 64 43 68 69 rts.jsxSpreadChi
000014d0: 6c 64 20 3d 20 6a 73 78 53 70 72 65 61 64 43 68 ld = jsxSpreadCh
000014e0: 69 6c 64 3b 0a 65 78 70 6f 72 74 73 2e 6a 53 58 ild;.exports.jSX
000014f0: 54 65 78 74 20 3d 20 65 78 70 6f 72 74 73 2e 6a Text = exports.j
00001500: 73 78 54 65 78 74 20 3d 20 6a 73 78 54 65 78 74 sxText = jsxText
00001510: 3b 0a 65 78 70 6f 72 74 73 2e 6c 61 62 65 6c 65 ;.exports.labele
00001520: 64 53 74 61 74 65 6d 65 6e 74 20 3d 20 6c 61 62 dStatement = lab
00001530: 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 3b 0a 65 eledStatement;.e
00001540: 78 70 6f 72 74 73 2e 6c 6f 67 69 63 61 6c 45 78 xports.logicalEx
00001550: 70 72 65 73 73 69 6f 6e 20 3d 20 6c 6f 67 69 63 pression = logic
00001560: 61 6c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 alExpression;.ex
00001570: 70 6f 72 74 73 2e 6d 65 6d 62 65 72 45 78 70 72 ports.memberExpr
00001580: 65 73 73 69 6f 6e 20 3d 20 6d 65 6d 62 65 72 45 ession = memberE
00001590: 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f 72 xpression;.expor
000015a0: 74 73 2e 6d 65 74 61 50 72 6f 70 65 72 74 79 20 ts.metaProperty
000015b0: 3d 20 6d 65 74 61 50 72 6f 70 65 72 74 79 3b 0a = metaProperty;.
000015c0: 65 78 70 6f 72 74 73 2e 6d 69 78 65 64 54 79 70 exports.mixedTyp
000015d0: 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 6d 69 eAnnotation = mi
000015e0: 78 65 64 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f xedTypeAnnotatio
000015f0: 6e 3b 0a 65 78 70 6f 72 74 73 2e 6d 6f 64 75 6c n;.exports.modul
00001600: 65 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 6d 6f eExpression = mo
00001610: 64 75 6c 65 45 78 70 72 65 73 73 69 6f 6e 3b 0a duleExpression;.
00001620: 65 78 70 6f 72 74 73 2e 6e 65 77 45 78 70 72 65 exports.newExpre
00001630: 73 73 69 6f 6e 20 3d 20 6e 65 77 45 78 70 72 65 ssion = newExpre
00001640: 73 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 6e ssion;.exports.n
00001650: 6f 6f 70 20 3d 20 6e 6f 6f 70 3b 0a 65 78 70 6f oop = noop;.expo
00001660: 72 74 73 2e 6e 75 6c 6c 4c 69 74 65 72 61 6c 20 rts.nullLiteral
00001670: 3d 20 6e 75 6c 6c 4c 69 74 65 72 61 6c 3b 0a 65 = nullLiteral;.e
00001680: 78 70 6f 72 74 73 2e 6e 75 6c 6c 4c 69 74 65 72 xports.nullLiter
00001690: 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e alTypeAnnotation
000016a0: 20 3d 20 6e 75 6c 6c 4c 69 74 65 72 61 6c 54 79 = nullLiteralTy
000016b0: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 78 peAnnotation;.ex
000016c0: 70 6f 72 74 73 2e 6e 75 6c 6c 61 62 6c 65 54 79 ports.nullableTy
000016d0: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 6e peAnnotation = n
000016e0: 75 6c 6c 61 62 6c 65 54 79 70 65 41 6e 6e 6f 74 ullableTypeAnnot
000016f0: 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 6e ation;.exports.n
00001700: 75 6d 62 65 72 4c 69 74 65 72 61 6c 20 3d 20 4e umberLiteral = N
00001710: 75 6d 62 65 72 4c 69 74 65 72 61 6c 3b 0a 65 78 umberLiteral;.ex
00001720: 70 6f 72 74 73 2e 6e 75 6d 62 65 72 4c 69 74 65 ports.numberLite
00001730: 72 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f ralTypeAnnotatio
00001740: 6e 20 3d 20 6e 75 6d 62 65 72 4c 69 74 65 72 61 n = numberLitera
00001750: 6c 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b lTypeAnnotation;
00001760: 0a 65 78 70 6f 72 74 73 2e 6e 75 6d 62 65 72 54 .exports.numberT
00001770: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 ypeAnnotation =
00001780: 6e 75 6d 62 65 72 54 79 70 65 41 6e 6e 6f 74 61 numberTypeAnnota
00001790: 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 6e 75 tion;.exports.nu
000017a0: 6d 65 72 69 63 4c 69 74 65 72 61 6c 20 3d 20 6e mericLiteral = n
000017b0: 75 6d 65 72 69 63 4c 69 74 65 72 61 6c 3b 0a 65 umericLiteral;.e
000017c0: 78 70 6f 72 74 73 2e 6f 62 6a 65 63 74 45 78 70 xports.objectExp
000017d0: 72 65 73 73 69 6f 6e 20 3d 20 6f 62 6a 65 63 74 ression = object
000017e0: 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f Expression;.expo
000017f0: 72 74 73 2e 6f 62 6a 65 63 74 4d 65 74 68 6f 64 rts.objectMethod
00001800: 20 3d 20 6f 62 6a 65 63 74 4d 65 74 68 6f 64 3b = objectMethod;
00001810: 0a 65 78 70 6f 72 74 73 2e 6f 62 6a 65 63 74 50 .exports.objectP
00001820: 61 74 74 65 72 6e 20 3d 20 6f 62 6a 65 63 74 50 attern = objectP
00001830: 61 74 74 65 72 6e 3b 0a 65 78 70 6f 72 74 73 2e attern;.exports.
00001840: 6f 62 6a 65 63 74 50 72 6f 70 65 72 74 79 20 3d objectProperty =
00001850: 20 6f 62 6a 65 63 74 50 72 6f 70 65 72 74 79 3b objectProperty;
00001860: 0a 65 78 70 6f 72 74 73 2e 6f 62 6a 65 63 74 54 .exports.objectT
00001870: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 ypeAnnotation =
00001880: 6f 62 6a 65 63 74 54 79 70 65 41 6e 6e 6f 74 61 objectTypeAnnota
00001890: 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 6f 62 tion;.exports.ob
000018a0: 6a 65 63 74 54 79 70 65 43 61 6c 6c 50 72 6f 70 jectTypeCallProp
000018b0: 65 72 74 79 20 3d 20 6f 62 6a 65 63 74 54 79 70 erty = objectTyp
000018c0: 65 43 61 6c 6c 50 72 6f 70 65 72 74 79 3b 0a 65 eCallProperty;.e
000018d0: 78 70 6f 72 74 73 2e 6f 62 6a 65 63 74 54 79 70 xports.objectTyp
000018e0: 65 49 6e 64 65 78 65 72 20 3d 20 6f 62 6a 65 63 eIndexer = objec
000018f0: 74 54 79 70 65 49 6e 64 65 78 65 72 3b 0a 65 78 tTypeIndexer;.ex
00001900: 70 6f 72 74 73 2e 6f 62 6a 65 63 74 54 79 70 65 ports.objectType
00001910: 49 6e 74 65 72 6e 61 6c 53 6c 6f 74 20 3d 20 6f InternalSlot = o
00001920: 62 6a 65 63 74 54 79 70 65 49 6e 74 65 72 6e 61 bjectTypeInterna
00001930: 6c 53 6c 6f 74 3b 0a 65 78 70 6f 72 74 73 2e 6f lSlot;.exports.o
00001940: 62 6a 65 63 74 54 79 70 65 50 72 6f 70 65 72 74 bjectTypePropert
00001950: 79 20 3d 20 6f 62 6a 65 63 74 54 79 70 65 50 72 y = objectTypePr
00001960: 6f 70 65 72 74 79 3b 0a 65 78 70 6f 72 74 73 2e operty;.exports.
00001970: 6f 62 6a 65 63 74 54 79 70 65 53 70 72 65 61 64 objectTypeSpread
00001980: 50 72 6f 70 65 72 74 79 20 3d 20 6f 62 6a 65 63 Property = objec
00001990: 74 54 79 70 65 53 70 72 65 61 64 50 72 6f 70 65 tTypeSpreadPrope
000019a0: 72 74 79 3b 0a 65 78 70 6f 72 74 73 2e 6f 70 61 rty;.exports.opa
000019b0: 71 75 65 54 79 70 65 20 3d 20 6f 70 61 71 75 65 queType = opaque
000019c0: 54 79 70 65 3b 0a 65 78 70 6f 72 74 73 2e 6f 70 Type;.exports.op
000019d0: 74 69 6f 6e 61 6c 43 61 6c 6c 45 78 70 72 65 73 tionalCallExpres
000019e0: 73 69 6f 6e 20 3d 20 6f 70 74 69 6f 6e 61 6c 43 sion = optionalC
000019f0: 61 6c 6c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 allExpression;.e
00001a00: 78 70 6f 72 74 73 2e 6f 70 74 69 6f 6e 61 6c 49 xports.optionalI
00001a10: 6e 64 65 78 65 64 41 63 63 65 73 73 54 79 70 65 ndexedAccessType
00001a20: 20 3d 20 6f 70 74 69 6f 6e 61 6c 49 6e 64 65 78 = optionalIndex
00001a30: 65 64 41 63 63 65 73 73 54 79 70 65 3b 0a 65 78 edAccessType;.ex
00001a40: 70 6f 72 74 73 2e 6f 70 74 69 6f 6e 61 6c 4d 65 ports.optionalMe
00001a50: 6d 62 65 72 45 78 70 72 65 73 73 69 6f 6e 20 3d mberExpression =
00001a60: 20 6f 70 74 69 6f 6e 61 6c 4d 65 6d 62 65 72 45 optionalMemberE
00001a70: 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f 72 xpression;.expor
00001a80: 74 73 2e 70 61 72 65 6e 74 68 65 73 69 7a 65 64 ts.parenthesized
00001a90: 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 70 61 72 Expression = par
00001aa0: 65 6e 74 68 65 73 69 7a 65 64 45 78 70 72 65 73 enthesizedExpres
00001ab0: 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 70 69 sion;.exports.pi
00001ac0: 70 65 6c 69 6e 65 42 61 72 65 46 75 6e 63 74 69 pelineBareFuncti
00001ad0: 6f 6e 20 3d 20 70 69 70 65 6c 69 6e 65 42 61 72 on = pipelineBar
00001ae0: 65 46 75 6e 63 74 69 6f 6e 3b 0a 65 78 70 6f 72 eFunction;.expor
00001af0: 74 73 2e 70 69 70 65 6c 69 6e 65 50 72 69 6d 61 ts.pipelinePrima
00001b00: 72 79 54 6f 70 69 63 52 65 66 65 72 65 6e 63 65 ryTopicReference
00001b10: 20 3d 20 70 69 70 65 6c 69 6e 65 50 72 69 6d 61 = pipelinePrima
00001b20: 72 79 54 6f 70 69 63 52 65 66 65 72 65 6e 63 65 ryTopicReference
00001b30: 3b 0a 65 78 70 6f 72 74 73 2e 70 69 70 65 6c 69 ;.exports.pipeli
00001b40: 6e 65 54 6f 70 69 63 45 78 70 72 65 73 73 69 6f neTopicExpressio
00001b50: 6e 20 3d 20 70 69 70 65 6c 69 6e 65 54 6f 70 69 n = pipelineTopi
00001b60: 63 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 cExpression;.exp
00001b70: 6f 72 74 73 2e 70 6c 61 63 65 68 6f 6c 64 65 72 orts.placeholder
00001b80: 20 3d 20 70 6c 61 63 65 68 6f 6c 64 65 72 3b 0a = placeholder;.
00001b90: 65 78 70 6f 72 74 73 2e 70 72 69 76 61 74 65 4e exports.privateN
00001ba0: 61 6d 65 20 3d 20 70 72 69 76 61 74 65 4e 61 6d ame = privateNam
00001bb0: 65 3b 0a 65 78 70 6f 72 74 73 2e 70 72 6f 67 72 e;.exports.progr
00001bc0: 61 6d 20 3d 20 70 72 6f 67 72 61 6d 3b 0a 65 78 am = program;.ex
00001bd0: 70 6f 72 74 73 2e 71 75 61 6c 69 66 69 65 64 54 ports.qualifiedT
00001be0: 79 70 65 49 64 65 6e 74 69 66 69 65 72 20 3d 20 ypeIdentifier =
00001bf0: 71 75 61 6c 69 66 69 65 64 54 79 70 65 49 64 65 qualifiedTypeIde
00001c00: 6e 74 69 66 69 65 72 3b 0a 65 78 70 6f 72 74 73 ntifier;.exports
00001c10: 2e 72 65 63 6f 72 64 45 78 70 72 65 73 73 69 6f .recordExpressio
00001c20: 6e 20 3d 20 72 65 63 6f 72 64 45 78 70 72 65 73 n = recordExpres
00001c30: 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 72 65 sion;.exports.re
00001c40: 67 45 78 70 4c 69 74 65 72 61 6c 20 3d 20 72 65 gExpLiteral = re
00001c50: 67 45 78 70 4c 69 74 65 72 61 6c 3b 0a 65 78 70 gExpLiteral;.exp
00001c60: 6f 72 74 73 2e 72 65 67 65 78 4c 69 74 65 72 61 orts.regexLitera
00001c70: 6c 20 3d 20 52 65 67 65 78 4c 69 74 65 72 61 6c l = RegexLiteral
00001c80: 3b 0a 65 78 70 6f 72 74 73 2e 72 65 73 74 45 6c ;.exports.restEl
00001c90: 65 6d 65 6e 74 20 3d 20 72 65 73 74 45 6c 65 6d ement = restElem
00001ca0: 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 72 65 73 ent;.exports.res
00001cb0: 74 50 72 6f 70 65 72 74 79 20 3d 20 52 65 73 74 tProperty = Rest
00001cc0: 50 72 6f 70 65 72 74 79 3b 0a 65 78 70 6f 72 74 Property;.export
00001cd0: 73 2e 72 65 74 75 72 6e 53 74 61 74 65 6d 65 6e s.returnStatemen
00001ce0: 74 20 3d 20 72 65 74 75 72 6e 53 74 61 74 65 6d t = returnStatem
00001cf0: 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 73 65 71 ent;.exports.seq
00001d00: 75 65 6e 63 65 45 78 70 72 65 73 73 69 6f 6e 20 uenceExpression
00001d10: 3d 20 73 65 71 75 65 6e 63 65 45 78 70 72 65 73 = sequenceExpres
00001d20: 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 73 70 sion;.exports.sp
00001d30: 72 65 61 64 45 6c 65 6d 65 6e 74 20 3d 20 73 70 readElement = sp
00001d40: 72 65 61 64 45 6c 65 6d 65 6e 74 3b 0a 65 78 70 readElement;.exp
00001d50: 6f 72 74 73 2e 73 70 72 65 61 64 50 72 6f 70 65 orts.spreadPrope
00001d60: 72 74 79 20 3d 20 53 70 72 65 61 64 50 72 6f 70 rty = SpreadProp
00001d70: 65 72 74 79 3b 0a 65 78 70 6f 72 74 73 2e 73 74 erty;.exports.st
00001d80: 61 74 69 63 42 6c 6f 63 6b 20 3d 20 73 74 61 74 aticBlock = stat
00001d90: 69 63 42 6c 6f 63 6b 3b 0a 65 78 70 6f 72 74 73 icBlock;.exports
00001da0: 2e 73 74 72 69 6e 67 4c 69 74 65 72 61 6c 20 3d .stringLiteral =
00001db0: 20 73 74 72 69 6e 67 4c 69 74 65 72 61 6c 3b 0a stringLiteral;.
00001dc0: 65 78 70 6f 72 74 73 2e 73 74 72 69 6e 67 4c 69 exports.stringLi
00001dd0: 74 65 72 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 teralTypeAnnotat
00001de0: 69 6f 6e 20 3d 20 73 74 72 69 6e 67 4c 69 74 65 ion = stringLite
00001df0: 72 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f ralTypeAnnotatio
00001e00: 6e 3b 0a 65 78 70 6f 72 74 73 2e 73 74 72 69 6e n;.exports.strin
00001e10: 67 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 gTypeAnnotation
00001e20: 3d 20 73 74 72 69 6e 67 54 79 70 65 41 6e 6e 6f = stringTypeAnno
00001e30: 74 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e tation;.exports.
00001e40: 73 75 70 65 72 20 3d 20 5f 73 75 70 65 72 3b 0a super = _super;.
00001e50: 65 78 70 6f 72 74 73 2e 73 77 69 74 63 68 43 61 exports.switchCa
00001e60: 73 65 20 3d 20 73 77 69 74 63 68 43 61 73 65 3b se = switchCase;
00001e70: 0a 65 78 70 6f 72 74 73 2e 73 77 69 74 63 68 53 .exports.switchS
00001e80: 74 61 74 65 6d 65 6e 74 20 3d 20 73 77 69 74 63 tatement = switc
00001e90: 68 53 74 61 74 65 6d 65 6e 74 3b 0a 65 78 70 6f hStatement;.expo
00001ea0: 72 74 73 2e 73 79 6d 62 6f 6c 54 79 70 65 41 6e rts.symbolTypeAn
00001eb0: 6e 6f 74 61 74 69 6f 6e 20 3d 20 73 79 6d 62 6f notation = symbo
00001ec0: 6c 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b lTypeAnnotation;
00001ed0: 0a 65 78 70 6f 72 74 73 2e 74 61 67 67 65 64 54 .exports.taggedT
00001ee0: 65 6d 70 6c 61 74 65 45 78 70 72 65 73 73 69 6f emplateExpressio
00001ef0: 6e 20 3d 20 74 61 67 67 65 64 54 65 6d 70 6c 61 n = taggedTempla
00001f00: 74 65 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 teExpression;.ex
00001f10: 70 6f 72 74 73 2e 74 65 6d 70 6c 61 74 65 45 6c ports.templateEl
00001f20: 65 6d 65 6e 74 20 3d 20 74 65 6d 70 6c 61 74 65 ement = template
00001f30: 45 6c 65 6d 65 6e 74 3b 0a 65 78 70 6f 72 74 73 Element;.exports
00001f40: 2e 74 65 6d 70 6c 61 74 65 4c 69 74 65 72 61 6c .templateLiteral
00001f50: 20 3d 20 74 65 6d 70 6c 61 74 65 4c 69 74 65 72 = templateLiter
00001f60: 61 6c 3b 0a 65 78 70 6f 72 74 73 2e 74 68 69 73 al;.exports.this
00001f70: 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 74 68 69 Expression = thi
00001f80: 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 sExpression;.exp
00001f90: 6f 72 74 73 2e 74 68 69 73 54 79 70 65 41 6e 6e orts.thisTypeAnn
00001fa0: 6f 74 61 74 69 6f 6e 20 3d 20 74 68 69 73 54 79 otation = thisTy
00001fb0: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 78 peAnnotation;.ex
00001fc0: 70 6f 72 74 73 2e 74 68 72 6f 77 53 74 61 74 65 ports.throwState
00001fd0: 6d 65 6e 74 20 3d 20 74 68 72 6f 77 53 74 61 74 ment = throwStat
00001fe0: 65 6d 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 74 ement;.exports.t
00001ff0: 6f 70 69 63 52 65 66 65 72 65 6e 63 65 20 3d 20 opicReference =
00002000: 74 6f 70 69 63 52 65 66 65 72 65 6e 63 65 3b 0a topicReference;.
00002010: 65 78 70 6f 72 74 73 2e 74 72 79 53 74 61 74 65 exports.tryState
00002020: 6d 65 6e 74 20 3d 20 74 72 79 53 74 61 74 65 6d ment = tryStatem
00002030: 65 6e 74 3b 0a 65 78 70 6f 72 74 73 2e 74 53 41 ent;.exports.tSA
00002040: 6e 79 4b 65 79 77 6f 72 64 20 3d 20 65 78 70 6f nyKeyword = expo
00002050: 72 74 73 2e 74 73 41 6e 79 4b 65 79 77 6f 72 64 rts.tsAnyKeyword
00002060: 20 3d 20 74 73 41 6e 79 4b 65 79 77 6f 72 64 3b = tsAnyKeyword;
00002070: 0a 65 78 70 6f 72 74 73 2e 74 53 41 72 72 61 79 .exports.tSArray
00002080: 54 79 70 65 20 3d 20 65 78 70 6f 72 74 73 2e 74 Type = exports.t
00002090: 73 41 72 72 61 79 54 79 70 65 20 3d 20 74 73 41 sArrayType = tsA
000020a0: 72 72 61 79 54 79 70 65 3b 0a 65 78 70 6f 72 74 rrayType;.export
000020b0: 73 2e 74 53 41 73 45 78 70 72 65 73 73 69 6f 6e s.tSAsExpression
000020c0: 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 41 73 45 = exports.tsAsE
000020d0: 78 70 72 65 73 73 69 6f 6e 20 3d 20 74 73 41 73 xpression = tsAs
000020e0: 45 78 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f Expression;.expo
000020f0: 72 74 73 2e 74 53 42 69 67 49 6e 74 4b 65 79 77 rts.tSBigIntKeyw
00002100: 6f 72 64 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 ord = exports.ts
00002110: 42 69 67 49 6e 74 4b 65 79 77 6f 72 64 20 3d 20 BigIntKeyword =
00002120: 74 73 42 69 67 49 6e 74 4b 65 79 77 6f 72 64 3b tsBigIntKeyword;
00002130: 0a 65 78 70 6f 72 74 73 2e 74 53 42 6f 6f 6c 65 .exports.tSBoole
00002140: 61 6e 4b 65 79 77 6f 72 64 20 3d 20 65 78 70 6f anKeyword = expo
00002150: 72 74 73 2e 74 73 42 6f 6f 6c 65 61 6e 4b 65 79 rts.tsBooleanKey
00002160: 77 6f 72 64 20 3d 20 74 73 42 6f 6f 6c 65 61 6e word = tsBoolean
00002170: 4b 65 79 77 6f 72 64 3b 0a 65 78 70 6f 72 74 73 Keyword;.exports
00002180: 2e 74 53 43 61 6c 6c 53 69 67 6e 61 74 75 72 65 .tSCallSignature
00002190: 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 65 78 Declaration = ex
000021a0: 70 6f 72 74 73 2e 74 73 43 61 6c 6c 53 69 67 6e ports.tsCallSign
000021b0: 61 74 75 72 65 44 65 63 6c 61 72 61 74 69 6f 6e atureDeclaration
000021c0: 20 3d 20 74 73 43 61 6c 6c 53 69 67 6e 61 74 75 = tsCallSignatu
000021d0: 72 65 44 65 63 6c 61 72 61 74 69 6f 6e 3b 0a 65 reDeclaration;.e
000021e0: 78 70 6f 72 74 73 2e 74 53 43 6f 6e 64 69 74 69 xports.tSConditi
000021f0: 6f 6e 61 6c 54 79 70 65 20 3d 20 65 78 70 6f 72 onalType = expor
00002200: 74 73 2e 74 73 43 6f 6e 64 69 74 69 6f 6e 61 6c ts.tsConditional
00002210: 54 79 70 65 20 3d 20 74 73 43 6f 6e 64 69 74 69 Type = tsConditi
00002220: 6f 6e 61 6c 54 79 70 65 3b 0a 65 78 70 6f 72 74 onalType;.export
00002230: 73 2e 74 53 43 6f 6e 73 74 72 75 63 74 53 69 67 s.tSConstructSig
00002240: 6e 61 74 75 72 65 44 65 63 6c 61 72 61 74 69 6f natureDeclaratio
00002250: 6e 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 43 6f n = exports.tsCo
00002260: 6e 73 74 72 75 63 74 53 69 67 6e 61 74 75 72 65 nstructSignature
00002270: 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 74 73 Declaration = ts
00002280: 43 6f 6e 73 74 72 75 63 74 53 69 67 6e 61 74 75 ConstructSignatu
00002290: 72 65 44 65 63 6c 61 72 61 74 69 6f 6e 3b 0a 65 reDeclaration;.e
000022a0: 78 70 6f 72 74 73 2e 74 53 43 6f 6e 73 74 72 75 xports.tSConstru
000022b0: 63 74 6f 72 54 79 70 65 20 3d 20 65 78 70 6f 72 ctorType = expor
000022c0: 74 73 2e 74 73 43 6f 6e 73 74 72 75 63 74 6f 72 ts.tsConstructor
000022d0: 54 79 70 65 20 3d 20 74 73 43 6f 6e 73 74 72 75 Type = tsConstru
000022e0: 63 74 6f 72 54 79 70 65 3b 0a 65 78 70 6f 72 74 ctorType;.export
000022f0: 73 2e 74 53 44 65 63 6c 61 72 65 46 75 6e 63 74 s.tSDeclareFunct
00002300: 69 6f 6e 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 ion = exports.ts
00002310: 44 65 63 6c 61 72 65 46 75 6e 63 74 69 6f 6e 20 DeclareFunction
00002320: 3d 20 74 73 44 65 63 6c 61 72 65 46 75 6e 63 74 = tsDeclareFunct
00002330: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 53 44 ion;.exports.tSD
00002340: 65 63 6c 61 72 65 4d 65 74 68 6f 64 20 3d 20 65 eclareMethod = e
00002350: 78 70 6f 72 74 73 2e 74 73 44 65 63 6c 61 72 65 xports.tsDeclare
00002360: 4d 65 74 68 6f 64 20 3d 20 74 73 44 65 63 6c 61 Method = tsDecla
00002370: 72 65 4d 65 74 68 6f 64 3b 0a 65 78 70 6f 72 74 reMethod;.export
00002380: 73 2e 74 53 45 6e 75 6d 44 65 63 6c 61 72 61 74 s.tSEnumDeclarat
00002390: 69 6f 6e 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 ion = exports.ts
000023a0: 45 6e 75 6d 44 65 63 6c 61 72 61 74 69 6f 6e 20 EnumDeclaration
000023b0: 3d 20 74 73 45 6e 75 6d 44 65 63 6c 61 72 61 74 = tsEnumDeclarat
000023c0: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 53 45 ion;.exports.tSE
000023d0: 6e 75 6d 4d 65 6d 62 65 72 20 3d 20 65 78 70 6f numMember = expo
000023e0: 72 74 73 2e 74 73 45 6e 75 6d 4d 65 6d 62 65 72 rts.tsEnumMember
000023f0: 20 3d 20 74 73 45 6e 75 6d 4d 65 6d 62 65 72 3b = tsEnumMember;
00002400: 0a 65 78 70 6f 72 74 73 2e 74 53 45 78 70 6f 72 .exports.tSExpor
00002410: 74 41 73 73 69 67 6e 6d 65 6e 74 20 3d 20 65 78 tAssignment = ex
00002420: 70 6f 72 74 73 2e 74 73 45 78 70 6f 72 74 41 73 ports.tsExportAs
00002430: 73 69 67 6e 6d 65 6e 74 20 3d 20 74 73 45 78 70 signment = tsExp
00002440: 6f 72 74 41 73 73 69 67 6e 6d 65 6e 74 3b 0a 65 ortAssignment;.e
00002450: 78 70 6f 72 74 73 2e 74 53 45 78 70 72 65 73 73 xports.tSExpress
00002460: 69 6f 6e 57 69 74 68 54 79 70 65 41 72 67 75 6d ionWithTypeArgum
00002470: 65 6e 74 73 20 3d 20 65 78 70 6f 72 74 73 2e 74 ents = exports.t
00002480: 73 45 78 70 72 65 73 73 69 6f 6e 57 69 74 68 54 sExpressionWithT
00002490: 79 70 65 41 72 67 75 6d 65 6e 74 73 20 3d 20 74 ypeArguments = t
000024a0: 73 45 78 70 72 65 73 73 69 6f 6e 57 69 74 68 54 sExpressionWithT
000024b0: 79 70 65 41 72 67 75 6d 65 6e 74 73 3b 0a 65 78 ypeArguments;.ex
000024c0: 70 6f 72 74 73 2e 74 53 45 78 74 65 72 6e 61 6c ports.tSExternal
000024d0: 4d 6f 64 75 6c 65 52 65 66 65 72 65 6e 63 65 20 ModuleReference
000024e0: 3d 20 65 78 70 6f 72 74 73 2e 74 73 45 78 74 65 = exports.tsExte
000024f0: 72 6e 61 6c 4d 6f 64 75 6c 65 52 65 66 65 72 65 rnalModuleRefere
00002500: 6e 63 65 20 3d 20 74 73 45 78 74 65 72 6e 61 6c nce = tsExternal
00002510: 4d 6f 64 75 6c 65 52 65 66 65 72 65 6e 63 65 3b ModuleReference;
00002520: 0a 65 78 70 6f 72 74 73 2e 74 53 46 75 6e 63 74 .exports.tSFunct
00002530: 69 6f 6e 54 79 70 65 20 3d 20 65 78 70 6f 72 74 ionType = export
00002540: 73 2e 74 73 46 75 6e 63 74 69 6f 6e 54 79 70 65 s.tsFunctionType
00002550: 20 3d 20 74 73 46 75 6e 63 74 69 6f 6e 54 79 70 = tsFunctionTyp
00002560: 65 3b 0a 65 78 70 6f 72 74 73 2e 74 53 49 6d 70 e;.exports.tSImp
00002570: 6f 72 74 45 71 75 61 6c 73 44 65 63 6c 61 72 61 ortEqualsDeclara
00002580: 74 69 6f 6e 20 3d 20 65 78 70 6f 72 74 73 2e 74 tion = exports.t
00002590: 73 49 6d 70 6f 72 74 45 71 75 61 6c 73 44 65 63 sImportEqualsDec
000025a0: 6c 61 72 61 74 69 6f 6e 20 3d 20 74 73 49 6d 70 laration = tsImp
000025b0: 6f 72 74 45 71 75 61 6c 73 44 65 63 6c 61 72 61 ortEqualsDeclara
000025c0: 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 53 tion;.exports.tS
000025d0: 49 6d 70 6f 72 74 54 79 70 65 20 3d 20 65 78 70 ImportType = exp
000025e0: 6f 72 74 73 2e 74 73 49 6d 70 6f 72 74 54 79 70 orts.tsImportTyp
000025f0: 65 20 3d 20 74 73 49 6d 70 6f 72 74 54 79 70 65 e = tsImportType
00002600: 3b 0a 65 78 70 6f 72 74 73 2e 74 53 49 6e 64 65 ;.exports.tSInde
00002610: 78 53 69 67 6e 61 74 75 72 65 20 3d 20 65 78 70 xSignature = exp
00002620: 6f 72 74 73 2e 74 73 49 6e 64 65 78 53 69 67 6e orts.tsIndexSign
00002630: 61 74 75 72 65 20 3d 20 74 73 49 6e 64 65 78 53 ature = tsIndexS
00002640: 69 67 6e 61 74 75 72 65 3b 0a 65 78 70 6f 72 74 ignature;.export
00002650: 73 2e 74 53 49 6e 64 65 78 65 64 41 63 63 65 73 s.tSIndexedAcces
00002660: 73 54 79 70 65 20 3d 20 65 78 70 6f 72 74 73 2e sType = exports.
00002670: 74 73 49 6e 64 65 78 65 64 41 63 63 65 73 73 54 tsIndexedAccessT
00002680: 79 70 65 20 3d 20 74 73 49 6e 64 65 78 65 64 41 ype = tsIndexedA
00002690: 63 63 65 73 73 54 79 70 65 3b 0a 65 78 70 6f 72 ccessType;.expor
000026a0: 74 73 2e 74 53 49 6e 66 65 72 54 79 70 65 20 3d ts.tSInferType =
000026b0: 20 65 78 70 6f 72 74 73 2e 74 73 49 6e 66 65 72 exports.tsInfer
000026c0: 54 79 70 65 20 3d 20 74 73 49 6e 66 65 72 54 79 Type = tsInferTy
000026d0: 70 65 3b 0a 65 78 70 6f 72 74 73 2e 74 53 49 6e pe;.exports.tSIn
000026e0: 73 74 61 6e 74 69 61 74 69 6f 6e 45 78 70 72 65 stantiationExpre
000026f0: 73 73 69 6f 6e 20 3d 20 65 78 70 6f 72 74 73 2e ssion = exports.
00002700: 74 73 49 6e 73 74 61 6e 74 69 61 74 69 6f 6e 45 tsInstantiationE
00002710: 78 70 72 65 73 73 69 6f 6e 20 3d 20 74 73 49 6e xpression = tsIn
00002720: 73 74 61 6e 74 69 61 74 69 6f 6e 45 78 70 72 65 stantiationExpre
00002730: 73 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 ssion;.exports.t
00002740: 53 49 6e 74 65 72 66 61 63 65 42 6f 64 79 20 3d SInterfaceBody =
00002750: 20 65 78 70 6f 72 74 73 2e 74 73 49 6e 74 65 72 exports.tsInter
00002760: 66 61 63 65 42 6f 64 79 20 3d 20 74 73 49 6e 74 faceBody = tsInt
00002770: 65 72 66 61 63 65 42 6f 64 79 3b 0a 65 78 70 6f erfaceBody;.expo
00002780: 72 74 73 2e 74 53 49 6e 74 65 72 66 61 63 65 44 rts.tSInterfaceD
00002790: 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 65 78 70 eclaration = exp
000027a0: 6f 72 74 73 2e 74 73 49 6e 74 65 72 66 61 63 65 orts.tsInterface
000027b0: 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 74 73 Declaration = ts
000027c0: 49 6e 74 65 72 66 61 63 65 44 65 63 6c 61 72 61 InterfaceDeclara
000027d0: 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 53 tion;.exports.tS
000027e0: 49 6e 74 65 72 73 65 63 74 69 6f 6e 54 79 70 65 IntersectionType
000027f0: 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 49 6e 74 = exports.tsInt
00002800: 65 72 73 65 63 74 69 6f 6e 54 79 70 65 20 3d 20 ersectionType =
00002810: 74 73 49 6e 74 65 72 73 65 63 74 69 6f 6e 54 79 tsIntersectionTy
00002820: 70 65 3b 0a 65 78 70 6f 72 74 73 2e 74 53 49 6e pe;.exports.tSIn
00002830: 74 72 69 6e 73 69 63 4b 65 79 77 6f 72 64 20 3d trinsicKeyword =
00002840: 20 65 78 70 6f 72 74 73 2e 74 73 49 6e 74 72 69 exports.tsIntri
00002850: 6e 73 69 63 4b 65 79 77 6f 72 64 20 3d 20 74 73 nsicKeyword = ts
00002860: 49 6e 74 72 69 6e 73 69 63 4b 65 79 77 6f 72 64 IntrinsicKeyword
00002870: 3b 0a 65 78 70 6f 72 74 73 2e 74 53 4c 69 74 65 ;.exports.tSLite
00002880: 72 61 6c 54 79 70 65 20 3d 20 65 78 70 6f 72 74 ralType = export
00002890: 73 2e 74 73 4c 69 74 65 72 61 6c 54 79 70 65 20 s.tsLiteralType
000028a0: 3d 20 74 73 4c 69 74 65 72 61 6c 54 79 70 65 3b = tsLiteralType;
000028b0: 0a 65 78 70 6f 72 74 73 2e 74 53 4d 61 70 70 65 .exports.tSMappe
000028c0: 64 54 79 70 65 20 3d 20 65 78 70 6f 72 74 73 2e dType = exports.
000028d0: 74 73 4d 61 70 70 65 64 54 79 70 65 20 3d 20 74 tsMappedType = t
000028e0: 73 4d 61 70 70 65 64 54 79 70 65 3b 0a 65 78 70 sMappedType;.exp
000028f0: 6f 72 74 73 2e 74 53 4d 65 74 68 6f 64 53 69 67 orts.tSMethodSig
00002900: 6e 61 74 75 72 65 20 3d 20 65 78 70 6f 72 74 73 nature = exports
00002910: 2e 74 73 4d 65 74 68 6f 64 53 69 67 6e 61 74 75 .tsMethodSignatu
00002920: 72 65 20 3d 20 74 73 4d 65 74 68 6f 64 53 69 67 re = tsMethodSig
00002930: 6e 61 74 75 72 65 3b 0a 65 78 70 6f 72 74 73 2e nature;.exports.
00002940: 74 53 4d 6f 64 75 6c 65 42 6c 6f 63 6b 20 3d 20 tSModuleBlock =
00002950: 65 78 70 6f 72 74 73 2e 74 73 4d 6f 64 75 6c 65 exports.tsModule
00002960: 42 6c 6f 63 6b 20 3d 20 74 73 4d 6f 64 75 6c 65 Block = tsModule
00002970: 42 6c 6f 63 6b 3b 0a 65 78 70 6f 72 74 73 2e 74 Block;.exports.t
00002980: 53 4d 6f 64 75 6c 65 44 65 63 6c 61 72 61 74 69 SModuleDeclarati
00002990: 6f 6e 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 4d on = exports.tsM
000029a0: 6f 64 75 6c 65 44 65 63 6c 61 72 61 74 69 6f 6e oduleDeclaration
000029b0: 20 3d 20 74 73 4d 6f 64 75 6c 65 44 65 63 6c 61 = tsModuleDecla
000029c0: 72 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e ration;.exports.
000029d0: 74 53 4e 61 6d 65 64 54 75 70 6c 65 4d 65 6d 62 tSNamedTupleMemb
000029e0: 65 72 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 4e er = exports.tsN
000029f0: 61 6d 65 64 54 75 70 6c 65 4d 65 6d 62 65 72 20 amedTupleMember
00002a00: 3d 20 74 73 4e 61 6d 65 64 54 75 70 6c 65 4d 65 = tsNamedTupleMe
00002a10: 6d 62 65 72 3b 0a 65 78 70 6f 72 74 73 2e 74 53 mber;.exports.tS
00002a20: 4e 61 6d 65 73 70 61 63 65 45 78 70 6f 72 74 44 NamespaceExportD
00002a30: 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 65 78 70 eclaration = exp
00002a40: 6f 72 74 73 2e 74 73 4e 61 6d 65 73 70 61 63 65 orts.tsNamespace
00002a50: 45 78 70 6f 72 74 44 65 63 6c 61 72 61 74 69 6f ExportDeclaratio
00002a60: 6e 20 3d 20 74 73 4e 61 6d 65 73 70 61 63 65 45 n = tsNamespaceE
00002a70: 78 70 6f 72 74 44 65 63 6c 61 72 61 74 69 6f 6e xportDeclaration
00002a80: 3b 0a 65 78 70 6f 72 74 73 2e 74 53 4e 65 76 65 ;.exports.tSNeve
00002a90: 72 4b 65 79 77 6f 72 64 20 3d 20 65 78 70 6f 72 rKeyword = expor
00002aa0: 74 73 2e 74 73 4e 65 76 65 72 4b 65 79 77 6f 72 ts.tsNeverKeywor
00002ab0: 64 20 3d 20 74 73 4e 65 76 65 72 4b 65 79 77 6f d = tsNeverKeywo
00002ac0: 72 64 3b 0a 65 78 70 6f 72 74 73 2e 74 53 4e 6f rd;.exports.tSNo
00002ad0: 6e 4e 75 6c 6c 45 78 70 72 65 73 73 69 6f 6e 20 nNullExpression
00002ae0: 3d 20 65 78 70 6f 72 74 73 2e 74 73 4e 6f 6e 4e = exports.tsNonN
00002af0: 75 6c 6c 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 ullExpression =
00002b00: 74 73 4e 6f 6e 4e 75 6c 6c 45 78 70 72 65 73 73 tsNonNullExpress
00002b10: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 53 4e ion;.exports.tSN
00002b20: 75 6c 6c 4b 65 79 77 6f 72 64 20 3d 20 65 78 70 ullKeyword = exp
00002b30: 6f 72 74 73 2e 74 73 4e 75 6c 6c 4b 65 79 77 6f orts.tsNullKeywo
00002b40: 72 64 20 3d 20 74 73 4e 75 6c 6c 4b 65 79 77 6f rd = tsNullKeywo
00002b50: 72 64 3b 0a 65 78 70 6f 72 74 73 2e 74 53 4e 75 rd;.exports.tSNu
00002b60: 6d 62 65 72 4b 65 79 77 6f 72 64 20 3d 20 65 78 mberKeyword = ex
00002b70: 70 6f 72 74 73 2e 74 73 4e 75 6d 62 65 72 4b 65 ports.tsNumberKe
00002b80: 79 77 6f 72 64 20 3d 20 74 73 4e 75 6d 62 65 72 yword = tsNumber
00002b90: 4b 65 79 77 6f 72 64 3b 0a 65 78 70 6f 72 74 73 Keyword;.exports
00002ba0: 2e 74 53 4f 62 6a 65 63 74 4b 65 79 77 6f 72 64 .tSObjectKeyword
00002bb0: 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 4f 62 6a = exports.tsObj
00002bc0: 65 63 74 4b 65 79 77 6f 72 64 20 3d 20 74 73 4f ectKeyword = tsO
00002bd0: 62 6a 65 63 74 4b 65 79 77 6f 72 64 3b 0a 65 78 bjectKeyword;.ex
00002be0: 70 6f 72 74 73 2e 74 53 4f 70 74 69 6f 6e 61 6c ports.tSOptional
00002bf0: 54 79 70 65 20 3d 20 65 78 70 6f 72 74 73 2e 74 Type = exports.t
00002c00: 73 4f 70 74 69 6f 6e 61 6c 54 79 70 65 20 3d 20 sOptionalType =
00002c10: 74 73 4f 70 74 69 6f 6e 61 6c 54 79 70 65 3b 0a tsOptionalType;.
00002c20: 65 78 70 6f 72 74 73 2e 74 53 50 61 72 61 6d 65 exports.tSParame
00002c30: 74 65 72 50 72 6f 70 65 72 74 79 20 3d 20 65 78 terProperty = ex
00002c40: 70 6f 72 74 73 2e 74 73 50 61 72 61 6d 65 74 65 ports.tsParamete
00002c50: 72 50 72 6f 70 65 72 74 79 20 3d 20 74 73 50 61 rProperty = tsPa
00002c60: 72 61 6d 65 74 65 72 50 72 6f 70 65 72 74 79 3b rameterProperty;
00002c70: 0a 65 78 70 6f 72 74 73 2e 74 53 50 61 72 65 6e .exports.tSParen
00002c80: 74 68 65 73 69 7a 65 64 54 79 70 65 20 3d 20 65 thesizedType = e
00002c90: 78 70 6f 72 74 73 2e 74 73 50 61 72 65 6e 74 68 xports.tsParenth
00002ca0: 65 73 69 7a 65 64 54 79 70 65 20 3d 20 74 73 50 esizedType = tsP
00002cb0: 61 72 65 6e 74 68 65 73 69 7a 65 64 54 79 70 65 arenthesizedType
00002cc0: 3b 0a 65 78 70 6f 72 74 73 2e 74 53 50 72 6f 70 ;.exports.tSProp
00002cd0: 65 72 74 79 53 69 67 6e 61 74 75 72 65 20 3d 20 ertySignature =
00002ce0: 65 78 70 6f 72 74 73 2e 74 73 50 72 6f 70 65 72 exports.tsProper
00002cf0: 74 79 53 69 67 6e 61 74 75 72 65 20 3d 20 74 73 tySignature = ts
00002d00: 50 72 6f 70 65 72 74 79 53 69 67 6e 61 74 75 72 PropertySignatur
00002d10: 65 3b 0a 65 78 70 6f 72 74 73 2e 74 53 51 75 61 e;.exports.tSQua
00002d20: 6c 69 66 69 65 64 4e 61 6d 65 20 3d 20 65 78 70 lifiedName = exp
00002d30: 6f 72 74 73 2e 74 73 51 75 61 6c 69 66 69 65 64 orts.tsQualified
00002d40: 4e 61 6d 65 20 3d 20 74 73 51 75 61 6c 69 66 69 Name = tsQualifi
00002d50: 65 64 4e 61 6d 65 3b 0a 65 78 70 6f 72 74 73 2e edName;.exports.
00002d60: 74 53 52 65 73 74 54 79 70 65 20 3d 20 65 78 70 tSRestType = exp
00002d70: 6f 72 74 73 2e 74 73 52 65 73 74 54 79 70 65 20 orts.tsRestType
00002d80: 3d 20 74 73 52 65 73 74 54 79 70 65 3b 0a 65 78 = tsRestType;.ex
00002d90: 70 6f 72 74 73 2e 74 53 53 61 74 69 73 66 69 65 ports.tSSatisfie
00002da0: 73 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 65 78 sExpression = ex
00002db0: 70 6f 72 74 73 2e 74 73 53 61 74 69 73 66 69 65 ports.tsSatisfie
00002dc0: 73 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 74 73 sExpression = ts
00002dd0: 53 61 74 69 73 66 69 65 73 45 78 70 72 65 73 73 SatisfiesExpress
00002de0: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 53 53 ion;.exports.tSS
00002df0: 74 72 69 6e 67 4b 65 79 77 6f 72 64 20 3d 20 65 tringKeyword = e
00002e00: 78 70 6f 72 74 73 2e 74 73 53 74 72 69 6e 67 4b xports.tsStringK
00002e10: 65 79 77 6f 72 64 20 3d 20 74 73 53 74 72 69 6e eyword = tsStrin
00002e20: 67 4b 65 79 77 6f 72 64 3b 0a 65 78 70 6f 72 74 gKeyword;.export
00002e30: 73 2e 74 53 53 79 6d 62 6f 6c 4b 65 79 77 6f 72 s.tSSymbolKeywor
00002e40: 64 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 53 79 d = exports.tsSy
00002e50: 6d 62 6f 6c 4b 65 79 77 6f 72 64 20 3d 20 74 73 mbolKeyword = ts
00002e60: 53 79 6d 62 6f 6c 4b 65 79 77 6f 72 64 3b 0a 65 SymbolKeyword;.e
00002e70: 78 70 6f 72 74 73 2e 74 53 54 68 69 73 54 79 70 xports.tSThisTyp
00002e80: 65 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 54 68 e = exports.tsTh
00002e90: 69 73 54 79 70 65 20 3d 20 74 73 54 68 69 73 54 isType = tsThisT
00002ea0: 79 70 65 3b 0a 65 78 70 6f 72 74 73 2e 74 53 54 ype;.exports.tST
00002eb0: 75 70 6c 65 54 79 70 65 20 3d 20 65 78 70 6f 72 upleType = expor
00002ec0: 74 73 2e 74 73 54 75 70 6c 65 54 79 70 65 20 3d ts.tsTupleType =
00002ed0: 20 74 73 54 75 70 6c 65 54 79 70 65 3b 0a 65 78 tsTupleType;.ex
00002ee0: 70 6f 72 74 73 2e 74 53 54 79 70 65 41 6c 69 61 ports.tSTypeAlia
00002ef0: 73 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 65 sDeclaration = e
00002f00: 78 70 6f 72 74 73 2e 74 73 54 79 70 65 41 6c 69 xports.tsTypeAli
00002f10: 61 73 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 asDeclaration =
00002f20: 74 73 54 79 70 65 41 6c 69 61 73 44 65 63 6c 61 tsTypeAliasDecla
00002f30: 72 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e ration;.exports.
00002f40: 74 53 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e tSTypeAnnotation
00002f50: 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 54 79 70 = exports.tsTyp
00002f60: 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 74 73 eAnnotation = ts
00002f70: 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a TypeAnnotation;.
00002f80: 65 78 70 6f 72 74 73 2e 74 53 54 79 70 65 41 73 exports.tSTypeAs
00002f90: 73 65 72 74 69 6f 6e 20 3d 20 65 78 70 6f 72 74 sertion = export
00002fa0: 73 2e 74 73 54 79 70 65 41 73 73 65 72 74 69 6f s.tsTypeAssertio
00002fb0: 6e 20 3d 20 74 73 54 79 70 65 41 73 73 65 72 74 n = tsTypeAssert
00002fc0: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 53 54 ion;.exports.tST
00002fd0: 79 70 65 4c 69 74 65 72 61 6c 20 3d 20 65 78 70 ypeLiteral = exp
00002fe0: 6f 72 74 73 2e 74 73 54 79 70 65 4c 69 74 65 72 orts.tsTypeLiter
00002ff0: 61 6c 20 3d 20 74 73 54 79 70 65 4c 69 74 65 72 al = tsTypeLiter
00003000: 61 6c 3b 0a 65 78 70 6f 72 74 73 2e 74 53 54 79 al;.exports.tSTy
00003010: 70 65 4f 70 65 72 61 74 6f 72 20 3d 20 65 78 70 peOperator = exp
00003020: 6f 72 74 73 2e 74 73 54 79 70 65 4f 70 65 72 61 orts.tsTypeOpera
00003030: 74 6f 72 20 3d 20 74 73 54 79 70 65 4f 70 65 72 tor = tsTypeOper
00003040: 61 74 6f 72 3b 0a 65 78 70 6f 72 74 73 2e 74 53 ator;.exports.tS
00003050: 54 79 70 65 50 61 72 61 6d 65 74 65 72 20 3d 20 TypeParameter =
00003060: 65 78 70 6f 72 74 73 2e 74 73 54 79 70 65 50 61 exports.tsTypePa
00003070: 72 61 6d 65 74 65 72 20 3d 20 74 73 54 79 70 65 rameter = tsType
00003080: 50 61 72 61 6d 65 74 65 72 3b 0a 65 78 70 6f 72 Parameter;.expor
00003090: 74 73 2e 74 53 54 79 70 65 50 61 72 61 6d 65 74 ts.tSTypeParamet
000030a0: 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 erDeclaration =
000030b0: 65 78 70 6f 72 74 73 2e 74 73 54 79 70 65 50 61 exports.tsTypePa
000030c0: 72 61 6d 65 74 65 72 44 65 63 6c 61 72 61 74 69 rameterDeclarati
000030d0: 6f 6e 20 3d 20 74 73 54 79 70 65 50 61 72 61 6d on = tsTypeParam
000030e0: 65 74 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 3b eterDeclaration;
000030f0: 0a 65 78 70 6f 72 74 73 2e 74 53 54 79 70 65 50 .exports.tSTypeP
00003100: 61 72 61 6d 65 74 65 72 49 6e 73 74 61 6e 74 69 arameterInstanti
00003110: 61 74 69 6f 6e 20 3d 20 65 78 70 6f 72 74 73 2e ation = exports.
00003120: 74 73 54 79 70 65 50 61 72 61 6d 65 74 65 72 49 tsTypeParameterI
00003130: 6e 73 74 61 6e 74 69 61 74 69 6f 6e 20 3d 20 74 nstantiation = t
00003140: 73 54 79 70 65 50 61 72 61 6d 65 74 65 72 49 6e sTypeParameterIn
00003150: 73 74 61 6e 74 69 61 74 69 6f 6e 3b 0a 65 78 70 stantiation;.exp
00003160: 6f 72 74 73 2e 74 53 54 79 70 65 50 72 65 64 69 orts.tSTypePredi
00003170: 63 61 74 65 20 3d 20 65 78 70 6f 72 74 73 2e 74 cate = exports.t
00003180: 73 54 79 70 65 50 72 65 64 69 63 61 74 65 20 3d sTypePredicate =
00003190: 20 74 73 54 79 70 65 50 72 65 64 69 63 61 74 65 tsTypePredicate
000031a0: 3b 0a 65 78 70 6f 72 74 73 2e 74 53 54 79 70 65 ;.exports.tSType
000031b0: 51 75 65 72 79 20 3d 20 65 78 70 6f 72 74 73 2e Query = exports.
000031c0: 74 73 54 79 70 65 51 75 65 72 79 20 3d 20 74 73 tsTypeQuery = ts
000031d0: 54 79 70 65 51 75 65 72 79 3b 0a 65 78 70 6f 72 TypeQuery;.expor
000031e0: 74 73 2e 74 53 54 79 70 65 52 65 66 65 72 65 6e ts.tSTypeReferen
000031f0: 63 65 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 54 ce = exports.tsT
00003200: 79 70 65 52 65 66 65 72 65 6e 63 65 20 3d 20 74 ypeReference = t
00003210: 73 54 79 70 65 52 65 66 65 72 65 6e 63 65 3b 0a sTypeReference;.
00003220: 65 78 70 6f 72 74 73 2e 74 53 55 6e 64 65 66 69 exports.tSUndefi
00003230: 6e 65 64 4b 65 79 77 6f 72 64 20 3d 20 65 78 70 nedKeyword = exp
00003240: 6f 72 74 73 2e 74 73 55 6e 64 65 66 69 6e 65 64 orts.tsUndefined
00003250: 4b 65 79 77 6f 72 64 20 3d 20 74 73 55 6e 64 65 Keyword = tsUnde
00003260: 66 69 6e 65 64 4b 65 79 77 6f 72 64 3b 0a 65 78 finedKeyword;.ex
00003270: 70 6f 72 74 73 2e 74 53 55 6e 69 6f 6e 54 79 70 ports.tSUnionTyp
00003280: 65 20 3d 20 65 78 70 6f 72 74 73 2e 74 73 55 6e e = exports.tsUn
00003290: 69 6f 6e 54 79 70 65 20 3d 20 74 73 55 6e 69 6f ionType = tsUnio
000032a0: 6e 54 79 70 65 3b 0a 65 78 70 6f 72 74 73 2e 74 nType;.exports.t
000032b0: 53 55 6e 6b 6e 6f 77 6e 4b 65 79 77 6f 72 64 20 SUnknownKeyword
000032c0: 3d 20 65 78 70 6f 72 74 73 2e 74 73 55 6e 6b 6e = exports.tsUnkn
000032d0: 6f 77 6e 4b 65 79 77 6f 72 64 20 3d 20 74 73 55 ownKeyword = tsU
000032e0: 6e 6b 6e 6f 77 6e 4b 65 79 77 6f 72 64 3b 0a 65 nknownKeyword;.e
000032f0: 78 70 6f 72 74 73 2e 74 53 56 6f 69 64 4b 65 79 xports.tSVoidKey
00003300: 77 6f 72 64 20 3d 20 65 78 70 6f 72 74 73 2e 74 word = exports.t
00003310: 73 56 6f 69 64 4b 65 79 77 6f 72 64 20 3d 20 74 sVoidKeyword = t
00003320: 73 56 6f 69 64 4b 65 79 77 6f 72 64 3b 0a 65 78 sVoidKeyword;.ex
00003330: 70 6f 72 74 73 2e 74 75 70 6c 65 45 78 70 72 65 ports.tupleExpre
00003340: 73 73 69 6f 6e 20 3d 20 74 75 70 6c 65 45 78 70 ssion = tupleExp
00003350: 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 ression;.exports
00003360: 2e 74 75 70 6c 65 54 79 70 65 41 6e 6e 6f 74 61 .tupleTypeAnnota
00003370: 74 69 6f 6e 20 3d 20 74 75 70 6c 65 54 79 70 65 tion = tupleType
00003380: 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 78 70 6f Annotation;.expo
00003390: 72 74 73 2e 74 79 70 65 41 6c 69 61 73 20 3d 20 rts.typeAlias =
000033a0: 74 79 70 65 41 6c 69 61 73 3b 0a 65 78 70 6f 72 typeAlias;.expor
000033b0: 74 73 2e 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f ts.typeAnnotatio
000033c0: 6e 20 3d 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 n = typeAnnotati
000033d0: 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 79 70 65 on;.exports.type
000033e0: 43 61 73 74 45 78 70 72 65 73 73 69 6f 6e 20 3d CastExpression =
000033f0: 20 74 79 70 65 43 61 73 74 45 78 70 72 65 73 73 typeCastExpress
00003400: 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 74 79 70 ion;.exports.typ
00003410: 65 50 61 72 61 6d 65 74 65 72 20 3d 20 74 79 70 eParameter = typ
00003420: 65 50 61 72 61 6d 65 74 65 72 3b 0a 65 78 70 6f eParameter;.expo
00003430: 72 74 73 2e 74 79 70 65 50 61 72 61 6d 65 74 65 rts.typeParamete
00003440: 72 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 74 rDeclaration = t
00003450: 79 70 65 50 61 72 61 6d 65 74 65 72 44 65 63 6c ypeParameterDecl
00003460: 61 72 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 73 aration;.exports
00003470: 2e 74 79 70 65 50 61 72 61 6d 65 74 65 72 49 6e .typeParameterIn
00003480: 73 74 61 6e 74 69 61 74 69 6f 6e 20 3d 20 74 79 stantiation = ty
00003490: 70 65 50 61 72 61 6d 65 74 65 72 49 6e 73 74 61 peParameterInsta
000034a0: 6e 74 69 61 74 69 6f 6e 3b 0a 65 78 70 6f 72 74 ntiation;.export
000034b0: 73 2e 74 79 70 65 6f 66 54 79 70 65 41 6e 6e 6f s.typeofTypeAnno
000034c0: 74 61 74 69 6f 6e 20 3d 20 74 79 70 65 6f 66 54 tation = typeofT
000034d0: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 ypeAnnotation;.e
000034e0: 78 70 6f 72 74 73 2e 75 6e 61 72 79 45 78 70 72 xports.unaryExpr
000034f0: 65 73 73 69 6f 6e 20 3d 20 75 6e 61 72 79 45 78 ession = unaryEx
00003500: 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 pression;.export
00003510: 73 2e 75 6e 69 6f 6e 54 79 70 65 41 6e 6e 6f 74 s.unionTypeAnnot
00003520: 61 74 69 6f 6e 20 3d 20 75 6e 69 6f 6e 54 79 70 ation = unionTyp
00003530: 65 41 6e 6e 6f 74 61 74 69 6f 6e 3b 0a 65 78 70 eAnnotation;.exp
00003540: 6f 72 74 73 2e 75 70 64 61 74 65 45 78 70 72 65 orts.updateExpre
00003550: 73 73 69 6f 6e 20 3d 20 75 70 64 61 74 65 45 78 ssion = updateEx
00003560: 70 72 65 73 73 69 6f 6e 3b 0a 65 78 70 6f 72 74 pression;.export
00003570: 73 2e 76 38 49 6e 74 72 69 6e 73 69 63 49 64 65 s.v8IntrinsicIde
00003580: 6e 74 69 66 69 65 72 20 3d 20 76 38 49 6e 74 72 ntifier = v8Intr
00003590: 69 6e 73 69 63 49 64 65 6e 74 69 66 69 65 72 3b insicIdentifier;
000035a0: 0a 65 78 70 6f 72 74 73 2e 76 61 72 69 61 62 6c .exports.variabl
000035b0: 65 44 65 63 6c 61 72 61 74 69 6f 6e 20 3d 20 76 eDeclaration = v
000035c0: 61 72 69 61 62 6c 65 44 65 63 6c 61 72 61 74 69 ariableDeclarati
000035d0: 6f 6e 3b 0a 65 78 70 6f 72 74 73 2e 76 61 72 69 on;.exports.vari
000035e0: 61 62 6c 65 44 65 63 6c 61 72 61 74 6f 72 20 3d ableDeclarator =
000035f0: 20 76 61 72 69 61 62 6c 65 44 65 63 6c 61 72 61 variableDeclara
00003600: 74 6f 72 3b 0a 65 78 70 6f 72 74 73 2e 76 61 72 tor;.exports.var
00003610: 69 61 6e 63 65 20 3d 20 76 61 72 69 61 6e 63 65 iance = variance
00003620: 3b 0a 65 78 70 6f 72 74 73 2e 76 6f 69 64 54 79 ;.exports.voidTy
00003630: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 76 peAnnotation = v
00003640: 6f 69 64 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f oidTypeAnnotatio
00003650: 6e 3b 0a 65 78 70 6f 72 74 73 2e 77 68 69 6c 65 n;.exports.while
00003660: 53 74 61 74 65 6d 65 6e 74 20 3d 20 77 68 69 6c Statement = whil
00003670: 65 53 74 61 74 65 6d 65 6e 74 3b 0a 65 78 70 6f eStatement;.expo
00003680: 72 74 73 2e 77 69 74 68 53 74 61 74 65 6d 65 6e rts.withStatemen
00003690: 74 20 3d 20 77 69 74 68 53 74 61 74 65 6d 65 6e t = withStatemen
000036a0: 74 3b 0a 65 78 70 6f 72 74 73 2e 79 69 65 6c 64 t;.exports.yield
000036b0: 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 79 69 65 Expression = yie
000036c0: 6c 64 45 78 70 72 65 73 73 69 6f 6e 3b 0a 76 61 ldExpression;.va
000036d0: 72 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 20 r _validateNode
000036e0: 3d 20 72 65 71 75 69 72 65 28 22 2e 2e 2f 76 61 = require("../va
000036f0: 6c 69 64 61 74 65 4e 6f 64 65 2e 6a 73 22 29 3b lidateNode.js");
00003700: 0a 76 61 72 20 5f 64 65 70 72 65 63 61 74 69 6f .var _deprecatio
00003710: 6e 57 61 72 6e 69 6e 67 20 3d 20 72 65 71 75 69 nWarning = requi
00003720: 72 65 28 22 2e 2e 2f 2e 2e 2f 75 74 69 6c 73 2f re("../../utils/
00003730: 64 65 70 72 65 63 61 74 69 6f 6e 57 61 72 6e 69 deprecationWarni
00003740: 6e 67 2e 6a 73 22 29 3b 0a 66 75 6e 63 74 69 6f ng.js");.functio
00003750: 6e 20 61 72 72 61 79 45 78 70 72 65 73 73 69 6f n arrayExpressio
00003760: 6e 28 65 6c 65 6d 65 6e 74 73 20 3d 20 5b 5d 29 n(elements = [])
00003770: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
00003780: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
00003790: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
000037a0: 65 3a 20 22 41 72 72 61 79 45 78 70 72 65 73 73 e: "ArrayExpress
000037b0: 69 6f 6e 22 2c 0a 20 20 20 20 65 6c 65 6d 65 6e ion",. elemen
000037c0: 74 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 ts. });.}.funct
000037d0: 69 6f 6e 20 61 73 73 69 67 6e 6d 65 6e 74 45 78 ion assignmentEx
000037e0: 70 72 65 73 73 69 6f 6e 28 6f 70 65 72 61 74 6f pression(operato
000037f0: 72 2c 20 6c 65 66 74 2c 20 72 69 67 68 74 29 20 r, left, right)
00003800: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00003810: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
00003820: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00003830: 3a 20 22 41 73 73 69 67 6e 6d 65 6e 74 45 78 70 : "AssignmentExp
00003840: 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 6f 70 ression",. op
00003850: 65 72 61 74 6f 72 2c 0a 20 20 20 20 6c 65 66 74 erator,. left
00003860: 2c 0a 20 20 20 20 72 69 67 68 74 0a 20 20 7d 29 ,. right. })
00003870: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 62 69 6e ;.}.function bin
00003880: 61 72 79 45 78 70 72 65 73 73 69 6f 6e 28 6f 70 aryExpression(op
00003890: 65 72 61 74 6f 72 2c 20 6c 65 66 74 2c 20 72 69 erator, left, ri
000038a0: 67 68 74 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ght) {. return
000038b0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
000038c0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
000038d0: 20 74 79 70 65 3a 20 22 42 69 6e 61 72 79 45 78 type: "BinaryEx
000038e0: 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 6f pression",. o
000038f0: 70 65 72 61 74 6f 72 2c 0a 20 20 20 20 6c 65 66 perator,. lef
00003900: 74 2c 0a 20 20 20 20 72 69 67 68 74 0a 20 20 7d t,. right. }
00003910: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 69 6e );.}.function in
00003920: 74 65 72 70 72 65 74 65 72 44 69 72 65 63 74 69 terpreterDirecti
00003930: 76 65 28 76 61 6c 75 65 29 20 7b 0a 20 20 72 65 ve(value) {. re
00003940: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00003950: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00003960: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 49 6e 74 {. type: "Int
00003970: 65 72 70 72 65 74 65 72 44 69 72 65 63 74 69 76 erpreterDirectiv
00003980: 65 22 2c 0a 20 20 20 20 76 61 6c 75 65 0a 20 20 e",. value.
00003990: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 64 });.}.function d
000039a0: 69 72 65 63 74 69 76 65 28 76 61 6c 75 65 29 20 irective(value)
000039b0: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
000039c0: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
000039d0: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
000039e0: 3a 20 22 44 69 72 65 63 74 69 76 65 22 2c 0a 20 : "Directive",.
000039f0: 20 20 20 76 61 6c 75 65 0a 20 20 7d 29 3b 0a 7d value. });.}
00003a00: 0a 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 63 74 .function direct
00003a10: 69 76 65 4c 69 74 65 72 61 6c 28 76 61 6c 75 65 iveLiteral(value
00003a20: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
00003a30: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
00003a40: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
00003a50: 70 65 3a 20 22 44 69 72 65 63 74 69 76 65 4c 69 pe: "DirectiveLi
00003a60: 74 65 72 61 6c 22 2c 0a 20 20 20 20 76 61 6c 75 teral",. valu
00003a70: 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 e. });.}.functi
00003a80: 6f 6e 20 62 6c 6f 63 6b 53 74 61 74 65 6d 65 6e on blockStatemen
00003a90: 74 28 62 6f 64 79 2c 20 64 69 72 65 63 74 69 76 t(body, directiv
00003aa0: 65 73 20 3d 20 5b 5d 29 20 7b 0a 20 20 72 65 74 es = []) {. ret
00003ab0: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00003ac0: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00003ad0: 0a 20 20 20 20 74 79 70 65 3a 20 22 42 6c 6f 63 . type: "Bloc
00003ae0: 6b 53 74 61 74 65 6d 65 6e 74 22 2c 0a 20 20 20 kStatement",.
00003af0: 20 62 6f 64 79 2c 0a 20 20 20 20 64 69 72 65 63 body,. direc
00003b00: 74 69 76 65 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 tives. });.}.fu
00003b10: 6e 63 74 69 6f 6e 20 62 72 65 61 6b 53 74 61 74 nction breakStat
00003b20: 65 6d 65 6e 74 28 6c 61 62 65 6c 20 3d 20 6e 75 ement(label = nu
00003b30: 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ll) {. return (
00003b40: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00003b50: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00003b60: 74 79 70 65 3a 20 22 42 72 65 61 6b 53 74 61 74 type: "BreakStat
00003b70: 65 6d 65 6e 74 22 2c 0a 20 20 20 20 6c 61 62 65 ement",. labe
00003b80: 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 l. });.}.functi
00003b90: 6f 6e 20 63 61 6c 6c 45 78 70 72 65 73 73 69 6f on callExpressio
00003ba0: 6e 28 63 61 6c 6c 65 65 2c 20 5f 61 72 67 75 6d n(callee, _argum
00003bb0: 65 6e 74 73 29 20 7b 0a 20 20 72 65 74 75 72 6e ents) {. return
00003bc0: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
00003bd0: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
00003be0: 20 20 74 79 70 65 3a 20 22 43 61 6c 6c 45 78 70 type: "CallExp
00003bf0: 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 63 61 ression",. ca
00003c00: 6c 6c 65 65 2c 0a 20 20 20 20 61 72 67 75 6d 65 llee,. argume
00003c10: 6e 74 73 3a 20 5f 61 72 67 75 6d 65 6e 74 73 0a nts: _arguments.
00003c20: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00003c30: 20 63 61 74 63 68 43 6c 61 75 73 65 28 70 61 72 catchClause(par
00003c40: 61 6d 20 3d 20 6e 75 6c 6c 2c 20 62 6f 64 79 29 am = null, body)
00003c50: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
00003c60: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
00003c70: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
00003c80: 65 3a 20 22 43 61 74 63 68 43 6c 61 75 73 65 22 e: "CatchClause"
00003c90: 2c 0a 20 20 20 20 70 61 72 61 6d 2c 0a 20 20 20 ,. param,.
00003ca0: 20 62 6f 64 79 0a 20 20 7d 29 3b 0a 7d 0a 66 75 body. });.}.fu
00003cb0: 6e 63 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e nction condition
00003cc0: 61 6c 45 78 70 72 65 73 73 69 6f 6e 28 74 65 73 alExpression(tes
00003cd0: 74 2c 20 63 6f 6e 73 65 71 75 65 6e 74 2c 20 61 t, consequent, a
00003ce0: 6c 74 65 72 6e 61 74 65 29 20 7b 0a 20 20 72 65 lternate) {. re
00003cf0: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00003d00: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00003d10: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 43 6f 6e {. type: "Con
00003d20: 64 69 74 69 6f 6e 61 6c 45 78 70 72 65 73 73 69 ditionalExpressi
00003d30: 6f 6e 22 2c 0a 20 20 20 20 74 65 73 74 2c 0a 20 on",. test,.
00003d40: 20 20 20 63 6f 6e 73 65 71 75 65 6e 74 2c 0a 20 consequent,.
00003d50: 20 20 20 61 6c 74 65 72 6e 61 74 65 0a 20 20 7d alternate. }
00003d60: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 6f );.}.function co
00003d70: 6e 74 69 6e 75 65 53 74 61 74 65 6d 65 6e 74 28 ntinueStatement(
00003d80: 6c 61 62 65 6c 20 3d 20 6e 75 6c 6c 29 20 7b 0a label = null) {.
00003d90: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00003da0: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
00003db0: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
00003dc0: 22 43 6f 6e 74 69 6e 75 65 53 74 61 74 65 6d 65 "ContinueStateme
00003dd0: 6e 74 22 2c 0a 20 20 20 20 6c 61 62 65 6c 0a 20 nt",. label.
00003de0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00003df0: 64 65 62 75 67 67 65 72 53 74 61 74 65 6d 65 6e debuggerStatemen
00003e00: 74 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b t() {. return {
00003e10: 0a 20 20 20 20 74 79 70 65 3a 20 22 44 65 62 75 . type: "Debu
00003e20: 67 67 65 72 53 74 61 74 65 6d 65 6e 74 22 0a 20 ggerStatement".
00003e30: 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 64 };.}.function d
00003e40: 6f 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 28 oWhileStatement(
00003e50: 74 65 73 74 2c 20 62 6f 64 79 29 20 7b 0a 20 20 test, body) {.
00003e60: 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 return (0, _vali
00003e70: 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 dateNode.default
00003e80: 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 44 )({. type: "D
00003e90: 6f 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 22 oWhileStatement"
00003ea0: 2c 0a 20 20 20 20 74 65 73 74 2c 0a 20 20 20 20 ,. test,.
00003eb0: 62 6f 64 79 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e body. });.}.fun
00003ec0: 63 74 69 6f 6e 20 65 6d 70 74 79 53 74 61 74 65 ction emptyState
00003ed0: 6d 65 6e 74 28 29 20 7b 0a 20 20 72 65 74 75 72 ment() {. retur
00003ee0: 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 45 n {. type: "E
00003ef0: 6d 70 74 79 53 74 61 74 65 6d 65 6e 74 22 0a 20 mptyStatement".
00003f00: 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 65 };.}.function e
00003f10: 78 70 72 65 73 73 69 6f 6e 53 74 61 74 65 6d 65 xpressionStateme
00003f20: 6e 74 28 65 78 70 72 65 73 73 69 6f 6e 29 20 7b nt(expression) {
00003f30: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
00003f40: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
00003f50: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
00003f60: 20 22 45 78 70 72 65 73 73 69 6f 6e 53 74 61 74 "ExpressionStat
00003f70: 65 6d 65 6e 74 22 2c 0a 20 20 20 20 65 78 70 72 ement",. expr
00003f80: 65 73 73 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 ession. });.}.f
00003f90: 75 6e 63 74 69 6f 6e 20 66 69 6c 65 28 70 72 6f unction file(pro
00003fa0: 67 72 61 6d 2c 20 63 6f 6d 6d 65 6e 74 73 20 3d gram, comments =
00003fb0: 20 6e 75 6c 6c 2c 20 74 6f 6b 65 6e 73 20 3d 20 null, tokens =
00003fc0: 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e null) {. return
00003fd0: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
00003fe0: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
00003ff0: 20 20 74 79 70 65 3a 20 22 46 69 6c 65 22 2c 0a type: "File",.
00004000: 20 20 20 20 70 72 6f 67 72 61 6d 2c 0a 20 20 20 program,.
00004010: 20 63 6f 6d 6d 65 6e 74 73 2c 0a 20 20 20 20 74 comments,. t
00004020: 6f 6b 65 6e 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 okens. });.}.fu
00004030: 6e 63 74 69 6f 6e 20 66 6f 72 49 6e 53 74 61 74 nction forInStat
00004040: 65 6d 65 6e 74 28 6c 65 66 74 2c 20 72 69 67 68 ement(left, righ
00004050: 74 2c 20 62 6f 64 79 29 20 7b 0a 20 20 72 65 74 t, body) {. ret
00004060: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00004070: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00004080: 0a 20 20 20 20 74 79 70 65 3a 20 22 46 6f 72 49 . type: "ForI
00004090: 6e 53 74 61 74 65 6d 65 6e 74 22 2c 0a 20 20 20 nStatement",.
000040a0: 20 6c 65 66 74 2c 0a 20 20 20 20 72 69 67 68 74 left,. right
000040b0: 2c 0a 20 20 20 20 62 6f 64 79 0a 20 20 7d 29 3b ,. body. });
000040c0: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 66 6f 72 53 .}.function forS
000040d0: 74 61 74 65 6d 65 6e 74 28 69 6e 69 74 20 3d 20 tatement(init =
000040e0: 6e 75 6c 6c 2c 20 74 65 73 74 20 3d 20 6e 75 6c null, test = nul
000040f0: 6c 2c 20 75 70 64 61 74 65 20 3d 20 6e 75 6c 6c l, update = null
00004100: 2c 20 62 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 , body) {. retu
00004110: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
00004120: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
00004130: 20 20 20 20 74 79 70 65 3a 20 22 46 6f 72 53 74 type: "ForSt
00004140: 61 74 65 6d 65 6e 74 22 2c 0a 20 20 20 20 69 6e atement",. in
00004150: 69 74 2c 0a 20 20 20 20 74 65 73 74 2c 0a 20 20 it,. test,.
00004160: 20 20 75 70 64 61 74 65 2c 0a 20 20 20 20 62 6f update,. bo
00004170: 64 79 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 dy. });.}.funct
00004180: 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 44 65 63 6c ion functionDecl
00004190: 61 72 61 74 69 6f 6e 28 69 64 20 3d 20 6e 75 6c aration(id = nul
000041a0: 6c 2c 20 70 61 72 61 6d 73 2c 20 62 6f 64 79 2c l, params, body,
000041b0: 20 67 65 6e 65 72 61 74 6f 72 20 3d 20 66 61 6c generator = fal
000041c0: 73 65 2c 20 61 73 79 6e 63 20 3d 20 66 61 6c 73 se, async = fals
000041d0: 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 e) {. return (0
000041e0: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
000041f0: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
00004200: 79 70 65 3a 20 22 46 75 6e 63 74 69 6f 6e 44 65 ype: "FunctionDe
00004210: 63 6c 61 72 61 74 69 6f 6e 22 2c 0a 20 20 20 20 claration",.
00004220: 69 64 2c 0a 20 20 20 20 70 61 72 61 6d 73 2c 0a id,. params,.
00004230: 20 20 20 20 62 6f 64 79 2c 0a 20 20 20 20 67 65 body,. ge
00004240: 6e 65 72 61 74 6f 72 2c 0a 20 20 20 20 61 73 79 nerator,. asy
00004250: 6e 63 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 nc. });.}.funct
00004260: 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 45 78 70 72 ion functionExpr
00004270: 65 73 73 69 6f 6e 28 69 64 20 3d 20 6e 75 6c 6c ession(id = null
00004280: 2c 20 70 61 72 61 6d 73 2c 20 62 6f 64 79 2c 20 , params, body,
00004290: 67 65 6e 65 72 61 74 6f 72 20 3d 20 66 61 6c 73 generator = fals
000042a0: 65 2c 20 61 73 79 6e 63 20 3d 20 66 61 6c 73 65 e, async = false
000042b0: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
000042c0: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
000042d0: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
000042e0: 70 65 3a 20 22 46 75 6e 63 74 69 6f 6e 45 78 70 pe: "FunctionExp
000042f0: 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 69 64 ression",. id
00004300: 2c 0a 20 20 20 20 70 61 72 61 6d 73 2c 0a 20 20 ,. params,.
00004310: 20 20 62 6f 64 79 2c 0a 20 20 20 20 67 65 6e 65 body,. gene
00004320: 72 61 74 6f 72 2c 0a 20 20 20 20 61 73 79 6e 63 rator,. async
00004330: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
00004340: 6e 20 69 64 65 6e 74 69 66 69 65 72 28 6e 61 6d n identifier(nam
00004350: 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 e) {. return (0
00004360: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
00004370: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
00004380: 79 70 65 3a 20 22 49 64 65 6e 74 69 66 69 65 72 ype: "Identifier
00004390: 22 2c 0a 20 20 20 20 6e 61 6d 65 0a 20 20 7d 29 ",. name. })
000043a0: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 69 66 53 ;.}.function ifS
000043b0: 74 61 74 65 6d 65 6e 74 28 74 65 73 74 2c 20 63 tatement(test, c
000043c0: 6f 6e 73 65 71 75 65 6e 74 2c 20 61 6c 74 65 72 onsequent, alter
000043d0: 6e 61 74 65 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 nate = null) {.
000043e0: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
000043f0: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00004400: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00004410: 49 66 53 74 61 74 65 6d 65 6e 74 22 2c 0a 20 20 IfStatement",.
00004420: 20 20 74 65 73 74 2c 0a 20 20 20 20 63 6f 6e 73 test,. cons
00004430: 65 71 75 65 6e 74 2c 0a 20 20 20 20 61 6c 74 65 equent,. alte
00004440: 72 6e 61 74 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 rnate. });.}.fu
00004450: 6e 63 74 69 6f 6e 20 6c 61 62 65 6c 65 64 53 74 nction labeledSt
00004460: 61 74 65 6d 65 6e 74 28 6c 61 62 65 6c 2c 20 62 atement(label, b
00004470: 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ody) {. return
00004480: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00004490: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
000044a0: 20 74 79 70 65 3a 20 22 4c 61 62 65 6c 65 64 53 type: "LabeledS
000044b0: 74 61 74 65 6d 65 6e 74 22 2c 0a 20 20 20 20 6c tatement",. l
000044c0: 61 62 65 6c 2c 0a 20 20 20 20 62 6f 64 79 0a 20 abel,. body.
000044d0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
000044e0: 73 74 72 69 6e 67 4c 69 74 65 72 61 6c 28 76 61 stringLiteral(va
000044f0: 6c 75 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 lue) {. return
00004500: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00004510: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00004520: 20 74 79 70 65 3a 20 22 53 74 72 69 6e 67 4c 69 type: "StringLi
00004530: 74 65 72 61 6c 22 2c 0a 20 20 20 20 76 61 6c 75 teral",. valu
00004540: 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 e. });.}.functi
00004550: 6f 6e 20 6e 75 6d 65 72 69 63 4c 69 74 65 72 61 on numericLitera
00004560: 6c 28 76 61 6c 75 65 29 20 7b 0a 20 20 72 65 74 l(value) {. ret
00004570: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00004580: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00004590: 0a 20 20 20 20 74 79 70 65 3a 20 22 4e 75 6d 65 . type: "Nume
000045a0: 72 69 63 4c 69 74 65 72 61 6c 22 2c 0a 20 20 20 ricLiteral",.
000045b0: 20 76 61 6c 75 65 0a 20 20 7d 29 3b 0a 7d 0a 66 value. });.}.f
000045c0: 75 6e 63 74 69 6f 6e 20 6e 75 6c 6c 4c 69 74 65 unction nullLite
000045d0: 72 61 6c 28 29 20 7b 0a 20 20 72 65 74 75 72 6e ral() {. return
000045e0: 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4e 75 {. type: "Nu
000045f0: 6c 6c 4c 69 74 65 72 61 6c 22 0a 20 20 7d 3b 0a llLiteral". };.
00004600: 7d 0a 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6c 65 }.function boole
00004610: 61 6e 4c 69 74 65 72 61 6c 28 76 61 6c 75 65 29 anLiteral(value)
00004620: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
00004630: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
00004640: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
00004650: 65 3a 20 22 42 6f 6f 6c 65 61 6e 4c 69 74 65 72 e: "BooleanLiter
00004660: 61 6c 22 2c 0a 20 20 20 20 76 61 6c 75 65 0a 20 al",. value.
00004670: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00004680: 72 65 67 45 78 70 4c 69 74 65 72 61 6c 28 70 61 regExpLiteral(pa
00004690: 74 74 65 72 6e 2c 20 66 6c 61 67 73 20 3d 20 22 ttern, flags = "
000046a0: 22 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 ") {. return (0
000046b0: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
000046c0: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
000046d0: 79 70 65 3a 20 22 52 65 67 45 78 70 4c 69 74 65 ype: "RegExpLite
000046e0: 72 61 6c 22 2c 0a 20 20 20 20 70 61 74 74 65 72 ral",. patter
000046f0: 6e 2c 0a 20 20 20 20 66 6c 61 67 73 0a 20 20 7d n,. flags. }
00004700: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6c 6f );.}.function lo
00004710: 67 69 63 61 6c 45 78 70 72 65 73 73 69 6f 6e 28 gicalExpression(
00004720: 6f 70 65 72 61 74 6f 72 2c 20 6c 65 66 74 2c 20 operator, left,
00004730: 72 69 67 68 74 29 20 7b 0a 20 20 72 65 74 75 72 right) {. retur
00004740: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
00004750: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00004760: 20 20 20 74 79 70 65 3a 20 22 4c 6f 67 69 63 61 type: "Logica
00004770: 6c 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 lExpression",.
00004780: 20 20 6f 70 65 72 61 74 6f 72 2c 0a 20 20 20 20 operator,.
00004790: 6c 65 66 74 2c 0a 20 20 20 20 72 69 67 68 74 0a left,. right.
000047a0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
000047b0: 20 6d 65 6d 62 65 72 45 78 70 72 65 73 73 69 6f memberExpressio
000047c0: 6e 28 6f 62 6a 65 63 74 2c 20 70 72 6f 70 65 72 n(object, proper
000047d0: 74 79 2c 20 63 6f 6d 70 75 74 65 64 20 3d 20 66 ty, computed = f
000047e0: 61 6c 73 65 2c 20 6f 70 74 69 6f 6e 61 6c 20 3d alse, optional =
000047f0: 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 null) {. retur
00004800: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
00004810: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00004820: 20 20 20 74 79 70 65 3a 20 22 4d 65 6d 62 65 72 type: "Member
00004830: 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 Expression",.
00004840: 20 6f 62 6a 65 63 74 2c 0a 20 20 20 20 70 72 6f object,. pro
00004850: 70 65 72 74 79 2c 0a 20 20 20 20 63 6f 6d 70 75 perty,. compu
00004860: 74 65 64 2c 0a 20 20 20 20 6f 70 74 69 6f 6e 61 ted,. optiona
00004870: 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 l. });.}.functi
00004880: 6f 6e 20 6e 65 77 45 78 70 72 65 73 73 69 6f 6e on newExpression
00004890: 28 63 61 6c 6c 65 65 2c 20 5f 61 72 67 75 6d 65 (callee, _argume
000048a0: 6e 74 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 nts) {. return
000048b0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
000048c0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
000048d0: 20 74 79 70 65 3a 20 22 4e 65 77 45 78 70 72 65 type: "NewExpre
000048e0: 73 73 69 6f 6e 22 2c 0a 20 20 20 20 63 61 6c 6c ssion",. call
000048f0: 65 65 2c 0a 20 20 20 20 61 72 67 75 6d 65 6e 74 ee,. argument
00004900: 73 3a 20 5f 61 72 67 75 6d 65 6e 74 73 0a 20 20 s: _arguments.
00004910: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 70 });.}.function p
00004920: 72 6f 67 72 61 6d 28 62 6f 64 79 2c 20 64 69 72 rogram(body, dir
00004930: 65 63 74 69 76 65 73 20 3d 20 5b 5d 2c 20 73 6f ectives = [], so
00004940: 75 72 63 65 54 79 70 65 20 3d 20 22 73 63 72 69 urceType = "scri
00004950: 70 74 22 2c 20 69 6e 74 65 72 70 72 65 74 65 72 pt", interpreter
00004960: 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 = null) {. ret
00004970: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00004980: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00004990: 0a 20 20 20 20 74 79 70 65 3a 20 22 50 72 6f 67 . type: "Prog
000049a0: 72 61 6d 22 2c 0a 20 20 20 20 62 6f 64 79 2c 0a ram",. body,.
000049b0: 20 20 20 20 64 69 72 65 63 74 69 76 65 73 2c 0a directives,.
000049c0: 20 20 20 20 73 6f 75 72 63 65 54 79 70 65 2c 0a sourceType,.
000049d0: 20 20 20 20 69 6e 74 65 72 70 72 65 74 65 72 0a interpreter.
000049e0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
000049f0: 20 6f 62 6a 65 63 74 45 78 70 72 65 73 73 69 6f objectExpressio
00004a00: 6e 28 70 72 6f 70 65 72 74 69 65 73 29 20 7b 0a n(properties) {.
00004a10: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00004a20: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
00004a30: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
00004a40: 22 4f 62 6a 65 63 74 45 78 70 72 65 73 73 69 6f "ObjectExpressio
00004a50: 6e 22 2c 0a 20 20 20 20 70 72 6f 70 65 72 74 69 n",. properti
00004a60: 65 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 es. });.}.funct
00004a70: 69 6f 6e 20 6f 62 6a 65 63 74 4d 65 74 68 6f 64 ion objectMethod
00004a80: 28 6b 69 6e 64 20 3d 20 22 6d 65 74 68 6f 64 22 (kind = "method"
00004a90: 2c 20 6b 65 79 2c 20 70 61 72 61 6d 73 2c 20 62 , key, params, b
00004aa0: 6f 64 79 2c 20 63 6f 6d 70 75 74 65 64 20 3d 20 ody, computed =
00004ab0: 66 61 6c 73 65 2c 20 67 65 6e 65 72 61 74 6f 72 false, generator
00004ac0: 20 3d 20 66 61 6c 73 65 2c 20 61 73 79 6e 63 20 = false, async
00004ad0: 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 72 65 74 = false) {. ret
00004ae0: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00004af0: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00004b00: 0a 20 20 20 20 74 79 70 65 3a 20 22 4f 62 6a 65 . type: "Obje
00004b10: 63 74 4d 65 74 68 6f 64 22 2c 0a 20 20 20 20 6b ctMethod",. k
00004b20: 69 6e 64 2c 0a 20 20 20 20 6b 65 79 2c 0a 20 20 ind,. key,.
00004b30: 20 20 70 61 72 61 6d 73 2c 0a 20 20 20 20 62 6f params,. bo
00004b40: 64 79 2c 0a 20 20 20 20 63 6f 6d 70 75 74 65 64 dy,. computed
00004b50: 2c 0a 20 20 20 20 67 65 6e 65 72 61 74 6f 72 2c ,. generator,
00004b60: 0a 20 20 20 20 61 73 79 6e 63 0a 20 20 7d 29 3b . async. });
00004b70: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 .}.function obje
00004b80: 63 74 50 72 6f 70 65 72 74 79 28 6b 65 79 2c 20 ctProperty(key,
00004b90: 76 61 6c 75 65 2c 20 63 6f 6d 70 75 74 65 64 20 value, computed
00004ba0: 3d 20 66 61 6c 73 65 2c 20 73 68 6f 72 74 68 61 = false, shortha
00004bb0: 6e 64 20 3d 20 66 61 6c 73 65 2c 20 64 65 63 6f nd = false, deco
00004bc0: 72 61 74 6f 72 73 20 3d 20 6e 75 6c 6c 29 20 7b rators = null) {
00004bd0: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
00004be0: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
00004bf0: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
00004c00: 20 22 4f 62 6a 65 63 74 50 72 6f 70 65 72 74 79 "ObjectProperty
00004c10: 22 2c 0a 20 20 20 20 6b 65 79 2c 0a 20 20 20 20 ",. key,.
00004c20: 76 61 6c 75 65 2c 0a 20 20 20 20 63 6f 6d 70 75 value,. compu
00004c30: 74 65 64 2c 0a 20 20 20 20 73 68 6f 72 74 68 61 ted,. shortha
00004c40: 6e 64 2c 0a 20 20 20 20 64 65 63 6f 72 61 74 6f nd,. decorato
00004c50: 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 rs. });.}.funct
00004c60: 69 6f 6e 20 72 65 73 74 45 6c 65 6d 65 6e 74 28 ion restElement(
00004c70: 61 72 67 75 6d 65 6e 74 29 20 7b 0a 20 20 72 65 argument) {. re
00004c80: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00004c90: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00004ca0: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 52 65 73 {. type: "Res
00004cb0: 74 45 6c 65 6d 65 6e 74 22 2c 0a 20 20 20 20 61 tElement",. a
00004cc0: 72 67 75 6d 65 6e 74 0a 20 20 7d 29 3b 0a 7d 0a rgument. });.}.
00004cd0: 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 53 function returnS
00004ce0: 74 61 74 65 6d 65 6e 74 28 61 72 67 75 6d 65 6e tatement(argumen
00004cf0: 74 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 t = null) {. re
00004d00: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00004d10: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00004d20: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 52 65 74 {. type: "Ret
00004d30: 75 72 6e 53 74 61 74 65 6d 65 6e 74 22 2c 0a 20 urnStatement",.
00004d40: 20 20 20 61 72 67 75 6d 65 6e 74 0a 20 20 7d 29 argument. })
00004d50: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 73 65 71 ;.}.function seq
00004d60: 75 65 6e 63 65 45 78 70 72 65 73 73 69 6f 6e 28 uenceExpression(
00004d70: 65 78 70 72 65 73 73 69 6f 6e 73 29 20 7b 0a 20 expressions) {.
00004d80: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00004d90: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00004da0: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00004db0: 53 65 71 75 65 6e 63 65 45 78 70 72 65 73 73 69 SequenceExpressi
00004dc0: 6f 6e 22 2c 0a 20 20 20 20 65 78 70 72 65 73 73 on",. express
00004dd0: 69 6f 6e 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e ions. });.}.fun
00004de0: 63 74 69 6f 6e 20 70 61 72 65 6e 74 68 65 73 69 ction parenthesi
00004df0: 7a 65 64 45 78 70 72 65 73 73 69 6f 6e 28 65 78 zedExpression(ex
00004e00: 70 72 65 73 73 69 6f 6e 29 20 7b 0a 20 20 72 65 pression) {. re
00004e10: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00004e20: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00004e30: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 50 61 72 {. type: "Par
00004e40: 65 6e 74 68 65 73 69 7a 65 64 45 78 70 72 65 73 enthesizedExpres
00004e50: 73 69 6f 6e 22 2c 0a 20 20 20 20 65 78 70 72 65 sion",. expre
00004e60: 73 73 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 ssion. });.}.fu
00004e70: 6e 63 74 69 6f 6e 20 73 77 69 74 63 68 43 61 73 nction switchCas
00004e80: 65 28 74 65 73 74 20 3d 20 6e 75 6c 6c 2c 20 63 e(test = null, c
00004e90: 6f 6e 73 65 71 75 65 6e 74 29 20 7b 0a 20 20 72 onsequent) {. r
00004ea0: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
00004eb0: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
00004ec0: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 53 77 ({. type: "Sw
00004ed0: 69 74 63 68 43 61 73 65 22 2c 0a 20 20 20 20 74 itchCase",. t
00004ee0: 65 73 74 2c 0a 20 20 20 20 63 6f 6e 73 65 71 75 est,. consequ
00004ef0: 65 6e 74 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 ent. });.}.func
00004f00: 74 69 6f 6e 20 73 77 69 74 63 68 53 74 61 74 65 tion switchState
00004f10: 6d 65 6e 74 28 64 69 73 63 72 69 6d 69 6e 61 6e ment(discriminan
00004f20: 74 2c 20 63 61 73 65 73 29 20 7b 0a 20 20 72 65 t, cases) {. re
00004f30: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00004f40: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00004f50: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 53 77 69 {. type: "Swi
00004f60: 74 63 68 53 74 61 74 65 6d 65 6e 74 22 2c 0a 20 tchStatement",.
00004f70: 20 20 20 64 69 73 63 72 69 6d 69 6e 61 6e 74 2c discriminant,
00004f80: 0a 20 20 20 20 63 61 73 65 73 0a 20 20 7d 29 3b . cases. });
00004f90: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 68 69 73 .}.function this
00004fa0: 45 78 70 72 65 73 73 69 6f 6e 28 29 20 7b 0a 20 Expression() {.
00004fb0: 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 return {. ty
00004fc0: 70 65 3a 20 22 54 68 69 73 45 78 70 72 65 73 73 pe: "ThisExpress
00004fd0: 69 6f 6e 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 ion". };.}.func
00004fe0: 74 69 6f 6e 20 74 68 72 6f 77 53 74 61 74 65 6d tion throwStatem
00004ff0: 65 6e 74 28 61 72 67 75 6d 65 6e 74 29 20 7b 0a ent(argument) {.
00005000: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00005010: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
00005020: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
00005030: 22 54 68 72 6f 77 53 74 61 74 65 6d 65 6e 74 22 "ThrowStatement"
00005040: 2c 0a 20 20 20 20 61 72 67 75 6d 65 6e 74 0a 20 ,. argument.
00005050: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00005060: 74 72 79 53 74 61 74 65 6d 65 6e 74 28 62 6c 6f tryStatement(blo
00005070: 63 6b 2c 20 68 61 6e 64 6c 65 72 20 3d 20 6e 75 ck, handler = nu
00005080: 6c 6c 2c 20 66 69 6e 61 6c 69 7a 65 72 20 3d 20 ll, finalizer =
00005090: 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e null) {. return
000050a0: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
000050b0: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
000050c0: 20 20 74 79 70 65 3a 20 22 54 72 79 53 74 61 74 type: "TryStat
000050d0: 65 6d 65 6e 74 22 2c 0a 20 20 20 20 62 6c 6f 63 ement",. bloc
000050e0: 6b 2c 0a 20 20 20 20 68 61 6e 64 6c 65 72 2c 0a k,. handler,.
000050f0: 20 20 20 20 66 69 6e 61 6c 69 7a 65 72 0a 20 20 finalizer.
00005100: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 75 });.}.function u
00005110: 6e 61 72 79 45 78 70 72 65 73 73 69 6f 6e 28 6f naryExpression(o
00005120: 70 65 72 61 74 6f 72 2c 20 61 72 67 75 6d 65 6e perator, argumen
00005130: 74 2c 20 70 72 65 66 69 78 20 3d 20 74 72 75 65 t, prefix = true
00005140: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
00005150: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
00005160: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
00005170: 70 65 3a 20 22 55 6e 61 72 79 45 78 70 72 65 73 pe: "UnaryExpres
00005180: 73 69 6f 6e 22 2c 0a 20 20 20 20 6f 70 65 72 61 sion",. opera
00005190: 74 6f 72 2c 0a 20 20 20 20 61 72 67 75 6d 65 6e tor,. argumen
000051a0: 74 2c 0a 20 20 20 20 70 72 65 66 69 78 0a 20 20 t,. prefix.
000051b0: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 75 });.}.function u
000051c0: 70 64 61 74 65 45 78 70 72 65 73 73 69 6f 6e 28 pdateExpression(
000051d0: 6f 70 65 72 61 74 6f 72 2c 20 61 72 67 75 6d 65 operator, argume
000051e0: 6e 74 2c 20 70 72 65 66 69 78 20 3d 20 66 61 6c nt, prefix = fal
000051f0: 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 se) {. return (
00005200: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00005210: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00005220: 74 79 70 65 3a 20 22 55 70 64 61 74 65 45 78 70 type: "UpdateExp
00005230: 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 6f 70 ression",. op
00005240: 65 72 61 74 6f 72 2c 0a 20 20 20 20 61 72 67 75 erator,. argu
00005250: 6d 65 6e 74 2c 0a 20 20 20 20 70 72 65 66 69 78 ment,. prefix
00005260: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
00005270: 6e 20 76 61 72 69 61 62 6c 65 44 65 63 6c 61 72 n variableDeclar
00005280: 61 74 69 6f 6e 28 6b 69 6e 64 2c 20 64 65 63 6c ation(kind, decl
00005290: 61 72 61 74 69 6f 6e 73 29 20 7b 0a 20 20 72 65 arations) {. re
000052a0: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
000052b0: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
000052c0: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 56 61 72 {. type: "Var
000052d0: 69 61 62 6c 65 44 65 63 6c 61 72 61 74 69 6f 6e iableDeclaration
000052e0: 22 2c 0a 20 20 20 20 6b 69 6e 64 2c 0a 20 20 20 ",. kind,.
000052f0: 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 0a 20 20 declarations.
00005300: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 76 });.}.function v
00005310: 61 72 69 61 62 6c 65 44 65 63 6c 61 72 61 74 6f ariableDeclarato
00005320: 72 28 69 64 2c 20 69 6e 69 74 20 3d 20 6e 75 6c r(id, init = nul
00005330: 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 l) {. return (0
00005340: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
00005350: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
00005360: 79 70 65 3a 20 22 56 61 72 69 61 62 6c 65 44 65 ype: "VariableDe
00005370: 63 6c 61 72 61 74 6f 72 22 2c 0a 20 20 20 20 69 clarator",. i
00005380: 64 2c 0a 20 20 20 20 69 6e 69 74 0a 20 20 7d 29 d,. init. })
00005390: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 77 68 69 ;.}.function whi
000053a0: 6c 65 53 74 61 74 65 6d 65 6e 74 28 74 65 73 74 leStatement(test
000053b0: 2c 20 62 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 , body) {. retu
000053c0: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
000053d0: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
000053e0: 20 20 20 20 74 79 70 65 3a 20 22 57 68 69 6c 65 type: "While
000053f0: 53 74 61 74 65 6d 65 6e 74 22 2c 0a 20 20 20 20 Statement",.
00005400: 74 65 73 74 2c 0a 20 20 20 20 62 6f 64 79 0a 20 test,. body.
00005410: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00005420: 77 69 74 68 53 74 61 74 65 6d 65 6e 74 28 6f 62 withStatement(ob
00005430: 6a 65 63 74 2c 20 62 6f 64 79 29 20 7b 0a 20 20 ject, body) {.
00005440: 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 return (0, _vali
00005450: 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 dateNode.default
00005460: 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 57 )({. type: "W
00005470: 69 74 68 53 74 61 74 65 6d 65 6e 74 22 2c 0a 20 ithStatement",.
00005480: 20 20 20 6f 62 6a 65 63 74 2c 0a 20 20 20 20 62 object,. b
00005490: 6f 64 79 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 ody. });.}.func
000054a0: 74 69 6f 6e 20 61 73 73 69 67 6e 6d 65 6e 74 50 tion assignmentP
000054b0: 61 74 74 65 72 6e 28 6c 65 66 74 2c 20 72 69 67 attern(left, rig
000054c0: 68 74 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ht) {. return (
000054d0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
000054e0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
000054f0: 74 79 70 65 3a 20 22 41 73 73 69 67 6e 6d 65 6e type: "Assignmen
00005500: 74 50 61 74 74 65 72 6e 22 2c 0a 20 20 20 20 6c tPattern",. l
00005510: 65 66 74 2c 0a 20 20 20 20 72 69 67 68 74 0a 20 eft,. right.
00005520: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00005530: 61 72 72 61 79 50 61 74 74 65 72 6e 28 65 6c 65 arrayPattern(ele
00005540: 6d 65 6e 74 73 29 20 7b 0a 20 20 72 65 74 75 72 ments) {. retur
00005550: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
00005560: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00005570: 20 20 20 74 79 70 65 3a 20 22 41 72 72 61 79 50 type: "ArrayP
00005580: 61 74 74 65 72 6e 22 2c 0a 20 20 20 20 65 6c 65 attern",. ele
00005590: 6d 65 6e 74 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 ments. });.}.fu
000055a0: 6e 63 74 69 6f 6e 20 61 72 72 6f 77 46 75 6e 63 nction arrowFunc
000055b0: 74 69 6f 6e 45 78 70 72 65 73 73 69 6f 6e 28 70 tionExpression(p
000055c0: 61 72 61 6d 73 2c 20 62 6f 64 79 2c 20 61 73 79 arams, body, asy
000055d0: 6e 63 20 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 nc = false) {.
000055e0: 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 return (0, _vali
000055f0: 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 dateNode.default
00005600: 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 41 )({. type: "A
00005610: 72 72 6f 77 46 75 6e 63 74 69 6f 6e 45 78 70 72 rrowFunctionExpr
00005620: 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 70 61 72 ession",. par
00005630: 61 6d 73 2c 0a 20 20 20 20 62 6f 64 79 2c 0a 20 ams,. body,.
00005640: 20 20 20 61 73 79 6e 63 2c 0a 20 20 20 20 65 78 async,. ex
00005650: 70 72 65 73 73 69 6f 6e 3a 20 6e 75 6c 6c 0a 20 pression: null.
00005660: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00005670: 63 6c 61 73 73 42 6f 64 79 28 62 6f 64 79 29 20 classBody(body)
00005680: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00005690: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
000056a0: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
000056b0: 3a 20 22 43 6c 61 73 73 42 6f 64 79 22 2c 0a 20 : "ClassBody",.
000056c0: 20 20 20 62 6f 64 79 0a 20 20 7d 29 3b 0a 7d 0a body. });.}.
000056d0: 66 75 6e 63 74 69 6f 6e 20 63 6c 61 73 73 45 78 function classEx
000056e0: 70 72 65 73 73 69 6f 6e 28 69 64 20 3d 20 6e 75 pression(id = nu
000056f0: 6c 6c 2c 20 73 75 70 65 72 43 6c 61 73 73 20 3d ll, superClass =
00005700: 20 6e 75 6c 6c 2c 20 62 6f 64 79 2c 20 64 65 63 null, body, dec
00005710: 6f 72 61 74 6f 72 73 20 3d 20 6e 75 6c 6c 29 20 orators = null)
00005720: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00005730: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
00005740: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00005750: 3a 20 22 43 6c 61 73 73 45 78 70 72 65 73 73 69 : "ClassExpressi
00005760: 6f 6e 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 on",. id,.
00005770: 20 73 75 70 65 72 43 6c 61 73 73 2c 0a 20 20 20 superClass,.
00005780: 20 62 6f 64 79 2c 0a 20 20 20 20 64 65 63 6f 72 body,. decor
00005790: 61 74 6f 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 ators. });.}.fu
000057a0: 6e 63 74 69 6f 6e 20 63 6c 61 73 73 44 65 63 6c nction classDecl
000057b0: 61 72 61 74 69 6f 6e 28 69 64 20 3d 20 6e 75 6c aration(id = nul
000057c0: 6c 2c 20 73 75 70 65 72 43 6c 61 73 73 20 3d 20 l, superClass =
000057d0: 6e 75 6c 6c 2c 20 62 6f 64 79 2c 20 64 65 63 6f null, body, deco
000057e0: 72 61 74 6f 72 73 20 3d 20 6e 75 6c 6c 29 20 7b rators = null) {
000057f0: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
00005800: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
00005810: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
00005820: 20 22 43 6c 61 73 73 44 65 63 6c 61 72 61 74 69 "ClassDeclarati
00005830: 6f 6e 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 on",. id,.
00005840: 20 73 75 70 65 72 43 6c 61 73 73 2c 0a 20 20 20 superClass,.
00005850: 20 62 6f 64 79 2c 0a 20 20 20 20 64 65 63 6f 72 body,. decor
00005860: 61 74 6f 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 ators. });.}.fu
00005870: 6e 63 74 69 6f 6e 20 65 78 70 6f 72 74 41 6c 6c nction exportAll
00005880: 44 65 63 6c 61 72 61 74 69 6f 6e 28 73 6f 75 72 Declaration(sour
00005890: 63 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ce) {. return (
000058a0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
000058b0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
000058c0: 74 79 70 65 3a 20 22 45 78 70 6f 72 74 41 6c 6c type: "ExportAll
000058d0: 44 65 63 6c 61 72 61 74 69 6f 6e 22 2c 0a 20 20 Declaration",.
000058e0: 20 20 73 6f 75 72 63 65 0a 20 20 7d 29 3b 0a 7d source. });.}
000058f0: 0a 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f 72 74 .function export
00005900: 44 65 66 61 75 6c 74 44 65 63 6c 61 72 61 74 69 DefaultDeclarati
00005910: 6f 6e 28 64 65 63 6c 61 72 61 74 69 6f 6e 29 20 on(declaration)
00005920: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00005930: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
00005940: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00005950: 3a 20 22 45 78 70 6f 72 74 44 65 66 61 75 6c 74 : "ExportDefault
00005960: 44 65 63 6c 61 72 61 74 69 6f 6e 22 2c 0a 20 20 Declaration",.
00005970: 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 0a 20 20 declaration.
00005980: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 65 });.}.function e
00005990: 78 70 6f 72 74 4e 61 6d 65 64 44 65 63 6c 61 72 xportNamedDeclar
000059a0: 61 74 69 6f 6e 28 64 65 63 6c 61 72 61 74 69 6f ation(declaratio
000059b0: 6e 20 3d 20 6e 75 6c 6c 2c 20 73 70 65 63 69 66 n = null, specif
000059c0: 69 65 72 73 20 3d 20 5b 5d 2c 20 73 6f 75 72 63 iers = [], sourc
000059d0: 65 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 e = null) {. re
000059e0: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
000059f0: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00005a00: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 45 78 70 {. type: "Exp
00005a10: 6f 72 74 4e 61 6d 65 64 44 65 63 6c 61 72 61 74 ortNamedDeclarat
00005a20: 69 6f 6e 22 2c 0a 20 20 20 20 64 65 63 6c 61 72 ion",. declar
00005a30: 61 74 69 6f 6e 2c 0a 20 20 20 20 73 70 65 63 69 ation,. speci
00005a40: 66 69 65 72 73 2c 0a 20 20 20 20 73 6f 75 72 63 fiers,. sourc
00005a50: 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 e. });.}.functi
00005a60: 6f 6e 20 65 78 70 6f 72 74 53 70 65 63 69 66 69 on exportSpecifi
00005a70: 65 72 28 6c 6f 63 61 6c 2c 20 65 78 70 6f 72 74 er(local, export
00005a80: 65 64 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ed) {. return (
00005a90: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00005aa0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00005ab0: 74 79 70 65 3a 20 22 45 78 70 6f 72 74 53 70 65 type: "ExportSpe
00005ac0: 63 69 66 69 65 72 22 2c 0a 20 20 20 20 6c 6f 63 cifier",. loc
00005ad0: 61 6c 2c 0a 20 20 20 20 65 78 70 6f 72 74 65 64 al,. exported
00005ae0: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
00005af0: 6e 20 66 6f 72 4f 66 53 74 61 74 65 6d 65 6e 74 n forOfStatement
00005b00: 28 6c 65 66 74 2c 20 72 69 67 68 74 2c 20 62 6f (left, right, bo
00005b10: 64 79 2c 20 5f 61 77 61 69 74 20 3d 20 66 61 6c dy, _await = fal
00005b20: 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 se) {. return (
00005b30: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00005b40: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00005b50: 74 79 70 65 3a 20 22 46 6f 72 4f 66 53 74 61 74 type: "ForOfStat
00005b60: 65 6d 65 6e 74 22 2c 0a 20 20 20 20 6c 65 66 74 ement",. left
00005b70: 2c 0a 20 20 20 20 72 69 67 68 74 2c 0a 20 20 20 ,. right,.
00005b80: 20 62 6f 64 79 2c 0a 20 20 20 20 61 77 61 69 74 body,. await
00005b90: 3a 20 5f 61 77 61 69 74 0a 20 20 7d 29 3b 0a 7d : _await. });.}
00005ba0: 0a 66 75 6e 63 74 69 6f 6e 20 69 6d 70 6f 72 74 .function import
00005bb0: 44 65 63 6c 61 72 61 74 69 6f 6e 28 73 70 65 63 Declaration(spec
00005bc0: 69 66 69 65 72 73 2c 20 73 6f 75 72 63 65 29 20 ifiers, source)
00005bd0: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00005be0: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
00005bf0: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00005c00: 3a 20 22 49 6d 70 6f 72 74 44 65 63 6c 61 72 61 : "ImportDeclara
00005c10: 74 69 6f 6e 22 2c 0a 20 20 20 20 73 70 65 63 69 tion",. speci
00005c20: 66 69 65 72 73 2c 0a 20 20 20 20 73 6f 75 72 63 fiers,. sourc
00005c30: 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 e. });.}.functi
00005c40: 6f 6e 20 69 6d 70 6f 72 74 44 65 66 61 75 6c 74 on importDefault
00005c50: 53 70 65 63 69 66 69 65 72 28 6c 6f 63 61 6c 29 Specifier(local)
00005c60: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
00005c70: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
00005c80: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
00005c90: 65 3a 20 22 49 6d 70 6f 72 74 44 65 66 61 75 6c e: "ImportDefaul
00005ca0: 74 53 70 65 63 69 66 69 65 72 22 2c 0a 20 20 20 tSpecifier",.
00005cb0: 20 6c 6f 63 61 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 local. });.}.f
00005cc0: 75 6e 63 74 69 6f 6e 20 69 6d 70 6f 72 74 4e 61 unction importNa
00005cd0: 6d 65 73 70 61 63 65 53 70 65 63 69 66 69 65 72 mespaceSpecifier
00005ce0: 28 6c 6f 63 61 6c 29 20 7b 0a 20 20 72 65 74 75 (local) {. retu
00005cf0: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
00005d00: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
00005d10: 20 20 20 20 74 79 70 65 3a 20 22 49 6d 70 6f 72 type: "Impor
00005d20: 74 4e 61 6d 65 73 70 61 63 65 53 70 65 63 69 66 tNamespaceSpecif
00005d30: 69 65 72 22 2c 0a 20 20 20 20 6c 6f 63 61 6c 0a ier",. local.
00005d40: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00005d50: 20 69 6d 70 6f 72 74 53 70 65 63 69 66 69 65 72 importSpecifier
00005d60: 28 6c 6f 63 61 6c 2c 20 69 6d 70 6f 72 74 65 64 (local, imported
00005d70: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
00005d80: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
00005d90: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
00005da0: 70 65 3a 20 22 49 6d 70 6f 72 74 53 70 65 63 69 pe: "ImportSpeci
00005db0: 66 69 65 72 22 2c 0a 20 20 20 20 6c 6f 63 61 6c fier",. local
00005dc0: 2c 0a 20 20 20 20 69 6d 70 6f 72 74 65 64 0a 20 ,. imported.
00005dd0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00005de0: 69 6d 70 6f 72 74 45 78 70 72 65 73 73 69 6f 6e importExpression
00005df0: 28 73 6f 75 72 63 65 2c 20 6f 70 74 69 6f 6e 73 (source, options
00005e00: 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 = null) {. ret
00005e10: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00005e20: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00005e30: 0a 20 20 20 20 74 79 70 65 3a 20 22 49 6d 70 6f . type: "Impo
00005e40: 72 74 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 rtExpression",.
00005e50: 20 20 20 73 6f 75 72 63 65 2c 0a 20 20 20 20 6f source,. o
00005e60: 70 74 69 6f 6e 73 0a 20 20 7d 29 3b 0a 7d 0a 66 ptions. });.}.f
00005e70: 75 6e 63 74 69 6f 6e 20 6d 65 74 61 50 72 6f 70 unction metaProp
00005e80: 65 72 74 79 28 6d 65 74 61 2c 20 70 72 6f 70 65 erty(meta, prope
00005e90: 72 74 79 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 rty) {. return
00005ea0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00005eb0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00005ec0: 20 74 79 70 65 3a 20 22 4d 65 74 61 50 72 6f 70 type: "MetaProp
00005ed0: 65 72 74 79 22 2c 0a 20 20 20 20 6d 65 74 61 2c erty",. meta,
00005ee0: 0a 20 20 20 20 70 72 6f 70 65 72 74 79 0a 20 20 . property.
00005ef0: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 });.}.function c
00005f00: 6c 61 73 73 4d 65 74 68 6f 64 28 6b 69 6e 64 20 lassMethod(kind
00005f10: 3d 20 22 6d 65 74 68 6f 64 22 2c 20 6b 65 79 2c = "method", key,
00005f20: 20 70 61 72 61 6d 73 2c 20 62 6f 64 79 2c 20 63 params, body, c
00005f30: 6f 6d 70 75 74 65 64 20 3d 20 66 61 6c 73 65 2c omputed = false,
00005f40: 20 5f 73 74 61 74 69 63 20 3d 20 66 61 6c 73 65 _static = false
00005f50: 2c 20 67 65 6e 65 72 61 74 6f 72 20 3d 20 66 61 , generator = fa
00005f60: 6c 73 65 2c 20 61 73 79 6e 63 20 3d 20 66 61 6c lse, async = fal
00005f70: 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 se) {. return (
00005f80: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00005f90: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00005fa0: 74 79 70 65 3a 20 22 43 6c 61 73 73 4d 65 74 68 type: "ClassMeth
00005fb0: 6f 64 22 2c 0a 20 20 20 20 6b 69 6e 64 2c 0a 20 od",. kind,.
00005fc0: 20 20 20 6b 65 79 2c 0a 20 20 20 20 70 61 72 61 key,. para
00005fd0: 6d 73 2c 0a 20 20 20 20 62 6f 64 79 2c 0a 20 20 ms,. body,.
00005fe0: 20 20 63 6f 6d 70 75 74 65 64 2c 0a 20 20 20 20 computed,.
00005ff0: 73 74 61 74 69 63 3a 20 5f 73 74 61 74 69 63 2c static: _static,
00006000: 0a 20 20 20 20 67 65 6e 65 72 61 74 6f 72 2c 0a . generator,.
00006010: 20 20 20 20 61 73 79 6e 63 0a 20 20 7d 29 3b 0a async. });.
00006020: 7d 0a 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 }.function objec
00006030: 74 50 61 74 74 65 72 6e 28 70 72 6f 70 65 72 74 tPattern(propert
00006040: 69 65 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ies) {. return
00006050: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00006060: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00006070: 20 74 79 70 65 3a 20 22 4f 62 6a 65 63 74 50 61 type: "ObjectPa
00006080: 74 74 65 72 6e 22 2c 0a 20 20 20 20 70 72 6f 70 ttern",. prop
00006090: 65 72 74 69 65 73 0a 20 20 7d 29 3b 0a 7d 0a 66 erties. });.}.f
000060a0: 75 6e 63 74 69 6f 6e 20 73 70 72 65 61 64 45 6c unction spreadEl
000060b0: 65 6d 65 6e 74 28 61 72 67 75 6d 65 6e 74 29 20 ement(argument)
000060c0: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
000060d0: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
000060e0: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
000060f0: 3a 20 22 53 70 72 65 61 64 45 6c 65 6d 65 6e 74 : "SpreadElement
00006100: 22 2c 0a 20 20 20 20 61 72 67 75 6d 65 6e 74 0a ",. argument.
00006110: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00006120: 20 5f 73 75 70 65 72 28 29 20 7b 0a 20 20 72 65 _super() {. re
00006130: 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a turn {. type:
00006140: 20 22 53 75 70 65 72 22 0a 20 20 7d 3b 0a 7d 0a "Super". };.}.
00006150: 66 75 6e 63 74 69 6f 6e 20 74 61 67 67 65 64 54 function taggedT
00006160: 65 6d 70 6c 61 74 65 45 78 70 72 65 73 73 69 6f emplateExpressio
00006170: 6e 28 74 61 67 2c 20 71 75 61 73 69 29 20 7b 0a n(tag, quasi) {.
00006180: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00006190: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
000061a0: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
000061b0: 22 54 61 67 67 65 64 54 65 6d 70 6c 61 74 65 45 "TaggedTemplateE
000061c0: 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 xpression",.
000061d0: 74 61 67 2c 0a 20 20 20 20 71 75 61 73 69 0a 20 tag,. quasi.
000061e0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
000061f0: 74 65 6d 70 6c 61 74 65 45 6c 65 6d 65 6e 74 28 templateElement(
00006200: 76 61 6c 75 65 2c 20 74 61 69 6c 20 3d 20 66 61 value, tail = fa
00006210: 6c 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 lse) {. return
00006220: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00006230: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00006240: 20 74 79 70 65 3a 20 22 54 65 6d 70 6c 61 74 65 type: "Template
00006250: 45 6c 65 6d 65 6e 74 22 2c 0a 20 20 20 20 76 61 Element",. va
00006260: 6c 75 65 2c 0a 20 20 20 20 74 61 69 6c 0a 20 20 lue,. tail.
00006270: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 });.}.function t
00006280: 65 6d 70 6c 61 74 65 4c 69 74 65 72 61 6c 28 71 emplateLiteral(q
00006290: 75 61 73 69 73 2c 20 65 78 70 72 65 73 73 69 6f uasis, expressio
000062a0: 6e 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ns) {. return (
000062b0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
000062c0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
000062d0: 74 79 70 65 3a 20 22 54 65 6d 70 6c 61 74 65 4c type: "TemplateL
000062e0: 69 74 65 72 61 6c 22 2c 0a 20 20 20 20 71 75 61 iteral",. qua
000062f0: 73 69 73 2c 0a 20 20 20 20 65 78 70 72 65 73 73 sis,. express
00006300: 69 6f 6e 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e ions. });.}.fun
00006310: 63 74 69 6f 6e 20 79 69 65 6c 64 45 78 70 72 65 ction yieldExpre
00006320: 73 73 69 6f 6e 28 61 72 67 75 6d 65 6e 74 20 3d ssion(argument =
00006330: 20 6e 75 6c 6c 2c 20 64 65 6c 65 67 61 74 65 20 null, delegate
00006340: 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 72 65 74 = false) {. ret
00006350: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00006360: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00006370: 0a 20 20 20 20 74 79 70 65 3a 20 22 59 69 65 6c . type: "Yiel
00006380: 64 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 dExpression",.
00006390: 20 20 61 72 67 75 6d 65 6e 74 2c 0a 20 20 20 20 argument,.
000063a0: 64 65 6c 65 67 61 74 65 0a 20 20 7d 29 3b 0a 7d delegate. });.}
000063b0: 0a 66 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 45 .function awaitE
000063c0: 78 70 72 65 73 73 69 6f 6e 28 61 72 67 75 6d 65 xpression(argume
000063d0: 6e 74 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 nt) {. return (
000063e0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
000063f0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00006400: 74 79 70 65 3a 20 22 41 77 61 69 74 45 78 70 72 type: "AwaitExpr
00006410: 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 61 72 67 ession",. arg
00006420: 75 6d 65 6e 74 0a 20 20 7d 29 3b 0a 7d 0a 66 75 ument. });.}.fu
00006430: 6e 63 74 69 6f 6e 20 5f 69 6d 70 6f 72 74 28 29 nction _import()
00006440: 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 {. return {.
00006450: 20 20 74 79 70 65 3a 20 22 49 6d 70 6f 72 74 22 type: "Import"
00006460: 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e . };.}.function
00006470: 20 62 69 67 49 6e 74 4c 69 74 65 72 61 6c 28 76 bigIntLiteral(v
00006480: 61 6c 75 65 29 20 7b 0a 20 20 72 65 74 75 72 6e alue) {. return
00006490: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
000064a0: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
000064b0: 20 20 74 79 70 65 3a 20 22 42 69 67 49 6e 74 4c type: "BigIntL
000064c0: 69 74 65 72 61 6c 22 2c 0a 20 20 20 20 76 61 6c iteral",. val
000064d0: 75 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 ue. });.}.funct
000064e0: 69 6f 6e 20 65 78 70 6f 72 74 4e 61 6d 65 73 70 ion exportNamesp
000064f0: 61 63 65 53 70 65 63 69 66 69 65 72 28 65 78 70 aceSpecifier(exp
00006500: 6f 72 74 65 64 29 20 7b 0a 20 20 72 65 74 75 72 orted) {. retur
00006510: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
00006520: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00006530: 20 20 20 74 79 70 65 3a 20 22 45 78 70 6f 72 74 type: "Export
00006540: 4e 61 6d 65 73 70 61 63 65 53 70 65 63 69 66 69 NamespaceSpecifi
00006550: 65 72 22 2c 0a 20 20 20 20 65 78 70 6f 72 74 65 er",. exporte
00006560: 64 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 d. });.}.functi
00006570: 6f 6e 20 6f 70 74 69 6f 6e 61 6c 4d 65 6d 62 65 on optionalMembe
00006580: 72 45 78 70 72 65 73 73 69 6f 6e 28 6f 62 6a 65 rExpression(obje
00006590: 63 74 2c 20 70 72 6f 70 65 72 74 79 2c 20 63 6f ct, property, co
000065a0: 6d 70 75 74 65 64 20 3d 20 66 61 6c 73 65 2c 20 mputed = false,
000065b0: 6f 70 74 69 6f 6e 61 6c 29 20 7b 0a 20 20 72 65 optional) {. re
000065c0: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
000065d0: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
000065e0: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4f 70 74 {. type: "Opt
000065f0: 69 6f 6e 61 6c 4d 65 6d 62 65 72 45 78 70 72 65 ionalMemberExpre
00006600: 73 73 69 6f 6e 22 2c 0a 20 20 20 20 6f 62 6a 65 ssion",. obje
00006610: 63 74 2c 0a 20 20 20 20 70 72 6f 70 65 72 74 79 ct,. property
00006620: 2c 0a 20 20 20 20 63 6f 6d 70 75 74 65 64 2c 0a ,. computed,.
00006630: 20 20 20 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 7d optional. }
00006640: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6f 70 );.}.function op
00006650: 74 69 6f 6e 61 6c 43 61 6c 6c 45 78 70 72 65 73 tionalCallExpres
00006660: 73 69 6f 6e 28 63 61 6c 6c 65 65 2c 20 5f 61 72 sion(callee, _ar
00006670: 67 75 6d 65 6e 74 73 2c 20 6f 70 74 69 6f 6e 61 guments, optiona
00006680: 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 l) {. return (0
00006690: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
000066a0: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
000066b0: 79 70 65 3a 20 22 4f 70 74 69 6f 6e 61 6c 43 61 ype: "OptionalCa
000066c0: 6c 6c 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 llExpression",.
000066d0: 20 20 20 63 61 6c 6c 65 65 2c 0a 20 20 20 20 61 callee,. a
000066e0: 72 67 75 6d 65 6e 74 73 3a 20 5f 61 72 67 75 6d rguments: _argum
000066f0: 65 6e 74 73 2c 0a 20 20 20 20 6f 70 74 69 6f 6e ents,. option
00006700: 61 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 al. });.}.funct
00006710: 69 6f 6e 20 63 6c 61 73 73 50 72 6f 70 65 72 74 ion classPropert
00006720: 79 28 6b 65 79 2c 20 76 61 6c 75 65 20 3d 20 6e y(key, value = n
00006730: 75 6c 6c 2c 20 74 79 70 65 41 6e 6e 6f 74 61 74 ull, typeAnnotat
00006740: 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 64 65 63 6f ion = null, deco
00006750: 72 61 74 6f 72 73 20 3d 20 6e 75 6c 6c 2c 20 63 rators = null, c
00006760: 6f 6d 70 75 74 65 64 20 3d 20 66 61 6c 73 65 2c omputed = false,
00006770: 20 5f 73 74 61 74 69 63 20 3d 20 66 61 6c 73 65 _static = false
00006780: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
00006790: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
000067a0: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
000067b0: 70 65 3a 20 22 43 6c 61 73 73 50 72 6f 70 65 72 pe: "ClassProper
000067c0: 74 79 22 2c 0a 20 20 20 20 6b 65 79 2c 0a 20 20 ty",. key,.
000067d0: 20 20 76 61 6c 75 65 2c 0a 20 20 20 20 74 79 70 value,. typ
000067e0: 65 41 6e 6e 6f 74 61 74 69 6f 6e 2c 0a 20 20 20 eAnnotation,.
000067f0: 20 64 65 63 6f 72 61 74 6f 72 73 2c 0a 20 20 20 decorators,.
00006800: 20 63 6f 6d 70 75 74 65 64 2c 0a 20 20 20 20 73 computed,. s
00006810: 74 61 74 69 63 3a 20 5f 73 74 61 74 69 63 0a 20 tatic: _static.
00006820: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00006830: 63 6c 61 73 73 41 63 63 65 73 73 6f 72 50 72 6f classAccessorPro
00006840: 70 65 72 74 79 28 6b 65 79 2c 20 76 61 6c 75 65 perty(key, value
00006850: 20 3d 20 6e 75 6c 6c 2c 20 74 79 70 65 41 6e 6e = null, typeAnn
00006860: 6f 74 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 otation = null,
00006870: 64 65 63 6f 72 61 74 6f 72 73 20 3d 20 6e 75 6c decorators = nul
00006880: 6c 2c 20 63 6f 6d 70 75 74 65 64 20 3d 20 66 61 l, computed = fa
00006890: 6c 73 65 2c 20 5f 73 74 61 74 69 63 20 3d 20 66 lse, _static = f
000068a0: 61 6c 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e alse) {. return
000068b0: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
000068c0: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
000068d0: 20 20 74 79 70 65 3a 20 22 43 6c 61 73 73 41 63 type: "ClassAc
000068e0: 63 65 73 73 6f 72 50 72 6f 70 65 72 74 79 22 2c cessorProperty",
000068f0: 0a 20 20 20 20 6b 65 79 2c 0a 20 20 20 20 76 61 . key,. va
00006900: 6c 75 65 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e lue,. typeAnn
00006910: 6f 74 61 74 69 6f 6e 2c 0a 20 20 20 20 64 65 63 otation,. dec
00006920: 6f 72 61 74 6f 72 73 2c 0a 20 20 20 20 63 6f 6d orators,. com
00006930: 70 75 74 65 64 2c 0a 20 20 20 20 73 74 61 74 69 puted,. stati
00006940: 63 3a 20 5f 73 74 61 74 69 63 0a 20 20 7d 29 3b c: _static. });
00006950: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 6c 61 73 .}.function clas
00006960: 73 50 72 69 76 61 74 65 50 72 6f 70 65 72 74 79 sPrivateProperty
00006970: 28 6b 65 79 2c 20 76 61 6c 75 65 20 3d 20 6e 75 (key, value = nu
00006980: 6c 6c 2c 20 64 65 63 6f 72 61 74 6f 72 73 20 3d ll, decorators =
00006990: 20 6e 75 6c 6c 2c 20 5f 73 74 61 74 69 63 20 3d null, _static =
000069a0: 20 66 61 6c 73 65 29 20 7b 0a 20 20 72 65 74 75 false) {. retu
000069b0: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
000069c0: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
000069d0: 20 20 20 20 74 79 70 65 3a 20 22 43 6c 61 73 73 type: "Class
000069e0: 50 72 69 76 61 74 65 50 72 6f 70 65 72 74 79 22 PrivateProperty"
000069f0: 2c 0a 20 20 20 20 6b 65 79 2c 0a 20 20 20 20 76 ,. key,. v
00006a00: 61 6c 75 65 2c 0a 20 20 20 20 64 65 63 6f 72 61 alue,. decora
00006a10: 74 6f 72 73 2c 0a 20 20 20 20 73 74 61 74 69 63 tors,. static
00006a20: 3a 20 5f 73 74 61 74 69 63 0a 20 20 7d 29 3b 0a : _static. });.
00006a30: 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 6c 61 73 73 }.function class
00006a40: 50 72 69 76 61 74 65 4d 65 74 68 6f 64 28 6b 69 PrivateMethod(ki
00006a50: 6e 64 20 3d 20 22 6d 65 74 68 6f 64 22 2c 20 6b nd = "method", k
00006a60: 65 79 2c 20 70 61 72 61 6d 73 2c 20 62 6f 64 79 ey, params, body
00006a70: 2c 20 5f 73 74 61 74 69 63 20 3d 20 66 61 6c 73 , _static = fals
00006a80: 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 e) {. return (0
00006a90: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
00006aa0: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
00006ab0: 79 70 65 3a 20 22 43 6c 61 73 73 50 72 69 76 61 ype: "ClassPriva
00006ac0: 74 65 4d 65 74 68 6f 64 22 2c 0a 20 20 20 20 6b teMethod",. k
00006ad0: 69 6e 64 2c 0a 20 20 20 20 6b 65 79 2c 0a 20 20 ind,. key,.
00006ae0: 20 20 70 61 72 61 6d 73 2c 0a 20 20 20 20 62 6f params,. bo
00006af0: 64 79 2c 0a 20 20 20 20 73 74 61 74 69 63 3a 20 dy,. static:
00006b00: 5f 73 74 61 74 69 63 0a 20 20 7d 29 3b 0a 7d 0a _static. });.}.
00006b10: 66 75 6e 63 74 69 6f 6e 20 70 72 69 76 61 74 65 function private
00006b20: 4e 61 6d 65 28 69 64 29 20 7b 0a 20 20 72 65 74 Name(id) {. ret
00006b30: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00006b40: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00006b50: 0a 20 20 20 20 74 79 70 65 3a 20 22 50 72 69 76 . type: "Priv
00006b60: 61 74 65 4e 61 6d 65 22 2c 0a 20 20 20 20 69 64 ateName",. id
00006b70: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
00006b80: 6e 20 73 74 61 74 69 63 42 6c 6f 63 6b 28 62 6f n staticBlock(bo
00006b90: 64 79 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 dy) {. return (
00006ba0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00006bb0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00006bc0: 74 79 70 65 3a 20 22 53 74 61 74 69 63 42 6c 6f type: "StaticBlo
00006bd0: 63 6b 22 2c 0a 20 20 20 20 62 6f 64 79 0a 20 20 ck",. body.
00006be0: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 61 });.}.function a
00006bf0: 6e 79 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e nyTypeAnnotation
00006c00: 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a () {. return {.
00006c10: 20 20 20 20 74 79 70 65 3a 20 22 41 6e 79 54 79 type: "AnyTy
00006c20: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 0a 20 20 peAnnotation".
00006c30: 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 61 72 };.}.function ar
00006c40: 72 61 79 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f rayTypeAnnotatio
00006c50: 6e 28 65 6c 65 6d 65 6e 74 54 79 70 65 29 20 7b n(elementType) {
00006c60: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
00006c70: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
00006c80: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
00006c90: 20 22 41 72 72 61 79 54 79 70 65 41 6e 6e 6f 74 "ArrayTypeAnnot
00006ca0: 61 74 69 6f 6e 22 2c 0a 20 20 20 20 65 6c 65 6d ation",. elem
00006cb0: 65 6e 74 54 79 70 65 0a 20 20 7d 29 3b 0a 7d 0a entType. });.}.
00006cc0: 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6c 65 61 6e function boolean
00006cd0: 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 28 29 TypeAnnotation()
00006ce0: 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 {. return {.
00006cf0: 20 20 74 79 70 65 3a 20 22 42 6f 6f 6c 65 61 6e type: "Boolean
00006d00: 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 0a TypeAnnotation".
00006d10: 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 };.}.function
00006d20: 62 6f 6f 6c 65 61 6e 4c 69 74 65 72 61 6c 54 79 booleanLiteralTy
00006d30: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 28 76 61 6c peAnnotation(val
00006d40: 75 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ue) {. return (
00006d50: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00006d60: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00006d70: 74 79 70 65 3a 20 22 42 6f 6f 6c 65 61 6e 4c 69 type: "BooleanLi
00006d80: 74 65 72 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 teralTypeAnnotat
00006d90: 69 6f 6e 22 2c 0a 20 20 20 20 76 61 6c 75 65 0a ion",. value.
00006da0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00006db0: 20 6e 75 6c 6c 4c 69 74 65 72 61 6c 54 79 70 65 nullLiteralType
00006dc0: 41 6e 6e 6f 74 61 74 69 6f 6e 28 29 20 7b 0a 20 Annotation() {.
00006dd0: 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 return {. ty
00006de0: 70 65 3a 20 22 4e 75 6c 6c 4c 69 74 65 72 61 6c pe: "NullLiteral
00006df0: 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 0a TypeAnnotation".
00006e00: 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 };.}.function
00006e10: 63 6c 61 73 73 49 6d 70 6c 65 6d 65 6e 74 73 28 classImplements(
00006e20: 69 64 2c 20 74 79 70 65 50 61 72 61 6d 65 74 65 id, typeParamete
00006e30: 72 73 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 rs = null) {. r
00006e40: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
00006e50: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
00006e60: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 43 6c ({. type: "Cl
00006e70: 61 73 73 49 6d 70 6c 65 6d 65 6e 74 73 22 2c 0a assImplements",.
00006e80: 20 20 20 20 69 64 2c 0a 20 20 20 20 74 79 70 65 id,. type
00006e90: 50 61 72 61 6d 65 74 65 72 73 0a 20 20 7d 29 3b Parameters. });
00006ea0: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c .}.function decl
00006eb0: 61 72 65 43 6c 61 73 73 28 69 64 2c 20 74 79 70 areClass(id, typ
00006ec0: 65 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 eParameters = nu
00006ed0: 6c 6c 2c 20 5f 65 78 74 65 6e 64 73 20 3d 20 6e ll, _extends = n
00006ee0: 75 6c 6c 2c 20 62 6f 64 79 29 20 7b 0a 20 20 72 ull, body) {. r
00006ef0: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
00006f00: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
00006f10: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 44 65 ({. type: "De
00006f20: 63 6c 61 72 65 43 6c 61 73 73 22 2c 0a 20 20 20 clareClass",.
00006f30: 20 69 64 2c 0a 20 20 20 20 74 79 70 65 50 61 72 id,. typePar
00006f40: 61 6d 65 74 65 72 73 2c 0a 20 20 20 20 65 78 74 ameters,. ext
00006f50: 65 6e 64 73 3a 20 5f 65 78 74 65 6e 64 73 2c 0a ends: _extends,.
00006f60: 20 20 20 20 62 6f 64 79 0a 20 20 7d 29 3b 0a 7d body. });.}
00006f70: 0a 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 .function declar
00006f80: 65 46 75 6e 63 74 69 6f 6e 28 69 64 29 20 7b 0a eFunction(id) {.
00006f90: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00006fa0: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
00006fb0: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
00006fc0: 22 44 65 63 6c 61 72 65 46 75 6e 63 74 69 6f 6e "DeclareFunction
00006fd0: 22 2c 0a 20 20 20 20 69 64 0a 20 20 7d 29 3b 0a ",. id. });.
00006fe0: 7d 0a 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 }.function decla
00006ff0: 72 65 49 6e 74 65 72 66 61 63 65 28 69 64 2c 20 reInterface(id,
00007000: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 20 3d typeParameters =
00007010: 20 6e 75 6c 6c 2c 20 5f 65 78 74 65 6e 64 73 20 null, _extends
00007020: 3d 20 6e 75 6c 6c 2c 20 62 6f 64 79 29 20 7b 0a = null, body) {.
00007030: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00007040: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
00007050: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
00007060: 22 44 65 63 6c 61 72 65 49 6e 74 65 72 66 61 63 "DeclareInterfac
00007070: 65 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 e",. id,.
00007080: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 2c 0a typeParameters,.
00007090: 20 20 20 20 65 78 74 65 6e 64 73 3a 20 5f 65 78 extends: _ex
000070a0: 74 65 6e 64 73 2c 0a 20 20 20 20 62 6f 64 79 0a tends,. body.
000070b0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
000070c0: 20 64 65 63 6c 61 72 65 4d 6f 64 75 6c 65 28 69 declareModule(i
000070d0: 64 2c 20 62 6f 64 79 2c 20 6b 69 6e 64 20 3d 20 d, body, kind =
000070e0: 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e null) {. return
000070f0: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
00007100: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
00007110: 20 20 74 79 70 65 3a 20 22 44 65 63 6c 61 72 65 type: "Declare
00007120: 4d 6f 64 75 6c 65 22 2c 0a 20 20 20 20 69 64 2c Module",. id,
00007130: 0a 20 20 20 20 62 6f 64 79 2c 0a 20 20 20 20 6b . body,. k
00007140: 69 6e 64 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 ind. });.}.func
00007150: 74 69 6f 6e 20 64 65 63 6c 61 72 65 4d 6f 64 75 tion declareModu
00007160: 6c 65 45 78 70 6f 72 74 73 28 74 79 70 65 41 6e leExports(typeAn
00007170: 6e 6f 74 61 74 69 6f 6e 29 20 7b 0a 20 20 72 65 notation) {. re
00007180: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00007190: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
000071a0: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 44 65 63 {. type: "Dec
000071b0: 6c 61 72 65 4d 6f 64 75 6c 65 45 78 70 6f 72 74 lareModuleExport
000071c0: 73 22 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e 6f s",. typeAnno
000071d0: 74 61 74 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 tation. });.}.f
000071e0: 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 65 54 unction declareT
000071f0: 79 70 65 41 6c 69 61 73 28 69 64 2c 20 74 79 70 ypeAlias(id, typ
00007200: 65 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 eParameters = nu
00007210: 6c 6c 2c 20 72 69 67 68 74 29 20 7b 0a 20 20 72 ll, right) {. r
00007220: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
00007230: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
00007240: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 44 65 ({. type: "De
00007250: 63 6c 61 72 65 54 79 70 65 41 6c 69 61 73 22 2c clareTypeAlias",
00007260: 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 74 79 70 . id,. typ
00007270: 65 50 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 eParameters,.
00007280: 20 72 69 67 68 74 0a 20 20 7d 29 3b 0a 7d 0a 66 right. });.}.f
00007290: 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 65 4f unction declareO
000072a0: 70 61 71 75 65 54 79 70 65 28 69 64 2c 20 74 79 paqueType(id, ty
000072b0: 70 65 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e peParameters = n
000072c0: 75 6c 6c 2c 20 73 75 70 65 72 74 79 70 65 20 3d ull, supertype =
000072d0: 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 null) {. retur
000072e0: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
000072f0: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00007300: 20 20 20 74 79 70 65 3a 20 22 44 65 63 6c 61 72 type: "Declar
00007310: 65 4f 70 61 71 75 65 54 79 70 65 22 2c 0a 20 20 eOpaqueType",.
00007320: 20 20 69 64 2c 0a 20 20 20 20 74 79 70 65 50 61 id,. typePa
00007330: 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 20 73 75 rameters,. su
00007340: 70 65 72 74 79 70 65 0a 20 20 7d 29 3b 0a 7d 0a pertype. });.}.
00007350: 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 65 function declare
00007360: 56 61 72 69 61 62 6c 65 28 69 64 29 20 7b 0a 20 Variable(id) {.
00007370: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00007380: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00007390: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
000073a0: 44 65 63 6c 61 72 65 56 61 72 69 61 62 6c 65 22 DeclareVariable"
000073b0: 2c 0a 20 20 20 20 69 64 0a 20 20 7d 29 3b 0a 7d ,. id. });.}
000073c0: 0a 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 .function declar
000073d0: 65 45 78 70 6f 72 74 44 65 63 6c 61 72 61 74 69 eExportDeclarati
000073e0: 6f 6e 28 64 65 63 6c 61 72 61 74 69 6f 6e 20 3d on(declaration =
000073f0: 20 6e 75 6c 6c 2c 20 73 70 65 63 69 66 69 65 72 null, specifier
00007400: 73 20 3d 20 6e 75 6c 6c 2c 20 73 6f 75 72 63 65 s = null, source
00007410: 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 = null) {. ret
00007420: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00007430: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00007440: 0a 20 20 20 20 74 79 70 65 3a 20 22 44 65 63 6c . type: "Decl
00007450: 61 72 65 45 78 70 6f 72 74 44 65 63 6c 61 72 61 areExportDeclara
00007460: 74 69 6f 6e 22 2c 0a 20 20 20 20 64 65 63 6c 61 tion",. decla
00007470: 72 61 74 69 6f 6e 2c 0a 20 20 20 20 73 70 65 63 ration,. spec
00007480: 69 66 69 65 72 73 2c 0a 20 20 20 20 73 6f 75 72 ifiers,. sour
00007490: 63 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 ce. });.}.funct
000074a0: 69 6f 6e 20 64 65 63 6c 61 72 65 45 78 70 6f 72 ion declareExpor
000074b0: 74 41 6c 6c 44 65 63 6c 61 72 61 74 69 6f 6e 28 tAllDeclaration(
000074c0: 73 6f 75 72 63 65 29 20 7b 0a 20 20 72 65 74 75 source) {. retu
000074d0: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
000074e0: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
000074f0: 20 20 20 20 74 79 70 65 3a 20 22 44 65 63 6c 61 type: "Decla
00007500: 72 65 45 78 70 6f 72 74 41 6c 6c 44 65 63 6c 61 reExportAllDecla
00007510: 72 61 74 69 6f 6e 22 2c 0a 20 20 20 20 73 6f 75 ration",. sou
00007520: 72 63 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 rce. });.}.func
00007530: 74 69 6f 6e 20 64 65 63 6c 61 72 65 64 50 72 65 tion declaredPre
00007540: 64 69 63 61 74 65 28 76 61 6c 75 65 29 20 7b 0a dicate(value) {.
00007550: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00007560: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
00007570: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
00007580: 22 44 65 63 6c 61 72 65 64 50 72 65 64 69 63 61 "DeclaredPredica
00007590: 74 65 22 2c 0a 20 20 20 20 76 61 6c 75 65 0a 20 te",. value.
000075a0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
000075b0: 65 78 69 73 74 73 54 79 70 65 41 6e 6e 6f 74 61 existsTypeAnnota
000075c0: 74 69 6f 6e 28 29 20 7b 0a 20 20 72 65 74 75 72 tion() {. retur
000075d0: 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 45 n {. type: "E
000075e0: 78 69 73 74 73 54 79 70 65 41 6e 6e 6f 74 61 74 xistsTypeAnnotat
000075f0: 69 6f 6e 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 ion". };.}.func
00007600: 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 54 79 70 tion functionTyp
00007610: 65 41 6e 6e 6f 74 61 74 69 6f 6e 28 74 79 70 65 eAnnotation(type
00007620: 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c Parameters = nul
00007630: 6c 2c 20 70 61 72 61 6d 73 2c 20 72 65 73 74 20 l, params, rest
00007640: 3d 20 6e 75 6c 6c 2c 20 72 65 74 75 72 6e 54 79 = null, returnTy
00007650: 70 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 pe) {. return (
00007660: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00007670: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00007680: 74 79 70 65 3a 20 22 46 75 6e 63 74 69 6f 6e 54 type: "FunctionT
00007690: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 2c 0a ypeAnnotation",.
000076a0: 20 20 20 20 74 79 70 65 50 61 72 61 6d 65 74 65 typeParamete
000076b0: 72 73 2c 0a 20 20 20 20 70 61 72 61 6d 73 2c 0a rs,. params,.
000076c0: 20 20 20 20 72 65 73 74 2c 0a 20 20 20 20 72 65 rest,. re
000076d0: 74 75 72 6e 54 79 70 65 0a 20 20 7d 29 3b 0a 7d turnType. });.}
000076e0: 0a 66 75 6e 63 74 69 6f 6e 20 66 75 6e 63 74 69 .function functi
000076f0: 6f 6e 54 79 70 65 50 61 72 61 6d 28 6e 61 6d 65 onTypeParam(name
00007700: 20 3d 20 6e 75 6c 6c 2c 20 74 79 70 65 41 6e 6e = null, typeAnn
00007710: 6f 74 61 74 69 6f 6e 29 20 7b 0a 20 20 72 65 74 otation) {. ret
00007720: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00007730: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00007740: 0a 20 20 20 20 74 79 70 65 3a 20 22 46 75 6e 63 . type: "Func
00007750: 74 69 6f 6e 54 79 70 65 50 61 72 61 6d 22 2c 0a tionTypeParam",.
00007760: 20 20 20 20 6e 61 6d 65 2c 0a 20 20 20 20 74 79 name,. ty
00007770: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a 20 20 7d peAnnotation. }
00007780: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 );.}.function ge
00007790: 6e 65 72 69 63 54 79 70 65 41 6e 6e 6f 74 61 74 nericTypeAnnotat
000077a0: 69 6f 6e 28 69 64 2c 20 74 79 70 65 50 61 72 61 ion(id, typePara
000077b0: 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c 29 20 7b meters = null) {
000077c0: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
000077d0: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
000077e0: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
000077f0: 20 22 47 65 6e 65 72 69 63 54 79 70 65 41 6e 6e "GenericTypeAnn
00007800: 6f 74 61 74 69 6f 6e 22 2c 0a 20 20 20 20 69 64 otation",. id
00007810: 2c 0a 20 20 20 20 74 79 70 65 50 61 72 61 6d 65 ,. typeParame
00007820: 74 65 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e ters. });.}.fun
00007830: 63 74 69 6f 6e 20 69 6e 66 65 72 72 65 64 50 72 ction inferredPr
00007840: 65 64 69 63 61 74 65 28 29 20 7b 0a 20 20 72 65 edicate() {. re
00007850: 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a turn {. type:
00007860: 20 22 49 6e 66 65 72 72 65 64 50 72 65 64 69 63 "InferredPredic
00007870: 61 74 65 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 ate". };.}.func
00007880: 74 69 6f 6e 20 69 6e 74 65 72 66 61 63 65 45 78 tion interfaceEx
00007890: 74 65 6e 64 73 28 69 64 2c 20 74 79 70 65 50 61 tends(id, typePa
000078a0: 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c 29 rameters = null)
000078b0: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
000078c0: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
000078d0: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
000078e0: 65 3a 20 22 49 6e 74 65 72 66 61 63 65 45 78 74 e: "InterfaceExt
000078f0: 65 6e 64 73 22 2c 0a 20 20 20 20 69 64 2c 0a 20 ends",. id,.
00007900: 20 20 20 74 79 70 65 50 61 72 61 6d 65 74 65 72 typeParameter
00007910: 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 s. });.}.functi
00007920: 6f 6e 20 69 6e 74 65 72 66 61 63 65 44 65 63 6c on interfaceDecl
00007930: 61 72 61 74 69 6f 6e 28 69 64 2c 20 74 79 70 65 aration(id, type
00007940: 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c Parameters = nul
00007950: 6c 2c 20 5f 65 78 74 65 6e 64 73 20 3d 20 6e 75 l, _extends = nu
00007960: 6c 6c 2c 20 62 6f 64 79 29 20 7b 0a 20 20 72 65 ll, body) {. re
00007970: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00007980: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00007990: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 49 6e 74 {. type: "Int
000079a0: 65 72 66 61 63 65 44 65 63 6c 61 72 61 74 69 6f erfaceDeclaratio
000079b0: 6e 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 n",. id,.
000079c0: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 2c 0a typeParameters,.
000079d0: 20 20 20 20 65 78 74 65 6e 64 73 3a 20 5f 65 78 extends: _ex
000079e0: 74 65 6e 64 73 2c 0a 20 20 20 20 62 6f 64 79 0a tends,. body.
000079f0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00007a00: 20 69 6e 74 65 72 66 61 63 65 54 79 70 65 41 6e interfaceTypeAn
00007a10: 6e 6f 74 61 74 69 6f 6e 28 5f 65 78 74 65 6e 64 notation(_extend
00007a20: 73 20 3d 20 6e 75 6c 6c 2c 20 62 6f 64 79 29 20 s = null, body)
00007a30: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00007a40: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
00007a50: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00007a60: 3a 20 22 49 6e 74 65 72 66 61 63 65 54 79 70 65 : "InterfaceType
00007a70: 41 6e 6e 6f 74 61 74 69 6f 6e 22 2c 0a 20 20 20 Annotation",.
00007a80: 20 65 78 74 65 6e 64 73 3a 20 5f 65 78 74 65 6e extends: _exten
00007a90: 64 73 2c 0a 20 20 20 20 62 6f 64 79 0a 20 20 7d ds,. body. }
00007aa0: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 69 6e );.}.function in
00007ab0: 74 65 72 73 65 63 74 69 6f 6e 54 79 70 65 41 6e tersectionTypeAn
00007ac0: 6e 6f 74 61 74 69 6f 6e 28 74 79 70 65 73 29 20 notation(types)
00007ad0: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00007ae0: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
00007af0: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00007b00: 3a 20 22 49 6e 74 65 72 73 65 63 74 69 6f 6e 54 : "IntersectionT
00007b10: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 2c 0a ypeAnnotation",.
00007b20: 20 20 20 20 74 79 70 65 73 0a 20 20 7d 29 3b 0a types. });.
00007b30: 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 69 78 65 64 }.function mixed
00007b40: 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 28 29 TypeAnnotation()
00007b50: 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 {. return {.
00007b60: 20 20 74 79 70 65 3a 20 22 4d 69 78 65 64 54 79 type: "MixedTy
00007b70: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 0a 20 20 peAnnotation".
00007b80: 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 65 6d };.}.function em
00007b90: 70 74 79 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f ptyTypeAnnotatio
00007ba0: 6e 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b n() {. return {
00007bb0: 0a 20 20 20 20 74 79 70 65 3a 20 22 45 6d 70 74 . type: "Empt
00007bc0: 79 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 yTypeAnnotation"
00007bd0: 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e . };.}.function
00007be0: 20 6e 75 6c 6c 61 62 6c 65 54 79 70 65 41 6e 6e nullableTypeAnn
00007bf0: 6f 74 61 74 69 6f 6e 28 74 79 70 65 41 6e 6e 6f otation(typeAnno
00007c00: 74 61 74 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 tation) {. retu
00007c10: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
00007c20: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
00007c30: 20 20 20 20 74 79 70 65 3a 20 22 4e 75 6c 6c 61 type: "Nulla
00007c40: 62 6c 65 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f bleTypeAnnotatio
00007c50: 6e 22 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e 6f n",. typeAnno
00007c60: 74 61 74 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 tation. });.}.f
00007c70: 75 6e 63 74 69 6f 6e 20 6e 75 6d 62 65 72 4c 69 unction numberLi
00007c80: 74 65 72 61 6c 54 79 70 65 41 6e 6e 6f 74 61 74 teralTypeAnnotat
00007c90: 69 6f 6e 28 76 61 6c 75 65 29 20 7b 0a 20 20 72 ion(value) {. r
00007ca0: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
00007cb0: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
00007cc0: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4e 75 ({. type: "Nu
00007cd0: 6d 62 65 72 4c 69 74 65 72 61 6c 54 79 70 65 41 mberLiteralTypeA
00007ce0: 6e 6e 6f 74 61 74 69 6f 6e 22 2c 0a 20 20 20 20 nnotation",.
00007cf0: 76 61 6c 75 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 value. });.}.fu
00007d00: 6e 63 74 69 6f 6e 20 6e 75 6d 62 65 72 54 79 70 nction numberTyp
00007d10: 65 41 6e 6e 6f 74 61 74 69 6f 6e 28 29 20 7b 0a eAnnotation() {.
00007d20: 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 return {. t
00007d30: 79 70 65 3a 20 22 4e 75 6d 62 65 72 54 79 70 65 ype: "NumberType
00007d40: 41 6e 6e 6f 74 61 74 69 6f 6e 22 0a 20 20 7d 3b Annotation". };
00007d50: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 .}.function obje
00007d60: 63 74 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e ctTypeAnnotation
00007d70: 28 70 72 6f 70 65 72 74 69 65 73 2c 20 69 6e 64 (properties, ind
00007d80: 65 78 65 72 73 20 3d 20 5b 5d 2c 20 63 61 6c 6c exers = [], call
00007d90: 50 72 6f 70 65 72 74 69 65 73 20 3d 20 5b 5d 2c Properties = [],
00007da0: 20 69 6e 74 65 72 6e 61 6c 53 6c 6f 74 73 20 3d internalSlots =
00007db0: 20 5b 5d 2c 20 65 78 61 63 74 20 3d 20 66 61 6c [], exact = fal
00007dc0: 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 se) {. return (
00007dd0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00007de0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00007df0: 74 79 70 65 3a 20 22 4f 62 6a 65 63 74 54 79 70 type: "ObjectTyp
00007e00: 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 2c 0a 20 20 eAnnotation",.
00007e10: 20 20 70 72 6f 70 65 72 74 69 65 73 2c 0a 20 20 properties,.
00007e20: 20 20 69 6e 64 65 78 65 72 73 2c 0a 20 20 20 20 indexers,.
00007e30: 63 61 6c 6c 50 72 6f 70 65 72 74 69 65 73 2c 0a callProperties,.
00007e40: 20 20 20 20 69 6e 74 65 72 6e 61 6c 53 6c 6f 74 internalSlot
00007e50: 73 2c 0a 20 20 20 20 65 78 61 63 74 0a 20 20 7d s,. exact. }
00007e60: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6f 62 );.}.function ob
00007e70: 6a 65 63 74 54 79 70 65 49 6e 74 65 72 6e 61 6c jectTypeInternal
00007e80: 53 6c 6f 74 28 69 64 2c 20 76 61 6c 75 65 2c 20 Slot(id, value,
00007e90: 6f 70 74 69 6f 6e 61 6c 2c 20 5f 73 74 61 74 69 optional, _stati
00007ea0: 63 2c 20 6d 65 74 68 6f 64 29 20 7b 0a 20 20 72 c, method) {. r
00007eb0: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
00007ec0: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
00007ed0: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4f 62 ({. type: "Ob
00007ee0: 6a 65 63 74 54 79 70 65 49 6e 74 65 72 6e 61 6c jectTypeInternal
00007ef0: 53 6c 6f 74 22 2c 0a 20 20 20 20 69 64 2c 0a 20 Slot",. id,.
00007f00: 20 20 20 76 61 6c 75 65 2c 0a 20 20 20 20 6f 70 value,. op
00007f10: 74 69 6f 6e 61 6c 2c 0a 20 20 20 20 73 74 61 74 tional,. stat
00007f20: 69 63 3a 20 5f 73 74 61 74 69 63 2c 0a 20 20 20 ic: _static,.
00007f30: 20 6d 65 74 68 6f 64 0a 20 20 7d 29 3b 0a 7d 0a method. });.}.
00007f40: 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 74 54 function objectT
00007f50: 79 70 65 43 61 6c 6c 50 72 6f 70 65 72 74 79 28 ypeCallProperty(
00007f60: 76 61 6c 75 65 29 20 7b 0a 20 20 72 65 74 75 72 value) {. retur
00007f70: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
00007f80: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00007f90: 20 20 20 74 79 70 65 3a 20 22 4f 62 6a 65 63 74 type: "Object
00007fa0: 54 79 70 65 43 61 6c 6c 50 72 6f 70 65 72 74 79 TypeCallProperty
00007fb0: 22 2c 0a 20 20 20 20 76 61 6c 75 65 2c 0a 20 20 ",. value,.
00007fc0: 20 20 73 74 61 74 69 63 3a 20 6e 75 6c 6c 0a 20 static: null.
00007fd0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00007fe0: 6f 62 6a 65 63 74 54 79 70 65 49 6e 64 65 78 65 objectTypeIndexe
00007ff0: 72 28 69 64 20 3d 20 6e 75 6c 6c 2c 20 6b 65 79 r(id = null, key
00008000: 2c 20 76 61 6c 75 65 2c 20 76 61 72 69 61 6e 63 , value, varianc
00008010: 65 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 e = null) {. re
00008020: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00008030: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00008040: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4f 62 6a {. type: "Obj
00008050: 65 63 74 54 79 70 65 49 6e 64 65 78 65 72 22 2c ectTypeIndexer",
00008060: 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 6b 65 79 . id,. key
00008070: 2c 0a 20 20 20 20 76 61 6c 75 65 2c 0a 20 20 20 ,. value,.
00008080: 20 76 61 72 69 61 6e 63 65 2c 0a 20 20 20 20 73 variance,. s
00008090: 74 61 74 69 63 3a 20 6e 75 6c 6c 0a 20 20 7d 29 tatic: null. })
000080a0: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6f 62 6a ;.}.function obj
000080b0: 65 63 74 54 79 70 65 50 72 6f 70 65 72 74 79 28 ectTypeProperty(
000080c0: 6b 65 79 2c 20 76 61 6c 75 65 2c 20 76 61 72 69 key, value, vari
000080d0: 61 6e 63 65 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 ance = null) {.
000080e0: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
000080f0: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00008100: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00008110: 4f 62 6a 65 63 74 54 79 70 65 50 72 6f 70 65 72 ObjectTypeProper
00008120: 74 79 22 2c 0a 20 20 20 20 6b 65 79 2c 0a 20 20 ty",. key,.
00008130: 20 20 76 61 6c 75 65 2c 0a 20 20 20 20 76 61 72 value,. var
00008140: 69 61 6e 63 65 2c 0a 20 20 20 20 6b 69 6e 64 3a iance,. kind:
00008150: 20 6e 75 6c 6c 2c 0a 20 20 20 20 6d 65 74 68 6f null,. metho
00008160: 64 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 6f 70 74 d: null,. opt
00008170: 69 6f 6e 61 6c 3a 20 6e 75 6c 6c 2c 0a 20 20 20 ional: null,.
00008180: 20 70 72 6f 74 6f 3a 20 6e 75 6c 6c 2c 0a 20 20 proto: null,.
00008190: 20 20 73 74 61 74 69 63 3a 20 6e 75 6c 6c 0a 20 static: null.
000081a0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
000081b0: 6f 62 6a 65 63 74 54 79 70 65 53 70 72 65 61 64 objectTypeSpread
000081c0: 50 72 6f 70 65 72 74 79 28 61 72 67 75 6d 65 6e Property(argumen
000081d0: 74 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 t) {. return (0
000081e0: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
000081f0: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
00008200: 79 70 65 3a 20 22 4f 62 6a 65 63 74 54 79 70 65 ype: "ObjectType
00008210: 53 70 72 65 61 64 50 72 6f 70 65 72 74 79 22 2c SpreadProperty",
00008220: 0a 20 20 20 20 61 72 67 75 6d 65 6e 74 0a 20 20 . argument.
00008230: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6f });.}.function o
00008240: 70 61 71 75 65 54 79 70 65 28 69 64 2c 20 74 79 paqueType(id, ty
00008250: 70 65 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e peParameters = n
00008260: 75 6c 6c 2c 20 73 75 70 65 72 74 79 70 65 20 3d ull, supertype =
00008270: 20 6e 75 6c 6c 2c 20 69 6d 70 6c 74 79 70 65 29 null, impltype)
00008280: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
00008290: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
000082a0: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
000082b0: 65 3a 20 22 4f 70 61 71 75 65 54 79 70 65 22 2c e: "OpaqueType",
000082c0: 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 74 79 70 . id,. typ
000082d0: 65 50 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 eParameters,.
000082e0: 20 73 75 70 65 72 74 79 70 65 2c 0a 20 20 20 20 supertype,.
000082f0: 69 6d 70 6c 74 79 70 65 0a 20 20 7d 29 3b 0a 7d impltype. });.}
00008300: 0a 66 75 6e 63 74 69 6f 6e 20 71 75 61 6c 69 66 .function qualif
00008310: 69 65 64 54 79 70 65 49 64 65 6e 74 69 66 69 65 iedTypeIdentifie
00008320: 72 28 69 64 2c 20 71 75 61 6c 69 66 69 63 61 74 r(id, qualificat
00008330: 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ion) {. return
00008340: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00008350: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00008360: 20 74 79 70 65 3a 20 22 51 75 61 6c 69 66 69 65 type: "Qualifie
00008370: 64 54 79 70 65 49 64 65 6e 74 69 66 69 65 72 22 dTypeIdentifier"
00008380: 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 71 75 ,. id,. qu
00008390: 61 6c 69 66 69 63 61 74 69 6f 6e 0a 20 20 7d 29 alification. })
000083a0: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 73 74 72 ;.}.function str
000083b0: 69 6e 67 4c 69 74 65 72 61 6c 54 79 70 65 41 6e ingLiteralTypeAn
000083c0: 6e 6f 74 61 74 69 6f 6e 28 76 61 6c 75 65 29 20 notation(value)
000083d0: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
000083e0: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
000083f0: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00008400: 3a 20 22 53 74 72 69 6e 67 4c 69 74 65 72 61 6c : "StringLiteral
00008410: 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 2c TypeAnnotation",
00008420: 0a 20 20 20 20 76 61 6c 75 65 0a 20 20 7d 29 3b . value. });
00008430: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 73 74 72 69 .}.function stri
00008440: 6e 67 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e ngTypeAnnotation
00008450: 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a () {. return {.
00008460: 20 20 20 20 74 79 70 65 3a 20 22 53 74 72 69 6e type: "Strin
00008470: 67 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 gTypeAnnotation"
00008480: 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e . };.}.function
00008490: 20 73 79 6d 62 6f 6c 54 79 70 65 41 6e 6e 6f 74 symbolTypeAnnot
000084a0: 61 74 69 6f 6e 28 29 20 7b 0a 20 20 72 65 74 75 ation() {. retu
000084b0: 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 rn {. type: "
000084c0: 53 79 6d 62 6f 6c 54 79 70 65 41 6e 6e 6f 74 61 SymbolTypeAnnota
000084d0: 74 69 6f 6e 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e tion". };.}.fun
000084e0: 63 74 69 6f 6e 20 74 68 69 73 54 79 70 65 41 6e ction thisTypeAn
000084f0: 6e 6f 74 61 74 69 6f 6e 28 29 20 7b 0a 20 20 72 notation() {. r
00008500: 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 eturn {. type
00008510: 3a 20 22 54 68 69 73 54 79 70 65 41 6e 6e 6f 74 : "ThisTypeAnnot
00008520: 61 74 69 6f 6e 22 0a 20 20 7d 3b 0a 7d 0a 66 75 ation". };.}.fu
00008530: 6e 63 74 69 6f 6e 20 74 75 70 6c 65 54 79 70 65 nction tupleType
00008540: 41 6e 6e 6f 74 61 74 69 6f 6e 28 74 79 70 65 73 Annotation(types
00008550: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
00008560: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
00008570: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
00008580: 70 65 3a 20 22 54 75 70 6c 65 54 79 70 65 41 6e pe: "TupleTypeAn
00008590: 6e 6f 74 61 74 69 6f 6e 22 2c 0a 20 20 20 20 74 notation",. t
000085a0: 79 70 65 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e ypes. });.}.fun
000085b0: 63 74 69 6f 6e 20 74 79 70 65 6f 66 54 79 70 65 ction typeofType
000085c0: 41 6e 6e 6f 74 61 74 69 6f 6e 28 61 72 67 75 6d Annotation(argum
000085d0: 65 6e 74 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ent) {. return
000085e0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
000085f0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00008600: 20 74 79 70 65 3a 20 22 54 79 70 65 6f 66 54 79 type: "TypeofTy
00008610: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 2c 0a 20 peAnnotation",.
00008620: 20 20 20 61 72 67 75 6d 65 6e 74 0a 20 20 7d 29 argument. })
00008630: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 79 70 ;.}.function typ
00008640: 65 41 6c 69 61 73 28 69 64 2c 20 74 79 70 65 50 eAlias(id, typeP
00008650: 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c arameters = null
00008660: 2c 20 72 69 67 68 74 29 20 7b 0a 20 20 72 65 74 , right) {. ret
00008670: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00008680: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00008690: 0a 20 20 20 20 74 79 70 65 3a 20 22 54 79 70 65 . type: "Type
000086a0: 41 6c 69 61 73 22 2c 0a 20 20 20 20 69 64 2c 0a Alias",. id,.
000086b0: 20 20 20 20 74 79 70 65 50 61 72 61 6d 65 74 65 typeParamete
000086c0: 72 73 2c 0a 20 20 20 20 72 69 67 68 74 0a 20 20 rs,. right.
000086d0: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 });.}.function t
000086e0: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 28 74 79 ypeAnnotation(ty
000086f0: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 29 20 7b 0a peAnnotation) {.
00008700: 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 return (0, _va
00008710: 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 lidateNode.defau
00008720: 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 lt)({. type:
00008730: 22 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 "TypeAnnotation"
00008740: 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e 6f 74 61 ,. typeAnnota
00008750: 74 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e tion. });.}.fun
00008760: 63 74 69 6f 6e 20 74 79 70 65 43 61 73 74 45 78 ction typeCastEx
00008770: 70 72 65 73 73 69 6f 6e 28 65 78 70 72 65 73 73 pression(express
00008780: 69 6f 6e 2c 20 74 79 70 65 41 6e 6e 6f 74 61 74 ion, typeAnnotat
00008790: 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ion) {. return
000087a0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
000087b0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
000087c0: 20 74 79 70 65 3a 20 22 54 79 70 65 43 61 73 74 type: "TypeCast
000087d0: 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 Expression",.
000087e0: 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 expression,.
000087f0: 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a typeAnnotation.
00008800: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00008810: 20 74 79 70 65 50 61 72 61 6d 65 74 65 72 28 62 typeParameter(b
00008820: 6f 75 6e 64 20 3d 20 6e 75 6c 6c 2c 20 5f 64 65 ound = null, _de
00008830: 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 76 61 fault = null, va
00008840: 72 69 61 6e 63 65 20 3d 20 6e 75 6c 6c 29 20 7b riance = null) {
00008850: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
00008860: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
00008870: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
00008880: 20 22 54 79 70 65 50 61 72 61 6d 65 74 65 72 22 "TypeParameter"
00008890: 2c 0a 20 20 20 20 62 6f 75 6e 64 2c 0a 20 20 20 ,. bound,.
000088a0: 20 64 65 66 61 75 6c 74 3a 20 5f 64 65 66 61 75 default: _defau
000088b0: 6c 74 2c 0a 20 20 20 20 76 61 72 69 61 6e 63 65 lt,. variance
000088c0: 2c 0a 20 20 20 20 6e 61 6d 65 3a 20 6e 75 6c 6c ,. name: null
000088d0: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
000088e0: 6e 20 74 79 70 65 50 61 72 61 6d 65 74 65 72 44 n typeParameterD
000088f0: 65 63 6c 61 72 61 74 69 6f 6e 28 70 61 72 61 6d eclaration(param
00008900: 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 s) {. return (0
00008910: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
00008920: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
00008930: 79 70 65 3a 20 22 54 79 70 65 50 61 72 61 6d 65 ype: "TypeParame
00008940: 74 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 22 2c terDeclaration",
00008950: 0a 20 20 20 20 70 61 72 61 6d 73 0a 20 20 7d 29 . params. })
00008960: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 79 70 ;.}.function typ
00008970: 65 50 61 72 61 6d 65 74 65 72 49 6e 73 74 61 6e eParameterInstan
00008980: 74 69 61 74 69 6f 6e 28 70 61 72 61 6d 73 29 20 tiation(params)
00008990: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
000089a0: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
000089b0: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
000089c0: 3a 20 22 54 79 70 65 50 61 72 61 6d 65 74 65 72 : "TypeParameter
000089d0: 49 6e 73 74 61 6e 74 69 61 74 69 6f 6e 22 2c 0a Instantiation",.
000089e0: 20 20 20 20 70 61 72 61 6d 73 0a 20 20 7d 29 3b params. });
000089f0: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6f .}.function unio
00008a00: 6e 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 28 nTypeAnnotation(
00008a10: 74 79 70 65 73 29 20 7b 0a 20 20 72 65 74 75 72 types) {. retur
00008a20: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
00008a30: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00008a40: 20 20 20 74 79 70 65 3a 20 22 55 6e 69 6f 6e 54 type: "UnionT
00008a50: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 22 2c 0a ypeAnnotation",.
00008a60: 20 20 20 20 74 79 70 65 73 0a 20 20 7d 29 3b 0a types. });.
00008a70: 7d 0a 66 75 6e 63 74 69 6f 6e 20 76 61 72 69 61 }.function varia
00008a80: 6e 63 65 28 6b 69 6e 64 29 20 7b 0a 20 20 72 65 nce(kind) {. re
00008a90: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00008aa0: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00008ab0: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 56 61 72 {. type: "Var
00008ac0: 69 61 6e 63 65 22 2c 0a 20 20 20 20 6b 69 6e 64 iance",. kind
00008ad0: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
00008ae0: 6e 20 76 6f 69 64 54 79 70 65 41 6e 6e 6f 74 61 n voidTypeAnnota
00008af0: 74 69 6f 6e 28 29 20 7b 0a 20 20 72 65 74 75 72 tion() {. retur
00008b00: 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 56 n {. type: "V
00008b10: 6f 69 64 54 79 70 65 41 6e 6e 6f 74 61 74 69 6f oidTypeAnnotatio
00008b20: 6e 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 n". };.}.functi
00008b30: 6f 6e 20 65 6e 75 6d 44 65 63 6c 61 72 61 74 69 on enumDeclarati
00008b40: 6f 6e 28 69 64 2c 20 62 6f 64 79 29 20 7b 0a 20 on(id, body) {.
00008b50: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00008b60: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00008b70: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00008b80: 45 6e 75 6d 44 65 63 6c 61 72 61 74 69 6f 6e 22 EnumDeclaration"
00008b90: 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 62 6f ,. id,. bo
00008ba0: 64 79 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 dy. });.}.funct
00008bb0: 69 6f 6e 20 65 6e 75 6d 42 6f 6f 6c 65 61 6e 42 ion enumBooleanB
00008bc0: 6f 64 79 28 6d 65 6d 62 65 72 73 29 20 7b 0a 20 ody(members) {.
00008bd0: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00008be0: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00008bf0: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00008c00: 45 6e 75 6d 42 6f 6f 6c 65 61 6e 42 6f 64 79 22 EnumBooleanBody"
00008c10: 2c 0a 20 20 20 20 6d 65 6d 62 65 72 73 2c 0a 20 ,. members,.
00008c20: 20 20 20 65 78 70 6c 69 63 69 74 54 79 70 65 3a explicitType:
00008c30: 20 6e 75 6c 6c 2c 0a 20 20 20 20 68 61 73 55 6e null,. hasUn
00008c40: 6b 6e 6f 77 6e 4d 65 6d 62 65 72 73 3a 20 6e 75 knownMembers: nu
00008c50: 6c 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 ll. });.}.funct
00008c60: 69 6f 6e 20 65 6e 75 6d 4e 75 6d 62 65 72 42 6f ion enumNumberBo
00008c70: 64 79 28 6d 65 6d 62 65 72 73 29 20 7b 0a 20 20 dy(members) {.
00008c80: 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 return (0, _vali
00008c90: 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 dateNode.default
00008ca0: 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 45 )({. type: "E
00008cb0: 6e 75 6d 4e 75 6d 62 65 72 42 6f 64 79 22 2c 0a numNumberBody",.
00008cc0: 20 20 20 20 6d 65 6d 62 65 72 73 2c 0a 20 20 20 members,.
00008cd0: 20 65 78 70 6c 69 63 69 74 54 79 70 65 3a 20 6e explicitType: n
00008ce0: 75 6c 6c 2c 0a 20 20 20 20 68 61 73 55 6e 6b 6e ull,. hasUnkn
00008cf0: 6f 77 6e 4d 65 6d 62 65 72 73 3a 20 6e 75 6c 6c ownMembers: null
00008d00: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
00008d10: 6e 20 65 6e 75 6d 53 74 72 69 6e 67 42 6f 64 79 n enumStringBody
00008d20: 28 6d 65 6d 62 65 72 73 29 20 7b 0a 20 20 72 65 (members) {. re
00008d30: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00008d40: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00008d50: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 45 6e 75 {. type: "Enu
00008d60: 6d 53 74 72 69 6e 67 42 6f 64 79 22 2c 0a 20 20 mStringBody",.
00008d70: 20 20 6d 65 6d 62 65 72 73 2c 0a 20 20 20 20 65 members,. e
00008d80: 78 70 6c 69 63 69 74 54 79 70 65 3a 20 6e 75 6c xplicitType: nul
00008d90: 6c 2c 0a 20 20 20 20 68 61 73 55 6e 6b 6e 6f 77 l,. hasUnknow
00008da0: 6e 4d 65 6d 62 65 72 73 3a 20 6e 75 6c 6c 0a 20 nMembers: null.
00008db0: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
00008dc0: 65 6e 75 6d 53 79 6d 62 6f 6c 42 6f 64 79 28 6d enumSymbolBody(m
00008dd0: 65 6d 62 65 72 73 29 20 7b 0a 20 20 72 65 74 75 embers) {. retu
00008de0: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
00008df0: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
00008e00: 20 20 20 20 74 79 70 65 3a 20 22 45 6e 75 6d 53 type: "EnumS
00008e10: 79 6d 62 6f 6c 42 6f 64 79 22 2c 0a 20 20 20 20 ymbolBody",.
00008e20: 6d 65 6d 62 65 72 73 2c 0a 20 20 20 20 68 61 73 members,. has
00008e30: 55 6e 6b 6e 6f 77 6e 4d 65 6d 62 65 72 73 3a 20 UnknownMembers:
00008e40: 6e 75 6c 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e null. });.}.fun
00008e50: 63 74 69 6f 6e 20 65 6e 75 6d 42 6f 6f 6c 65 61 ction enumBoolea
00008e60: 6e 4d 65 6d 62 65 72 28 69 64 29 20 7b 0a 20 20 nMember(id) {.
00008e70: 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 return (0, _vali
00008e80: 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 dateNode.default
00008e90: 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 45 )({. type: "E
00008ea0: 6e 75 6d 42 6f 6f 6c 65 61 6e 4d 65 6d 62 65 72 numBooleanMember
00008eb0: 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 69 ",. id,. i
00008ec0: 6e 69 74 3a 20 6e 75 6c 6c 0a 20 20 7d 29 3b 0a nit: null. });.
00008ed0: 7d 0a 66 75 6e 63 74 69 6f 6e 20 65 6e 75 6d 4e }.function enumN
00008ee0: 75 6d 62 65 72 4d 65 6d 62 65 72 28 69 64 2c 20 umberMember(id,
00008ef0: 69 6e 69 74 29 20 7b 0a 20 20 72 65 74 75 72 6e init) {. return
00008f00: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
00008f10: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
00008f20: 20 20 74 79 70 65 3a 20 22 45 6e 75 6d 4e 75 6d type: "EnumNum
00008f30: 62 65 72 4d 65 6d 62 65 72 22 2c 0a 20 20 20 20 berMember",.
00008f40: 69 64 2c 0a 20 20 20 20 69 6e 69 74 0a 20 20 7d id,. init. }
00008f50: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 65 6e );.}.function en
00008f60: 75 6d 53 74 72 69 6e 67 4d 65 6d 62 65 72 28 69 umStringMember(i
00008f70: 64 2c 20 69 6e 69 74 29 20 7b 0a 20 20 72 65 74 d, init) {. ret
00008f80: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00008f90: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00008fa0: 0a 20 20 20 20 74 79 70 65 3a 20 22 45 6e 75 6d . type: "Enum
00008fb0: 53 74 72 69 6e 67 4d 65 6d 62 65 72 22 2c 0a 20 StringMember",.
00008fc0: 20 20 20 69 64 2c 0a 20 20 20 20 69 6e 69 74 0a id,. init.
00008fd0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00008fe0: 20 65 6e 75 6d 44 65 66 61 75 6c 74 65 64 4d 65 enumDefaultedMe
00008ff0: 6d 62 65 72 28 69 64 29 20 7b 0a 20 20 72 65 74 mber(id) {. ret
00009000: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00009010: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00009020: 0a 20 20 20 20 74 79 70 65 3a 20 22 45 6e 75 6d . type: "Enum
00009030: 44 65 66 61 75 6c 74 65 64 4d 65 6d 62 65 72 22 DefaultedMember"
00009040: 2c 0a 20 20 20 20 69 64 0a 20 20 7d 29 3b 0a 7d ,. id. });.}
00009050: 0a 66 75 6e 63 74 69 6f 6e 20 69 6e 64 65 78 65 .function indexe
00009060: 64 41 63 63 65 73 73 54 79 70 65 28 6f 62 6a 65 dAccessType(obje
00009070: 63 74 54 79 70 65 2c 20 69 6e 64 65 78 54 79 70 ctType, indexTyp
00009080: 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 e) {. return (0
00009090: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
000090a0: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
000090b0: 79 70 65 3a 20 22 49 6e 64 65 78 65 64 41 63 63 ype: "IndexedAcc
000090c0: 65 73 73 54 79 70 65 22 2c 0a 20 20 20 20 6f 62 essType",. ob
000090d0: 6a 65 63 74 54 79 70 65 2c 0a 20 20 20 20 69 6e jectType,. in
000090e0: 64 65 78 54 79 70 65 0a 20 20 7d 29 3b 0a 7d 0a dexType. });.}.
000090f0: 66 75 6e 63 74 69 6f 6e 20 6f 70 74 69 6f 6e 61 function optiona
00009100: 6c 49 6e 64 65 78 65 64 41 63 63 65 73 73 54 79 lIndexedAccessTy
00009110: 70 65 28 6f 62 6a 65 63 74 54 79 70 65 2c 20 69 pe(objectType, i
00009120: 6e 64 65 78 54 79 70 65 29 20 7b 0a 20 20 72 65 ndexType) {. re
00009130: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
00009140: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
00009150: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4f 70 74 {. type: "Opt
00009160: 69 6f 6e 61 6c 49 6e 64 65 78 65 64 41 63 63 65 ionalIndexedAcce
00009170: 73 73 54 79 70 65 22 2c 0a 20 20 20 20 6f 62 6a ssType",. obj
00009180: 65 63 74 54 79 70 65 2c 0a 20 20 20 20 69 6e 64 ectType,. ind
00009190: 65 78 54 79 70 65 2c 0a 20 20 20 20 6f 70 74 69 exType,. opti
000091a0: 6f 6e 61 6c 3a 20 6e 75 6c 6c 0a 20 20 7d 29 3b onal: null. });
000091b0: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6a 73 78 41 .}.function jsxA
000091c0: 74 74 72 69 62 75 74 65 28 6e 61 6d 65 2c 20 76 ttribute(name, v
000091d0: 61 6c 75 65 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 alue = null) {.
000091e0: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
000091f0: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00009200: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00009210: 4a 53 58 41 74 74 72 69 62 75 74 65 22 2c 0a 20 JSXAttribute",.
00009220: 20 20 20 6e 61 6d 65 2c 0a 20 20 20 20 76 61 6c name,. val
00009230: 75 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 ue. });.}.funct
00009240: 69 6f 6e 20 6a 73 78 43 6c 6f 73 69 6e 67 45 6c ion jsxClosingEl
00009250: 65 6d 65 6e 74 28 6e 61 6d 65 29 20 7b 0a 20 20 ement(name) {.
00009260: 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 return (0, _vali
00009270: 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 dateNode.default
00009280: 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4a )({. type: "J
00009290: 53 58 43 6c 6f 73 69 6e 67 45 6c 65 6d 65 6e 74 SXClosingElement
000092a0: 22 2c 0a 20 20 20 20 6e 61 6d 65 0a 20 20 7d 29 ",. name. })
000092b0: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6a 73 78 ;.}.function jsx
000092c0: 45 6c 65 6d 65 6e 74 28 6f 70 65 6e 69 6e 67 45 Element(openingE
000092d0: 6c 65 6d 65 6e 74 2c 20 63 6c 6f 73 69 6e 67 45 lement, closingE
000092e0: 6c 65 6d 65 6e 74 20 3d 20 6e 75 6c 6c 2c 20 63 lement = null, c
000092f0: 68 69 6c 64 72 65 6e 2c 20 73 65 6c 66 43 6c 6f hildren, selfClo
00009300: 73 69 6e 67 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 sing = null) {.
00009310: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00009320: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00009330: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00009340: 4a 53 58 45 6c 65 6d 65 6e 74 22 2c 0a 20 20 20 JSXElement",.
00009350: 20 6f 70 65 6e 69 6e 67 45 6c 65 6d 65 6e 74 2c openingElement,
00009360: 0a 20 20 20 20 63 6c 6f 73 69 6e 67 45 6c 65 6d . closingElem
00009370: 65 6e 74 2c 0a 20 20 20 20 63 68 69 6c 64 72 65 ent,. childre
00009380: 6e 2c 0a 20 20 20 20 73 65 6c 66 43 6c 6f 73 69 n,. selfClosi
00009390: 6e 67 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 ng. });.}.funct
000093a0: 69 6f 6e 20 6a 73 78 45 6d 70 74 79 45 78 70 72 ion jsxEmptyExpr
000093b0: 65 73 73 69 6f 6e 28 29 20 7b 0a 20 20 72 65 74 ession() {. ret
000093c0: 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 urn {. type:
000093d0: 22 4a 53 58 45 6d 70 74 79 45 78 70 72 65 73 73 "JSXEmptyExpress
000093e0: 69 6f 6e 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 ion". };.}.func
000093f0: 74 69 6f 6e 20 6a 73 78 45 78 70 72 65 73 73 69 tion jsxExpressi
00009400: 6f 6e 43 6f 6e 74 61 69 6e 65 72 28 65 78 70 72 onContainer(expr
00009410: 65 73 73 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 ession) {. retu
00009420: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
00009430: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
00009440: 20 20 20 20 74 79 70 65 3a 20 22 4a 53 58 45 78 type: "JSXEx
00009450: 70 72 65 73 73 69 6f 6e 43 6f 6e 74 61 69 6e 65 pressionContaine
00009460: 72 22 2c 0a 20 20 20 20 65 78 70 72 65 73 73 69 r",. expressi
00009470: 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 on. });.}.funct
00009480: 69 6f 6e 20 6a 73 78 53 70 72 65 61 64 43 68 69 ion jsxSpreadChi
00009490: 6c 64 28 65 78 70 72 65 73 73 69 6f 6e 29 20 7b ld(expression) {
000094a0: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
000094b0: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
000094c0: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
000094d0: 20 22 4a 53 58 53 70 72 65 61 64 43 68 69 6c 64 "JSXSpreadChild
000094e0: 22 2c 0a 20 20 20 20 65 78 70 72 65 73 73 69 6f ",. expressio
000094f0: 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 n. });.}.functi
00009500: 6f 6e 20 6a 73 78 49 64 65 6e 74 69 66 69 65 72 on jsxIdentifier
00009510: 28 6e 61 6d 65 29 20 7b 0a 20 20 72 65 74 75 72 (name) {. retur
00009520: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
00009530: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
00009540: 20 20 20 74 79 70 65 3a 20 22 4a 53 58 49 64 65 type: "JSXIde
00009550: 6e 74 69 66 69 65 72 22 2c 0a 20 20 20 20 6e 61 ntifier",. na
00009560: 6d 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 me. });.}.funct
00009570: 69 6f 6e 20 6a 73 78 4d 65 6d 62 65 72 45 78 70 ion jsxMemberExp
00009580: 72 65 73 73 69 6f 6e 28 6f 62 6a 65 63 74 2c 20 ression(object,
00009590: 70 72 6f 70 65 72 74 79 29 20 7b 0a 20 20 72 65 property) {. re
000095a0: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
000095b0: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
000095c0: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 4a 53 58 {. type: "JSX
000095d0: 4d 65 6d 62 65 72 45 78 70 72 65 73 73 69 6f 6e MemberExpression
000095e0: 22 2c 0a 20 20 20 20 6f 62 6a 65 63 74 2c 0a 20 ",. object,.
000095f0: 20 20 20 70 72 6f 70 65 72 74 79 0a 20 20 7d 29 property. })
00009600: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6a 73 78 ;.}.function jsx
00009610: 4e 61 6d 65 73 70 61 63 65 64 4e 61 6d 65 28 6e NamespacedName(n
00009620: 61 6d 65 73 70 61 63 65 2c 20 6e 61 6d 65 29 20 amespace, name)
00009630: 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f {. return (0, _
00009640: 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 validateNode.def
00009650: 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 ault)({. type
00009660: 3a 20 22 4a 53 58 4e 61 6d 65 73 70 61 63 65 64 : "JSXNamespaced
00009670: 4e 61 6d 65 22 2c 0a 20 20 20 20 6e 61 6d 65 73 Name",. names
00009680: 70 61 63 65 2c 0a 20 20 20 20 6e 61 6d 65 0a 20 pace,. name.
00009690: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
000096a0: 6a 73 78 4f 70 65 6e 69 6e 67 45 6c 65 6d 65 6e jsxOpeningElemen
000096b0: 74 28 6e 61 6d 65 2c 20 61 74 74 72 69 62 75 74 t(name, attribut
000096c0: 65 73 2c 20 73 65 6c 66 43 6c 6f 73 69 6e 67 20 es, selfClosing
000096d0: 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 72 65 74 = false) {. ret
000096e0: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
000096f0: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00009700: 0a 20 20 20 20 74 79 70 65 3a 20 22 4a 53 58 4f . type: "JSXO
00009710: 70 65 6e 69 6e 67 45 6c 65 6d 65 6e 74 22 2c 0a peningElement",.
00009720: 20 20 20 20 6e 61 6d 65 2c 0a 20 20 20 20 61 74 name,. at
00009730: 74 72 69 62 75 74 65 73 2c 0a 20 20 20 20 73 65 tributes,. se
00009740: 6c 66 43 6c 6f 73 69 6e 67 0a 20 20 7d 29 3b 0a lfClosing. });.
00009750: 7d 0a 66 75 6e 63 74 69 6f 6e 20 6a 73 78 53 70 }.function jsxSp
00009760: 72 65 61 64 41 74 74 72 69 62 75 74 65 28 61 72 readAttribute(ar
00009770: 67 75 6d 65 6e 74 29 20 7b 0a 20 20 72 65 74 75 gument) {. retu
00009780: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
00009790: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
000097a0: 20 20 20 20 74 79 70 65 3a 20 22 4a 53 58 53 70 type: "JSXSp
000097b0: 72 65 61 64 41 74 74 72 69 62 75 74 65 22 2c 0a readAttribute",.
000097c0: 20 20 20 20 61 72 67 75 6d 65 6e 74 0a 20 20 7d argument. }
000097d0: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 6a 73 );.}.function js
000097e0: 78 54 65 78 74 28 76 61 6c 75 65 29 20 7b 0a 20 xText(value) {.
000097f0: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00009800: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00009810: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00009820: 4a 53 58 54 65 78 74 22 2c 0a 20 20 20 20 76 61 JSXText",. va
00009830: 6c 75 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 lue. });.}.func
00009840: 74 69 6f 6e 20 6a 73 78 46 72 61 67 6d 65 6e 74 tion jsxFragment
00009850: 28 6f 70 65 6e 69 6e 67 46 72 61 67 6d 65 6e 74 (openingFragment
00009860: 2c 20 63 6c 6f 73 69 6e 67 46 72 61 67 6d 65 6e , closingFragmen
00009870: 74 2c 20 63 68 69 6c 64 72 65 6e 29 20 7b 0a 20 t, children) {.
00009880: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00009890: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
000098a0: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
000098b0: 4a 53 58 46 72 61 67 6d 65 6e 74 22 2c 0a 20 20 JSXFragment",.
000098c0: 20 20 6f 70 65 6e 69 6e 67 46 72 61 67 6d 65 6e openingFragmen
000098d0: 74 2c 0a 20 20 20 20 63 6c 6f 73 69 6e 67 46 72 t,. closingFr
000098e0: 61 67 6d 65 6e 74 2c 0a 20 20 20 20 63 68 69 6c agment,. chil
000098f0: 64 72 65 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e dren. });.}.fun
00009900: 63 74 69 6f 6e 20 6a 73 78 4f 70 65 6e 69 6e 67 ction jsxOpening
00009910: 46 72 61 67 6d 65 6e 74 28 29 20 7b 0a 20 20 72 Fragment() {. r
00009920: 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 eturn {. type
00009930: 3a 20 22 4a 53 58 4f 70 65 6e 69 6e 67 46 72 61 : "JSXOpeningFra
00009940: 67 6d 65 6e 74 22 0a 20 20 7d 3b 0a 7d 0a 66 75 gment". };.}.fu
00009950: 6e 63 74 69 6f 6e 20 6a 73 78 43 6c 6f 73 69 6e nction jsxClosin
00009960: 67 46 72 61 67 6d 65 6e 74 28 29 20 7b 0a 20 20 gFragment() {.
00009970: 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 return {. typ
00009980: 65 3a 20 22 4a 53 58 43 6c 6f 73 69 6e 67 46 72 e: "JSXClosingFr
00009990: 61 67 6d 65 6e 74 22 0a 20 20 7d 3b 0a 7d 0a 66 agment". };.}.f
000099a0: 75 6e 63 74 69 6f 6e 20 6e 6f 6f 70 28 29 20 7b unction noop() {
000099b0: 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 . return {.
000099c0: 74 79 70 65 3a 20 22 4e 6f 6f 70 22 0a 20 20 7d type: "Noop". }
000099d0: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 70 6c 61 ;.}.function pla
000099e0: 63 65 68 6f 6c 64 65 72 28 65 78 70 65 63 74 65 ceholder(expecte
000099f0: 64 4e 6f 64 65 2c 20 6e 61 6d 65 29 20 7b 0a 20 dNode, name) {.
00009a00: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00009a10: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00009a20: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00009a30: 50 6c 61 63 65 68 6f 6c 64 65 72 22 2c 0a 20 20 Placeholder",.
00009a40: 20 20 65 78 70 65 63 74 65 64 4e 6f 64 65 2c 0a expectedNode,.
00009a50: 20 20 20 20 6e 61 6d 65 0a 20 20 7d 29 3b 0a 7d name. });.}
00009a60: 0a 66 75 6e 63 74 69 6f 6e 20 76 38 49 6e 74 72 .function v8Intr
00009a70: 69 6e 73 69 63 49 64 65 6e 74 69 66 69 65 72 28 insicIdentifier(
00009a80: 6e 61 6d 65 29 20 7b 0a 20 20 72 65 74 75 72 6e name) {. return
00009a90: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
00009aa0: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
00009ab0: 20 20 74 79 70 65 3a 20 22 56 38 49 6e 74 72 69 type: "V8Intri
00009ac0: 6e 73 69 63 49 64 65 6e 74 69 66 69 65 72 22 2c nsicIdentifier",
00009ad0: 0a 20 20 20 20 6e 61 6d 65 0a 20 20 7d 29 3b 0a . name. });.
00009ae0: 7d 0a 66 75 6e 63 74 69 6f 6e 20 61 72 67 75 6d }.function argum
00009af0: 65 6e 74 50 6c 61 63 65 68 6f 6c 64 65 72 28 29 entPlaceholder()
00009b00: 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 {. return {.
00009b10: 20 20 74 79 70 65 3a 20 22 41 72 67 75 6d 65 6e type: "Argumen
00009b20: 74 50 6c 61 63 65 68 6f 6c 64 65 72 22 0a 20 20 tPlaceholder".
00009b30: 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 62 69 };.}.function bi
00009b40: 6e 64 45 78 70 72 65 73 73 69 6f 6e 28 6f 62 6a ndExpression(obj
00009b50: 65 63 74 2c 20 63 61 6c 6c 65 65 29 20 7b 0a 20 ect, callee) {.
00009b60: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00009b70: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00009b80: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00009b90: 42 69 6e 64 45 78 70 72 65 73 73 69 6f 6e 22 2c BindExpression",
00009ba0: 0a 20 20 20 20 6f 62 6a 65 63 74 2c 0a 20 20 20 . object,.
00009bb0: 20 63 61 6c 6c 65 65 0a 20 20 7d 29 3b 0a 7d 0a callee. });.}.
00009bc0: 66 75 6e 63 74 69 6f 6e 20 69 6d 70 6f 72 74 41 function importA
00009bd0: 74 74 72 69 62 75 74 65 28 6b 65 79 2c 20 76 61 ttribute(key, va
00009be0: 6c 75 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 lue) {. return
00009bf0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00009c00: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00009c10: 20 74 79 70 65 3a 20 22 49 6d 70 6f 72 74 41 74 type: "ImportAt
00009c20: 74 72 69 62 75 74 65 22 2c 0a 20 20 20 20 6b 65 tribute",. ke
00009c30: 79 2c 0a 20 20 20 20 76 61 6c 75 65 0a 20 20 7d y,. value. }
00009c40: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 64 65 );.}.function de
00009c50: 63 6f 72 61 74 6f 72 28 65 78 70 72 65 73 73 69 corator(expressi
00009c60: 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 on) {. return (
00009c70: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00009c80: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00009c90: 74 79 70 65 3a 20 22 44 65 63 6f 72 61 74 6f 72 type: "Decorator
00009ca0: 22 2c 0a 20 20 20 20 65 78 70 72 65 73 73 69 6f ",. expressio
00009cb0: 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 n. });.}.functi
00009cc0: 6f 6e 20 64 6f 45 78 70 72 65 73 73 69 6f 6e 28 on doExpression(
00009cd0: 62 6f 64 79 2c 20 61 73 79 6e 63 20 3d 20 66 61 body, async = fa
00009ce0: 6c 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 lse) {. return
00009cf0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
00009d00: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
00009d10: 20 74 79 70 65 3a 20 22 44 6f 45 78 70 72 65 73 type: "DoExpres
00009d20: 73 69 6f 6e 22 2c 0a 20 20 20 20 62 6f 64 79 2c sion",. body,
00009d30: 0a 20 20 20 20 61 73 79 6e 63 0a 20 20 7d 29 3b . async. });
00009d40: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f .}.function expo
00009d50: 72 74 44 65 66 61 75 6c 74 53 70 65 63 69 66 69 rtDefaultSpecifi
00009d60: 65 72 28 65 78 70 6f 72 74 65 64 29 20 7b 0a 20 er(exported) {.
00009d70: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
00009d80: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
00009d90: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
00009da0: 45 78 70 6f 72 74 44 65 66 61 75 6c 74 53 70 65 ExportDefaultSpe
00009db0: 63 69 66 69 65 72 22 2c 0a 20 20 20 20 65 78 70 cifier",. exp
00009dc0: 6f 72 74 65 64 0a 20 20 7d 29 3b 0a 7d 0a 66 75 orted. });.}.fu
00009dd0: 6e 63 74 69 6f 6e 20 72 65 63 6f 72 64 45 78 70 nction recordExp
00009de0: 72 65 73 73 69 6f 6e 28 70 72 6f 70 65 72 74 69 ression(properti
00009df0: 65 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 es) {. return (
00009e00: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
00009e10: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
00009e20: 74 79 70 65 3a 20 22 52 65 63 6f 72 64 45 78 70 type: "RecordExp
00009e30: 72 65 73 73 69 6f 6e 22 2c 0a 20 20 20 20 70 72 ression",. pr
00009e40: 6f 70 65 72 74 69 65 73 0a 20 20 7d 29 3b 0a 7d operties. });.}
00009e50: 0a 66 75 6e 63 74 69 6f 6e 20 74 75 70 6c 65 45 .function tupleE
00009e60: 78 70 72 65 73 73 69 6f 6e 28 65 6c 65 6d 65 6e xpression(elemen
00009e70: 74 73 20 3d 20 5b 5d 29 20 7b 0a 20 20 72 65 74 ts = []) {. ret
00009e80: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
00009e90: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
00009ea0: 0a 20 20 20 20 74 79 70 65 3a 20 22 54 75 70 6c . type: "Tupl
00009eb0: 65 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 eExpression",.
00009ec0: 20 20 65 6c 65 6d 65 6e 74 73 0a 20 20 7d 29 3b elements. });
00009ed0: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 .}.function deci
00009ee0: 6d 61 6c 4c 69 74 65 72 61 6c 28 76 61 6c 75 65 malLiteral(value
00009ef0: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
00009f00: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
00009f10: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
00009f20: 70 65 3a 20 22 44 65 63 69 6d 61 6c 4c 69 74 65 pe: "DecimalLite
00009f30: 72 61 6c 22 2c 0a 20 20 20 20 76 61 6c 75 65 0a ral",. value.
00009f40: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
00009f50: 20 6d 6f 64 75 6c 65 45 78 70 72 65 73 73 69 6f moduleExpressio
00009f60: 6e 28 62 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 n(body) {. retu
00009f70: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
00009f80: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
00009f90: 20 20 20 20 74 79 70 65 3a 20 22 4d 6f 64 75 6c type: "Modul
00009fa0: 65 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a 20 20 eExpression",.
00009fb0: 20 20 62 6f 64 79 0a 20 20 7d 29 3b 0a 7d 0a 66 body. });.}.f
00009fc0: 75 6e 63 74 69 6f 6e 20 74 6f 70 69 63 52 65 66 unction topicRef
00009fd0: 65 72 65 6e 63 65 28 29 20 7b 0a 20 20 72 65 74 erence() {. ret
00009fe0: 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 urn {. type:
00009ff0: 22 54 6f 70 69 63 52 65 66 65 72 65 6e 63 65 22 "TopicReference"
0000a000: 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e . };.}.function
0000a010: 20 70 69 70 65 6c 69 6e 65 54 6f 70 69 63 45 78 pipelineTopicEx
0000a020: 70 72 65 73 73 69 6f 6e 28 65 78 70 72 65 73 73 pression(express
0000a030: 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ion) {. return
0000a040: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
0000a050: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
0000a060: 20 74 79 70 65 3a 20 22 50 69 70 65 6c 69 6e 65 type: "Pipeline
0000a070: 54 6f 70 69 63 45 78 70 72 65 73 73 69 6f 6e 22 TopicExpression"
0000a080: 2c 0a 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e ,. expression
0000a090: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
0000a0a0: 6e 20 70 69 70 65 6c 69 6e 65 42 61 72 65 46 75 n pipelineBareFu
0000a0b0: 6e 63 74 69 6f 6e 28 63 61 6c 6c 65 65 29 20 7b nction(callee) {
0000a0c0: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
0000a0d0: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
0000a0e0: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
0000a0f0: 20 22 50 69 70 65 6c 69 6e 65 42 61 72 65 46 75 "PipelineBareFu
0000a100: 6e 63 74 69 6f 6e 22 2c 0a 20 20 20 20 63 61 6c nction",. cal
0000a110: 6c 65 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 lee. });.}.func
0000a120: 74 69 6f 6e 20 70 69 70 65 6c 69 6e 65 50 72 69 tion pipelinePri
0000a130: 6d 61 72 79 54 6f 70 69 63 52 65 66 65 72 65 6e maryTopicReferen
0000a140: 63 65 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ce() {. return
0000a150: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 50 69 70 {. type: "Pip
0000a160: 65 6c 69 6e 65 50 72 69 6d 61 72 79 54 6f 70 69 elinePrimaryTopi
0000a170: 63 52 65 66 65 72 65 6e 63 65 22 0a 20 20 7d 3b cReference". };
0000a180: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 50 61 .}.function tsPa
0000a190: 72 61 6d 65 74 65 72 50 72 6f 70 65 72 74 79 28 rameterProperty(
0000a1a0: 70 61 72 61 6d 65 74 65 72 29 20 7b 0a 20 20 72 parameter) {. r
0000a1b0: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
0000a1c0: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
0000a1d0: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 ({. type: "TS
0000a1e0: 50 61 72 61 6d 65 74 65 72 50 72 6f 70 65 72 74 ParameterPropert
0000a1f0: 79 22 2c 0a 20 20 20 20 70 61 72 61 6d 65 74 65 y",. paramete
0000a200: 72 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 r. });.}.functi
0000a210: 6f 6e 20 74 73 44 65 63 6c 61 72 65 46 75 6e 63 on tsDeclareFunc
0000a220: 74 69 6f 6e 28 69 64 20 3d 20 6e 75 6c 6c 2c 20 tion(id = null,
0000a230: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 20 3d typeParameters =
0000a240: 20 6e 75 6c 6c 2c 20 70 61 72 61 6d 73 2c 20 72 null, params, r
0000a250: 65 74 75 72 6e 54 79 70 65 20 3d 20 6e 75 6c 6c eturnType = null
0000a260: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
0000a270: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
0000a280: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
0000a290: 70 65 3a 20 22 54 53 44 65 63 6c 61 72 65 46 75 pe: "TSDeclareFu
0000a2a0: 6e 63 74 69 6f 6e 22 2c 0a 20 20 20 20 69 64 2c nction",. id,
0000a2b0: 0a 20 20 20 20 74 79 70 65 50 61 72 61 6d 65 74 . typeParamet
0000a2c0: 65 72 73 2c 0a 20 20 20 20 70 61 72 61 6d 73 2c ers,. params,
0000a2d0: 0a 20 20 20 20 72 65 74 75 72 6e 54 79 70 65 0a . returnType.
0000a2e0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
0000a2f0: 20 74 73 44 65 63 6c 61 72 65 4d 65 74 68 6f 64 tsDeclareMethod
0000a300: 28 64 65 63 6f 72 61 74 6f 72 73 20 3d 20 6e 75 (decorators = nu
0000a310: 6c 6c 2c 20 6b 65 79 2c 20 74 79 70 65 50 61 72 ll, key, typePar
0000a320: 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c 2c 20 ameters = null,
0000a330: 70 61 72 61 6d 73 2c 20 72 65 74 75 72 6e 54 79 params, returnTy
0000a340: 70 65 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 pe = null) {. r
0000a350: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
0000a360: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
0000a370: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 ({. type: "TS
0000a380: 44 65 63 6c 61 72 65 4d 65 74 68 6f 64 22 2c 0a DeclareMethod",.
0000a390: 20 20 20 20 64 65 63 6f 72 61 74 6f 72 73 2c 0a decorators,.
0000a3a0: 20 20 20 20 6b 65 79 2c 0a 20 20 20 20 74 79 70 key,. typ
0000a3b0: 65 50 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 eParameters,.
0000a3c0: 20 70 61 72 61 6d 73 2c 0a 20 20 20 20 72 65 74 params,. ret
0000a3d0: 75 72 6e 54 79 70 65 0a 20 20 7d 29 3b 0a 7d 0a urnType. });.}.
0000a3e0: 66 75 6e 63 74 69 6f 6e 20 74 73 51 75 61 6c 69 function tsQuali
0000a3f0: 66 69 65 64 4e 61 6d 65 28 6c 65 66 74 2c 20 72 fiedName(left, r
0000a400: 69 67 68 74 29 20 7b 0a 20 20 72 65 74 75 72 6e ight) {. return
0000a410: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
0000a420: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
0000a430: 20 20 74 79 70 65 3a 20 22 54 53 51 75 61 6c 69 type: "TSQuali
0000a440: 66 69 65 64 4e 61 6d 65 22 2c 0a 20 20 20 20 6c fiedName",. l
0000a450: 65 66 74 2c 0a 20 20 20 20 72 69 67 68 74 0a 20 eft,. right.
0000a460: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
0000a470: 74 73 43 61 6c 6c 53 69 67 6e 61 74 75 72 65 44 tsCallSignatureD
0000a480: 65 63 6c 61 72 61 74 69 6f 6e 28 74 79 70 65 50 eclaration(typeP
0000a490: 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c arameters = null
0000a4a0: 2c 20 70 61 72 61 6d 65 74 65 72 73 2c 20 74 79 , parameters, ty
0000a4b0: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 6e peAnnotation = n
0000a4c0: 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ull) {. return
0000a4d0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
0000a4e0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
0000a4f0: 20 74 79 70 65 3a 20 22 54 53 43 61 6c 6c 53 69 type: "TSCallSi
0000a500: 67 6e 61 74 75 72 65 44 65 63 6c 61 72 61 74 69 gnatureDeclarati
0000a510: 6f 6e 22 2c 0a 20 20 20 20 74 79 70 65 50 61 72 on",. typePar
0000a520: 61 6d 65 74 65 72 73 2c 0a 20 20 20 20 70 61 72 ameters,. par
0000a530: 61 6d 65 74 65 72 73 2c 0a 20 20 20 20 74 79 70 ameters,. typ
0000a540: 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a 20 20 7d 29 eAnnotation. })
0000a550: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 43 ;.}.function tsC
0000a560: 6f 6e 73 74 72 75 63 74 53 69 67 6e 61 74 75 72 onstructSignatur
0000a570: 65 44 65 63 6c 61 72 61 74 69 6f 6e 28 74 79 70 eDeclaration(typ
0000a580: 65 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 eParameters = nu
0000a590: 6c 6c 2c 20 70 61 72 61 6d 65 74 65 72 73 2c 20 ll, parameters,
0000a5a0: 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d typeAnnotation =
0000a5b0: 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 null) {. retur
0000a5c0: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
0000a5d0: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
0000a5e0: 20 20 20 74 79 70 65 3a 20 22 54 53 43 6f 6e 73 type: "TSCons
0000a5f0: 74 72 75 63 74 53 69 67 6e 61 74 75 72 65 44 65 tructSignatureDe
0000a600: 63 6c 61 72 61 74 69 6f 6e 22 2c 0a 20 20 20 20 claration",.
0000a610: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 2c 0a typeParameters,.
0000a620: 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 2c 0a parameters,.
0000a630: 20 20 20 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 typeAnnotati
0000a640: 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 on. });.}.funct
0000a650: 69 6f 6e 20 74 73 50 72 6f 70 65 72 74 79 53 69 ion tsPropertySi
0000a660: 67 6e 61 74 75 72 65 28 6b 65 79 2c 20 74 79 70 gnature(key, typ
0000a670: 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 6e 75 eAnnotation = nu
0000a680: 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ll) {. return (
0000a690: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
0000a6a0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
0000a6b0: 74 79 70 65 3a 20 22 54 53 50 72 6f 70 65 72 74 type: "TSPropert
0000a6c0: 79 53 69 67 6e 61 74 75 72 65 22 2c 0a 20 20 20 ySignature",.
0000a6d0: 20 6b 65 79 2c 0a 20 20 20 20 74 79 70 65 41 6e key,. typeAn
0000a6e0: 6e 6f 74 61 74 69 6f 6e 2c 0a 20 20 20 20 6b 69 notation,. ki
0000a6f0: 6e 64 3a 20 6e 75 6c 6c 0a 20 20 7d 29 3b 0a 7d nd: null. });.}
0000a700: 0a 66 75 6e 63 74 69 6f 6e 20 74 73 4d 65 74 68 .function tsMeth
0000a710: 6f 64 53 69 67 6e 61 74 75 72 65 28 6b 65 79 2c odSignature(key,
0000a720: 20 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 20 typeParameters
0000a730: 3d 20 6e 75 6c 6c 2c 20 70 61 72 61 6d 65 74 65 = null, paramete
0000a740: 72 73 2c 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 rs, typeAnnotati
0000a750: 6f 6e 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 on = null) {. r
0000a760: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
0000a770: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
0000a780: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 ({. type: "TS
0000a790: 4d 65 74 68 6f 64 53 69 67 6e 61 74 75 72 65 22 MethodSignature"
0000a7a0: 2c 0a 20 20 20 20 6b 65 79 2c 0a 20 20 20 20 74 ,. key,. t
0000a7b0: 79 70 65 50 61 72 61 6d 65 74 65 72 73 2c 0a 20 ypeParameters,.
0000a7c0: 20 20 20 70 61 72 61 6d 65 74 65 72 73 2c 0a 20 parameters,.
0000a7d0: 20 20 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f typeAnnotatio
0000a7e0: 6e 2c 0a 20 20 20 20 6b 69 6e 64 3a 20 6e 75 6c n,. kind: nul
0000a7f0: 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 l. });.}.functi
0000a800: 6f 6e 20 74 73 49 6e 64 65 78 53 69 67 6e 61 74 on tsIndexSignat
0000a810: 75 72 65 28 70 61 72 61 6d 65 74 65 72 73 2c 20 ure(parameters,
0000a820: 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 3d typeAnnotation =
0000a830: 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 null) {. retur
0000a840: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
0000a850: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
0000a860: 20 20 20 74 79 70 65 3a 20 22 54 53 49 6e 64 65 type: "TSInde
0000a870: 78 53 69 67 6e 61 74 75 72 65 22 2c 0a 20 20 20 xSignature",.
0000a880: 20 70 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 parameters,.
0000a890: 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a typeAnnotation.
0000a8a0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
0000a8b0: 20 74 73 41 6e 79 4b 65 79 77 6f 72 64 28 29 20 tsAnyKeyword()
0000a8c0: 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 {. return {.
0000a8d0: 20 74 79 70 65 3a 20 22 54 53 41 6e 79 4b 65 79 type: "TSAnyKey
0000a8e0: 77 6f 72 64 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e word". };.}.fun
0000a8f0: 63 74 69 6f 6e 20 74 73 42 6f 6f 6c 65 61 6e 4b ction tsBooleanK
0000a900: 65 79 77 6f 72 64 28 29 20 7b 0a 20 20 72 65 74 eyword() {. ret
0000a910: 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 urn {. type:
0000a920: 22 54 53 42 6f 6f 6c 65 61 6e 4b 65 79 77 6f 72 "TSBooleanKeywor
0000a930: 64 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 d". };.}.functi
0000a940: 6f 6e 20 74 73 42 69 67 49 6e 74 4b 65 79 77 6f on tsBigIntKeywo
0000a950: 72 64 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 rd() {. return
0000a960: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 42 {. type: "TSB
0000a970: 69 67 49 6e 74 4b 65 79 77 6f 72 64 22 0a 20 20 igIntKeyword".
0000a980: 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 };.}.function ts
0000a990: 49 6e 74 72 69 6e 73 69 63 4b 65 79 77 6f 72 64 IntrinsicKeyword
0000a9a0: 28 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a () {. return {.
0000a9b0: 20 20 20 20 74 79 70 65 3a 20 22 54 53 49 6e 74 type: "TSInt
0000a9c0: 72 69 6e 73 69 63 4b 65 79 77 6f 72 64 22 0a 20 rinsicKeyword".
0000a9d0: 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 };.}.function t
0000a9e0: 73 4e 65 76 65 72 4b 65 79 77 6f 72 64 28 29 20 sNeverKeyword()
0000a9f0: 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 {. return {.
0000aa00: 20 74 79 70 65 3a 20 22 54 53 4e 65 76 65 72 4b type: "TSNeverK
0000aa10: 65 79 77 6f 72 64 22 0a 20 20 7d 3b 0a 7d 0a 66 eyword". };.}.f
0000aa20: 75 6e 63 74 69 6f 6e 20 74 73 4e 75 6c 6c 4b 65 unction tsNullKe
0000aa30: 79 77 6f 72 64 28 29 20 7b 0a 20 20 72 65 74 75 yword() {. retu
0000aa40: 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 rn {. type: "
0000aa50: 54 53 4e 75 6c 6c 4b 65 79 77 6f 72 64 22 0a 20 TSNullKeyword".
0000aa60: 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 };.}.function t
0000aa70: 73 4e 75 6d 62 65 72 4b 65 79 77 6f 72 64 28 29 sNumberKeyword()
0000aa80: 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 {. return {.
0000aa90: 20 20 74 79 70 65 3a 20 22 54 53 4e 75 6d 62 65 type: "TSNumbe
0000aaa0: 72 4b 65 79 77 6f 72 64 22 0a 20 20 7d 3b 0a 7d rKeyword". };.}
0000aab0: 0a 66 75 6e 63 74 69 6f 6e 20 74 73 4f 62 6a 65 .function tsObje
0000aac0: 63 74 4b 65 79 77 6f 72 64 28 29 20 7b 0a 20 20 ctKeyword() {.
0000aad0: 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 return {. typ
0000aae0: 65 3a 20 22 54 53 4f 62 6a 65 63 74 4b 65 79 77 e: "TSObjectKeyw
0000aaf0: 6f 72 64 22 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 ord". };.}.func
0000ab00: 74 69 6f 6e 20 74 73 53 74 72 69 6e 67 4b 65 79 tion tsStringKey
0000ab10: 77 6f 72 64 28 29 20 7b 0a 20 20 72 65 74 75 72 word() {. retur
0000ab20: 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 n {. type: "T
0000ab30: 53 53 74 72 69 6e 67 4b 65 79 77 6f 72 64 22 0a SStringKeyword".
0000ab40: 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 };.}.function
0000ab50: 74 73 53 79 6d 62 6f 6c 4b 65 79 77 6f 72 64 28 tsSymbolKeyword(
0000ab60: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 ) {. return {.
0000ab70: 20 20 20 74 79 70 65 3a 20 22 54 53 53 79 6d 62 type: "TSSymb
0000ab80: 6f 6c 4b 65 79 77 6f 72 64 22 0a 20 20 7d 3b 0a olKeyword". };.
0000ab90: 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 55 6e 64 }.function tsUnd
0000aba0: 65 66 69 6e 65 64 4b 65 79 77 6f 72 64 28 29 20 efinedKeyword()
0000abb0: 7b 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 {. return {.
0000abc0: 20 74 79 70 65 3a 20 22 54 53 55 6e 64 65 66 69 type: "TSUndefi
0000abd0: 6e 65 64 4b 65 79 77 6f 72 64 22 0a 20 20 7d 3b nedKeyword". };
0000abe0: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 55 6e .}.function tsUn
0000abf0: 6b 6e 6f 77 6e 4b 65 79 77 6f 72 64 28 29 20 7b knownKeyword() {
0000ac00: 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 . return {.
0000ac10: 74 79 70 65 3a 20 22 54 53 55 6e 6b 6e 6f 77 6e type: "TSUnknown
0000ac20: 4b 65 79 77 6f 72 64 22 0a 20 20 7d 3b 0a 7d 0a Keyword". };.}.
0000ac30: 66 75 6e 63 74 69 6f 6e 20 74 73 56 6f 69 64 4b function tsVoidK
0000ac40: 65 79 77 6f 72 64 28 29 20 7b 0a 20 20 72 65 74 eyword() {. ret
0000ac50: 75 72 6e 20 7b 0a 20 20 20 20 74 79 70 65 3a 20 urn {. type:
0000ac60: 22 54 53 56 6f 69 64 4b 65 79 77 6f 72 64 22 0a "TSVoidKeyword".
0000ac70: 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 };.}.function
0000ac80: 74 73 54 68 69 73 54 79 70 65 28 29 20 7b 0a 20 tsThisType() {.
0000ac90: 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 74 79 return {. ty
0000aca0: 70 65 3a 20 22 54 53 54 68 69 73 54 79 70 65 22 pe: "TSThisType"
0000acb0: 0a 20 20 7d 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e . };.}.function
0000acc0: 20 74 73 46 75 6e 63 74 69 6f 6e 54 79 70 65 28 tsFunctionType(
0000acd0: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 20 3d typeParameters =
0000ace0: 20 6e 75 6c 6c 2c 20 70 61 72 61 6d 65 74 65 72 null, parameter
0000acf0: 73 2c 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f s, typeAnnotatio
0000ad00: 6e 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 n = null) {. re
0000ad10: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
0000ad20: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
0000ad30: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 46 {. type: "TSF
0000ad40: 75 6e 63 74 69 6f 6e 54 79 70 65 22 2c 0a 20 20 unctionType",.
0000ad50: 20 20 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 typeParameters
0000ad60: 2c 0a 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 ,. parameters
0000ad70: 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e 6f 74 61 ,. typeAnnota
0000ad80: 74 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e tion. });.}.fun
0000ad90: 63 74 69 6f 6e 20 74 73 43 6f 6e 73 74 72 75 63 ction tsConstruc
0000ada0: 74 6f 72 54 79 70 65 28 74 79 70 65 50 61 72 61 torType(typePara
0000adb0: 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c 2c 20 70 meters = null, p
0000adc0: 61 72 61 6d 65 74 65 72 73 2c 20 74 79 70 65 41 arameters, typeA
0000add0: 6e 6e 6f 74 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c nnotation = null
0000ade0: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
0000adf0: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
0000ae00: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
0000ae10: 70 65 3a 20 22 54 53 43 6f 6e 73 74 72 75 63 74 pe: "TSConstruct
0000ae20: 6f 72 54 79 70 65 22 2c 0a 20 20 20 20 74 79 70 orType",. typ
0000ae30: 65 50 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 eParameters,.
0000ae40: 20 70 61 72 61 6d 65 74 65 72 73 2c 0a 20 20 20 parameters,.
0000ae50: 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a typeAnnotation.
0000ae60: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
0000ae70: 20 74 73 54 79 70 65 52 65 66 65 72 65 6e 63 65 tsTypeReference
0000ae80: 28 74 79 70 65 4e 61 6d 65 2c 20 74 79 70 65 50 (typeName, typeP
0000ae90: 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c arameters = null
0000aea0: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
0000aeb0: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
0000aec0: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
0000aed0: 70 65 3a 20 22 54 53 54 79 70 65 52 65 66 65 72 pe: "TSTypeRefer
0000aee0: 65 6e 63 65 22 2c 0a 20 20 20 20 74 79 70 65 4e ence",. typeN
0000aef0: 61 6d 65 2c 0a 20 20 20 20 74 79 70 65 50 61 72 ame,. typePar
0000af00: 61 6d 65 74 65 72 73 0a 20 20 7d 29 3b 0a 7d 0a ameters. });.}.
0000af10: 66 75 6e 63 74 69 6f 6e 20 74 73 54 79 70 65 50 function tsTypeP
0000af20: 72 65 64 69 63 61 74 65 28 70 61 72 61 6d 65 74 redicate(paramet
0000af30: 65 72 4e 61 6d 65 2c 20 74 79 70 65 41 6e 6e 6f erName, typeAnno
0000af40: 74 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 61 tation = null, a
0000af50: 73 73 65 72 74 73 20 3d 20 6e 75 6c 6c 29 20 7b sserts = null) {
0000af60: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
0000af70: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
0000af80: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
0000af90: 20 22 54 53 54 79 70 65 50 72 65 64 69 63 61 74 "TSTypePredicat
0000afa0: 65 22 2c 0a 20 20 20 20 70 61 72 61 6d 65 74 65 e",. paramete
0000afb0: 72 4e 61 6d 65 2c 0a 20 20 20 20 74 79 70 65 41 rName,. typeA
0000afc0: 6e 6e 6f 74 61 74 69 6f 6e 2c 0a 20 20 20 20 61 nnotation,. a
0000afd0: 73 73 65 72 74 73 0a 20 20 7d 29 3b 0a 7d 0a 66 sserts. });.}.f
0000afe0: 75 6e 63 74 69 6f 6e 20 74 73 54 79 70 65 51 75 unction tsTypeQu
0000aff0: 65 72 79 28 65 78 70 72 4e 61 6d 65 2c 20 74 79 ery(exprName, ty
0000b000: 70 65 50 61 72 61 6d 65 74 65 72 73 20 3d 20 6e peParameters = n
0000b010: 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ull) {. return
0000b020: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
0000b030: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
0000b040: 20 74 79 70 65 3a 20 22 54 53 54 79 70 65 51 75 type: "TSTypeQu
0000b050: 65 72 79 22 2c 0a 20 20 20 20 65 78 70 72 4e 61 ery",. exprNa
0000b060: 6d 65 2c 0a 20 20 20 20 74 79 70 65 50 61 72 61 me,. typePara
0000b070: 6d 65 74 65 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 meters. });.}.f
0000b080: 75 6e 63 74 69 6f 6e 20 74 73 54 79 70 65 4c 69 unction tsTypeLi
0000b090: 74 65 72 61 6c 28 6d 65 6d 62 65 72 73 29 20 7b teral(members) {
0000b0a0: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
0000b0b0: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
0000b0c0: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
0000b0d0: 20 22 54 53 54 79 70 65 4c 69 74 65 72 61 6c 22 "TSTypeLiteral"
0000b0e0: 2c 0a 20 20 20 20 6d 65 6d 62 65 72 73 0a 20 20 ,. members.
0000b0f0: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 });.}.function t
0000b100: 73 41 72 72 61 79 54 79 70 65 28 65 6c 65 6d 65 sArrayType(eleme
0000b110: 6e 74 54 79 70 65 29 20 7b 0a 20 20 72 65 74 75 ntType) {. retu
0000b120: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
0000b130: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
0000b140: 20 20 20 20 74 79 70 65 3a 20 22 54 53 41 72 72 type: "TSArr
0000b150: 61 79 54 79 70 65 22 2c 0a 20 20 20 20 65 6c 65 ayType",. ele
0000b160: 6d 65 6e 74 54 79 70 65 0a 20 20 7d 29 3b 0a 7d mentType. });.}
0000b170: 0a 66 75 6e 63 74 69 6f 6e 20 74 73 54 75 70 6c .function tsTupl
0000b180: 65 54 79 70 65 28 65 6c 65 6d 65 6e 74 54 79 70 eType(elementTyp
0000b190: 65 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 es) {. return (
0000b1a0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
0000b1b0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
0000b1c0: 74 79 70 65 3a 20 22 54 53 54 75 70 6c 65 54 79 type: "TSTupleTy
0000b1d0: 70 65 22 2c 0a 20 20 20 20 65 6c 65 6d 65 6e 74 pe",. element
0000b1e0: 54 79 70 65 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 Types. });.}.fu
0000b1f0: 6e 63 74 69 6f 6e 20 74 73 4f 70 74 69 6f 6e 61 nction tsOptiona
0000b200: 6c 54 79 70 65 28 74 79 70 65 41 6e 6e 6f 74 61 lType(typeAnnota
0000b210: 74 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e tion) {. return
0000b220: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
0000b230: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
0000b240: 20 20 74 79 70 65 3a 20 22 54 53 4f 70 74 69 6f type: "TSOptio
0000b250: 6e 61 6c 54 79 70 65 22 2c 0a 20 20 20 20 74 79 nalType",. ty
0000b260: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a 20 20 7d peAnnotation. }
0000b270: 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 );.}.function ts
0000b280: 52 65 73 74 54 79 70 65 28 74 79 70 65 41 6e 6e RestType(typeAnn
0000b290: 6f 74 61 74 69 6f 6e 29 20 7b 0a 20 20 72 65 74 otation) {. ret
0000b2a0: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
0000b2b0: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
0000b2c0: 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 52 65 . type: "TSRe
0000b2d0: 73 74 54 79 70 65 22 2c 0a 20 20 20 20 74 79 70 stType",. typ
0000b2e0: 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a 20 20 7d 29 eAnnotation. })
0000b2f0: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 4e ;.}.function tsN
0000b300: 61 6d 65 64 54 75 70 6c 65 4d 65 6d 62 65 72 28 amedTupleMember(
0000b310: 6c 61 62 65 6c 2c 20 65 6c 65 6d 65 6e 74 54 79 label, elementTy
0000b320: 70 65 2c 20 6f 70 74 69 6f 6e 61 6c 20 3d 20 66 pe, optional = f
0000b330: 61 6c 73 65 29 20 7b 0a 20 20 72 65 74 75 72 6e alse) {. return
0000b340: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
0000b350: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
0000b360: 20 20 74 79 70 65 3a 20 22 54 53 4e 61 6d 65 64 type: "TSNamed
0000b370: 54 75 70 6c 65 4d 65 6d 62 65 72 22 2c 0a 20 20 TupleMember",.
0000b380: 20 20 6c 61 62 65 6c 2c 0a 20 20 20 20 65 6c 65 label,. ele
0000b390: 6d 65 6e 74 54 79 70 65 2c 0a 20 20 20 20 6f 70 mentType,. op
0000b3a0: 74 69 6f 6e 61 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 tional. });.}.f
0000b3b0: 75 6e 63 74 69 6f 6e 20 74 73 55 6e 69 6f 6e 54 unction tsUnionT
0000b3c0: 79 70 65 28 74 79 70 65 73 29 20 7b 0a 20 20 72 ype(types) {. r
0000b3d0: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
0000b3e0: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
0000b3f0: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 ({. type: "TS
0000b400: 55 6e 69 6f 6e 54 79 70 65 22 2c 0a 20 20 20 20 UnionType",.
0000b410: 74 79 70 65 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 types. });.}.fu
0000b420: 6e 63 74 69 6f 6e 20 74 73 49 6e 74 65 72 73 65 nction tsInterse
0000b430: 63 74 69 6f 6e 54 79 70 65 28 74 79 70 65 73 29 ctionType(types)
0000b440: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
0000b450: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
0000b460: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
0000b470: 65 3a 20 22 54 53 49 6e 74 65 72 73 65 63 74 69 e: "TSIntersecti
0000b480: 6f 6e 54 79 70 65 22 2c 0a 20 20 20 20 74 79 70 onType",. typ
0000b490: 65 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 es. });.}.funct
0000b4a0: 69 6f 6e 20 74 73 43 6f 6e 64 69 74 69 6f 6e 61 ion tsConditiona
0000b4b0: 6c 54 79 70 65 28 63 68 65 63 6b 54 79 70 65 2c lType(checkType,
0000b4c0: 20 65 78 74 65 6e 64 73 54 79 70 65 2c 20 74 72 extendsType, tr
0000b4d0: 75 65 54 79 70 65 2c 20 66 61 6c 73 65 54 79 70 ueType, falseTyp
0000b4e0: 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 e) {. return (0
0000b4f0: 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e , _validateNode.
0000b500: 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 default)({. t
0000b510: 79 70 65 3a 20 22 54 53 43 6f 6e 64 69 74 69 6f ype: "TSConditio
0000b520: 6e 61 6c 54 79 70 65 22 2c 0a 20 20 20 20 63 68 nalType",. ch
0000b530: 65 63 6b 54 79 70 65 2c 0a 20 20 20 20 65 78 74 eckType,. ext
0000b540: 65 6e 64 73 54 79 70 65 2c 0a 20 20 20 20 74 72 endsType,. tr
0000b550: 75 65 54 79 70 65 2c 0a 20 20 20 20 66 61 6c 73 ueType,. fals
0000b560: 65 54 79 70 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 eType. });.}.fu
0000b570: 6e 63 74 69 6f 6e 20 74 73 49 6e 66 65 72 54 79 nction tsInferTy
0000b580: 70 65 28 74 79 70 65 50 61 72 61 6d 65 74 65 72 pe(typeParameter
0000b590: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
0000b5a0: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
0000b5b0: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
0000b5c0: 70 65 3a 20 22 54 53 49 6e 66 65 72 54 79 70 65 pe: "TSInferType
0000b5d0: 22 2c 0a 20 20 20 20 74 79 70 65 50 61 72 61 6d ",. typeParam
0000b5e0: 65 74 65 72 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e eter. });.}.fun
0000b5f0: 63 74 69 6f 6e 20 74 73 50 61 72 65 6e 74 68 65 ction tsParenthe
0000b600: 73 69 7a 65 64 54 79 70 65 28 74 79 70 65 41 6e sizedType(typeAn
0000b610: 6e 6f 74 61 74 69 6f 6e 29 20 7b 0a 20 20 72 65 notation) {. re
0000b620: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
0000b630: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
0000b640: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 50 {. type: "TSP
0000b650: 61 72 65 6e 74 68 65 73 69 7a 65 64 54 79 70 65 arenthesizedType
0000b660: 22 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e 6f 74 ",. typeAnnot
0000b670: 61 74 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 ation. });.}.fu
0000b680: 6e 63 74 69 6f 6e 20 74 73 54 79 70 65 4f 70 65 nction tsTypeOpe
0000b690: 72 61 74 6f 72 28 74 79 70 65 41 6e 6e 6f 74 61 rator(typeAnnota
0000b6a0: 74 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e tion) {. return
0000b6b0: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
0000b6c0: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
0000b6d0: 20 20 74 79 70 65 3a 20 22 54 53 54 79 70 65 4f type: "TSTypeO
0000b6e0: 70 65 72 61 74 6f 72 22 2c 0a 20 20 20 20 74 79 perator",. ty
0000b6f0: 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 2c 0a 20 20 peAnnotation,.
0000b700: 20 20 6f 70 65 72 61 74 6f 72 3a 20 6e 75 6c 6c operator: null
0000b710: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
0000b720: 6e 20 74 73 49 6e 64 65 78 65 64 41 63 63 65 73 n tsIndexedAcces
0000b730: 73 54 79 70 65 28 6f 62 6a 65 63 74 54 79 70 65 sType(objectType
0000b740: 2c 20 69 6e 64 65 78 54 79 70 65 29 20 7b 0a 20 , indexType) {.
0000b750: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
0000b760: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
0000b770: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
0000b780: 54 53 49 6e 64 65 78 65 64 41 63 63 65 73 73 54 TSIndexedAccessT
0000b790: 79 70 65 22 2c 0a 20 20 20 20 6f 62 6a 65 63 74 ype",. object
0000b7a0: 54 79 70 65 2c 0a 20 20 20 20 69 6e 64 65 78 54 Type,. indexT
0000b7b0: 79 70 65 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 ype. });.}.func
0000b7c0: 74 69 6f 6e 20 74 73 4d 61 70 70 65 64 54 79 70 tion tsMappedTyp
0000b7d0: 65 28 74 79 70 65 50 61 72 61 6d 65 74 65 72 2c e(typeParameter,
0000b7e0: 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 20 typeAnnotation
0000b7f0: 3d 20 6e 75 6c 6c 2c 20 6e 61 6d 65 54 79 70 65 = null, nameType
0000b800: 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 = null) {. ret
0000b810: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
0000b820: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
0000b830: 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 4d 61 . type: "TSMa
0000b840: 70 70 65 64 54 79 70 65 22 2c 0a 20 20 20 20 74 ppedType",. t
0000b850: 79 70 65 50 61 72 61 6d 65 74 65 72 2c 0a 20 20 ypeParameter,.
0000b860: 20 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e typeAnnotation
0000b870: 2c 0a 20 20 20 20 6e 61 6d 65 54 79 70 65 0a 20 ,. nameType.
0000b880: 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 });.}.function
0000b890: 74 73 4c 69 74 65 72 61 6c 54 79 70 65 28 6c 69 tsLiteralType(li
0000b8a0: 74 65 72 61 6c 29 20 7b 0a 20 20 72 65 74 75 72 teral) {. retur
0000b8b0: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
0000b8c0: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
0000b8d0: 20 20 20 74 79 70 65 3a 20 22 54 53 4c 69 74 65 type: "TSLite
0000b8e0: 72 61 6c 54 79 70 65 22 2c 0a 20 20 20 20 6c 69 ralType",. li
0000b8f0: 74 65 72 61 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 teral. });.}.fu
0000b900: 6e 63 74 69 6f 6e 20 74 73 45 78 70 72 65 73 73 nction tsExpress
0000b910: 69 6f 6e 57 69 74 68 54 79 70 65 41 72 67 75 6d ionWithTypeArgum
0000b920: 65 6e 74 73 28 65 78 70 72 65 73 73 69 6f 6e 2c ents(expression,
0000b930: 20 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 20 typeParameters
0000b940: 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 72 65 74 75 = null) {. retu
0000b950: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
0000b960: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
0000b970: 20 20 20 20 74 79 70 65 3a 20 22 54 53 45 78 70 type: "TSExp
0000b980: 72 65 73 73 69 6f 6e 57 69 74 68 54 79 70 65 41 ressionWithTypeA
0000b990: 72 67 75 6d 65 6e 74 73 22 2c 0a 20 20 20 20 65 rguments",. e
0000b9a0: 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 74 xpression,. t
0000b9b0: 79 70 65 50 61 72 61 6d 65 74 65 72 73 0a 20 20 ypeParameters.
0000b9c0: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 });.}.function t
0000b9d0: 73 49 6e 74 65 72 66 61 63 65 44 65 63 6c 61 72 sInterfaceDeclar
0000b9e0: 61 74 69 6f 6e 28 69 64 2c 20 74 79 70 65 50 61 ation(id, typePa
0000b9f0: 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c 2c rameters = null,
0000ba00: 20 5f 65 78 74 65 6e 64 73 20 3d 20 6e 75 6c 6c _extends = null
0000ba10: 2c 20 62 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 , body) {. retu
0000ba20: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
0000ba30: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
0000ba40: 20 20 20 20 74 79 70 65 3a 20 22 54 53 49 6e 74 type: "TSInt
0000ba50: 65 72 66 61 63 65 44 65 63 6c 61 72 61 74 69 6f erfaceDeclaratio
0000ba60: 6e 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 n",. id,.
0000ba70: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 2c 0a typeParameters,.
0000ba80: 20 20 20 20 65 78 74 65 6e 64 73 3a 20 5f 65 78 extends: _ex
0000ba90: 74 65 6e 64 73 2c 0a 20 20 20 20 62 6f 64 79 0a tends,. body.
0000baa0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
0000bab0: 20 74 73 49 6e 74 65 72 66 61 63 65 42 6f 64 79 tsInterfaceBody
0000bac0: 28 62 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 72 (body) {. retur
0000bad0: 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e n (0, _validateN
0000bae0: 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 ode.default)({.
0000baf0: 20 20 20 74 79 70 65 3a 20 22 54 53 49 6e 74 65 type: "TSInte
0000bb00: 72 66 61 63 65 42 6f 64 79 22 2c 0a 20 20 20 20 rfaceBody",.
0000bb10: 62 6f 64 79 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e body. });.}.fun
0000bb20: 63 74 69 6f 6e 20 74 73 54 79 70 65 41 6c 69 61 ction tsTypeAlia
0000bb30: 73 44 65 63 6c 61 72 61 74 69 6f 6e 28 69 64 2c sDeclaration(id,
0000bb40: 20 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 20 typeParameters
0000bb50: 3d 20 6e 75 6c 6c 2c 20 74 79 70 65 41 6e 6e 6f = null, typeAnno
0000bb60: 74 61 74 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 tation) {. retu
0000bb70: 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 rn (0, _validate
0000bb80: 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a Node.default)({.
0000bb90: 20 20 20 20 74 79 70 65 3a 20 22 54 53 54 79 70 type: "TSTyp
0000bba0: 65 41 6c 69 61 73 44 65 63 6c 61 72 61 74 69 6f eAliasDeclaratio
0000bbb0: 6e 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 n",. id,.
0000bbc0: 74 79 70 65 50 61 72 61 6d 65 74 65 72 73 2c 0a typeParameters,.
0000bbd0: 20 20 20 20 74 79 70 65 41 6e 6e 6f 74 61 74 69 typeAnnotati
0000bbe0: 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 on. });.}.funct
0000bbf0: 69 6f 6e 20 74 73 49 6e 73 74 61 6e 74 69 61 74 ion tsInstantiat
0000bc00: 69 6f 6e 45 78 70 72 65 73 73 69 6f 6e 28 65 78 ionExpression(ex
0000bc10: 70 72 65 73 73 69 6f 6e 2c 20 74 79 70 65 50 61 pression, typePa
0000bc20: 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c 29 rameters = null)
0000bc30: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
0000bc40: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
0000bc50: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
0000bc60: 65 3a 20 22 54 53 49 6e 73 74 61 6e 74 69 61 74 e: "TSInstantiat
0000bc70: 69 6f 6e 45 78 70 72 65 73 73 69 6f 6e 22 2c 0a ionExpression",.
0000bc80: 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a expression,.
0000bc90: 20 20 20 20 74 79 70 65 50 61 72 61 6d 65 74 65 typeParamete
0000bca0: 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 rs. });.}.funct
0000bcb0: 69 6f 6e 20 74 73 41 73 45 78 70 72 65 73 73 69 ion tsAsExpressi
0000bcc0: 6f 6e 28 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 on(expression, t
0000bcd0: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 29 20 7b ypeAnnotation) {
0000bce0: 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 . return (0, _v
0000bcf0: 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 alidateNode.defa
0000bd00: 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a ult)({. type:
0000bd10: 20 22 54 53 41 73 45 78 70 72 65 73 73 69 6f 6e "TSAsExpression
0000bd20: 22 2c 0a 20 20 20 20 65 78 70 72 65 73 73 69 6f ",. expressio
0000bd30: 6e 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e 6f 74 n,. typeAnnot
0000bd40: 61 74 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 75 ation. });.}.fu
0000bd50: 6e 63 74 69 6f 6e 20 74 73 53 61 74 69 73 66 69 nction tsSatisfi
0000bd60: 65 73 45 78 70 72 65 73 73 69 6f 6e 28 65 78 70 esExpression(exp
0000bd70: 72 65 73 73 69 6f 6e 2c 20 74 79 70 65 41 6e 6e ression, typeAnn
0000bd80: 6f 74 61 74 69 6f 6e 29 20 7b 0a 20 20 72 65 74 otation) {. ret
0000bd90: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
0000bda0: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
0000bdb0: 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 53 61 . type: "TSSa
0000bdc0: 74 69 73 66 69 65 73 45 78 70 72 65 73 73 69 6f tisfiesExpressio
0000bdd0: 6e 22 2c 0a 20 20 20 20 65 78 70 72 65 73 73 69 n",. expressi
0000bde0: 6f 6e 2c 0a 20 20 20 20 74 79 70 65 41 6e 6e 6f on,. typeAnno
0000bdf0: 74 61 74 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a 66 tation. });.}.f
0000be00: 75 6e 63 74 69 6f 6e 20 74 73 54 79 70 65 41 73 unction tsTypeAs
0000be10: 73 65 72 74 69 6f 6e 28 74 79 70 65 41 6e 6e 6f sertion(typeAnno
0000be20: 74 61 74 69 6f 6e 2c 20 65 78 70 72 65 73 73 69 tation, expressi
0000be30: 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 on) {. return (
0000be40: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
0000be50: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
0000be60: 74 79 70 65 3a 20 22 54 53 54 79 70 65 41 73 73 type: "TSTypeAss
0000be70: 65 72 74 69 6f 6e 22 2c 0a 20 20 20 20 74 79 70 ertion",. typ
0000be80: 65 41 6e 6e 6f 74 61 74 69 6f 6e 2c 0a 20 20 20 eAnnotation,.
0000be90: 20 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 7d 29 expression. })
0000bea0: 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 73 45 ;.}.function tsE
0000beb0: 6e 75 6d 44 65 63 6c 61 72 61 74 69 6f 6e 28 69 numDeclaration(i
0000bec0: 64 2c 20 6d 65 6d 62 65 72 73 29 20 7b 0a 20 20 d, members) {.
0000bed0: 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 return (0, _vali
0000bee0: 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 dateNode.default
0000bef0: 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 )({. type: "T
0000bf00: 53 45 6e 75 6d 44 65 63 6c 61 72 61 74 69 6f 6e SEnumDeclaration
0000bf10: 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 6d ",. id,. m
0000bf20: 65 6d 62 65 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 embers. });.}.f
0000bf30: 75 6e 63 74 69 6f 6e 20 74 73 45 6e 75 6d 4d 65 unction tsEnumMe
0000bf40: 6d 62 65 72 28 69 64 2c 20 69 6e 69 74 69 61 6c mber(id, initial
0000bf50: 69 7a 65 72 20 3d 20 6e 75 6c 6c 29 20 7b 0a 20 izer = null) {.
0000bf60: 20 72 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c return (0, _val
0000bf70: 69 64 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c idateNode.defaul
0000bf80: 74 29 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 t)({. type: "
0000bf90: 54 53 45 6e 75 6d 4d 65 6d 62 65 72 22 2c 0a 20 TSEnumMember",.
0000bfa0: 20 20 20 69 64 2c 0a 20 20 20 20 69 6e 69 74 69 id,. initi
0000bfb0: 61 6c 69 7a 65 72 0a 20 20 7d 29 3b 0a 7d 0a 66 alizer. });.}.f
0000bfc0: 75 6e 63 74 69 6f 6e 20 74 73 4d 6f 64 75 6c 65 unction tsModule
0000bfd0: 44 65 63 6c 61 72 61 74 69 6f 6e 28 69 64 2c 20 Declaration(id,
0000bfe0: 62 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 72 6e body) {. return
0000bff0: 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f (0, _validateNo
0000c000: 64 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 de.default)({.
0000c010: 20 20 74 79 70 65 3a 20 22 54 53 4d 6f 64 75 6c type: "TSModul
0000c020: 65 44 65 63 6c 61 72 61 74 69 6f 6e 22 2c 0a 20 eDeclaration",.
0000c030: 20 20 20 69 64 2c 0a 20 20 20 20 62 6f 64 79 0a id,. body.
0000c040: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
0000c050: 20 74 73 4d 6f 64 75 6c 65 42 6c 6f 63 6b 28 62 tsModuleBlock(b
0000c060: 6f 64 79 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ody) {. return
0000c070: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
0000c080: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
0000c090: 20 74 79 70 65 3a 20 22 54 53 4d 6f 64 75 6c 65 type: "TSModule
0000c0a0: 42 6c 6f 63 6b 22 2c 0a 20 20 20 20 62 6f 64 79 Block",. body
0000c0b0: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
0000c0c0: 6e 20 74 73 49 6d 70 6f 72 74 54 79 70 65 28 61 n tsImportType(a
0000c0d0: 72 67 75 6d 65 6e 74 2c 20 71 75 61 6c 69 66 69 rgument, qualifi
0000c0e0: 65 72 20 3d 20 6e 75 6c 6c 2c 20 74 79 70 65 50 er = null, typeP
0000c0f0: 61 72 61 6d 65 74 65 72 73 20 3d 20 6e 75 6c 6c arameters = null
0000c100: 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c ) {. return (0,
0000c110: 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 _validateNode.d
0000c120: 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 efault)({. ty
0000c130: 70 65 3a 20 22 54 53 49 6d 70 6f 72 74 54 79 70 pe: "TSImportTyp
0000c140: 65 22 2c 0a 20 20 20 20 61 72 67 75 6d 65 6e 74 e",. argument
0000c150: 2c 0a 20 20 20 20 71 75 61 6c 69 66 69 65 72 2c ,. qualifier,
0000c160: 0a 20 20 20 20 74 79 70 65 50 61 72 61 6d 65 74 . typeParamet
0000c170: 65 72 73 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 ers. });.}.func
0000c180: 74 69 6f 6e 20 74 73 49 6d 70 6f 72 74 45 71 75 tion tsImportEqu
0000c190: 61 6c 73 44 65 63 6c 61 72 61 74 69 6f 6e 28 69 alsDeclaration(i
0000c1a0: 64 2c 20 6d 6f 64 75 6c 65 52 65 66 65 72 65 6e d, moduleReferen
0000c1b0: 63 65 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ce) {. return (
0000c1c0: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
0000c1d0: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
0000c1e0: 74 79 70 65 3a 20 22 54 53 49 6d 70 6f 72 74 45 type: "TSImportE
0000c1f0: 71 75 61 6c 73 44 65 63 6c 61 72 61 74 69 6f 6e qualsDeclaration
0000c200: 22 2c 0a 20 20 20 20 69 64 2c 0a 20 20 20 20 6d ",. id,. m
0000c210: 6f 64 75 6c 65 52 65 66 65 72 65 6e 63 65 2c 0a oduleReference,.
0000c220: 20 20 20 20 69 73 45 78 70 6f 72 74 3a 20 6e 75 isExport: nu
0000c230: 6c 6c 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 ll. });.}.funct
0000c240: 69 6f 6e 20 74 73 45 78 74 65 72 6e 61 6c 4d 6f ion tsExternalMo
0000c250: 64 75 6c 65 52 65 66 65 72 65 6e 63 65 28 65 78 duleReference(ex
0000c260: 70 72 65 73 73 69 6f 6e 29 20 7b 0a 20 20 72 65 pression) {. re
0000c270: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
0000c280: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
0000c290: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 45 {. type: "TSE
0000c2a0: 78 74 65 72 6e 61 6c 4d 6f 64 75 6c 65 52 65 66 xternalModuleRef
0000c2b0: 65 72 65 6e 63 65 22 2c 0a 20 20 20 20 65 78 70 erence",. exp
0000c2c0: 72 65 73 73 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a ression. });.}.
0000c2d0: 66 75 6e 63 74 69 6f 6e 20 74 73 4e 6f 6e 4e 75 function tsNonNu
0000c2e0: 6c 6c 45 78 70 72 65 73 73 69 6f 6e 28 65 78 70 llExpression(exp
0000c2f0: 72 65 73 73 69 6f 6e 29 20 7b 0a 20 20 72 65 74 ression) {. ret
0000c300: 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 74 urn (0, _validat
0000c310: 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 7b eNode.default)({
0000c320: 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 4e 6f . type: "TSNo
0000c330: 6e 4e 75 6c 6c 45 78 70 72 65 73 73 69 6f 6e 22 nNullExpression"
0000c340: 2c 0a 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e ,. expression
0000c350: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
0000c360: 6e 20 74 73 45 78 70 6f 72 74 41 73 73 69 67 6e n tsExportAssign
0000c370: 6d 65 6e 74 28 65 78 70 72 65 73 73 69 6f 6e 29 ment(expression)
0000c380: 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 30 2c 20 {. return (0,
0000c390: 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 2e 64 65 _validateNode.de
0000c3a0: 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 74 79 70 fault)({. typ
0000c3b0: 65 3a 20 22 54 53 45 78 70 6f 72 74 41 73 73 69 e: "TSExportAssi
0000c3c0: 67 6e 6d 65 6e 74 22 2c 0a 20 20 20 20 65 78 70 gnment",. exp
0000c3d0: 72 65 73 73 69 6f 6e 0a 20 20 7d 29 3b 0a 7d 0a ression. });.}.
0000c3e0: 66 75 6e 63 74 69 6f 6e 20 74 73 4e 61 6d 65 73 function tsNames
0000c3f0: 70 61 63 65 45 78 70 6f 72 74 44 65 63 6c 61 72 paceExportDeclar
0000c400: 61 74 69 6f 6e 28 69 64 29 20 7b 0a 20 20 72 65 ation(id) {. re
0000c410: 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 61 turn (0, _valida
0000c420: 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 28 teNode.default)(
0000c430: 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 4e {. type: "TSN
0000c440: 61 6d 65 73 70 61 63 65 45 78 70 6f 72 74 44 65 amespaceExportDe
0000c450: 63 6c 61 72 61 74 69 6f 6e 22 2c 0a 20 20 20 20 claration",.
0000c460: 69 64 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 id. });.}.funct
0000c470: 69 6f 6e 20 74 73 54 79 70 65 41 6e 6e 6f 74 61 ion tsTypeAnnota
0000c480: 74 69 6f 6e 28 74 79 70 65 41 6e 6e 6f 74 61 74 tion(typeAnnotat
0000c490: 69 6f 6e 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ion) {. return
0000c4a0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
0000c4b0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
0000c4c0: 20 74 79 70 65 3a 20 22 54 53 54 79 70 65 41 6e type: "TSTypeAn
0000c4d0: 6e 6f 74 61 74 69 6f 6e 22 2c 0a 20 20 20 20 74 notation",. t
0000c4e0: 79 70 65 41 6e 6e 6f 74 61 74 69 6f 6e 0a 20 20 ypeAnnotation.
0000c4f0: 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 74 });.}.function t
0000c500: 73 54 79 70 65 50 61 72 61 6d 65 74 65 72 49 6e sTypeParameterIn
0000c510: 73 74 61 6e 74 69 61 74 69 6f 6e 28 70 61 72 61 stantiation(para
0000c520: 6d 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 28 ms) {. return (
0000c530: 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 65 0, _validateNode
0000c540: 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 20 .default)({.
0000c550: 74 79 70 65 3a 20 22 54 53 54 79 70 65 50 61 72 type: "TSTypePar
0000c560: 61 6d 65 74 65 72 49 6e 73 74 61 6e 74 69 61 74 ameterInstantiat
0000c570: 69 6f 6e 22 2c 0a 20 20 20 20 70 61 72 61 6d 73 ion",. params
0000c580: 0a 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f . });.}.functio
0000c590: 6e 20 74 73 54 79 70 65 50 61 72 61 6d 65 74 65 n tsTypeParamete
0000c5a0: 72 44 65 63 6c 61 72 61 74 69 6f 6e 28 70 61 72 rDeclaration(par
0000c5b0: 61 6d 73 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 ams) {. return
0000c5c0: 28 30 2c 20 5f 76 61 6c 69 64 61 74 65 4e 6f 64 (0, _validateNod
0000c5d0: 65 2e 64 65 66 61 75 6c 74 29 28 7b 0a 20 20 20 e.default)({.
0000c5e0: 20 74 79 70 65 3a 20 22 54 53 54 79 70 65 50 61 type: "TSTypePa
0000c5f0: 72 61 6d 65 74 65 72 44 65 63 6c 61 72 61 74 69 rameterDeclarati
0000c600: 6f 6e 22 2c 0a 20 20 20 20 70 61 72 61 6d 73 0a on",. params.
0000c610: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
0000c620: 20 74 73 54 79 70 65 50 61 72 61 6d 65 74 65 72 tsTypeParameter
0000c630: 28 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 (constraint = nu
0000c640: 6c 6c 2c 20 5f 64 65 66 61 75 6c 74 20 3d 20 6e ll, _default = n
0000c650: 75 6c 6c 2c 20 6e 61 6d 65 29 20 7b 0a 20 20 72 ull, name) {. r
0000c660: 65 74 75 72 6e 20 28 30 2c 20 5f 76 61 6c 69 64 eturn (0, _valid
0000c670: 61 74 65 4e 6f 64 65 2e 64 65 66 61 75 6c 74 29 ateNode.default)
0000c680: 28 7b 0a 20 20 20 20 74 79 70 65 3a 20 22 54 53 ({. type: "TS
0000c690: 54 79 70 65 50 61 72 61 6d 65 74 65 72 22 2c 0a TypeParameter",.
0000c6a0: 20 20 20 20 63 6f 6e 73 74 72 61 69 6e 74 2c 0a constraint,.
0000c6b0: 20 20 20 20 64 65 66 61 75 6c 74 3a 20 5f 64 65 default: _de
0000c6c0: 66 61 75 6c 74 2c 0a 20 20 20 20 6e 61 6d 65 0a fault,. name.
0000c6d0: 20 20 7d 29 3b 0a 7d 0a 66 75 6e 63 74 69 6f 6e });.}.function
0000c6e0: 20 4e 75 6d 62 65 72 4c 69 74 65 72 61 6c 28 76 NumberLiteral(v
0000c6f0: 61 6c 75 65 29 20 7b 0a 20 20 28 30 2c 20 5f 64 alue) {. (0, _d
0000c700: 65 70 72 65 63 61 74 69 6f 6e 57 61 72 6e 69 6e eprecationWarnin
0000c710: 67 2e 64 65 66 61 75 6c 74 29 28 22 4e 75 6d 62 g.default)("Numb
0000c720: 65 72 4c 69 74 65 72 61 6c 22 2c 20 22 4e 75 6d erLiteral", "Num
0000c730: 65 72 69 63 4c 69 74 65 72 61 6c 22 2c 20 22 54 ericLiteral", "T
0000c740: 68 65 20 6e 6f 64 65 20 74 79 70 65 20 22 29 3b he node type ");
0000c750: 0a 20 20 72 65 74 75 72 6e 20 6e 75 6d 65 72 69 . return numeri
0000c760: 63 4c 69 74 65 72 61 6c 28 76 61 6c 75 65 29 3b cLiteral(value);
0000c770: 0a 7d 0a 66 75 6e 63 74 69 6f 6e 20 52 65 67 65 .}.function Rege
0000c780: 78 4c 69 74 65 72 61 6c 28 70 61 74 74 65 72 6e xLiteral(pattern
0000c790: 2c 20 66 6c 61 67 73 20 3d 20 22 22 29 20 7b 0a , flags = "") {.
0000c7a0: 20 20 28 30 2c 20 5f 64 65 70 72 65 63 61 74 69 (0, _deprecati
0000c7b0: 6f 6e 57 61 72 6e 69 6e 67 2e 64 65 66 61 75 6c onWarning.defaul
0000c7c0: 74 29 28 22 52 65 67 65 78 4c 69 74 65 72 61 6c t)("RegexLiteral
0000c7d0: 22 2c 20 22 52 65 67 45 78 70 4c 69 74 65 72 61 ", "RegExpLitera
0000c7e0: 6c 22 2c 20 22 54 68 65 20 6e 6f 64 65 20 74 79 l", "The node ty
0000c7f0: 70 65 20 22 29 3b 0a 20 20 72 65 74 75 72 6e 20 pe ");. return
0000c800: 72 65 67 45 78 70 4c 69 74 65 72 61 6c 28 70 61 regExpLiteral(pa
0000c810: 74 74 65 72 6e 2c 20 66 6c 61 67 73 29 3b 0a 7d ttern, flags);.}
0000c820: 0a 66 75 6e 63 74 69 6f 6e 20 52 65 73 74 50 72 .function RestPr
0000c830: 6f 70 65 72 74 79 28 61 72 67 75 6d 65 6e 74 29 operty(argument)
0000c840: 20 7b 0a 20 20 28 30 2c 20 5f 64 65 70 72 65 63 {. (0, _deprec
0000c850: 61 74 69 6f 6e 57 61 72 6e 69 6e 67 2e 64 65 66 ationWarning.def
0000c860: 61 75 6c 74 29 28 22 52 65 73 74 50 72 6f 70 65 ault)("RestPrope
0000c870: 72 74 79 22 2c 20 22 52 65 73 74 45 6c 65 6d 65 rty", "RestEleme
0000c880: 6e 74 22 2c 20 22 54 68 65 20 6e 6f 64 65 20 74 nt", "The node t
0000c890: 79 70 65 20 22 29 3b 0a 20 20 72 65 74 75 72 6e ype ");. return
0000c8a0: 20 72 65 73 74 45 6c 65 6d 65 6e 74 28 61 72 67 restElement(arg
0000c8b0: 75 6d 65 6e 74 29 3b 0a 7d 0a 66 75 6e 63 74 69 ument);.}.functi
0000c8c0: 6f 6e 20 53 70 72 65 61 64 50 72 6f 70 65 72 74 on SpreadPropert
0000c8d0: 79 28 61 72 67 75 6d 65 6e 74 29 20 7b 0a 20 20 y(argument) {.
0000c8e0: 28 30 2c 20 5f 64 65 70 72 65 63 61 74 69 6f 6e (0, _deprecation
0000c8f0: 57 61 72 6e 69 6e 67 2e 64 65 66 61 75 6c 74 29 Warning.default)
0000c900: 28 22 53 70 72 65 61 64 50 72 6f 70 65 72 74 79 ("SpreadProperty
0000c910: 22 2c 20 22 53 70 72 65 61 64 45 6c 65 6d 65 6e ", "SpreadElemen
0000c920: 74 22 2c 20 22 54 68 65 20 6e 6f 64 65 20 74 79 t", "The node ty
0000c930: 70 65 20 22 29 3b 0a 20 20 72 65 74 75 72 6e 20 pe ");. return
0000c940: 73 70 72 65 61 64 45 6c 65 6d 65 6e 74 28 61 72 spreadElement(ar
0000c950: 67 75 6d 65 6e 74 29 3b 0a 7d 0a 0a 2f 2f 23 20 gument);.}..//#
0000c960: 73 6f 75 72 63 65 4d 61 70 70 69 6e 67 55 52 4c sourceMappingURL
0000c970: 3d 69 6e 64 65 78 2e 6a 73 2e 6d 61 70 0a =index.js.map.