{"id":19750890,"url":"https://github.com/sheepla/ts2ast","last_synced_at":"2026-05-15T19:31:45.596Z","repository":{"id":248127581,"uuid":"827834443","full_name":"sheepla/ts2ast","owner":"sheepla","description":"🌲 An experimental command line tool to parse TypeScript source file and output AST in JSON","archived":false,"fork":false,"pushed_at":"2024-07-14T00:19:54.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T08:32:03.547Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sheepla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-12T13:29:19.000Z","updated_at":"2024-07-14T04:38:44.000Z","dependencies_parsed_at":"2025-01-17T05:32:36.524Z","dependency_job_id":null,"html_url":"https://github.com/sheepla/ts2ast","commit_stats":null,"previous_names":["sheepla/ts2ast"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sheepla/ts2ast","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheepla%2Fts2ast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheepla%2Fts2ast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheepla%2Fts2ast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheepla%2Fts2ast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sheepla","download_url":"https://codeload.github.com/sheepla/ts2ast/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheepla%2Fts2ast/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33076161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T02:40:12.408Z","updated_at":"2026-05-15T19:31:45.578Z","avatar_url":"https://github.com/sheepla.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🌲 ts2ast\n\n*An experimental command line tool to parse TypeScript source file and output AST in JSON*\n\n\u003c/div\u003e\n\n## Installation\n\nRequires [Deno](https://deno.com), testing on v1.44.1.\n\n```\ndeno --version \n\n▶ deno 1.44.1 (release, x86_64-unknown-linux-gnu)\nv8 12.6.228.3\ntypescript 5.4.5\n```\n\nTo compile this tool, run `deno task compile`.\n\n## Usage\n\nSpecify TypeScript source file path in the first argument.\n\n```\nts2ast path/to/example.ts\n```\n\n\nTo try parse example source file, run `deno task example`.\n\n\n\u003cdetails\u003e\n\n\u003csummary\u003eClick to expand result ouput\u003c/summary\u003e\n\n```\n▶ deno task example\n\n{\n  \"pos\": 0,\n  \"end\": 456,\n  \"kind\": 307,\n  \"id\": 0,\n  \"flags\": 0,\n  \"modifierFlagsCache\": 0,\n  \"transformFlags\": 268436609,\n  \"statements\": [\n    {\n      \"pos\": 0,\n      \"end\": 54,\n      \"kind\": 265,\n      \"id\": 0,\n      \"flags\": 0,\n      \"modifierFlagsCache\": 0,\n      \"transformFlags\": 1,\n      \"name\": {\n        \"pos\": 5,\n        \"end\": 13,\n        \"kind\": 80,\n        \"id\": 0,\n        \"flags\": 0,\n        \"transformFlags\": 0,\n        \"escapedText\": \"Pattern\"\n      },\n      \"type\": {\n        \"pos\": 15,\n        \"end\": 53,\n        \"kind\": 192,\n        \"id\": 0,\n        \"flags\": 0,\n        \"modifierFlagsCache\": 0,\n        \"transformFlags\": 1,\n        \"types\": [\n          {\n            \"pos\": 15,\n            \"end\": 22,\n            \"kind\": 201,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 1,\n            \"literal\": {\n              \"pos\": 15,\n              \"end\": 22,\n              \"kind\": 11,\n              \"id\": 0,\n              \"flags\": 0,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 0,\n              \"text\": \"Fizz\",\n              \"hasExtendedUnicodeEscape\": false\n            }\n          },\n          {\n            \"pos\": 24,\n            \"end\": 31,\n            \"kind\": 201,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 1,\n            \"literal\": {\n              \"pos\": 24,\n              \"end\": 31,\n              \"kind\": 11,\n              \"id\": 0,\n              \"flags\": 0,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 0,\n              \"text\": \"Buzz\",\n              \"hasExtendedUnicodeEscape\": false\n            }\n          },\n          {\n            \"pos\": 33,\n            \"end\": 44,\n            \"kind\": 201,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 1,\n            \"literal\": {\n              \"pos\": 33,\n              \"end\": 44,\n              \"kind\": 11,\n              \"id\": 0,\n              \"flags\": 0,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 0,\n              \"text\": \"FizzBuzz\",\n              \"hasExtendedUnicodeEscape\": false\n            }\n          },\n          {\n            \"pos\": 46,\n            \"end\": 53,\n            \"kind\": 150,\n            \"id\": 0,\n            \"flags\": 0,\n            \"transformFlags\": 1\n          }\n        ]\n      }\n    },\n    {\n      \"pos\": 54,\n      \"end\": 411,\n      \"kind\": 262,\n      \"id\": 0,\n      \"flags\": 0,\n      \"modifierFlagsCache\": 0,\n      \"transformFlags\": 272893057,\n      \"name\": {\n        \"pos\": 64,\n        \"end\": 73,\n        \"kind\": 80,\n        \"id\": 0,\n        \"flags\": 0,\n        \"transformFlags\": 0,\n        \"escapedText\": \"fizzBuzz\"\n      },\n      \"parameters\": [\n        {\n          \"pos\": 74,\n          \"end\": 83,\n          \"kind\": 169,\n          \"id\": 0,\n          \"flags\": 0,\n          \"modifierFlagsCache\": 0,\n          \"transformFlags\": 1,\n          \"name\": {\n            \"pos\": 74,\n            \"end\": 75,\n            \"kind\": 80,\n            \"id\": 0,\n            \"flags\": 0,\n            \"transformFlags\": 0,\n            \"escapedText\": \"n\"\n          },\n          \"type\": {\n            \"pos\": 76,\n            \"end\": 83,\n            \"kind\": 150,\n            \"id\": 0,\n            \"flags\": 0,\n            \"transformFlags\": 1\n          }\n        }\n      ],\n      \"type\": {\n        \"pos\": 85,\n        \"end\": 95,\n        \"kind\": 188,\n        \"id\": 0,\n        \"flags\": 0,\n        \"modifierFlagsCache\": 0,\n        \"transformFlags\": 1,\n        \"elementType\": {\n          \"pos\": 85,\n          \"end\": 93,\n          \"kind\": 183,\n          \"id\": 0,\n          \"flags\": 0,\n          \"modifierFlagsCache\": 0,\n          \"transformFlags\": 1,\n          \"typeName\": {\n            \"pos\": 85,\n            \"end\": 93,\n            \"kind\": 80,\n            \"id\": 0,\n            \"flags\": 0,\n            \"transformFlags\": 0,\n            \"escapedText\": \"Pattern\"\n          }\n        }\n      },\n      \"body\": {\n        \"pos\": 95,\n        \"end\": 411,\n        \"kind\": 241,\n        \"id\": 0,\n        \"flags\": 0,\n        \"modifierFlagsCache\": 0,\n        \"transformFlags\": 272893057,\n        \"statements\": [\n          {\n            \"pos\": 97,\n            \"end\": 129,\n            \"kind\": 243,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 4457473,\n            \"declarationList\": {\n              \"pos\": 97,\n              \"end\": 128,\n              \"kind\": 261,\n              \"id\": 0,\n              \"flags\": 2,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 4457473,\n              \"declarations\": [\n                {\n                  \"pos\": 105,\n                  \"end\": 128,\n                  \"kind\": 260,\n                  \"id\": 0,\n                  \"flags\": 0,\n                  \"modifierFlagsCache\": 0,\n                  \"transformFlags\": 1,\n                  \"name\": {\n                    \"pos\": 105,\n                    \"end\": 112,\n                    \"kind\": 80,\n                    \"id\": 0,\n                    \"flags\": 0,\n                    \"transformFlags\": 0,\n                    \"escapedText\": \"result\"\n                  },\n                  \"type\": {\n                    \"pos\": 113,\n                    \"end\": 123,\n                    \"kind\": 188,\n                    \"id\": 0,\n                    \"flags\": 0,\n                    \"modifierFlagsCache\": 0,\n                    \"transformFlags\": 1,\n                    \"elementType\": {\n                      \"pos\": 113,\n                      \"end\": 121,\n                      \"kind\": 183,\n                      \"id\": 0,\n                      \"flags\": 0,\n                      \"modifierFlagsCache\": 0,\n                      \"transformFlags\": 1,\n                      \"typeName\": {\n                        \"pos\": 113,\n                        \"end\": 121,\n                        \"kind\": 80,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"transformFlags\": 0,\n                        \"escapedText\": \"Pattern\"\n                      }\n                    }\n                  },\n                  \"initializer\": {\n                    \"pos\": 125,\n                    \"end\": 128,\n                    \"kind\": 209,\n                    \"id\": 0,\n                    \"flags\": 0,\n                    \"modifierFlagsCache\": 0,\n                    \"transformFlags\": 0,\n                    \"elements\": [],\n                    \"multiLine\": false\n                  }\n                }\n              ]\n            }\n          },\n          {\n            \"pos\": 129,\n            \"end\": 391,\n            \"kind\": 248,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 272892928,\n            \"initializer\": {\n              \"pos\": 138,\n              \"end\": 147,\n              \"kind\": 261,\n              \"id\": 0,\n              \"flags\": 1,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 4457472,\n              \"declarations\": [\n                {\n                  \"pos\": 141,\n                  \"end\": 147,\n                  \"kind\": 260,\n                  \"id\": 0,\n                  \"flags\": 8192,\n                  \"modifierFlagsCache\": 0,\n                  \"transformFlags\": 0,\n                  \"name\": {\n                    \"pos\": 141,\n                    \"end\": 143,\n                    \"kind\": 80,\n                    \"id\": 0,\n                    \"flags\": 8192,\n                    \"transformFlags\": 0,\n                    \"escapedText\": \"i\"\n                  },\n                  \"initializer\": {\n                    \"pos\": 145,\n                    \"end\": 147,\n                    \"kind\": 9,\n                    \"id\": 0,\n                    \"flags\": 8192,\n                    \"modifierFlagsCache\": 0,\n                    \"transformFlags\": 0,\n                    \"text\": \"1\",\n                    \"numericLiteralFlags\": 0\n                  }\n                }\n              ]\n            },\n            \"condition\": {\n              \"pos\": 148,\n              \"end\": 155,\n              \"kind\": 226,\n              \"id\": 0,\n              \"flags\": 0,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 0,\n              \"left\": {\n                \"pos\": 148,\n                \"end\": 150,\n                \"kind\": 80,\n                \"id\": 0,\n                \"flags\": 0,\n                \"transformFlags\": 0,\n                \"escapedText\": \"i\"\n              },\n              \"operatorToken\": {\n                \"pos\": 150,\n                \"end\": 153,\n                \"kind\": 33,\n                \"id\": 0,\n                \"flags\": 0,\n                \"transformFlags\": 0\n              },\n              \"right\": {\n                \"pos\": 153,\n                \"end\": 155,\n                \"kind\": 80,\n                \"id\": 0,\n                \"flags\": 0,\n                \"transformFlags\": 0,\n                \"escapedText\": \"n\"\n              }\n            },\n            \"incrementor\": {\n              \"pos\": 156,\n              \"end\": 160,\n              \"kind\": 225,\n              \"id\": 0,\n              \"flags\": 0,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 268435456,\n              \"operator\": 46,\n              \"operand\": {\n                \"pos\": 156,\n                \"end\": 158,\n                \"kind\": 80,\n                \"id\": 0,\n                \"flags\": 0,\n                \"transformFlags\": 0,\n                \"escapedText\": \"i\"\n              }\n            },\n            \"statement\": {\n              \"pos\": 161,\n              \"end\": 391,\n              \"kind\": 241,\n              \"id\": 0,\n              \"flags\": 0,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 0,\n              \"statements\": [\n                {\n                  \"pos\": 163,\n                  \"end\": 387,\n                  \"kind\": 245,\n                  \"id\": 0,\n                  \"flags\": 0,\n                  \"modifierFlagsCache\": 0,\n                  \"transformFlags\": 0,\n                  \"expression\": {\n                    \"pos\": 172,\n                    \"end\": 198,\n                    \"kind\": 226,\n                    \"id\": 0,\n                    \"flags\": 0,\n                    \"modifierFlagsCache\": 0,\n                    \"transformFlags\": 0,\n                    \"left\": {\n                      \"pos\": 172,\n                      \"end\": 183,\n                      \"kind\": 226,\n                      \"id\": 0,\n                      \"flags\": 0,\n                      \"modifierFlagsCache\": 0,\n                      \"transformFlags\": 0,\n                      \"left\": {\n                        \"pos\": 172,\n                        \"end\": 177,\n                        \"kind\": 226,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"left\": {\n                          \"pos\": 172,\n                          \"end\": 173,\n                          \"kind\": 80,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"transformFlags\": 0,\n                          \"escapedText\": \"i\"\n                        },\n                        \"operatorToken\": {\n                          \"pos\": 173,\n                          \"end\": 175,\n                          \"kind\": 45,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"transformFlags\": 0\n                        },\n                        \"right\": {\n                          \"pos\": 175,\n                          \"end\": 177,\n                          \"kind\": 9,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"modifierFlagsCache\": 0,\n                          \"transformFlags\": 0,\n                          \"text\": \"3\",\n                          \"numericLiteralFlags\": 0\n                        }\n                      },\n                      \"operatorToken\": {\n                        \"pos\": 177,\n                        \"end\": 181,\n                        \"kind\": 37,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"transformFlags\": 0\n                      },\n                      \"right\": {\n                        \"pos\": 181,\n                        \"end\": 183,\n                        \"kind\": 9,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"text\": \"0\",\n                        \"numericLiteralFlags\": 0\n                      }\n                    },\n                    \"operatorToken\": {\n                      \"pos\": 183,\n                      \"end\": 186,\n                      \"kind\": 56,\n                      \"id\": 0,\n                      \"flags\": 0,\n                      \"transformFlags\": 0\n                    },\n                    \"right\": {\n                      \"pos\": 186,\n                      \"end\": 198,\n                      \"kind\": 226,\n                      \"id\": 0,\n                      \"flags\": 0,\n                      \"modifierFlagsCache\": 0,\n                      \"transformFlags\": 0,\n                      \"left\": {\n                        \"pos\": 186,\n                        \"end\": 192,\n                        \"kind\": 226,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"left\": {\n                          \"pos\": 186,\n                          \"end\": 188,\n                          \"kind\": 80,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"transformFlags\": 0,\n                          \"escapedText\": \"i\"\n                        },\n                        \"operatorToken\": {\n                          \"pos\": 188,\n                          \"end\": 190,\n                          \"kind\": 45,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"transformFlags\": 0\n                        },\n                        \"right\": {\n                          \"pos\": 190,\n                          \"end\": 192,\n                          \"kind\": 9,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"modifierFlagsCache\": 0,\n                          \"transformFlags\": 0,\n                          \"text\": \"5\",\n                          \"numericLiteralFlags\": 0\n                        }\n                      },\n                      \"operatorToken\": {\n                        \"pos\": 192,\n                        \"end\": 196,\n                        \"kind\": 37,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"transformFlags\": 0\n                      },\n                      \"right\": {\n                        \"pos\": 196,\n                        \"end\": 198,\n                        \"kind\": 9,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"text\": \"0\",\n                        \"numericLiteralFlags\": 0\n                      }\n                    }\n                  },\n                  \"thenStatement\": {\n                    \"pos\": 199,\n                    \"end\": 238,\n                    \"kind\": 241,\n                    \"id\": 0,\n                    \"flags\": 0,\n                    \"modifierFlagsCache\": 0,\n                    \"transformFlags\": 0,\n                    \"statements\": [\n                      {\n                        \"pos\": 201,\n                        \"end\": 232,\n                        \"kind\": 244,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"expression\": {\n                          \"pos\": 201,\n                          \"end\": 231,\n                          \"kind\": 213,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"modifierFlagsCache\": 0,\n                          \"transformFlags\": 0,\n                          \"expression\": {\n                            \"pos\": 201,\n                            \"end\": 219,\n                            \"kind\": 211,\n                            \"id\": 0,\n                            \"flags\": 0,\n                            \"modifierFlagsCache\": 0,\n                            \"transformFlags\": 0,\n                            \"expression\": {\n                              \"pos\": 201,\n                              \"end\": 214,\n                              \"kind\": 80,\n                              \"id\": 0,\n                              \"flags\": 0,\n                              \"transformFlags\": 0,\n                              \"escapedText\": \"result\"\n                            },\n                            \"name\": {\n                              \"pos\": 215,\n                              \"end\": 219,\n                              \"kind\": 80,\n                              \"id\": 0,\n                              \"flags\": 0,\n                              \"transformFlags\": 0,\n                              \"escapedText\": \"push\"\n                            }\n                          },\n                          \"arguments\": [\n                            {\n                              \"pos\": 220,\n                              \"end\": 230,\n                              \"kind\": 11,\n                              \"id\": 0,\n                              \"flags\": 0,\n                              \"modifierFlagsCache\": 0,\n                              \"transformFlags\": 0,\n                              \"text\": \"FizzBuzz\",\n                              \"hasExtendedUnicodeEscape\": false\n                            }\n                          ]\n                        }\n                      }\n                    ],\n                    \"multiLine\": true\n                  },\n                  \"elseStatement\": {\n                    \"pos\": 243,\n                    \"end\": 387,\n                    \"kind\": 245,\n                    \"id\": 0,\n                    \"flags\": 0,\n                    \"modifierFlagsCache\": 0,\n                    \"transformFlags\": 0,\n                    \"expression\": {\n                      \"pos\": 248,\n                      \"end\": 259,\n                      \"kind\": 226,\n                      \"id\": 0,\n                      \"flags\": 0,\n                      \"modifierFlagsCache\": 0,\n                      \"transformFlags\": 0,\n                      \"left\": {\n                        \"pos\": 248,\n                        \"end\": 253,\n                        \"kind\": 226,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"left\": {\n                          \"pos\": 248,\n                          \"end\": 249,\n                          \"kind\": 80,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"transformFlags\": 0,\n                          \"escapedText\": \"i\"\n                        },\n                        \"operatorToken\": {\n                          \"pos\": 249,\n                          \"end\": 251,\n                          \"kind\": 45,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"transformFlags\": 0\n                        },\n                        \"right\": {\n                          \"pos\": 251,\n                          \"end\": 253,\n                          \"kind\": 9,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"modifierFlagsCache\": 0,\n                          \"transformFlags\": 0,\n                          \"text\": \"3\",\n                          \"numericLiteralFlags\": 0\n                        }\n                      },\n                      \"operatorToken\": {\n                        \"pos\": 253,\n                        \"end\": 257,\n                        \"kind\": 37,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"transformFlags\": 0\n                      },\n                      \"right\": {\n                        \"pos\": 257,\n                        \"end\": 259,\n                        \"kind\": 9,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"text\": \"0\",\n                        \"numericLiteralFlags\": 0\n                      }\n                    },\n                    \"thenStatement\": {\n                      \"pos\": 260,\n                      \"end\": 295,\n                      \"kind\": 241,\n                      \"id\": 0,\n                      \"flags\": 0,\n                      \"modifierFlagsCache\": 0,\n                      \"transformFlags\": 0,\n                      \"statements\": [\n                        {\n                          \"pos\": 262,\n                          \"end\": 289,\n                          \"kind\": 244,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"modifierFlagsCache\": 0,\n                          \"transformFlags\": 0,\n                          \"expression\": {\n                            \"pos\": 262,\n                            \"end\": 288,\n                            \"kind\": 213,\n                            \"id\": 0,\n                            \"flags\": 0,\n                            \"modifierFlagsCache\": 0,\n                            \"transformFlags\": 0,\n                            \"expression\": {\n                              \"pos\": 262,\n                              \"end\": 280,\n                              \"kind\": 211,\n                              \"id\": 0,\n                              \"flags\": 0,\n                              \"modifierFlagsCache\": 0,\n                              \"transformFlags\": 0,\n                              \"expression\": {\n                                \"pos\": 262,\n                                \"end\": 275,\n                                \"kind\": 80,\n                                \"id\": 0,\n                                \"flags\": 0,\n                                \"transformFlags\": 0,\n                                \"escapedText\": \"result\"\n                              },\n                              \"name\": {\n                                \"pos\": 276,\n                                \"end\": 280,\n                                \"kind\": 80,\n                                \"id\": 0,\n                                \"flags\": 0,\n                                \"transformFlags\": 0,\n                                \"escapedText\": \"push\"\n                              }\n                            },\n                            \"arguments\": [\n                              {\n                                \"pos\": 281,\n                                \"end\": 287,\n                                \"kind\": 11,\n                                \"id\": 0,\n                                \"flags\": 0,\n                                \"modifierFlagsCache\": 0,\n                                \"transformFlags\": 0,\n                                \"text\": \"Fizz\",\n                                \"hasExtendedUnicodeEscape\": false\n                              }\n                            ]\n                          }\n                        }\n                      ],\n                      \"multiLine\": true\n                    },\n                    \"elseStatement\": {\n                      \"pos\": 300,\n                      \"end\": 387,\n                      \"kind\": 245,\n                      \"id\": 0,\n                      \"flags\": 0,\n                      \"modifierFlagsCache\": 0,\n                      \"transformFlags\": 0,\n                      \"expression\": {\n                        \"pos\": 305,\n                        \"end\": 316,\n                        \"kind\": 226,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"left\": {\n                          \"pos\": 305,\n                          \"end\": 310,\n                          \"kind\": 226,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"modifierFlagsCache\": 0,\n                          \"transformFlags\": 0,\n                          \"left\": {\n                            \"pos\": 305,\n                            \"end\": 306,\n                            \"kind\": 80,\n                            \"id\": 0,\n                            \"flags\": 0,\n                            \"transformFlags\": 0,\n                            \"escapedText\": \"i\"\n                          },\n                          \"operatorToken\": {\n                            \"pos\": 306,\n                            \"end\": 308,\n                            \"kind\": 45,\n                            \"id\": 0,\n                            \"flags\": 0,\n                            \"transformFlags\": 0\n                          },\n                          \"right\": {\n                            \"pos\": 308,\n                            \"end\": 310,\n                            \"kind\": 9,\n                            \"id\": 0,\n                            \"flags\": 0,\n                            \"modifierFlagsCache\": 0,\n                            \"transformFlags\": 0,\n                            \"text\": \"5\",\n                            \"numericLiteralFlags\": 0\n                          }\n                        },\n                        \"operatorToken\": {\n                          \"pos\": 310,\n                          \"end\": 314,\n                          \"kind\": 37,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"transformFlags\": 0\n                        },\n                        \"right\": {\n                          \"pos\": 314,\n                          \"end\": 316,\n                          \"kind\": 9,\n                          \"id\": 0,\n                          \"flags\": 0,\n                          \"modifierFlagsCache\": 0,\n                          \"transformFlags\": 0,\n                          \"text\": \"0\",\n                          \"numericLiteralFlags\": 0\n                        }\n                      },\n                      \"thenStatement\": {\n                        \"pos\": 317,\n                        \"end\": 352,\n                        \"kind\": 241,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"statements\": [\n                          {\n                            \"pos\": 319,\n                            \"end\": 346,\n                            \"kind\": 244,\n                            \"id\": 0,\n                            \"flags\": 0,\n                            \"modifierFlagsCache\": 0,\n                            \"transformFlags\": 0,\n                            \"expression\": {\n                              \"pos\": 319,\n                              \"end\": 345,\n                              \"kind\": 213,\n                              \"id\": 0,\n                              \"flags\": 0,\n                              \"modifierFlagsCache\": 0,\n                              \"transformFlags\": 0,\n                              \"expression\": {\n                                \"pos\": 319,\n                                \"end\": 337,\n                                \"kind\": 211,\n                                \"id\": 0,\n                                \"flags\": 0,\n                                \"modifierFlagsCache\": 0,\n                                \"transformFlags\": 0,\n                                \"expression\": {\n                                  \"pos\": 319,\n                                  \"end\": 332,\n                                  \"kind\": 80,\n                                  \"id\": 0,\n                                  \"flags\": 0,\n                                  \"transformFlags\": 0,\n                                  \"escapedText\": \"result\"\n                                },\n                                \"name\": {\n                                  \"pos\": 333,\n                                  \"end\": 337,\n                                  \"kind\": 80,\n                                  \"id\": 0,\n                                  \"flags\": 0,\n                                  \"transformFlags\": 0,\n                                  \"escapedText\": \"push\"\n                                }\n                              },\n                              \"arguments\": [\n                                {\n                                  \"pos\": 338,\n                                  \"end\": 344,\n                                  \"kind\": 11,\n                                  \"id\": 0,\n                                  \"flags\": 0,\n                                  \"modifierFlagsCache\": 0,\n                                  \"transformFlags\": 0,\n                                  \"text\": \"Buzz\",\n                                  \"hasExtendedUnicodeEscape\": false\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"multiLine\": true\n                      },\n                      \"elseStatement\": {\n                        \"pos\": 357,\n                        \"end\": 387,\n                        \"kind\": 241,\n                        \"id\": 0,\n                        \"flags\": 0,\n                        \"modifierFlagsCache\": 0,\n                        \"transformFlags\": 0,\n                        \"statements\": [\n                          {\n                            \"pos\": 359,\n                            \"end\": 381,\n                            \"kind\": 244,\n                            \"id\": 0,\n                            \"flags\": 0,\n                            \"modifierFlagsCache\": 0,\n                            \"transformFlags\": 0,\n                            \"expression\": {\n                              \"pos\": 359,\n                              \"end\": 380,\n                              \"kind\": 213,\n                              \"id\": 0,\n                              \"flags\": 0,\n                              \"modifierFlagsCache\": 0,\n                              \"transformFlags\": 0,\n                              \"expression\": {\n                                \"pos\": 359,\n                                \"end\": 377,\n                                \"kind\": 211,\n                                \"id\": 0,\n                                \"flags\": 0,\n                                \"modifierFlagsCache\": 0,\n                                \"transformFlags\": 0,\n                                \"expression\": {\n                                  \"pos\": 359,\n                                  \"end\": 372,\n                                  \"kind\": 80,\n                                  \"id\": 0,\n                                  \"flags\": 0,\n                                  \"transformFlags\": 0,\n                                  \"escapedText\": \"result\"\n                                },\n                                \"name\": {\n                                  \"pos\": 373,\n                                  \"end\": 377,\n                                  \"kind\": 80,\n                                  \"id\": 0,\n                                  \"flags\": 0,\n                                  \"transformFlags\": 0,\n                                  \"escapedText\": \"push\"\n                                }\n                              },\n                              \"arguments\": [\n                                {\n                                  \"pos\": 378,\n                                  \"end\": 379,\n                                  \"kind\": 80,\n                                  \"id\": 0,\n                                  \"flags\": 0,\n                                  \"transformFlags\": 0,\n                                  \"escapedText\": \"i\"\n                                }\n                              ]\n                            }\n                          }\n                        ],\n                        \"multiLine\": true\n                      }\n                    }\n                  }\n                }\n              ],\n              \"multiLine\": true\n            }\n          },\n          {\n            \"pos\": 391,\n            \"end\": 409,\n            \"kind\": 253,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 4194432,\n            \"expression\": {\n              \"pos\": 401,\n              \"end\": 408,\n              \"kind\": 80,\n              \"id\": 0,\n              \"flags\": 0,\n              \"transformFlags\": 0,\n              \"escapedText\": \"result\"\n            }\n          }\n        ],\n        \"multiLine\": true\n      }\n    },\n    {\n      \"pos\": 411,\n      \"end\": 455,\n      \"kind\": 244,\n      \"id\": 0,\n      \"flags\": 0,\n      \"modifierFlagsCache\": 0,\n      \"transformFlags\": 1024,\n      \"expression\": {\n        \"pos\": 411,\n        \"end\": 455,\n        \"kind\": 213,\n        \"id\": 0,\n        \"flags\": 0,\n        \"modifierFlagsCache\": 0,\n        \"transformFlags\": 1024,\n        \"expression\": {\n          \"pos\": 411,\n          \"end\": 434,\n          \"kind\": 211,\n          \"id\": 0,\n          \"flags\": 0,\n          \"modifierFlagsCache\": 0,\n          \"transformFlags\": 0,\n          \"expression\": {\n            \"pos\": 411,\n            \"end\": 426,\n            \"kind\": 213,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 0,\n            \"expression\": {\n              \"pos\": 411,\n              \"end\": 421,\n              \"kind\": 80,\n              \"id\": 0,\n              \"flags\": 0,\n              \"transformFlags\": 0,\n              \"escapedText\": \"fizzBuzz\"\n            },\n            \"arguments\": [\n              {\n                \"pos\": 422,\n                \"end\": 425,\n                \"kind\": 9,\n                \"id\": 0,\n                \"flags\": 0,\n                \"modifierFlagsCache\": 0,\n                \"transformFlags\": 0,\n                \"text\": \"100\",\n                \"numericLiteralFlags\": 0\n              }\n            ]\n          },\n          \"name\": {\n            \"pos\": 427,\n            \"end\": 434,\n            \"kind\": 80,\n            \"id\": 0,\n            \"flags\": 0,\n            \"transformFlags\": 0,\n            \"escapedText\": \"forEach\"\n          }\n        },\n        \"arguments\": [\n          {\n            \"pos\": 435,\n            \"end\": 454,\n            \"kind\": 219,\n            \"id\": 0,\n            \"flags\": 0,\n            \"modifierFlagsCache\": 0,\n            \"transformFlags\": 1024,\n            \"parameters\": [\n              {\n                \"pos\": 435,\n                \"end\": 436,\n                \"kind\": 169,\n                \"id\": 0,\n                \"flags\": 0,\n                \"modifierFlagsCache\": 0,\n                \"transformFlags\": 0,\n                \"name\": {\n                  \"pos\": 435,\n                  \"end\": 436,\n                  \"kind\": 80,\n                  \"id\": 0,\n                  \"flags\": 0,\n                  \"transformFlags\": 0,\n                  \"escapedText\": \"s\"\n                }\n              }\n            ],\n            \"equalsGreaterThanToken\": {\n              \"pos\": 436,\n              \"end\": 439,\n              \"kind\": 39,\n              \"id\": 0,\n              \"flags\": 0,\n              \"transformFlags\": 0\n            },\n            \"body\": {\n              \"pos\": 439,\n              \"end\": 454,\n              \"kind\": 213,\n              \"id\": 0,\n              \"flags\": 0,\n              \"modifierFlagsCache\": 0,\n              \"transformFlags\": 0,\n              \"expression\": {\n                \"pos\": 439,\n                \"end\": 451,\n                \"kind\": 211,\n                \"id\": 0,\n                \"flags\": 0,\n                \"modifierFlagsCache\": 0,\n                \"transformFlags\": 0,\n                \"expression\": {\n                  \"pos\": 439,\n                  \"end\": 447,\n                  \"kind\": 80,\n                  \"id\": 0,\n                  \"flags\": 0,\n                  \"transformFlags\": 0,\n                  \"escapedText\": \"console\"\n                },\n                \"name\": {\n                  \"pos\": 448,\n                  \"end\": 451,\n                  \"kind\": 80,\n                  \"id\": 0,\n                  \"flags\": 0,\n                  \"transformFlags\": 0,\n                  \"escapedText\": \"log\"\n                }\n              },\n              \"arguments\": [\n                {\n                  \"pos\": 452,\n                  \"end\": 453,\n                  \"kind\": 80,\n                  \"id\": 0,\n                  \"flags\": 0,\n                  \"transformFlags\": 0,\n                  \"escapedText\": \"s\"\n                }\n              ]\n            }\n          }\n        ]\n      }\n    }\n  ],\n  \"endOfFileToken\": {\n    \"pos\": 455,\n    \"end\": 456,\n    \"kind\": 1,\n    \"id\": 0,\n    \"flags\": 0,\n    \"transformFlags\": 0\n  },\n  \"text\": \"\\ntype Pattern = \\\"Fizz\\\" | \\\"Buzz\\\" | \\\"FizzBuzz\\\" | number;\\n\\nfunction fizzBuzz(n: number): Pattern[] {\\n  const result: Pattern[] = [];\\n\\n  for (let i = 1; i \u003c= n; i++) {\\n    if (i % 3 === 0 \u0026\u0026 i % 5 === 0) {\\n      result.push(\\\"FizzBuzz\\\");\\n    } else if (i % 3 === 0) {\\n      result.push(\\\"Fizz\\\");\\n    } else if (i % 5 === 0) {\\n      result.push(\\\"Buzz\\\");\\n    } else {\\n      result.push(i);\\n    }\\n  }\\n\\n  return result;\\n}\\n\\nfizzBuzz(100).forEach(s =\u003e console.log(s))\\n\",\n  \"fileName\": \"fizzbuzz.ts\",\n  \"path\": \"\",\n  \"resolvedPath\": \"\",\n  \"originalFileName\": \"\",\n  \"languageVersion\": 99,\n  \"languageVariant\": 0,\n  \"scriptKind\": 3,\n  \"isDeclarationFile\": false,\n  \"hasNoDefaultLib\": false,\n  \"nodeCount\": 121,\n  \"identifierCount\": 31,\n  \"symbolCount\": 0,\n  \"parseDiagnostics\": [],\n  \"bindDiagnostics\": [],\n  \"pragmas\": {},\n  \"referencedFiles\": [],\n  \"typeReferenceDirectives\": [],\n  \"libReferenceDirectives\": [],\n  \"amdDependencies\": [],\n  \"identifiers\": {},\n  \"jsDocParsingMode\": 0\n}\n```\n\n\u003c/details\u003e\n\n## License\n\nThe Unlicense\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheepla%2Fts2ast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsheepla%2Fts2ast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheepla%2Fts2ast/lists"}