# mod.ts
/** doc1 */
export let a = (0);
/** doc2 */
export const b = a++;
/** doc3 */
export const c = <string> 1;
/** doc4 */
export const d = 1 as string;
/** doc5 */
export const e = await 1;
/** doc6 */
export const f = true ? "a" : 1;
/** doc7 */
export const g = (true ? "a" : null)!;
/** doc8 */
export const h = null!;
/** doc9 */
export const i = 1 == "bar";
/** doc10 */
export const j = 1 >> 1;
/** doc11 */
export const k = (value: string) => 1;

# output.txt
Defined in file:///mod.ts:2:12

let a: number
  doc1

Defined in file:///mod.ts:4:14

const b: number
  doc2

Defined in file:///mod.ts:6:14

const c: string
  doc3

Defined in file:///mod.ts:8:14

const d: string
  doc4

Defined in file:///mod.ts:10:14

const e: 1
  doc5

Defined in file:///mod.ts:12:14

const f: "a" | 1
  doc6

Defined in file:///mod.ts:14:14

const g: "a"
  doc7

Defined in file:///mod.ts:16:14

const h: never
  doc8

Defined in file:///mod.ts:18:14

const i: boolean
  doc9

Defined in file:///mod.ts:20:14

const j: number
  doc10

Defined in file:///mod.ts:22:14

const k: (value: string) => unknown
  doc11


# output.json
[
  {
    "name": "a",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 2,
      "col": 11,
      "byteIndex": 23
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc1"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "number",
        "kind": "keyword",
        "keyword": "number"
      },
      "kind": "let"
    }
  },
  {
    "name": "b",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 4,
      "col": 13,
      "byteIndex": 57
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc2"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "number",
        "kind": "keyword",
        "keyword": "number"
      },
      "kind": "const"
    }
  },
  {
    "name": "c",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 6,
      "col": 13,
      "byteIndex": 91
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc3"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "string",
        "kind": "keyword",
        "keyword": "string"
      },
      "kind": "const"
    }
  },
  {
    "name": "d",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 8,
      "col": 13,
      "byteIndex": 132
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc4"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "string",
        "kind": "keyword",
        "keyword": "string"
      },
      "kind": "const"
    }
  },
  {
    "name": "e",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 10,
      "col": 13,
      "byteIndex": 174
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc5"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "1",
        "kind": "literal",
        "literal": {
          "kind": "number",
          "number": 1.0
        }
      },
      "kind": "const"
    }
  },
  {
    "name": "f",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 12,
      "col": 13,
      "byteIndex": 212
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc6"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "",
        "kind": "union",
        "union": [
          {
            "repr": "a",
            "kind": "literal",
            "literal": {
              "kind": "string",
              "string": "a"
            }
          },
          {
            "repr": "1",
            "kind": "literal",
            "literal": {
              "kind": "number",
              "number": 1.0
            }
          }
        ]
      },
      "kind": "const"
    }
  },
  {
    "name": "g",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 14,
      "col": 13,
      "byteIndex": 257
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc7"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "a",
        "kind": "literal",
        "literal": {
          "kind": "string",
          "string": "a"
        }
      },
      "kind": "const"
    }
  },
  {
    "name": "h",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 16,
      "col": 13,
      "byteIndex": 308
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc8"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "never",
        "kind": "keyword",
        "keyword": "never"
      },
      "kind": "const"
    }
  },
  {
    "name": "i",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 18,
      "col": 13,
      "byteIndex": 344
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc9"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "boolean",
        "kind": "keyword",
        "keyword": "boolean"
      },
      "kind": "const"
    }
  },
  {
    "name": "j",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 20,
      "col": 13,
      "byteIndex": 386
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc10"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "number",
        "kind": "keyword",
        "keyword": "number"
      },
      "kind": "const"
    }
  },
  {
    "name": "k",
    "isDefault": false,
    "location": {
      "filename": "file:///mod.ts",
      "line": 22,
      "col": 13,
      "byteIndex": 424
    },
    "declarationKind": "export",
    "jsDoc": {
      "doc": "doc11"
    },
    "kind": "variable",
    "variableDef": {
      "tsType": {
        "repr": "",
        "kind": "fnOrConstructor",
        "fnOrConstructor": {
          "constructor": false,
          "tsType": {
            "repr": "unknown",
            "kind": "keyword",
            "keyword": "unknown"
          },
          "params": [
            {
              "kind": "identifier",
              "name": "value",
              "optional": false,
              "tsType": {
                "repr": "string",
                "kind": "keyword",
                "keyword": "string"
              }
            }
          ],
          "typeParams": []
        }
      },
      "kind": "const"
    }
  }
]
