Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Type extractors for common container types #1091

Merged
merged 16 commits into from
Feb 3, 2025
Merged

Conversation

dherman
Copy link
Collaborator

@dherman dherman commented Feb 1, 2025

Implement type extractors for common container types in the standard library, so that they don't required explicit Boxed wrapping with JsBox in userland.

Implemented so far:

  • RefCell
    • impl TryIntoJs for RefCell
    • impl TryFromJs for &RefCell
    • impl TryFromJs for Ref
    • impl TryFromJs for RefMut
  • Rc
    • impl TryIntoJs for Rc
    • impl TryFromJs for Rc
  • Arc
    • impl TryIntoJs for Arc
    • impl TryFromJs for Arc

- impl TryIntoJs for RefCell
- impl TryFromJs for &RefCell
Copy link

codecov bot commented Feb 1, 2025

Codecov Report

Attention: Patch coverage is 91.17647% with 6 lines in your changes missing coverage. Please review.

Project coverage is 83.40%. Comparing base (7f4feb1) to head (052a9d5).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
crates/neon/src/types_impl/extract/container.rs 88.67% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1091      +/-   ##
==========================================
+ Coverage   83.05%   83.40%   +0.34%     
==========================================
  Files          73       74       +1     
  Lines        5472     5533      +61     
  Branches     5472     5533      +61     
==========================================
+ Hits         4545     4615      +70     
+ Misses        810      803       -7     
+ Partials      117      115       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

- impl TryIntoJs for Rc
- impl TryFromJs for Rc
- impl TryIntoJs for Arc
- impl TryFromJs for Arc
- impl TryIntoJs for Mutex
- impl TryFromJs for &Mutex
- impl TryFromJs for MutexGuard

also a couple more RefCell conveniences:
- impl TryFromJs for Ref
- impl TryFromJs for RefMut
- just use TypeExpected for type errors
- just use panic for dynamic borrow errors
- eliminate RustTypeExpected and RefCellError types completely
- eliminate Container trait
…comments, but just throw instead of a custom error type
@dherman dherman marked this pull request as ready for review February 2, 2025 23:07
@dherman dherman requested a review from kjvalencik February 2, 2025 23:07
@dherman dherman merged commit b1728fa into main Feb 3, 2025
11 checks passed
@dherman dherman deleted the container-type-extractors branch February 3, 2025 17:49
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants