biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsExpressionStatement {
            expression: JsNumberLiteralExpression {
                value_token: JS_NUMBER_LITERAL@0..1 "5" [] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsBooleanLiteralExpression {
                value_token: TRUE_KW@1..6 "true" [Newline("\n")] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsBooleanLiteralExpression {
                value_token: FALSE_KW@6..12 "false" [Newline("\n")] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsBigintLiteralExpression {
                value_token: JS_BIGINT_LITERAL@12..15 "5n" [Newline("\n")] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStringLiteralExpression {
                value_token: JS_STRING_LITERAL@15..21 "\"foo\"" [Newline("\n")] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStringLiteralExpression {
                value_token: JS_STRING_LITERAL@21..27 "'bar'" [Newline("\n")] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsNullLiteralExpression {
                value_token: NULL_KW@27..32 "null" [Newline("\n")] [],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsSequenceExpression {
                left: JsSequenceExpression {
                    left: JsSequenceExpression {
                        left: JsNumberLiteralExpression {
                            value_token: JS_NUMBER_LITERAL@32..34 "0" [Newline("\n")] [],
                        },
                        comma_token: COMMA@34..36 "," [] [Whitespace(" ")],
                        right: JsNumberLiteralExpression {
                            value_token: JS_NUMBER_LITERAL@36..39 "0.0" [] [],
                        },
                    },
                    comma_token: COMMA@39..41 "," [] [Whitespace(" ")],
                    right: JsBigintLiteralExpression {
                        value_token: JS_BIGINT_LITERAL@41..43 "0n" [] [],
                    },
                },
                comma_token: COMMA@43..45 "," [] [Whitespace(" ")],
                right: JsNumberLiteralExpression {
                    value_token: JS_NUMBER_LITERAL@45..49 "0e00" [] [],
                },
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsStringLiteralExpression {
                value_token: JS_STRING_LITERAL@49..66 "\"test\\\nnew-line\"" [Newline("\n")] [],
            },
            semicolon_token: SEMICOLON@66..67 ";" [] [],
        },
        JsExpressionStatement {
            expression: JsRegexLiteralExpression {
                value_token: JS_REGEX_LITERAL@67..103 "/^[يفمئامئ\u{200d}ئاسۆند]/i" [Newline("\n")] [],
            },
            semicolon_token: SEMICOLON@103..125 ";" [] [Whitespace(" "), Comments("//regex with unicode")],
        },
        JsExpressionStatement {
            expression: JsRegexLiteralExpression {
                value_token: JS_REGEX_LITERAL@125..150 "/[\\p{Control}--[\\t\\n]]/v" [Newline("\n")] [],
            },
            semicolon_token: SEMICOLON@150..151 ";" [] [],
        },
        JsExpressionStatement {
            expression: JsRegexLiteralExpression {
                value_token: JS_REGEX_LITERAL@151..158 "/\\’/" [Newline("\n")] [],
            },
            semicolon_token: SEMICOLON@158..211 ";" [] [Whitespace(" "), Comments("// regex with escaped ...")],
        },
    ],
    eof_token: EOF@211..212 "" [Newline("\n")] [],
}

0: JS_MODULE@0..212
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..211
    0: JS_EXPRESSION_STATEMENT@0..1
      0: JS_NUMBER_LITERAL_EXPRESSION@0..1
        0: JS_NUMBER_LITERAL@0..1 "5" [] []
      1: (empty)
    1: JS_EXPRESSION_STATEMENT@1..6
      0: JS_BOOLEAN_LITERAL_EXPRESSION@1..6
        0: TRUE_KW@1..6 "true" [Newline("\n")] []
      1: (empty)
    2: JS_EXPRESSION_STATEMENT@6..12
      0: JS_BOOLEAN_LITERAL_EXPRESSION@6..12
        0: FALSE_KW@6..12 "false" [Newline("\n")] []
      1: (empty)
    3: JS_EXPRESSION_STATEMENT@12..15
      0: JS_BIGINT_LITERAL_EXPRESSION@12..15
        0: JS_BIGINT_LITERAL@12..15 "5n" [Newline("\n")] []
      1: (empty)
    4: JS_EXPRESSION_STATEMENT@15..21
      0: JS_STRING_LITERAL_EXPRESSION@15..21
        0: JS_STRING_LITERAL@15..21 "\"foo\"" [Newline("\n")] []
      1: (empty)
    5: JS_EXPRESSION_STATEMENT@21..27
      0: JS_STRING_LITERAL_EXPRESSION@21..27
        0: JS_STRING_LITERAL@21..27 "'bar'" [Newline("\n")] []
      1: (empty)
    6: JS_EXPRESSION_STATEMENT@27..32
      0: JS_NULL_LITERAL_EXPRESSION@27..32
        0: NULL_KW@27..32 "null" [Newline("\n")] []
      1: (empty)
    7: JS_EXPRESSION_STATEMENT@32..49
      0: JS_SEQUENCE_EXPRESSION@32..49
        0: JS_SEQUENCE_EXPRESSION@32..43
          0: JS_SEQUENCE_EXPRESSION@32..39
            0: JS_NUMBER_LITERAL_EXPRESSION@32..34
              0: JS_NUMBER_LITERAL@32..34 "0" [Newline("\n")] []
            1: COMMA@34..36 "," [] [Whitespace(" ")]
            2: JS_NUMBER_LITERAL_EXPRESSION@36..39
              0: JS_NUMBER_LITERAL@36..39 "0.0" [] []
          1: COMMA@39..41 "," [] [Whitespace(" ")]
          2: JS_BIGINT_LITERAL_EXPRESSION@41..43
            0: JS_BIGINT_LITERAL@41..43 "0n" [] []
        1: COMMA@43..45 "," [] [Whitespace(" ")]
        2: JS_NUMBER_LITERAL_EXPRESSION@45..49
          0: JS_NUMBER_LITERAL@45..49 "0e00" [] []
      1: (empty)
    8: JS_EXPRESSION_STATEMENT@49..67
      0: JS_STRING_LITERAL_EXPRESSION@49..66
        0: JS_STRING_LITERAL@49..66 "\"test\\\nnew-line\"" [Newline("\n")] []
      1: SEMICOLON@66..67 ";" [] []
    9: JS_EXPRESSION_STATEMENT@67..125
      0: JS_REGEX_LITERAL_EXPRESSION@67..103
        0: JS_REGEX_LITERAL@67..103 "/^[يفمئامئ\u{200d}ئاسۆند]/i" [Newline("\n")] []
      1: SEMICOLON@103..125 ";" [] [Whitespace(" "), Comments("//regex with unicode")]
    10: JS_EXPRESSION_STATEMENT@125..151
      0: JS_REGEX_LITERAL_EXPRESSION@125..150
        0: JS_REGEX_LITERAL@125..150 "/[\\p{Control}--[\\t\\n]]/v" [Newline("\n")] []
      1: SEMICOLON@150..151 ";" [] []
    11: JS_EXPRESSION_STATEMENT@151..211
      0: JS_REGEX_LITERAL_EXPRESSION@151..158
        0: JS_REGEX_LITERAL@151..158 "/\\’/" [Newline("\n")] []
      1: SEMICOLON@158..211 ";" [] [Whitespace(" "), Comments("// regex with escaped ...")]
  4: EOF@211..212 "" [Newline("\n")] []