{"_id":"comal-types","_rev":"31-925aa2a85497463d3d0b5cf68717f4a8","name":"comal-types","description":"Extensible module for building & analysing ASTs","dist-tags":{"latest":"0.6.3","stable":"0.6.0"},"versions":{"0.4.0":{"name":"comal-types","version":"0.4.0","description":"Extensible module for building & analysing ASTs","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"homepage":"http://tacoscript.github.io/","license":"MIT","repository":{"type":"git","url":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types"},"main":"lib/index.js","dependencies":{"babel-runtime":"^5.0.0","comal-traverse":">=0.3.2 <1.0.0","esutils":"^2.0.2","lodash":"^3.10.1","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.4.0","scripts":{},"_shasum":"cc5c2269dfd29b95dc551eef147649460eb42582","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"dist":{"shasum":"cc5c2269dfd29b95dc551eef147649460eb42582","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.4.0.tgz","integrity":"sha512-qJrYTNVAOyoWJXXDIBg1J13YYogh8mH6tErhALZ2XRE5QCdmiwgkRDhOt+lx6BwTGGJD1zFI/2r94X+uC5B9zA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXHjirvAkccmxUNFNlthZ1O8uaG4GEcX3ZmNOBGy9Q9wIgQ1DpVMqnfGIjs2nsW7K01FWruX0LvnYN4w8bjlH/SVU="}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/comal-types-0.4.0.tgz_1454453776244_0.534719102550298"}},"0.5.0":{"name":"comal-types","version":"0.5.0","description":"Extensible module for building & analysing ASTs","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"homepage":"http://tacoscript.github.io/","license":"MIT","repository":{"type":"git","url":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/index.js","dependencies":{"babel-runtime":"^5.0.0","comal-traverse":"^0.5.0","esutils":"^2.0.2","lodash":"^4.2.0","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.5.0","scripts":{},"_shasum":"18b9b3ad933031f412333fc794a1e8fb2602850c","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"dist":{"shasum":"18b9b3ad933031f412333fc794a1e8fb2602850c","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.5.0.tgz","integrity":"sha512-TWz+lhg/I3LdzW8sCdMh0snBGhRaTx3CdKmoKJXv3Ar8f/AfIxkByPbpUWoqbL2EOmbxawHc8xd63rbqKuRUbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6UPfQ3VyAihxkmHtbEjXy47h+e12+23MvNfLmUgr95AiEA1Ehl2PYNhjX/hX1RiNAnceD++cKwfSTYiCeS5nzPeCs="}]},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/comal-types-0.5.0.tgz_1455661746057_0.5209563022945076"}},"0.5.1":{"name":"comal-types","version":"0.5.1","description":"Extensible module for building & analysing ASTs","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"homepage":"http://tacoscript.github.io/","license":"MIT","repository":{"type":"git","url":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/index.js","dependencies":{"babel-runtime":"^5.8.35","comal-traverse":"^0.5.1","esutils":"^2.0.2","lodash":"^4.2.0","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.5.1","scripts":{},"_shasum":"537cc5677ce87a053e90ab12388f4deb7228580b","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"dist":{"shasum":"537cc5677ce87a053e90ab12388f4deb7228580b","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.5.1.tgz","integrity":"sha512-LfItHloY+lgMvtyBRyBsmmtpV/AVpodmOx7AvTjCnHXgJiJ9R7yI0zSc1NKpPN4Y6f8RmWgKJFNvhwhlYGwVWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXc7lGtG9DLO7R+g9rYaRWZzV9OL7JqeMyAsxjdDqh2AIhAPxmbLt1F2PbUQl5xc/Hu0ssLchYkNtyQNx2x3BzNpt6"}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/comal-types-0.5.1.tgz_1455666852518_0.938009699806571"}},"0.5.3":{"name":"comal-types","version":"0.5.3","description":"Extensible module for building & analysing ASTs","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"homepage":"http://tacoscript.github.io/","license":"MIT","repository":{"type":"git","url":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types"},"publishConfig":{"registry":"http://registry.npmjs.org"},"main":"lib/index.js","dependencies":{"babel-runtime":"^5.8.35","comal-traverse":"^0.5.3","esutils":"^2.0.2","lodash":"^4.2.0","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.5.3","scripts":{},"_shasum":"3dc4e0a00b8a433822077160b3c1c7baa3ef60d0","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.0","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"dist":{"shasum":"3dc4e0a00b8a433822077160b3c1c7baa3ef60d0","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.5.3.tgz","integrity":"sha512-Y9S8/8eJxwLVax99yrkGqWYTTl1ntGXtKr2R8rspvNv9xgslOzzMga020qsmv7eWEwNs53aH8b4tLv16v4szkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICx8/hRmUFRlRg7qxTFLuiXSKeTuAFnIszi8hyHipM1UAiEApCknhLEhyQBkMN2xhrCkAUmUYyAUE6czFA4ZeMjX3FA="}]},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/comal-types-0.5.3.tgz_1456184829610_0.0005000659730285406"}},"0.5.4":{"name":"comal-types","version":"0.5.4","description":"Extensible module for building & analysing ASTs","keywords":["tacoscript"],"homepage":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types","bugs":{"url":"https://github.com/forivall/tacoscript/issues"},"license":"MIT","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"main":"lib/index.js","repository":{"type":"git","url":"git://github.com/forivall/tacoscript.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"dependencies":{"babel-runtime":"^5.8.35","comal-traverse":"^0.5.3","esutils":"^2.0.2","lodash":"^4.6.1","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.5.4","scripts":{},"_shasum":"87c1d7bdee9f7aee4224e3042bc14832c18e1b63","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.6.0","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"dist":{"shasum":"87c1d7bdee9f7aee4224e3042bc14832c18e1b63","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.5.4.tgz","integrity":"sha512-oPRztjP5ReyJiL3bbWDMCN/LxDRjehoRhYQnA4CUk5pFI+reK6OBjQuuCdF9TzuL8BEWB1CjngrcIid4tTP0zQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1xGpBYjqirGrsgRVMoMzfIEOJy1vDqWKNFzmdaNkWTgIhAMNu+x/S9tIuZW3FGWkbb96szkkpvTxXDFd7qzNKDsVQ"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/comal-types-0.5.4.tgz_1461871274866_0.2622736734338105"}},"0.6.0":{"name":"comal-types","version":"0.6.0","description":"Extensible module for building & analysing ASTs","keywords":["tacoscript"],"homepage":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types","bugs":{"url":"https://github.com/forivall/tacoscript/issues"},"license":"MIT","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"main":"lib/index.js","repository":{"type":"git","url":"git://github.com/forivall/tacoscript.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"dependencies":{"babel-runtime":"^6.0.0","comal-traverse":"^0.5.3","esutils":"^2.0.2","lodash":"^4.6.1","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.6.0","scripts":{},"_shasum":"25d41a2f80e7c36c5cc55f20a011693551d2d311","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"dist":{"shasum":"25d41a2f80e7c36c5cc55f20a011693551d2d311","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.6.0.tgz","integrity":"sha512-2X3MA+o15STcU2BScbUzVyjZAS47UvniWmsuhedW83vZSbu1HP+n24+1+b6gk9zUwlmM9tYzGRxZO9Jz3jRcRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSv8/2Pd4fWizdgfErPgNCG4H0NCsIhZw4dlYm2hrwmQIgUwjGy4sF+Zoll76mGjd0x17Z5hgK8L3PvE/Z+6iZ4u0="}]},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/comal-types-0.6.0.tgz_1462943471020_0.4452864653430879"}},"0.6.2":{"name":"comal-types","version":"0.6.2","description":"Extensible module for building & analysing ASTs","keywords":["tacoscript"],"homepage":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types","bugs":{"url":"https://github.com/forivall/tacoscript/issues"},"license":"MIT","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"main":"lib/index.js","repository":{"type":"git","url":"git://github.com/forivall/tacoscript.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"dependencies":{"babel-runtime":"^6.0.0","comal-traverse":"^0.6.2","esutils":"^2.0.2","lodash":"^4.6.1","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.6.2","scripts":{},"_shasum":"b955fdc5741d9dc2e86d4851132b96dcb2679cd9","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"dist":{"shasum":"b955fdc5741d9dc2e86d4851132b96dcb2679cd9","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.6.2.tgz","integrity":"sha512-E7oK5HV3NxDkVeP0A1LjmBu1JfUm/Nr6ADUAYCVyasF/IIELK07C06Co1S3ug18gTEpOs3SWxWEaR3C8wAZN/g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEjwXq1CBpoghhoFJnbT9hahaTbGpO91suTnR+5aQ+1MAiEAx8CWdKwXYpM2lZPwh6uc5JLasu3e1AtBpoPOVugB6CI="}]},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/comal-types-0.6.2.tgz_1470414410540_0.6689917638432235"}},"0.6.3":{"name":"comal-types","version":"0.6.3","description":"Extensible module for building & analysing ASTs","keywords":["tacoscript"],"homepage":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types","bugs":{"url":"https://github.com/forivall/tacoscript/issues"},"license":"MIT","author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"main":"lib/index.js","repository":{"type":"git","url":"git://github.com/forivall/tacoscript.git"},"publishConfig":{"registry":"http://registry.npmjs.org"},"dependencies":{"babel-runtime":"^6.0.0","comal-traverse":"^0.6.3","esutils":"^2.0.2","lodash":"^4.6.1","to-fast-properties":"^1.0.1"},"_id":"comal-types@0.6.3","scripts":{},"_shasum":"1411b1361920c6ce4265be9335dd34fa52d85cab","_from":".","_npmVersion":"3.10.5","_nodeVersion":"6.3.0","_npmUser":{"name":"forivall","email":"forivall@gmail.com"},"dist":{"shasum":"1411b1361920c6ce4265be9335dd34fa52d85cab","tarball":"https://registry.npmjs.org/comal-types/-/comal-types-0.6.3.tgz","integrity":"sha512-qFc10JLsF6+uo+hKQXQsuo+NCPRYoEbzDe6+d7qm6PgCVyUICs6p1UoD4uvQcn23kOw79siu+wr5tSm+Btht5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKiiZdrJH0FpvhYhI+AfYiwP3wQvC/idfJCyG7xQgrRgIhALpV6ojng9AHAc8sweHuEWaWQDCpGNq6rRSdXQvKkkw0"}]},"maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/comal-types-0.6.3.tgz_1470420054864_0.7721840986050665"}}},"readme":"# comal-types\n\nThis module contains methods for building ASTs manually and for checking the types of AST nodes. Unlike `babel-types`, custom types can easily be added by plugins.\n\n## API\n\n<!-- begin generated section -->\n\n### t.anyTypeAnnotation()\n\nSee also `t.isAnyTypeAnnotation(node, opts)` and `t.assertAnyTypeAnnotation(node, opts)`.\n\nAliases: `Flow`, `FlowBaseAnnotation`\n\n\n### t.arrayExpression(elements)\n\nSee also `t.isArrayExpression(node, opts)` and `t.assertArrayExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `elements`: `array` (required)\n\n### t.arrayPattern(elements, typeAnnotation)\n\nSee also `t.isArrayPattern(node, opts)` and `t.assertArrayPattern(node, opts)`.\n\nAliases: `Pattern`, `LVal`\n\n - `elements`: `Array<Expression>` (required)\n - `typeAnnotation` (required)\n\n### t.arrayTypeAnnotation(elementType)\n\nSee also `t.isArrayTypeAnnotation(node, opts)` and `t.assertArrayTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `elementType` (required)\n\n### t.arrowFunctionExpression(params, body, async)\n\nSee also `t.isArrowFunctionExpression(node, opts)` and `t.assertArrowFunctionExpression(node, opts)`.\n\nAliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Expression`, `Pureish`\n\n - `params`: `Array<LVal>` (required)\n - `body`: `BlockStatement | Expression` (required)\n - `async`: `boolean` (default: `false`)\n\n### t.assignmentExpression(operator, left, right)\n\nSee also `t.isAssignmentExpression(node, opts)` and `t.assertAssignmentExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `operator`: `string` (required)\n - `left`: `LVal` (required)\n - `right`: `Expression` (required)\n\n### t.assignmentPattern(left, right)\n\nSee also `t.isAssignmentPattern(node, opts)` and `t.assertAssignmentPattern(node, opts)`.\n\nAliases: `Pattern`, `LVal`\n\n - `left`: `Identifier` (required)\n - `right`: `Expression` (required)\n\n### t.awaitExpression(argument)\n\nSee also `t.isAwaitExpression(node, opts)` and `t.assertAwaitExpression(node, opts)`.\n\nAliases: `Expression`, `Terminatorless`\n\n - `argument`: `Expression` (required)\n\n### t.binaryExpression(operator, left, right)\n\nSee also `t.isBinaryExpression(node, opts)` and `t.assertBinaryExpression(node, opts)`.\n\nAliases: `Binary`, `Expression`\n\n - `operator`: `string` (required)\n - `left`: `Expression` (required)\n - `right`: `Expression` (required)\n\n### t.bindExpression(object, callee)\n\nSee also `t.isBindExpression(node, opts)` and `t.assertBindExpression(node, opts)`.\n\n - `object` (required)\n - `callee` (required)\n\n### t.blockStatement(body, directives)\n\nSee also `t.isBlockStatement(node, opts)` and `t.assertBlockStatement(node, opts)`.\n\nAliases: `Scopable`, `BlockParent`, `Block`, `Statement`\n\n - `body`: `Array<Statement>` (required)\n - `directives`: `Array<Directive>` (default: `[]`)\n\n### t.booleanLiteral(value)\n\nSee also `t.isBooleanLiteral(node, opts)` and `t.assertBooleanLiteral(node, opts)`.\n\nAliases: `Expression`, `Pureish`, `Literal`, `Immutable`\n\n - `value`: `boolean` (required)\n\n### t.booleanLiteralTypeAnnotation()\n\nSee also `t.isBooleanLiteralTypeAnnotation(node, opts)` and `t.assertBooleanLiteralTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n\n### t.booleanTypeAnnotation()\n\nSee also `t.isBooleanTypeAnnotation(node, opts)` and `t.assertBooleanTypeAnnotation(node, opts)`.\n\nAliases: `Flow`, `FlowBaseAnnotation`\n\n\n### t.breakStatement(label)\n\nSee also `t.isBreakStatement(node, opts)` and `t.assertBreakStatement(node, opts)`.\n\nAliases: `Statement`, `Terminatorless`, `CompletionStatement`\n\n - `label`: `Identifier` (default: `null`)\n\n### t.callExpression(callee, arguments)\n\nSee also `t.isCallExpression(node, opts)` and `t.assertCallExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `callee`: `Expression` (required)\n - `arguments`: `array` (required)\n\n### t.catchClause(param, body)\n\nSee also `t.isCatchClause(node, opts)` and `t.assertCatchClause(node, opts)`.\n\nAliases: `Scopable`\n\n - `param`: `Identifier` (required)\n - `body`: `BlockStatement` (required)\n\n### t.classBody(body)\n\nSee also `t.isClassBody(node, opts)` and `t.assertClassBody(node, opts)`.\n\n - `body`: `Array<ClassMethod>` (required)\n\n### t.classDeclaration(id, superClass, body, decorators)\n\nSee also `t.isClassDeclaration(node, opts)` and `t.assertClassDeclaration(node, opts)`.\n\nAliases: `Scopable`, `Class`, `Statement`, `Declaration`, `Pureish`\n\n - `id`: `Identifier` (required)\n - `superClass`: `Expression` (default: `null`)\n - `body`: `ClassBody` (required)\n - `decorators`: `Array<Decorator>` (required)\n\n### t.classExpression(id, superClass, body, decorators)\n\nSee also `t.isClassExpression(node, opts)` and `t.assertClassExpression(node, opts)`.\n\nAliases: `Scopable`, `Class`, `Expression`, `Pureish`\n\n - `id`: `Identifier` (default: `null`)\n - `superClass`: `Expression` (default: `null`)\n - `body`: `ClassBody` (required)\n - `decorators`: `Array<Decorator>` (required)\n\n### t.classImplements(id, typeParameters)\n\nSee also `t.isClassImplements(node, opts)` and `t.assertClassImplements(node, opts)`.\n\nAliases: `Flow`\n\n - `id` (required)\n - `typeParameters` (required)\n\n### t.classMethod(kind, key, params, body, computed, static)\n\nSee also `t.isClassMethod(node, opts)` and `t.assertClassMethod(node, opts)`.\n\nAliases: `Function`, `Scopable`, `BlockParent`, `FunctionParent`, `Method`\n\n - `kind`: `\"get\" | \"set\" | \"method\" | \"constructor\"` (default: `'method'`)\n - `key`if computed then `Expression` else `Identifier | Literal` (required)\n - `params`: `Array<LVal>` (required)\n - `body`: `BlockStatement` (required)\n - `computed`: `boolean` (default: `false`)\n - `static`: `boolean` (default: `false`)\n\n### t.classProperty(key, value, typeAnnotation, decorators)\n\nSee also `t.isClassProperty(node, opts)` and `t.assertClassProperty(node, opts)`.\n\nAliases: `Flow`, `Property`\n\n - `key` (required)\n - `value` (required)\n - `typeAnnotation` (required)\n - `decorators` (required)\n\n### t.conditionalExpression(test, consequent, alternate)\n\nSee also `t.isConditionalExpression(node, opts)` and `t.assertConditionalExpression(node, opts)`.\n\nAliases: `Expression`, `Conditional`\n\n - `test`: `Expression` (required)\n - `consequent`: `Expression` (required)\n - `alternate`: `Expression` (required)\n\n### t.continueStatement(label)\n\nSee also `t.isContinueStatement(node, opts)` and `t.assertContinueStatement(node, opts)`.\n\nAliases: `Statement`, `Terminatorless`, `CompletionStatement`\n\n - `label`: `Identifier` (default: `null`)\n\n### t.debuggerStatement()\n\nSee also `t.isDebuggerStatement(node, opts)` and `t.assertDebuggerStatement(node, opts)`.\n\nAliases: `Statement`\n\n\n### t.declareClass(id, typeParameters, extends, body)\n\nSee also `t.isDeclareClass(node, opts)` and `t.assertDeclareClass(node, opts)`.\n\nAliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`\n\n - `id` (required)\n - `typeParameters` (required)\n - `extends` (required)\n - `body` (required)\n\n### t.declareFunction(id)\n\nSee also `t.isDeclareFunction(node, opts)` and `t.assertDeclareFunction(node, opts)`.\n\nAliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`\n\n - `id` (required)\n\n### t.declareModule(id, body)\n\nSee also `t.isDeclareModule(node, opts)` and `t.assertDeclareModule(node, opts)`.\n\nAliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`\n\n - `id` (required)\n - `body` (required)\n\n### t.declareVariable(id)\n\nSee also `t.isDeclareVariable(node, opts)` and `t.assertDeclareVariable(node, opts)`.\n\nAliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`\n\n - `id` (required)\n\n### t.decorator(expression)\n\nSee also `t.isDecorator(node, opts)` and `t.assertDecorator(node, opts)`.\n\n - `expression`: `Expression` (required)\n\n### t.directive(value)\n\nSee also `t.isDirective(node, opts)` and `t.assertDirective(node, opts)`.\n\n - `value`: `DirectiveLiteral` (required)\n\n### t.directiveLiteral(value)\n\nSee also `t.isDirectiveLiteral(node, opts)` and `t.assertDirectiveLiteral(node, opts)`.\n\n - `value`: `string` (required)\n\n### t.doExpression(body)\n\nSee also `t.isDoExpression(node, opts)` and `t.assertDoExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `body`: `BlockStatement` (required)\n\n### t.doWhileStatement(test, body)\n\nSee also `t.isDoWhileStatement(node, opts)` and `t.assertDoWhileStatement(node, opts)`.\n\nAliases: `Statement`, `BlockParent`, `Loop`, `While`, `Scopable`\n\n - `test`: `Expression` (required)\n - `body`: `BlockStatement` (required)\n\n### t.emptyStatement()\n\nSee also `t.isEmptyStatement(node, opts)` and `t.assertEmptyStatement(node, opts)`.\n\nAliases: `Statement`\n\n\n### t.existentialTypeParam()\n\nSee also `t.isExistentialTypeParam(node, opts)` and `t.assertExistentialTypeParam(node, opts)`.\n\nAliases: `Flow`\n\n\n### t.exportAllDeclaration(source)\n\nSee also `t.isExportAllDeclaration(node, opts)` and `t.assertExportAllDeclaration(node, opts)`.\n\nAliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration`\n\n - `source` (required)\n\n### t.exportDefaultDeclaration(declaration)\n\nSee also `t.isExportDefaultDeclaration(node, opts)` and `t.assertExportDefaultDeclaration(node, opts)`.\n\nAliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration`\n\n - `declaration` (required)\n\n### t.exportDefaultSpecifier(exported)\n\nSee also `t.isExportDefaultSpecifier(node, opts)` and `t.assertExportDefaultSpecifier(node, opts)`.\n\nAliases: `ModuleSpecifier`\n\n - `exported`: `Identifier` (required)\n\n### t.exportNamedDeclaration(declaration, specifiers, source)\n\nSee also `t.isExportNamedDeclaration(node, opts)` and `t.assertExportNamedDeclaration(node, opts)`.\n\nAliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration`\n\n - `declaration` (required)\n - `specifiers` (required)\n - `source` (required)\n\n### t.exportNamespaceSpecifier(exported)\n\nSee also `t.isExportNamespaceSpecifier(node, opts)` and `t.assertExportNamespaceSpecifier(node, opts)`.\n\nAliases: `ModuleSpecifier`\n\n - `exported`: `Identifier` (required)\n\n### t.exportSpecifier(local, exported)\n\nSee also `t.isExportSpecifier(node, opts)` and `t.assertExportSpecifier(node, opts)`.\n\nAliases: `ModuleSpecifier`\n\n - `local`: `Identifier` (required)\n - `exported` (required)\n\n### t.expressionStatement(expression)\n\nSee also `t.isExpressionStatement(node, opts)` and `t.assertExpressionStatement(node, opts)`.\n\nAliases: `Statement`, `ExpressionWrapper`\n\n - `expression`: `Expression` (required)\n\n### t.file(program, comments, tokens)\n\nSee also `t.isFile(node, opts)` and `t.assertFile(node, opts)`.\n\n - `program`: `Program` (required)\n - `comments` (required)\n - `tokens` (required)\n\n### t.forInStatement(left, right, body)\n\nSee also `t.isForInStatement(node, opts)` and `t.assertForInStatement(node, opts)`.\n\nAliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement`\n\n - `left`: `VariableDeclaration | LVal` (required)\n - `right`: `Expression` (required)\n - `body`: `Statement` (required)\n\n### t.forOfStatement(left, right, body)\n\nSee also `t.isForOfStatement(node, opts)` and `t.assertForOfStatement(node, opts)`.\n\nAliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement`\n\n - `left`: `VariableDeclaration | LVal` (required)\n - `right`: `Expression` (required)\n - `body`: `Statement` (required)\n\n### t.forStatement(init, test, update, body)\n\nSee also `t.isForStatement(node, opts)` and `t.assertForStatement(node, opts)`.\n\nAliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`\n\n - `init`: `VariableDeclaration | Expression` (default: `null`)\n - `test`: `Expression` (default: `null`)\n - `update`: `Expression` (default: `null`)\n - `body`: `Statement` (required)\n\n### t.functionDeclaration(id, params, body, generator, async)\n\nSee also `t.isFunctionDeclaration(node, opts)` and `t.assertFunctionDeclaration(node, opts)`.\n\nAliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Statement`, `Pureish`, `Declaration`\n\n - `id`: `Identifier` (required)\n - `params`: `Array<LVal>` (required)\n - `body`: `BlockStatement` (required)\n - `generator`: `boolean` (default: `false`)\n - `async`: `boolean` (default: `false`)\n\n### t.functionExpression(id, params, body, generator, async)\n\nSee also `t.isFunctionExpression(node, opts)` and `t.assertFunctionExpression(node, opts)`.\n\nAliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Expression`, `Pureish`\n\n - `id`: `Identifier` (default: `null`)\n - `params`: `Array<LVal>` (required)\n - `body`: `BlockStatement` (required)\n - `generator`: `boolean` (default: `false`)\n - `async`: `boolean` (default: `false`)\n\n### t.functionTypeAnnotation(typeParameters, params, rest, returnType)\n\nSee also `t.isFunctionTypeAnnotation(node, opts)` and `t.assertFunctionTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `typeParameters` (required)\n - `params` (required)\n - `rest` (required)\n - `returnType` (required)\n\n### t.functionTypeParam(name, typeAnnotation)\n\nSee also `t.isFunctionTypeParam(node, opts)` and `t.assertFunctionTypeParam(node, opts)`.\n\nAliases: `Flow`\n\n - `name` (required)\n - `typeAnnotation` (required)\n\n### t.genericTypeAnnotation(id, typeParameters)\n\nSee also `t.isGenericTypeAnnotation(node, opts)` and `t.assertGenericTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `id` (required)\n - `typeParameters` (required)\n\n### t.identifier(name)\n\nSee also `t.isIdentifier(node, opts)` and `t.assertIdentifier(node, opts)`.\n\nAliases: `Expression`, `LVal`\n\n - `name``string` (required)\n\n### t.ifStatement(test, consequent, alternate)\n\nSee also `t.isIfStatement(node, opts)` and `t.assertIfStatement(node, opts)`.\n\nAliases: `Statement`, `Conditional`\n\n - `test`: `Expression` (required)\n - `consequent`: `Statement` (default: `null`)\n - `alternate`: `Statement` (default: `null`)\n\n### t.importDeclaration(specifiers, source)\n\nSee also `t.isImportDeclaration(node, opts)` and `t.assertImportDeclaration(node, opts)`.\n\nAliases: `Statement`, `Declaration`, `ModuleDeclaration`\n\n - `specifiers`: `Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>` (required)\n - `source`: `StringLiteral` (required)\n\n### t.importDefaultSpecifier(local)\n\nSee also `t.isImportDefaultSpecifier(node, opts)` and `t.assertImportDefaultSpecifier(node, opts)`.\n\nAliases: `ModuleSpecifier`\n\n - `local`: `Identifier` (required)\n\n### t.importNamespaceSpecifier(local)\n\nSee also `t.isImportNamespaceSpecifier(node, opts)` and `t.assertImportNamespaceSpecifier(node, opts)`.\n\nAliases: `ModuleSpecifier`\n\n - `local`: `Identifier` (required)\n\n### t.importSpecifier(local, imported)\n\nSee also `t.isImportSpecifier(node, opts)` and `t.assertImportSpecifier(node, opts)`.\n\nAliases: `ModuleSpecifier`\n\n - `local`: `Identifier` (required)\n - `imported`: `Identifier` (required)\n\n### t.interfaceDeclaration(id, typeParameters, extends, body)\n\nSee also `t.isInterfaceDeclaration(node, opts)` and `t.assertInterfaceDeclaration(node, opts)`.\n\nAliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`\n\n - `id` (required)\n - `typeParameters` (required)\n - `extends` (required)\n - `body` (required)\n\n### t.interfaceExtends(id, typeParameters)\n\nSee also `t.isInterfaceExtends(node, opts)` and `t.assertInterfaceExtends(node, opts)`.\n\nAliases: `Flow`\n\n - `id` (required)\n - `typeParameters` (required)\n\n### t.intersectionTypeAnnotation(types)\n\nSee also `t.isIntersectionTypeAnnotation(node, opts)` and `t.assertIntersectionTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `types` (required)\n\n### t.jSXAttribute(name, value)\n\nSee also `t.isJSXAttribute(node, opts)` and `t.assertJSXAttribute(node, opts)`.\n\nAliases: `JSX`, `Immutable`\n\n - `name`: `JSXIdentifier | JSXMemberExpression` (required)\n - `value`: `JSXElement | StringLiteral | JSXExpressionContainer` (default: `null`)\n\n### t.jSXClosingElement(name)\n\nSee also `t.isJSXClosingElement(node, opts)` and `t.assertJSXClosingElement(node, opts)`.\n\nAliases: `JSX`, `Immutable`\n\n - `name`: `JSXIdentifier | JSXMemberExpression` (required)\n\n### t.jSXElement(openingElement, closingElement, children, selfClosing)\n\nSee also `t.isJSXElement(node, opts)` and `t.assertJSXElement(node, opts)`.\n\nAliases: `JSX`, `Immutable`, `Expression`\n\n - `openingElement`: `JSXOpeningElement` (required)\n - `closingElement`: `JSXClosingElement` (default: `null`)\n - `children` (required)\n - `selfClosing` (required)\n\n### t.jSXEmptyExpression()\n\nSee also `t.isJSXEmptyExpression(node, opts)` and `t.assertJSXEmptyExpression(node, opts)`.\n\nAliases: `JSX`, `Expression`\n\n\n### t.jSXExpressionContainer(expression)\n\nSee also `t.isJSXExpressionContainer(node, opts)` and `t.assertJSXExpressionContainer(node, opts)`.\n\nAliases: `JSX`, `Immutable`\n\n - `expression`: `Expression` (required)\n\n### t.jSXIdentifier(name)\n\nSee also `t.isJSXIdentifier(node, opts)` and `t.assertJSXIdentifier(node, opts)`.\n\nAliases: `JSX`, `Expression`\n\n - `name`: `string` (required)\n\n### t.jSXMemberExpression(object, property)\n\nSee also `t.isJSXMemberExpression(node, opts)` and `t.assertJSXMemberExpression(node, opts)`.\n\nAliases: `JSX`, `Expression`\n\n - `object`: `JSXIdentifier` (required)\n - `property`: `JSXIdentifier` (required)\n\n### t.jSXNamespacedName(namespace, name)\n\nSee also `t.isJSXNamespacedName(node, opts)` and `t.assertJSXNamespacedName(node, opts)`.\n\nAliases: `JSX`\n\n - `namespace`: `JSXIdentifier` (required)\n - `name`: `JSXIdentifier` (required)\n\n### t.jSXOpeningElement(name, attributes, selfClosing)\n\nSee also `t.isJSXOpeningElement(node, opts)` and `t.assertJSXOpeningElement(node, opts)`.\n\nAliases: `JSX`, `Immutable`\n\n - `name`: `JSXIdentifier | JSXMemberExpression` (required)\n - `attributes`: `Array<JSXAttribute | JSXSpreadAttribute>` (required)\n - `selfClosing`: `boolean` (default: `false`)\n\n### t.jSXSpreadAttribute(argument)\n\nSee also `t.isJSXSpreadAttribute(node, opts)` and `t.assertJSXSpreadAttribute(node, opts)`.\n\nAliases: `JSX`\n\n - `argument`: `Expression` (required)\n\n### t.jSXText(value)\n\nSee also `t.isJSXText(node, opts)` and `t.assertJSXText(node, opts)`.\n\nAliases: `JSX`\n\n - `value`: `string` (required)\n\n### t.labeledStatement(label, body)\n\nSee also `t.isLabeledStatement(node, opts)` and `t.assertLabeledStatement(node, opts)`.\n\nAliases: `Statement`\n\n - `label`: `Identifier` (required)\n - `body`: `Statement` (required)\n\n### t.logicalExpression(operator, left, right)\n\nSee also `t.isLogicalExpression(node, opts)` and `t.assertLogicalExpression(node, opts)`.\n\nAliases: `Binary`, `Expression`\n\n - `operator` (required)\n - `left`: `Expression` (required)\n - `right`: `Expression` (required)\n\n### t.memberExpression(object, property, computed)\n\nSee also `t.isMemberExpression(node, opts)` and `t.assertMemberExpression(node, opts)`.\n\nAliases: `Expression`, `LVal`\n\n - `object`: `Expression` (required)\n - `property`if computed then `Expression` else `Identifier` (required)\n - `computed`: `boolean` (default: `false`)\n\n### t.metaProperty(meta, property)\n\nSee also `t.isMetaProperty(node, opts)` and `t.assertMetaProperty(node, opts)`.\n\nAliases: `Expression`\n\n - `meta`: `string` (required)\n - `property`: `string` (required)\n\n### t.mixedTypeAnnotation()\n\nSee also `t.isMixedTypeAnnotation(node, opts)` and `t.assertMixedTypeAnnotation(node, opts)`.\n\nAliases: `Flow`, `FlowBaseAnnotation`\n\n\n### t.newExpression(callee, arguments)\n\nSee also `t.isNewExpression(node, opts)` and `t.assertNewExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `callee`: `Expression` (required)\n - `arguments`: `Array<Expression>` (required)\n\n### t.noop()\n\nSee also `t.isNoop(node, opts)` and `t.assertNoop(node, opts)`.\n\n\n### t.nullLiteral()\n\nSee also `t.isNullLiteral(node, opts)` and `t.assertNullLiteral(node, opts)`.\n\nAliases: `Expression`, `Pureish`, `Literal`, `Immutable`\n\n\n### t.nullableTypeAnnotation(typeAnnotation)\n\nSee also `t.isNullableTypeAnnotation(node, opts)` and `t.assertNullableTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `typeAnnotation` (required)\n\n### t.numberTypeAnnotation()\n\nSee also `t.isNumberTypeAnnotation(node, opts)` and `t.assertNumberTypeAnnotation(node, opts)`.\n\nAliases: `Flow`, `FlowBaseAnnotation`\n\n\n### t.numericLiteral(value)\n\nSee also `t.isNumericLiteral(node, opts)` and `t.assertNumericLiteral(node, opts)`.\n\nAliases: `Expression`, `Pureish`, `Literal`, `Immutable`\n\n - `value`: `number` (required)\n\n### t.numericLiteralTypeAnnotation()\n\nSee also `t.isNumericLiteralTypeAnnotation(node, opts)` and `t.assertNumericLiteralTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n\n### t.objectExpression(properties)\n\nSee also `t.isObjectExpression(node, opts)` and `t.assertObjectExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `properties`: `Array<ObjectMethod | ObjectProperty | SpreadProperty>` (required)\n\n### t.objectMethod(kind, key, params, body, computed)\n\nSee also `t.isObjectMethod(node, opts)` and `t.assertObjectMethod(node, opts)`.\n\nAliases: `UserWhitespacable`, `Function`, `Scopable`, `BlockParent`, `FunctionParent`, `Method`\n\n - `kind`: `\"method\" | \"get\" | \"set\"` (default: `'method'`)\n - `key`if computed then `Expression` else `Identifier | Literal` (required)\n - `params` (required)\n - `body`: `BlockStatement` (required)\n - `computed`: `boolean` (default: `false`)\n\n### t.objectPattern(properties, typeAnnotation)\n\nSee also `t.isObjectPattern(node, opts)` and `t.assertObjectPattern(node, opts)`.\n\nAliases: `Pattern`, `LVal`\n\n - `properties`: `Array<RestProperty>` (required)\n - `typeAnnotation` (required)\n\n### t.objectProperty(key, value, computed, shorthand, decorators)\n\nSee also `t.isObjectProperty(node, opts)` and `t.assertObjectProperty(node, opts)`.\n\nAliases: `UserWhitespacable`, `Property`\n\n - `key`if computed then `Expression` else `Identifier | Literal` (required)\n - `value`: `Expression` (required)\n - `computed`: `boolean` (default: `false`)\n - `shorthand`: `boolean` (default: `false`)\n - `decorators`: `Array<Decorator>` (default: `null`)\n\n### t.objectTypeAnnotation(properties, indexers, callProperties)\n\nSee also `t.isObjectTypeAnnotation(node, opts)` and `t.assertObjectTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `properties` (required)\n - `indexers` (required)\n - `callProperties` (required)\n\n### t.objectTypeCallProperty(value)\n\nSee also `t.isObjectTypeCallProperty(node, opts)` and `t.assertObjectTypeCallProperty(node, opts)`.\n\nAliases: `Flow`, `UserWhitespacable`\n\n - `value` (required)\n\n### t.objectTypeIndexer(id, key, value)\n\nSee also `t.isObjectTypeIndexer(node, opts)` and `t.assertObjectTypeIndexer(node, opts)`.\n\nAliases: `Flow`, `UserWhitespacable`\n\n - `id` (required)\n - `key` (required)\n - `value` (required)\n\n### t.objectTypeProperty(key, value)\n\nSee also `t.isObjectTypeProperty(node, opts)` and `t.assertObjectTypeProperty(node, opts)`.\n\nAliases: `Flow`, `UserWhitespacable`\n\n - `key` (required)\n - `value` (required)\n\n### t.parenthesizedExpression(expression)\n\nSee also `t.isParenthesizedExpression(node, opts)` and `t.assertParenthesizedExpression(node, opts)`.\n\nAliases: `Expression`, `ExpressionWrapper`\n\n - `expression`: `Expression` (required)\n\n### t.program(body, directives)\n\nSee also `t.isProgram(node, opts)` and `t.assertProgram(node, opts)`.\n\nAliases: `Scopable`, `BlockParent`, `Block`, `FunctionParent`\n\n - `body`: `Array<Statement>` (required)\n - `directives`: `Array<Directive>` (default: `[]`)\n\n### t.qualifiedTypeIdentifier(id, qualification)\n\nSee also `t.isQualifiedTypeIdentifier(node, opts)` and `t.assertQualifiedTypeIdentifier(node, opts)`.\n\nAliases: `Flow`\n\n - `id` (required)\n - `qualification` (required)\n\n### t.regExpLiteral(pattern, flags)\n\nSee also `t.isRegExpLiteral(node, opts)` and `t.assertRegExpLiteral(node, opts)`.\n\nAliases: `Expression`, `Literal`\n\n - `pattern`: `string` (required)\n - `flags`: `string` (default: `''`)\n\n### t.restElement(argument, typeAnnotation)\n\nSee also `t.isRestElement(node, opts)` and `t.assertRestElement(node, opts)`.\n\nAliases: `LVal`\n\n - `argument`: `LVal` (required)\n - `typeAnnotation` (required)\n\n### t.restProperty(argument)\n\nSee also `t.isRestProperty(node, opts)` and `t.assertRestProperty(node, opts)`.\n\nAliases: `UnaryLike`\n\n - `argument`: `LVal` (required)\n\n### t.returnStatement(argument)\n\nSee also `t.isReturnStatement(node, opts)` and `t.assertReturnStatement(node, opts)`.\n\nAliases: `Statement`, `Terminatorless`, `CompletionStatement`\n\n - `argument`: `Expression` (default: `null`)\n\n### t.sequenceExpression(expressions)\n\nSee also `t.isSequenceExpression(node, opts)` and `t.assertSequenceExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `expressions`: `array` (required)\n\n### t.spreadElement(argument)\n\nSee also `t.isSpreadElement(node, opts)` and `t.assertSpreadElement(node, opts)`.\n\nAliases: `UnaryLike`\n\n - `argument`: `Expression` (required)\n\n### t.spreadProperty(argument)\n\nSee also `t.isSpreadProperty(node, opts)` and `t.assertSpreadProperty(node, opts)`.\n\nAliases: `UnaryLike`\n\n - `argument`: `Expression` (required)\n\n### t.stringLiteral(value)\n\nSee also `t.isStringLiteral(node, opts)` and `t.assertStringLiteral(node, opts)`.\n\nAliases: `Expression`, `Pureish`, `Literal`, `Immutable`\n\n - `value`: `string` (required)\n\n### t.stringLiteralTypeAnnotation()\n\nSee also `t.isStringLiteralTypeAnnotation(node, opts)` and `t.assertStringLiteralTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n\n### t.stringTypeAnnotation()\n\nSee also `t.isStringTypeAnnotation(node, opts)` and `t.assertStringTypeAnnotation(node, opts)`.\n\nAliases: `Flow`, `FlowBaseAnnotation`\n\n\n### t.super()\n\nSee also `t.isSuper(node, opts)` and `t.assertSuper(node, opts)`.\n\nAliases: `Expression`\n\n\n### t.switchCase(test, consequent)\n\nSee also `t.isSwitchCase(node, opts)` and `t.assertSwitchCase(node, opts)`.\n\n - `test` (required)\n - `consequent` (required)\n\n### t.switchStatement(discriminant, cases)\n\nSee also `t.isSwitchStatement(node, opts)` and `t.assertSwitchStatement(node, opts)`.\n\nAliases: `Statement`, `BlockParent`, `Scopable`\n\n - `discriminant` (required)\n - `cases` (required)\n\n### t.taggedTemplateExpression(tag, quasi)\n\nSee also `t.isTaggedTemplateExpression(node, opts)` and `t.assertTaggedTemplateExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `tag`: `Expression` (required)\n - `quasi`: `TemplateLiteral` (required)\n\n### t.templateElement(value, tail)\n\nSee also `t.isTemplateElement(node, opts)` and `t.assertTemplateElement(node, opts)`.\n\n - `value` (required)\n - `tail`: `boolean` (default: `false`)\n\n### t.templateLiteral(quasis, expressions)\n\nSee also `t.isTemplateLiteral(node, opts)` and `t.assertTemplateLiteral(node, opts)`.\n\nAliases: `Expression`, `Literal`\n\n - `quasis` (required)\n - `expressions` (required)\n\n### t.thisExpression()\n\nSee also `t.isThisExpression(node, opts)` and `t.assertThisExpression(node, opts)`.\n\nAliases: `Expression`\n\n\n### t.throwStatement(argument)\n\nSee also `t.isThrowStatement(node, opts)` and `t.assertThrowStatement(node, opts)`.\n\nAliases: `Statement`, `Terminatorless`, `CompletionStatement`\n\n - `argument`: `Expression` (required)\n\n### t.tryStatement(block, handler, finalizer)\n\nSee also `t.isTryStatement(node, opts)` and `t.assertTryStatement(node, opts)`.\n\nAliases: `Statement`\n\n - `block` (required)\n - `handler` (default: `null`)\n - `finalizer`: `BlockStatement` (default: `null`)\n\n### t.tupleTypeAnnotation(types)\n\nSee also `t.isTupleTypeAnnotation(node, opts)` and `t.assertTupleTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `types` (required)\n\n### t.typeAlias(id, typeParameters, right)\n\nSee also `t.isTypeAlias(node, opts)` and `t.assertTypeAlias(node, opts)`.\n\nAliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`\n\n - `id` (required)\n - `typeParameters` (required)\n - `right` (required)\n\n### t.typeAnnotation(typeAnnotation)\n\nSee also `t.isTypeAnnotation(node, opts)` and `t.assertTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `typeAnnotation` (required)\n\n### t.typeCastExpression(expression, typeAnnotation)\n\nSee also `t.isTypeCastExpression(node, opts)` and `t.assertTypeCastExpression(node, opts)`.\n\nAliases: `Flow`, `ExpressionWrapper`\n\n - `expression` (required)\n - `typeAnnotation` (required)\n\n### t.typeParameterDeclaration(params)\n\nSee also `t.isTypeParameterDeclaration(node, opts)` and `t.assertTypeParameterDeclaration(node, opts)`.\n\nAliases: `Flow`\n\n - `params` (required)\n\n### t.typeParameterInstantiation(params)\n\nSee also `t.isTypeParameterInstantiation(node, opts)` and `t.assertTypeParameterInstantiation(node, opts)`.\n\nAliases: `Flow`\n\n - `params` (required)\n\n### t.typeofTypeAnnotation(argument)\n\nSee also `t.isTypeofTypeAnnotation(node, opts)` and `t.assertTypeofTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `argument` (required)\n\n### t.unaryExpression(operator, argument, prefix)\n\nSee also `t.isUnaryExpression(node, opts)` and `t.assertUnaryExpression(node, opts)`.\n\nAliases: `UnaryLike`, `Expression`\n\n - `operator` (required)\n - `argument`: `Expression` (required)\n - `prefix`: `boolean` (default: `false`)\n\n### t.unionTypeAnnotation(types)\n\nSee also `t.isUnionTypeAnnotation(node, opts)` and `t.assertUnionTypeAnnotation(node, opts)`.\n\nAliases: `Flow`\n\n - `types` (required)\n\n### t.updateExpression(operator, argument, prefix)\n\nSee also `t.isUpdateExpression(node, opts)` and `t.assertUpdateExpression(node, opts)`.\n\nAliases: `Expression`\n\n - `operator` (required)\n - `argument`: `Expression` (required)\n - `prefix`: `boolean` (default: `false`)\n\n### t.variableDeclaration(kind, declarations)\n\nSee also `t.isVariableDeclaration(node, opts)` and `t.assertVariableDeclaration(node, opts)`.\n\nAliases: `Statement`, `Declaration`\n\n - `kind`: `\"var\" | \"let\" | \"const\"` (required)\n - `declarations`: `Array<VariableDeclarator>` (required)\n\n### t.variableDeclarator(id, init)\n\nSee also `t.isVariableDeclarator(node, opts)` and `t.assertVariableDeclarator(node, opts)`.\n\n - `id`: `LVal` (required)\n - `init`: `Expression` (default: `null`)\n\n### t.voidTypeAnnotation()\n\nSee also `t.isVoidTypeAnnotation(node, opts)` and `t.assertVoidTypeAnnotation(node, opts)`.\n\nAliases: `Flow`, `FlowBaseAnnotation`\n\n\n### t.whileStatement(test, body)\n\nSee also `t.isWhileStatement(node, opts)` and `t.assertWhileStatement(node, opts)`.\n\nAliases: `Statement`, `BlockParent`, `Loop`, `While`, `Scopable`\n\n - `test`: `Expression` (required)\n - `body`: `BlockStatement | Statement` (required)\n\n### t.withStatement(object, body)\n\nSee also `t.isWithStatement(node, opts)` and `t.assertWithStatement(node, opts)`.\n\nAliases: `Statement`\n\n - `object` (required)\n - `body`: `BlockStatement` (required)\n\n### t.yieldExpression(argument, delegate)\n\nSee also `t.isYieldExpression(node, opts)` and `t.assertYieldExpression(node, opts)`.\n\nAliases: `Expression`, `Terminatorless`\n\n - `argument`: `Expression` (default: `null`)\n - `delegate`: `boolean` (default: `false`)\n\n\n<!-- end generated section -->\n","maintainers":[{"name":"forivall","email":"forivall@gmail.com"}],"time":{"modified":"2022-06-13T06:33:42.146Z","created":"2016-02-02T22:56:16.988Z","0.4.0":"2016-02-02T22:56:16.988Z","0.5.0":"2016-02-16T22:29:08.043Z","0.5.1":"2016-02-16T23:54:16.358Z","0.5.3":"2016-02-22T23:47:13.812Z","0.5.4":"2016-04-28T19:21:17.752Z","0.6.0":"2016-05-11T05:11:11.437Z","0.6.2":"2016-08-05T16:26:50.810Z","0.6.3":"2016-08-05T18:00:55.144Z"},"homepage":"https://github.com/forivall/tacoscript/tree/master/packages/comal-types","repository":{"type":"git","url":"git://github.com/forivall/tacoscript.git"},"author":{"name":"Jordan J Klassen","email":"forivall@gmail.com"},"license":"MIT","readmeFilename":"README.md","keywords":["tacoscript"],"bugs":{"url":"https://github.com/forivall/tacoscript/issues"}}