mirror of
https://github.com/danbulant/oxc
synced 2026-05-25 04:42:10 +00:00
refactor(transformer/jsx): Pragma::parse take a &str (#7619)
`Pragma::parse` take an `Option<&str>` instead of `Option<&String>`. Passing `&String`s to functions is an odd pattern.
This commit is contained in:
parent
2158c3851b
commit
8ad52be359
1 changed files with 8 additions and 15 deletions
|
|
@ -322,7 +322,7 @@ impl<'a> Pragma<'a> {
|
||||||
///
|
///
|
||||||
/// If provided option is invalid, raise an error and use default.
|
/// If provided option is invalid, raise an error and use default.
|
||||||
fn parse(
|
fn parse(
|
||||||
pragma: Option<&String>,
|
pragma: Option<&str>,
|
||||||
default_property_name: &'static str,
|
default_property_name: &'static str,
|
||||||
ast: AstBuilder<'a>,
|
ast: AstBuilder<'a>,
|
||||||
ctx: &TransformCtx<'a>,
|
ctx: &TransformCtx<'a>,
|
||||||
|
|
@ -386,8 +386,9 @@ impl<'a, 'ctx> JsxImpl<'a, 'ctx> {
|
||||||
if options.import_source.is_some() {
|
if options.import_source.is_some() {
|
||||||
ctx.error(diagnostics::import_source_cannot_be_set());
|
ctx.error(diagnostics::import_source_cannot_be_set());
|
||||||
}
|
}
|
||||||
let pragma = Pragma::parse(options.pragma.as_ref(), "createElement", ast, ctx);
|
let pragma = Pragma::parse(options.pragma.as_deref(), "createElement", ast, ctx);
|
||||||
let pragma_frag = Pragma::parse(options.pragma_frag.as_ref(), "Fragment", ast, ctx);
|
let pragma_frag =
|
||||||
|
Pragma::parse(options.pragma_frag.as_deref(), "Fragment", ast, ctx);
|
||||||
Bindings::Classic(ClassicBindings { pragma, pragma_frag })
|
Bindings::Classic(ClassicBindings { pragma, pragma_frag })
|
||||||
}
|
}
|
||||||
JsxRuntime::Automatic => {
|
JsxRuntime::Automatic => {
|
||||||
|
|
@ -1098,12 +1099,8 @@ mod test {
|
||||||
fn this_expr_pragma() {
|
fn this_expr_pragma() {
|
||||||
setup!(traverse_ctx, transform_ctx);
|
setup!(traverse_ctx, transform_ctx);
|
||||||
|
|
||||||
let pragma = Pragma::parse(
|
let pragma = Some("this.a.b");
|
||||||
Some(&"this.a.b".to_string()),
|
let pragma = Pragma::parse(pragma, "createElement", traverse_ctx.ast, &transform_ctx);
|
||||||
"createElement",
|
|
||||||
traverse_ctx.ast,
|
|
||||||
&transform_ctx,
|
|
||||||
);
|
|
||||||
let expr = pragma.create_expression(traverse_ctx);
|
let expr = pragma.create_expression(traverse_ctx);
|
||||||
|
|
||||||
let Expression::StaticMemberExpression(outer_member) = &expr else { panic!() };
|
let Expression::StaticMemberExpression(outer_member) = &expr else { panic!() };
|
||||||
|
|
@ -1119,12 +1116,8 @@ mod test {
|
||||||
fn import_meta_pragma() {
|
fn import_meta_pragma() {
|
||||||
setup!(traverse_ctx, transform_ctx);
|
setup!(traverse_ctx, transform_ctx);
|
||||||
|
|
||||||
let pragma = Pragma::parse(
|
let pragma = Some("import.meta.prop");
|
||||||
Some(&"import.meta.prop".to_string()),
|
let pragma = Pragma::parse(pragma, "createElement", traverse_ctx.ast, &transform_ctx);
|
||||||
"createElement",
|
|
||||||
traverse_ctx.ast,
|
|
||||||
&transform_ctx,
|
|
||||||
);
|
|
||||||
let expr = pragma.create_expression(traverse_ctx);
|
let expr = pragma.create_expression(traverse_ctx);
|
||||||
|
|
||||||
let Expression::StaticMemberExpression(member) = &expr else { panic!() };
|
let Expression::StaticMemberExpression(member) = &expr else { panic!() };
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue