summaryrefslogtreecommitdiff
path: root/serde_v8/tests
AgeCommit message (Collapse)Author
2023-07-02refactor(core): Extract deno_core (#19658)Matt Mastracci
`deno_core` is moving out! You'll find it at https://github.com/denoland/deno_core/ once this PR lands.
2023-06-24refactor: remove remaining references to ZeroCopyBuf (#19598)Bartek Iwańczuk
2023-06-23fix(serde_v8): Do not coerce values in serde_v8 (#19569)Divy Srivastava
Fixes #19568 Values are not coerced to the desired type during deserialisation. This makes serde_v8 stricter. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-06-22refactor(serde_v8): split ZeroCopyBuf into JsBuffer and ToJsBuffer (#19566)Bartek Iwańczuk
`ZeroCopyBuf` was convenient to use, but sometimes it did hide details that some copies were necessary in certain cases. Also it made it way to easy for the caller to pass around and convert into different values. This commit splits `ZeroCopyBuf` into `JsBuffer` (an array buffer coming from V8) and `ToJsBuffer` (a Rust buffer that will be converted into a V8 array buffer). As a result some magical conversions were removed (they were never used) limiting the API surface and preparing for changes in #19534.
2023-04-27chore: upgrade rusty_v8 to 0.71.0 (#18868)Bartek Iwańczuk
2023-04-27feat(serde_v8): better error output (#18815)Bartek Iwańczuk
The type that was received is now printed as part of a message.
2023-04-13refactor(serde_v8): move to `thiserror`, better error output (#18202)Yiyu Lin
Ref #17318 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-16feat(serde_v8): support BigInt serialization (#18225)Luca Casonato
This commit enables serializing `v8::BigInt` to `num_bigint::BigInt` in Rust. Pre-requisite for sub upcoming feature work.
2023-01-27chore: upgrade to Rust 1.67 (#17548)David Sherret
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-14chore: use rustfmt imports_granularity option (#17421)Divy Srivastava
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-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-10-03chore(serde_v8): Use SeqAccess in MapObjectAccess to avoid intermediate ↵Jakub Łabor
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-02fix(serde_v8): serialize objects with numeric keys correctly (#15946)Darshan Sen
Signed-off-by: Darshan Sen <raisinten@gmail.com>
2022-10-02fix(serde_v8): Implement MapAccess for StructAccess (#15962)Jakub Łabor
`StructAccess` implements` serde::de::SeqAccess` instead of `serde::de::MapAccess` thus interpreting structs as sequences.
2022-09-19chore: fix clippy warnings (#15944)Ben Noordhuis
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-02feat(serde_v8): Support StringObject as unit enum variant (#15715)Jakub Łabor
2022-09-01feat(serde_v8): Serialize integers as BigInt (#15692)Jakub Łabor
2022-07-28serde_v8: improvements to avoid hitting unimplemented codepaths (#13915)Arthur Silva
2022-05-13feat(serde_v8): bytes::Bytes support (#14412)Aaron O'Mullan
2022-04-25cleanup(serde_v8): disambiguate ZeroCopyBuf (#14380)Aaron O'Mullan
2022-04-24perf(serde_v8): zero-copy StringOrBuffer (#14381)Aaron O'Mullan
2022-04-12fix(serde_v8): more robust number deserialization (#14216)Aaron O'Mullan
Fixes #14128
2022-04-02experiment(serde_v8): derive_more enabled opaque wrappers (#14096)Aaron O'Mullan
2022-03-23cleanup(serde_v8): streamline magic types (#14076)Aaron O'Mullan
Formalize magic types and how they're "transerialized", also makes U16String deserializable
2022-03-07perf(serde_v8): optimize ByteString deserialization (#13853)Aaron O'Mullan
2022-01-20feat(serde_v8): deserialize ArrayBuffers (#13436)Aaron O'Mullan
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-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07fix(serde_v8): support #[serde(default)] (#13300)Aaron O'Mullan
2021-11-10fix: non ascii buffer response in http server (#12728)Luca Casonato
2021-11-02chore: update to Rust edition 2021 (#12578)Bartek Iwańczuk
2021-10-27chore: update to rusty_v8 0.33.0 (#12564)Luca Casonato
2021-10-20feat(serde_v8): StringOrBuffer (#12503)Aaron O'Mullan
2021-10-20chore: return serde_v8 to main repo (#12500)Aaron O'Mullan
Reduces fragmentation, avoids version drift and facilitates coordinating serde_v8 and op-layer changes
2021-06-09chore: move serde_v8 to separate repo (#10909)Bartek Iwańczuk
Now available at https://github.com/denoland/serde_v8
2021-04-30feat(serde_v8): ZeroCopyBuf (#10432)Aaron O'Mullan
Bidirectional zero-copy serialization of buffers between v8 & rust that can be nested in structs/tuples/etc.
2021-03-31refactor: new optimized op-layer using serde_v8 (#9843)Aaron O'Mullan
- 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-28chore: fix clippy warning in serde_v8. (#9917)Divy Srivastava
2021-03-27chore: add Deno copyright headers to all rust files (#9909)Aaron O'Mullan
2021-03-25Introduce serde_v8 (#9722)Aaron O'Mullan