Yiyu Lin
19c3e4f6dc
refactor(serde_v8): move to thiserror
, better error output ( #18202 )
...
Ref #17318
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-04-13 02:03:56 +02:00
Luca Casonato
b99c431ac7
feat(serde_v8): support BigInt serialization ( #18225 )
...
This commit enables serializing `v8::BigInt` to `num_bigint::BigInt`
in Rust.
Pre-requisite for sub upcoming feature work.
2023-03-16 16:59:47 +00:00
David Sherret
f5840bdcd3
chore: upgrade to Rust 1.67 ( #17548 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-27 10:43:16 -05:00
Divy Srivastava
d5634164cb
chore: use rustfmt imports_granularity option ( #17421 )
...
Closes https://github.com/denoland/deno/issues/2699
Closes https://github.com/denoland/deno/issues/2347
Uses unstable rustfmt features. Since dprint invokes `rustfmt` we do not
need to switch the cargo toolchain to nightly. Do we care about
formatting stability of our codebase across Rust versions? (I don't)
2023-01-14 23:18:58 -05:00
David Sherret
10e4b2e140
chore: update copyright year to 2023 ( #17247 )
...
Yearly tradition of creating extra noise in git.
2023-01-02 21:00:42 +00:00
Jakub Łabor
7a7767262a
chore(serde_v8): Use SeqAccess in MapObjectAccess to avoid intermediate allocation ( #16137 )
...
Existing implementation builds an intermediate vector of object keys
when deserializing using `MapObjectAccess`.
This logic is already handled by `SeqAccess` which can be used directly
by `MapObjectAccess`.
2022-10-03 12:37:18 +02:00
Darshan Sen
bac3a1210f
fix(serde_v8): serialize objects with numeric keys correctly ( #15946 )
...
Signed-off-by: Darshan Sen <raisinten@gmail.com>
2022-10-02 22:18:31 +02:00
Jakub Łabor
e07b62d74a
fix(serde_v8): Implement MapAccess for StructAccess ( #15962 )
...
`StructAccess` implements` serde:🇩🇪 :SeqAccess` instead of
`serde:🇩🇪 :MapAccess` thus interpreting structs as sequences.
2022-10-02 21:50:51 +02:00
Ben Noordhuis
b1b418b81a
chore: fix clippy warnings ( #15944 )
...
Stop allowing clippy::derive-partial-eq-without-eq and fix warnings
about deriving PartialEq without also deriving Eq.
In one case I removed the PartialEq because it a) wasn't necessary,
and b) sketchy because it was comparing floating point numbers.
IMO, that's a good argument for enforcing the lint rule, because it
would most likely have been caught during review if it had been enabled.
2022-09-19 10:25:03 +02:00
Jakub Łabor
e719a02bb0
feat(serde_v8): Support StringObject as unit enum variant ( #15715 )
2022-09-02 16:49:44 +02:00
Jakub Łabor
37b32fa348
feat(serde_v8): Serialize integers as BigInt ( #15692 )
2022-09-01 16:21:28 +05:30
Arthur Silva
5d263c932f
serde_v8: improvements to avoid hitting unimplemented codepaths ( #13915 )
2022-07-28 12:46:10 +02:00
Aaron O'Mullan
67e5a850cc
feat(serde_v8): bytes::Bytes support ( #14412 )
2022-05-13 12:53:13 +02:00
Aaron O'Mullan
12f7581ed9
cleanup(serde_v8): disambiguate ZeroCopyBuf ( #14380 )
2022-04-25 16:56:47 +02:00
Aaron O'Mullan
4b7d306a19
perf(serde_v8): zero-copy StringOrBuffer ( #14381 )
2022-04-24 09:28:46 -03:00
Aaron O'Mullan
d621ce1cf0
fix(serde_v8): more robust number deserialization ( #14216 )
...
Fixes #14128
2022-04-12 14:36:21 +02:00
Aaron O'Mullan
94885bc293
experiment(serde_v8): derive_more enabled opaque wrappers ( #14096 )
2022-04-02 14:37:11 +02:00
Aaron O'Mullan
f580134b1e
cleanup(serde_v8): streamline magic types ( #14076 )
...
Formalize magic types and how they're "transerialized", also makes U16String deserializable
2022-03-23 21:15:01 +01:00
Aaron O'Mullan
94c8ecfaaa
perf(serde_v8): optimize ByteString deserialization ( #13853 )
2022-03-07 11:12:36 +01:00
Aaron O'Mullan
1cc38f5155
feat(serde_v8): deserialize ArrayBuffers ( #13436 )
...
Previously we would only deserialize `ArrayBufferView`s as zero-copy bufs
This avoids rewrapping `ArrayBuffers` in `ArrayBufferView`s when implementing APIs that take [BufferSource](https://webidl.spec.whatwg.org/#BufferSource ) args passed through the op-layer
2022-01-20 15:11:09 +01:00
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Aaron O'Mullan
12423e16b7
fix(serde_v8): support #[serde(default)] ( #13300 )
2022-01-07 13:07:58 +01:00
Luca Casonato
6af916c3f4
fix: non ascii buffer response in http server ( #12728 )
2021-11-10 16:48:46 +01:00
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04:00
Luca Casonato
be68b82eb4
chore: update to rusty_v8 0.33.0 ( #12564 )
2021-10-27 23:26:15 +02:00
Aaron O'Mullan
783b4da48a
feat(serde_v8): StringOrBuffer ( #12503 )
2021-10-20 15:40:20 +02:00
Aaron O'Mullan
4f48efcc55
chore: return serde_v8 to main repo ( #12500 )
...
Reduces fragmentation, avoids version drift and facilitates coordinating serde_v8 and op-layer changes
2021-10-20 00:00:45 +02:00
Bartek Iwańczuk
e75ffab0c8
chore: move serde_v8 to separate repo ( #10909 )
...
Now available at https://github.com/denoland/serde_v8
2021-06-09 20:37:43 +02:00
Aaron O'Mullan
4e6790a5fa
feat(serde_v8): ZeroCopyBuf ( #10432 )
...
Bidirectional zero-copy serialization of buffers between v8 & rust
that can be nested in structs/tuples/etc.
2021-04-30 08:42:09 -04:00
Aaron O'Mullan
fec1b2a5a4
refactor: new optimized op-layer using serde_v8 ( #9843 )
...
- Improves op performance.
- Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs
per op-encoding (aka: out-of-payload).
- Remove shared queue & custom "asyncHandlers", all async values are
returned in batches via js_recv_cb.
- The op-layer should be thought of as simple function calls with little
indirection or translation besides the conceptually straightforward
serde_v8 bijections.
- Preserve concepts of json/bin/min as semantic groups of their
inputs/outputs instead of their op-encoding strategy, preserving these
groups will also facilitate partial transitions over to v8 Fast API for the
"min" and "bin" groups
2021-03-31 10:37:38 -04:00
Divy Srivastava
00468bceff
chore: fix clippy warning in serde_v8. ( #9917 )
2021-03-28 17:09:46 +02:00
Aaron O'Mullan
fa67aeb026
chore: add Deno copyright headers to all rust files ( #9909 )
2021-03-27 01:26:27 +01:00
Aaron O'Mullan
3d2e05dc7b
Introduce serde_v8 ( #9722 )
2021-03-25 22:36:46 -04:00