{
  "programs": [
    "Program {\n    span: 24..1659,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 638..654,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 628..661,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 608..661,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 689..704,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 679..711,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 659..711,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 740..759,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 730..800,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 709..800,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Throw(\n    ThrowStmt {\n        span: 795..819,\n        arg: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 24..87,\n        ident: Ident {\n            span: 29..42,\n            sym: \"PrimitiveName\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 79..136,\n        ident: Ident {\n            span: 88..105,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 128..185,\n        ident: Ident {\n            span: 137..154,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 177..236,\n        ident: Ident {\n            span: 186..203,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 228..307,\n        ident: Ident {\n            span: 237..254,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 299..378,\n        ident: Ident {\n            span: 308..325,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 370..447,\n        ident: Ident {\n            span: 379..396,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 439..538,\n        ident: Ident {\n            span: 448..465,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 530..830,\n        ident: Ident {\n            span: 539..556,\n            sym: \"getFalsyPrimitive\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 845..904,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 845..894,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 899..950,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 899..940,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 945..990,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 945..988,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 821..997,\n        declare: false,\n        global: false,\n        namespace: true,\n        id: Ident(\n            Ident {\n                span: 831..838,\n                sym: \"Consts1\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 992..1031,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 992..1031,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1026..1065,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1026..1065,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1060..1103,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1060..1103,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1098..1144,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1098..1138,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1139..1187,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1139..1181,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1182..1230,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1182..1224,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1225..1294,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1225..1283,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1309..1366,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1309..1356,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1361..1410,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1361..1400,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1405..1457,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1405..1446,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1452..1506,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1452..1496,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1501..1556,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1501..1546,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1551..1606,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1551..1596,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1601..1656,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1601..1654,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 1285..1659,\n        declare: false,\n        global: false,\n        namespace: true,\n        id: Ident(\n            Ident {\n                span: 1295..1302,\n                sym: \"Consts2\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 106..107,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 155..156,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 204..205,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 255..256,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 326..327,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 397..398,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 466..467,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 557..558,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 851..863,\n        sym: \"EMPTY_STRING\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 864..894,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 905..909,\n        sym: \"ZERO\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 910..940,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 951..956,\n        sym: \"FALSE\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 957..988,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 998..1004,\n        sym: \"string\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1032..1038,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1066..1073,\n        sym: \"boolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1104..1118,\n        sym: \"stringOrNumber\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1119..1138,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1145..1160,\n        sym: \"stringOrBoolean\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1161..1181,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1188..1203,\n        sym: \"booleanOrNumber\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1204..1224,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1231..1254,\n        sym: \"stringOrBooleanOrNumber\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1255..1283,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1315..1327,\n        sym: \"EMPTY_STRING\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1328..1356,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1367..1371,\n        sym: \"ZERO\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1372..1400,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1411..1416,\n        sym: \"FALSE\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1417..1446,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1458..1459,\n        sym: \"a\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1460..1496,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1507..1508,\n        sym: \"b\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1509..1546,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1557..1558,\n        sym: \"c\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1559..1596,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1607..1608,\n        sym: \"d\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1609..1654,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 612..613,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 618..626,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 614..627,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 645..647,\n            value: \"\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 663..664,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 669..677,\n            value: \"number\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 665..678,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 696..697,\n            value: 0.0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 713..714,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 719..728,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 715..729,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 747..752,\n            value: false,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 801..816,\n            value: \"Invalid value\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 866..883,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 884..892,\n            value: \"string\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 883..894,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 912..929,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 930..938,\n            value: \"number\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 929..940,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 959..976,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 977..986,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 976..988,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1017..1025,\n            value: \"string\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1051..1059,\n            value: \"number\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1087..1096,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1121..1127,\n        sym: \"string\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1131..1137,\n        sym: \"number\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1128..1138,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1163..1169,\n        sym: \"string\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1173..1180,\n        sym: \"boolean\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1170..1181,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1206..1212,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1216..1223,\n        sym: \"boolean\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1213..1224,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1257..1272,\n        sym: \"stringOrBoolean\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1276..1282,\n        sym: \"number\",\n    },\n)",
    "Binary(\n    BinaryExpr {\n        span: 1273..1283,\n        op: LogicalOr,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1330..1347,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1348..1354,\n        sym: \"string\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1347..1356,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1374..1391,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1392..1398,\n        sym: \"number\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1391..1400,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1419..1436,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1437..1444,\n        sym: \"boolean\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1436..1446,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1462..1479,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1480..1494,\n        sym: \"stringOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1479..1496,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1511..1528,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1529..1544,\n        sym: \"stringOrBoolean\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1528..1546,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1561..1578,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1579..1594,\n        sym: \"booleanOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1578..1596,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1611..1628,\n        sym: \"getFalsyPrimitive\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1629..1652,\n        sym: \"stringOrBooleanOrNumber\",\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1628..1654,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Lit(\n    Str(\n        StrLit {\n            span: 45..53,\n            value: \"string\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 56..64,\n            value: \"number\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 67..76,\n            value: \"boolean\",\n        },\n    ),\n)",
    "Union(\n    TsUnionType {\n        span: 45..77,\n        types: [\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ]
}
