---
source: crates/oxc_semantic/tests/main.rs
input_file: crates/oxc_semantic/tests/fixtures/typescript-eslint/type-declaration/mapped-named.ts
---
[
  {
    "children": [
      {
        "children": [],
        "flag": "ScopeFlags(StrictMode)",
        "id": 1,
        "node": "TSTypeAliasDeclaration",
        "symbols": []
      },
      {
        "children": [
          {
            "children": [],
            "flag": "ScopeFlags(StrictMode)",
            "id": 3,
            "node": "TSMappedType",
            "symbols": [
              {
                "flag": "SymbolFlags(TypeParameter)",
                "id": 2,
                "name": "k",
                "node": "TSTypeParameter(k)",
                "references": [
                  {
                    "flag": "ReferenceFlag(Type)",
                    "id": 1,
                    "name": "k",
                    "node_id": 17
                  },
                  {
                    "flag": "ReferenceFlag(Type)",
                    "id": 3,
                    "name": "k",
                    "node_id": 24
                  }
                ]
              }
            ]
          }
        ],
        "flag": "ScopeFlags(StrictMode)",
        "id": 2,
        "node": "TSTypeAliasDeclaration",
        "symbols": []
      }
    ],
    "flag": "ScopeFlags(StrictMode | Top)",
    "id": 0,
    "node": "Program",
    "symbols": [
      {
        "flag": "SymbolFlags(TypeAlias)",
        "id": 0,
        "name": "T",
        "node": "TSTypeAliasDeclaration",
        "references": [
          {
            "flag": "ReferenceFlag(Type)",
            "id": 2,
            "name": "T",
            "node_id": 21
          }
        ]
      },
      {
        "flag": "SymbolFlags(TypeAlias)",
        "id": 1,
        "name": "A",
        "node": "TSTypeAliasDeclaration",
        "references": []
      }
    ]
  }
]
