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
Bartek Iwańczuk
c59f90d01f
chore: upgrade to Rust 1.57.0 ( #12968 )
2021-12-04 14:19:06 +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
c27ef0ac7b
perf(http): encode string bodies in op-layer ( #12451 )
...
Using serde_v8's StringOrBuffer
2021-10-26 22:00:01 +02:00
Aaron O'Mullan
f250faaf05
feat(serde_v8): allow all values to deserialize to unit type ( #12504 )
2021-10-20 23:17:12 +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
eb56186e44
fix(serde_v8): remove intentional deserialization error on non-utf8 strings ( #10156 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-05-19 20:45:48 +02:00
Tim Ramlot
635253bd3a
feat(runtime/worker): Structured cloning worker message passing ( #9323 )
...
This commit upgrade "Worker.postMessage()" implementation to use
structured clone algorithm instead of non-spec compliant JSON serialization.
2021-05-11 21:09:09 +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
Yoshiya Hinosawa
8424647d22
chore: update copyright headers ( #10243 )
2021-04-20 14:27:36 +09:00
Aaron O'Mullan
167f017ca0
refactor(core): move SerializablePkg to serde_v8 ( #10231 )
2021-04-19 15:19:49 +02:00
Aaron O'Mullan
2538de9ced
refactor(serde_v8): move magic code to subfolder and minor cleanup ( #10230 )
2021-04-18 14:55:41 +02:00
Aaron O'Mullan
043021cbd3
lint(serde_v8): fix "inconsistent struct constructor" ( #10227 )
2021-04-18 14:35:06 +02:00
Aaron O'Mullan
5f2a83f563
perf(serde_v8): preallocate vector when serializing arrays ( #9955 )
2021-04-04 15:04:35 +02:00
Aaron O'Mullan
84e1df3ce2
perf(serde_v8): drop need for EscapableHandleScope ( #9990 )
...
This is another improvement to serde_v8's serialization code,
it drops the need for creating a v8::EscapableHandleScope or "subscope".
2021-04-04 02:03:57 +02:00
Aaron O'Mullan
19d0e6b671
perf(serde_v8): introduce Serializable boxable object ( #9983 )
2021-04-04 01:17:02 +02:00
Aaron O'Mullan
878599ca7c
perf(serde_v8): drop need for RC in serializer ( #9987 )
...
Which substantially improves the performance of to_v8()
by removing Rc's overhead (extra allocs, drops, checks, etc...)
2021-04-04 00:42:16 +02:00
Aaron O'Mullan
105c0ee3b4
perf(serde_v8/de): implement SeqAccess size_hint ( #9975 )
2021-04-02 20:12:10 -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
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