690 Commits

Author SHA1 Message Date
sandr01d
e5a314d833 refactor: fix clippy lints (#455) 2025-11-05 13:57:57 -03:00
NyxCode
e4d53689aa Add environment variable to configure binding for large integers (#448)
* add env variable to configure binding for large ints

* avoid LazyLock to keep MSRV
2025-10-17 09:12:52 -03:00
Gustavo Shigueo
57e44b103f Ignore serde(crate = ...) (#447) 2025-10-14 21:28:10 +02:00
NyxCode
1dce529709 bump version, add changelog (#445) 2025-10-14 05:06:36 +02:00
Gustavo Shigueo
9e6d9b2ea9 Fix build with format feature (#438)
* Update dprint-plugin-typescript

* Separate default for readability

* Add the format feature to an e2e test

* Update MSRV

* pin dprint-plugin-typescript version

* revert MSRV to 1.78

* temporarily disable MSRV check using --all-features

---------

Co-authored-by: Moritz Bischof <moritz.bischof1@gmail.com>
2025-10-14 04:50:11 +02:00
Gustavo Shigueo
b7d8cae2a4 Add #[ts(repr(enum)] attribute (#425)
* Add tests for #[ts(repr(enum))]

* Parse repr(enum)

* Properly format enum variants with repr(enum)

* Inform DerivedTS that it must use the enum keyword instead of type

* Forbid inlining enums

* Generate enum declaration

* Update CHANGELOG

* Add docs

* Add validation

* Ensure enum variant name is always valid

* Update dependencies

* Fix formatting

* Remove invalid use statement

* Fix missing import

* Revert dprint version

* Move validation to assert_validity

* repr enums cannot be generic

* Test rename_all with repr(enum)

* Add inlining tests

* Inline repr(enum)

* Ignore discriminant when using `repr(enum = name)`

* Revert dependencies

* Revert cargo.lock
2025-10-14 04:34:10 +02:00
Gustavo Shigueo
e63739daa5 Add optional_fields to enum (#432)
* Add optional_fields to enum

* Allow variants to override enum optional_fields

* Add test overriding nullable to true

* Revert Optional::or

* Properly handle enum variant `optional_fields`
2025-10-07 20:38:06 +02:00
Rajin Braynard
754878dd63 Updated chrono Duration emitted type (#434) 2025-09-08 15:22:16 -03:00
Gustavo Shigueo
8251c3cf7c Replace import-esm with TS_RS_IMPORT_EXTENSION (#423)
* Replace import-esm with TS_RS_IMPORT_EXTENSION

* Restore import-esm

* Print deprecation warning
2025-08-20 20:38:53 -03:00
Gustavo Shigueo
f63dd5fbc4 Make rename_all compatible with tuple and unit structs as a no-op attribute (#422) 2025-07-08 08:28:29 -03:00
NyxCode
3bd4124bd1 release v11.0.1 (#417) 2025-06-05 07:13:17 +02:00
NyxCode
dc2892f441 fix regression: #[ts(optional)] incompatible with #[ts(type = ...)] (#416) 2025-06-04 08:47:33 -03:00
NyxCode
a7b73a50f8 release v11.0.0 (#413) 2025-06-03 18:00:07 +02:00
Andrei Nesterov
6075bd1bc3 Handle serde(skip_serializing_if) + serde(default) (#393)
* `skip_serializing_if` assumes that object’s field may not exist

* update implementation to match the two special-cases mentioned

* fix comment

* update README.md

* Run cargo +nightly fmt to attempt to resolve merge conflict

* update changelog

* fix typo in emitted compiler errors

* add missing functionality to test, add TODOs

* implement #[ts(optional)] for tuple structs

* avoid triggering TS1257

* implement override

* adjust docs, add one more test

* adjust docs

* clarify comment on optional::apply

* typo

---------

Co-authored-by: Moritz Bischof <moritz.bischof1@gmail.com>
Co-authored-by: gustavo-shigueo <gustavo.gsmn@gmail.com>
2025-06-03 17:34:23 +02:00
Gustavo Shigueo
5a448a25be Allow #[ts(flatten)] for fields of type HashMap (#406)
* Add test

* Implement inline_flattened

* Update changelog

* Add missing comma

* Update HashMap flattenning

* Update test
2025-06-03 13:48:34 +02:00
NyxCode
0dbaa5efab Allow arbitrary expressions in #[doc] (#411) 2025-05-30 11:58:10 -03:00
Gustavo Shigueo
315bed8f3f Remove duplicate validation (#404)
* Remove duplicated validation of struct attributes

* Fix clippy warnings

* Revert MSRV break
2025-05-30 00:17:43 +02:00
NyxCode
40b82771c8 Allow arbitrary expressions in #[ts(export_to)] (#399) 2025-04-04 18:17:03 -03:00
NyxCode
f64db436e8 Allow arbitrary expressions in top-level #[ts(rename)] (#398) 2025-04-04 15:07:41 -03:00
Gustavo Shigueo
6b234149fb Merge same path imports (#392) 2025-04-03 12:00:05 -03:00
Gustavo Shigueo
7b7ec40669 Handle serde fail gracefully (#389) 2025-04-03 11:50:10 -03:00
Gustavo Shigueo
ee2240db94 Prevent naming collisions with <T as crate::TS> (#386) 2025-03-06 17:55:08 -03:00
Gustavo Shigueo
594fa3027a Fix top level #[ts(as = "...")] dependency list (#385) 2025-03-06 17:07:23 -03:00
ValiuchenkoVladyslav
ccb1b14229 remove lazy_static (#373) 2025-02-22 12:54:49 -03:00
Gustavo Shigueo
278dd37c45 Add MSRV test to CI (#381) 2025-02-22 12:20:15 -03:00
Gustavo Shigueo
ad0f22917e Add #[ts(optional)] to struct (#366)
* Parse #[ts(optional_fields)] on structs
* compile-time checked `#[ts(optional)]` (#367)
* #[ts(type)] overrides #[ts(optional_fields)]
* Make #[ts(type)] and #[ts(optional)] incompatible
* Update MSRV

---------

Co-authored-by: NyxCode <moritz.bischof1@gmail.com>
2025-02-21 09:19:05 -03:00
NyxCode
0ba56be43a Release v10.1 (#372)
* prepare v10.1

* cargo update

* bump thiserror to v2
2024-12-01 15:49:48 +01:00
Gustavo Shigueo
64382968c5 Fix empty struct tagged enum variant (#371) 2024-11-25 13:24:21 -03:00
Sebastian Martinez
93aec35cef Fix typo in docs for #[ts(rename_all_fields)] (#368) 2024-11-13 09:23:32 -03:00
Gustavo Shigueo
0ff3c816ed Add generated type to README (#365) 2024-11-03 11:25:15 -03:00
Dessalines
592898a764 Add cargo test export_bindings to README (#363) 2024-11-03 11:11:21 -03:00
Joris Kleiber
4aea173270 feat: add support for tokio (#353) 2024-10-10 08:42:10 -03:00
NyxCode
5504e9f9bf include null in serde_json::Value (#359) 2024-10-08 08:08:07 -03:00
Guillaume Deconinck
51a7a87a54 feat(serde-json-impl): handle bool for serde_json::Value (#358) 2024-10-07 14:26:18 +02:00
Moritz Bischof
a05cd36679 release v10.0 2024-09-19 21:46:02 +02:00
escritorio-gustavo
9763ca0195 Support #[ts(as = "...")] and #[ts(type = "...")] on enum variants (#284)
Co-authored-by: Gustavo Shigueo <gustavo.gsmn@gmail.com>
2024-09-16 16:57:57 -03:00
Gustavo Shigueo
6651d920cb Fix smol_str-impl feature name in lib.rs 2024-09-07 15:13:21 -03:00
Gustavo Shigueo
fb47428d23 Fix smol_str-impl feature name in test 2024-09-07 14:28:03 -03:00
Gustavo Shigueo
61a6d6a1fd Fix smol_str-impl feature name 2024-09-07 14:25:34 -03:00
Corvin Paul
7577aca5d2 feature: support smol_str (#350) 2024-09-07 10:44:20 -03:00
Gustavo Shigueo
78591a2831 Always use forward slash on import paths (#346) 2024-08-09 08:43:22 -03:00
escritorio-gustavo
5cbc7405d8 feat: Allow multiple types to set #[ts(export_to = "...")] to the same file (#316)
---------

Co-authored-by: gustavo-shigueo <gustavo.gsmn@gmail.com>
2024-08-01 18:15:19 -03:00
Gustavo Shigueo
5c3b8c9457 Fix error in internally tagged enums with flattened fields (#344) 2024-07-27 12:19:47 -03:00
gustavo-shigueo
7ee0cbc570 Update CHANGELOG 2024-07-25 15:41:25 -03:00
gustavo-shigueo
61f1c9c663 Run cargo fmt 2024-07-25 15:34:02 -03:00
Gustavo Shigueo
e08161c790 Fix JSDoc formatting for Rust block comments (#342) 2024-07-25 15:20:38 -03:00
Shaun Hamilton
e268437ffd feat: add bson ObjectId impl (#340)
Co-authored-by: gustavo-shigueo <gustavo.gsmn@gmail.com>
2024-07-24 12:45:54 -03:00
Gustavo Shigueo
68f2f2252a Change HashMap to export mapped types (#339) 2024-07-05 14:47:18 -03:00
NyxCode
af15ff92d7 Allow for flattening of generic parameters (#336) 2024-06-28 02:07:52 +02:00
NyxCode
96487d4afa Merge pull request #331 from Aleph-Alpha/release-v9
Release v9.0.0
2024-06-20 19:04:19 +02:00