[
{
"kind": "Function",
"name": "foo",
"snippet": "export function foo(a: string, b: number): void",
"location": {
"filename": "./test.ts",
"line": 10,
"col": 0
},
"jsDoc": "/**\n * Hello there, this is a multiline JSdoc.\n * \n * It has many lines\n * \n * Or not that many?\n */",
"functionDef": {
"args": [],
"return_type": {
"repr": "void"
},
"is_async": false,
"is_generator": false
}
},
{
"kind": "Function",
"name": "bar",
"snippet": "export function bar(a: string, b: number): void",
"location": {
"filename": "./test.ts",
"line": 15,
"col": 0
},
"jsDoc": "/** This is single line JSdoc */",
"functionDef": {
"args": [],
"return_type": {
"repr": "void"
},
"is_async": false,
"is_generator": false
}
},
{
"kind": "Class",
"name": "Foobar",
"snippet": "export class Foobar extends Fizz implements Buzz",
"location": {
"filename": "./test.ts",
"line": 20,
"col": 0
},
"jsDoc": "/** Class doc */",
"classDef": {
"constructors": [],
"properties": [],
"methods": []
}
},
{
"kind": "Variable",
"name": "<TODO>",
"snippet": "export const fizzBuzz: string = \"fizzBuzz\";",
"location": {
"filename": "./test.ts",
"line": 41,
"col": 0
},
"jsDoc": "/** Something about fizzBuzz */"
},
{
"kind": "Interface",
"name": "Reader",
"snippet": "export interface Reader {\n /** Read n bytes */\n read(buf: Uint8Array, something: unknown): Promise<number>\n}",
"location": {
"filename": "./test.ts",
"line": 46,
"col": 0
},
"jsDoc": "/**\n * Interface js doc\n */",
"interfaceDef": {}
},
{
"kind": "TypeAlias",
"name": "NumberArray",
"snippet": "export type NumberArray = Array<number>;",
"location": {
"filename": "./test.ts",
"line": 52,
"col": 0
},
"jsDoc": "/** Array holding numbers */",
"typeAliasDef": {}
},
{
"kind": "Enum",
"name": "Hello",
"snippet": "export enum Hello {\n World = \"world\",\n Fizz = \"fizz\",\n Buzz = \"buzz\",\n}",
"location": {
"filename": "./test.ts",
"line": 57,
"col": 0
},
"jsDoc": "/**\n * Some enum for good measure\n */",
"enumDef": {
"members": [
{
"name": "World"
},
{
"name": "Fizz"
},
{
"name": "Buzz"
}
]
}
}
]