Skip to content

Commit 14136e8

Browse files
committed
fix(estree): raw: null in ESTree AST for generated BooleanLiterals
1 parent 8993e89 commit 14136e8

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

crates/oxc_ast/src/ast/literal.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use oxc_syntax::number::{BigintBase, NumberBase};
2020
#[ast(visit)]
2121
#[derive(Debug, Clone)]
2222
#[generate_derive(CloneIn, GetSpan, GetSpanMut, ContentEq, ContentHash, ESTree)]
23-
#[estree(type = "Literal", via = crate::serialize::ESTreeLiteral, add_ts = "raw: string")]
23+
#[estree(type = "Literal", via = crate::serialize::ESTreeLiteral, add_ts = "raw: string | null")]
2424
pub struct BooleanLiteral {
2525
/// Node location in source code
2626
pub span: Span,

crates/oxc_ast/src/serialize.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ pub struct ESTreeLiteral<'a, T> {
3232

3333
impl From<&BooleanLiteral> for ESTreeLiteral<'_, bool> {
3434
fn from(lit: &BooleanLiteral) -> Self {
35-
Self {
36-
span: lit.span,
37-
value: lit.value,
38-
raw: Some(if lit.value { "true" } else { "false" }),
39-
bigint: None,
40-
regex: None,
41-
}
35+
let raw = if lit.span.is_unspanned() {
36+
None
37+
} else {
38+
Some(if lit.value { "true" } else { "false" })
39+
};
40+
41+
Self { span: lit.span, value: lit.value, raw, bigint: None, regex: None }
4242
}
4343
}
4444

npm/oxc-types/types.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
export interface BooleanLiteral extends Span {
55
type: 'Literal';
66
value: boolean;
7-
raw: string;
7+
raw: string | null;
88
}
99

1010
export interface NullLiteral extends Span {

0 commit comments

Comments
 (0)