From cc4d8bfa84736a398c38a8ed099b049c87b6bf52 Mon Sep 17 00:00:00 2001 From: lghuahua <877312980@qq.com> Date: Wed, 22 Jan 2025 12:10:26 +0800 Subject: [PATCH] fix(napi-derive): enable tuple fields to support js_name attribute (#2439) Co-authored-by: LongYinan --- crates/macro/src/parser/mod.rs | 7 ++++++- .../__tests__/__snapshots__/values.spec.ts.md | 2 +- .../__snapshots__/values.spec.ts.snap | Bin 6285 -> 6317 bytes examples/napi/index.d.cts | 2 +- examples/napi/src/object.rs | 2 +- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/macro/src/parser/mod.rs b/crates/macro/src/parser/mod.rs index 3bcc780b..430b9d4a 100644 --- a/crates/macro/src/parser/mod.rs +++ b/crates/macro/src/parser/mod.rs @@ -992,7 +992,12 @@ fn convert_fields( ), syn::Member::Named(ident.clone()), ), - None => (format!("field{}", i), syn::Member::Unnamed(i.into())), + None => ( + field_opts + .js_name() + .map_or_else(|| format!("field{}", i), |(js_name, _)| js_name.to_owned()), + syn::Member::Unnamed(i.into()), + ), }; let ignored = field_opts.skip().is_some(); diff --git a/examples/napi/__tests__/__snapshots__/values.spec.ts.md b/examples/napi/__tests__/__snapshots__/values.spec.ts.md index 489617dc..8d9f4f53 100644 --- a/examples/napi/__tests__/__snapshots__/values.spec.ts.md +++ b/examples/napi/__tests__/__snapshots__/values.spec.ts.md @@ -878,7 +878,7 @@ Generated by [AVA](https://avajs.dev). }␊ ␊ export interface TupleObject {␊ - field0: number␊ + customField: number␊ field1: number␊ }␊ ␊ diff --git a/examples/napi/__tests__/__snapshots__/values.spec.ts.snap b/examples/napi/__tests__/__snapshots__/values.spec.ts.snap index 2761331e5c3d72474ad66cef61b80e86fe40d309..60d6bf371e223f9fa885da0fe7a5cf10115bd304 100644 GIT binary patch literal 6317 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 literal 6285 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 D2M{;2 diff --git a/examples/napi/index.d.cts b/examples/napi/index.d.cts index 03c1f68d..57a4f9be 100644 --- a/examples/napi/index.d.cts +++ b/examples/napi/index.d.cts @@ -841,7 +841,7 @@ export interface TsTypeChanged { } export interface TupleObject { - field0: number + customField: number field1: number } diff --git a/examples/napi/src/object.rs b/examples/napi/src/object.rs index af0bc228..312a1d42 100644 --- a/examples/napi/src/object.rs +++ b/examples/napi/src/object.rs @@ -147,7 +147,7 @@ fn return_object_only_to_js() -> ObjectOnlyToJs { } #[napi(object)] -pub struct TupleObject(pub u32, pub u32); +pub struct TupleObject(#[napi(js_name = "customField")] pub u32, pub u32); #[napi(object)] pub struct Data<'s> {