biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsImport {
            import_token: IMPORT_KW@0..7 "import" [] [Whitespace(" ")],
            import_clause: JsImportDefaultClause {
                type_token: missing (optional),
                default_specifier: JsDefaultImportSpecifier {
                    local_name: JsIdentifierBinding {
                        name_token: IDENT@7..9 "a" [] [Whitespace(" ")],
                    },
                },
                from_token: FROM_KW@9..14 "from" [] [Whitespace(" ")],
                source: JsModuleSource {
                    value_token: JS_STRING_LITERAL@14..17 "\"b\"" [] [],
                },
                assertion: missing (optional),
            },
            semicolon_token: SEMICOLON@17..18 ";" [] [],
        },
        JsExport {
            decorators: JsDecoratorList [],
            export_token: EXPORT_KW@18..26 "export" [Newline("\n")] [Whitespace(" ")],
            export_clause: JsExportNamedClause {
                type_token: missing (optional),
                l_curly_token: L_CURLY@26..28 "{" [] [Whitespace(" ")],
                specifiers: JsExportNamedSpecifierList [
                    JsExportNamedShorthandSpecifier {
                        type_token: missing (optional),
                        name: JsReferenceIdentifier {
                            value_token: IDENT@28..30 "a" [] [Whitespace(" ")],
                        },
                    },
                ],
                r_curly_token: R_CURLY@30..31 "}" [] [],
                semicolon_token: SEMICOLON@31..32 ";" [] [],
            },
        },
        JsExpressionStatement {
            expression: JsCallExpression {
                callee: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@32..34 "c" [Newline("\n")] [],
                    },
                },
                optional_chain_token: missing (optional),
                type_arguments: missing (optional),
                arguments: JsCallArguments {
                    l_paren_token: L_PAREN@34..35 "(" [] [],
                    args: JsCallArgumentList [],
                    r_paren_token: R_PAREN@35..36 ")" [] [],
                },
            },
            semicolon_token: SEMICOLON@36..37 ";" [] [],
        },
        JsImport {
            import_token: IMPORT_KW@37..45 "import" [Newline("\n")] [Whitespace(" ")],
            import_clause: JsImportNamedClause {
                type_token: missing (optional),
                named_specifiers: JsNamedImportSpecifiers {
                    l_curly_token: L_CURLY@45..47 "{" [] [Whitespace(" ")],
                    specifiers: JsNamedImportSpecifierList [
                        JsShorthandNamedImportSpecifier {
                            type_token: missing (optional),
                            local_name: JsIdentifierBinding {
                                name_token: IDENT@47..49 "c" [] [Whitespace(" ")],
                            },
                        },
                    ],
                    r_curly_token: R_CURLY@49..51 "}" [] [Whitespace(" ")],
                },
                from_token: FROM_KW@51..56 "from" [] [Whitespace(" ")],
                source: JsModuleSource {
                    value_token: JS_STRING_LITERAL@56..59 "\"c\"" [] [],
                },
                assertion: missing (optional),
            },
            semicolon_token: SEMICOLON@59..60 ";" [] [],
        },
    ],
    eof_token: EOF@60..61 "" [Newline("\n")] [],
}

0: JS_MODULE@0..61
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..60
    0: JS_IMPORT@0..18
      0: IMPORT_KW@0..7 "import" [] [Whitespace(" ")]
      1: JS_IMPORT_DEFAULT_CLAUSE@7..17
        0: (empty)
        1: JS_DEFAULT_IMPORT_SPECIFIER@7..9
          0: JS_IDENTIFIER_BINDING@7..9
            0: IDENT@7..9 "a" [] [Whitespace(" ")]
        2: FROM_KW@9..14 "from" [] [Whitespace(" ")]
        3: JS_MODULE_SOURCE@14..17
          0: JS_STRING_LITERAL@14..17 "\"b\"" [] []
        4: (empty)
      2: SEMICOLON@17..18 ";" [] []
    1: JS_EXPORT@18..32
      0: JS_DECORATOR_LIST@18..18
      1: EXPORT_KW@18..26 "export" [Newline("\n")] [Whitespace(" ")]
      2: JS_EXPORT_NAMED_CLAUSE@26..32
        0: (empty)
        1: L_CURLY@26..28 "{" [] [Whitespace(" ")]
        2: JS_EXPORT_NAMED_SPECIFIER_LIST@28..30
          0: JS_EXPORT_NAMED_SHORTHAND_SPECIFIER@28..30
            0: (empty)
            1: JS_REFERENCE_IDENTIFIER@28..30
              0: IDENT@28..30 "a" [] [Whitespace(" ")]
        3: R_CURLY@30..31 "}" [] []
        4: SEMICOLON@31..32 ";" [] []
    2: JS_EXPRESSION_STATEMENT@32..37
      0: JS_CALL_EXPRESSION@32..36
        0: JS_IDENTIFIER_EXPRESSION@32..34
          0: JS_REFERENCE_IDENTIFIER@32..34
            0: IDENT@32..34 "c" [Newline("\n")] []
        1: (empty)
        2: (empty)
        3: JS_CALL_ARGUMENTS@34..36
          0: L_PAREN@34..35 "(" [] []
          1: JS_CALL_ARGUMENT_LIST@35..35
          2: R_PAREN@35..36 ")" [] []
      1: SEMICOLON@36..37 ";" [] []
    3: JS_IMPORT@37..60
      0: IMPORT_KW@37..45 "import" [Newline("\n")] [Whitespace(" ")]
      1: JS_IMPORT_NAMED_CLAUSE@45..59
        0: (empty)
        1: JS_NAMED_IMPORT_SPECIFIERS@45..51
          0: L_CURLY@45..47 "{" [] [Whitespace(" ")]
          1: JS_NAMED_IMPORT_SPECIFIER_LIST@47..49
            0: JS_SHORTHAND_NAMED_IMPORT_SPECIFIER@47..49
              0: (empty)
              1: JS_IDENTIFIER_BINDING@47..49
                0: IDENT@47..49 "c" [] [Whitespace(" ")]
          2: R_CURLY@49..51 "}" [] [Whitespace(" ")]
        2: FROM_KW@51..56 "from" [] [Whitespace(" ")]
        3: JS_MODULE_SOURCE@56..59
          0: JS_STRING_LITERAL@56..59 "\"c\"" [] []
        4: (empty)
      2: SEMICOLON@59..60 ";" [] []
  4: EOF@60..61 "" [Newline("\n")] []