# mod.ts
class Album {
}
namespace Album {
  export class Label {}
}

enum Color {
  red,
  green,
  blue,
}
namespace Color {
  export function mixColor(colorName: string) {
    // ...etc...
  }
}

function Test() {
}
namespace Test {
  export function other() {}
}

export { Album, Color, Test };

# output
file:///mod.ts: EsModuleInfo {
    module_id: ModuleId(
        0,
    ),
    specifier: "file:///mod.ts",
    re_exports: [],
    swc_id_to_symbol_id: {
        (
            "Album",
            #2,
        ): 1,
        (
            "Label",
            #3,
        ): 2,
        (
            "Color",
            #2,
        ): 3,
        (
            "mixColor",
            #4,
        ): 4,
        (
            "Test",
            #2,
        ): 5,
        (
            "other",
            #7,
        ): 6,
    },
    symbols: {
        0: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 0,
            parent_id: None,
            decls: [
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "class Album {\n}\nnamespace Album {\n  export class Label {}\n}\n\nenum Color {\n  red,\n  green,\n  blue,\n}\nnamespace Color {\n  export function mixColor(colorName: string) {\n    // ...etc...\n  }\n}\n\nfunction Test() {\n}\nnamespace Test {\n  export function other() {}\n}\n\nexport { Album, Color, Test };",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            0,
                        ),
                        end: SourcePos(
                            289,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {
                1,
                3,
                5,
            },
            exports: {
                "Album": 7,
                "Color": 8,
                "Test": 9,
            },
            members: {},
        },
        1: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 1,
            parent_id: Some(
                0,
            ),
            decls: [
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "class Album {\n}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            0,
                        ),
                        end: SourcePos(
                            15,
                        ),
                    },
                    flags: 0,
                },
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "namespace Album {\n  export class Label {}\n}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            16,
                        ),
                        end: SourcePos(
                            59,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {
                2,
            },
            exports: {
                "Label": 2,
            },
            members: {},
        },
        2: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 2,
            parent_id: Some(
                1,
            ),
            decls: [
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "export class Label {}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            36,
                        ),
                        end: SourcePos(
                            57,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {},
            exports: {},
            members: {},
        },
        3: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 3,
            parent_id: Some(
                0,
            ),
            decls: [
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "enum Color {\n  red,\n  green,\n  blue,\n}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            61,
                        ),
                        end: SourcePos(
                            99,
                        ),
                    },
                    flags: 0,
                },
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "namespace Color {\n  export function mixColor(colorName: string) {\n    // ...etc...\n  }\n}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            100,
                        ),
                        end: SourcePos(
                            188,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {
                4,
            },
            exports: {
                "mixColor": 4,
            },
            members: {},
        },
        4: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 4,
            parent_id: Some(
                3,
            ),
            decls: [
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "export function mixColor(colorName: string) {\n    // ...etc...\n  }",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            120,
                        ),
                        end: SourcePos(
                            186,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {},
            exports: {},
            members: {},
        },
        5: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 5,
            parent_id: Some(
                0,
            ),
            decls: [
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "function Test() {\n}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            190,
                        ),
                        end: SourcePos(
                            209,
                        ),
                    },
                    flags: 0,
                },
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "namespace Test {\n  export function other() {}\n}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            210,
                        ),
                        end: SourcePos(
                            257,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {
                6,
            },
            exports: {
                "other": 6,
            },
            members: {},
        },
        6: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 6,
            parent_id: Some(
                5,
            ),
            decls: [
                SymbolDecl {
                    kind: Definition(
                        SymbolNode(
                            "export function other() {}",
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            229,
                        ),
                        end: SourcePos(
                            255,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {},
            exports: {},
            members: {},
        },
        7: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 7,
            parent_id: Some(
                0,
            ),
            decls: [
                SymbolDecl {
                    kind: Target(
                        (
                            "Album",
                            #2,
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            268,
                        ),
                        end: SourcePos(
                            273,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {},
            exports: {},
            members: {},
        },
        8: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 8,
            parent_id: Some(
                0,
            ),
            decls: [
                SymbolDecl {
                    kind: Target(
                        (
                            "Color",
                            #2,
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            275,
                        ),
                        end: SourcePos(
                            280,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {},
            exports: {},
            members: {},
        },
        9: Symbol {
            module_id: ModuleId(
                0,
            ),
            symbol_id: 9,
            parent_id: Some(
                0,
            ),
            decls: [
                SymbolDecl {
                    kind: Target(
                        (
                            "Test",
                            #2,
                        ),
                    ),
                    range: SourceRange {
                        start: SourcePos(
                            282,
                        ),
                        end: SourcePos(
                            286,
                        ),
                    },
                    flags: 0,
                },
            ],
            child_ids: {},
            exports: {},
            members: {},
        },
    },
}
== export definitions ==
[Album]: file:///mod.ts:0..15
  class Album {
  }
file:///mod.ts:16..59
  namespace Album {
    export class Label {}
  }
[Color]: file:///mod.ts:61..99
  enum Color {
    red,
  ...
    blue,
  }
file:///mod.ts:100..188
  namespace Color {
    export function mixColor(colorName: string) {
  ...
    }
  }
[Test]: file:///mod.ts:190..209
  function Test() {
  }
file:///mod.ts:210..257
  namespace Test {
    export function other() {}
  }
