proposal-resizablearraybuffer
proposal-zero-copy-arraybuffer-list
proposal-resizablearraybuffer | proposal-zero-copy-arraybuffer-list | |
---|---|---|
6 | 2 | |
157 | 2 | |
- | - | |
0.0 | 6.0 | |
6 months ago | 7 months ago | |
HTML | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
proposal-resizablearraybuffer
-
Goodbye, Node.js Buffer
Nit: "fixed-length" is no longer true as of very recently [1].
[1] https://github.com/tc39/proposal-resizablearraybuffer
-
Updates from the 98th TC39 meeting
Resizable ArrayBuffer: Resizable and growable ArrayBuffers.
-
What Is The Importance Of A Buffer Size in .alloc()?
Stage 3 Draft linked above https://tc39.es/proposal-resizablearraybuffer/. Implemented in Chrome and Chromium.
-
Deno Joins TC39
This is a great news! Good luck, Luca!
> Better support for explicit resource management
+1
Since everyone is making feature requests, I'd like to point out `ArrayBuffer.transfer`[1] -- ability to effectively move data without copying would do wonders for low-level/high-performance code in JS.
[1] https://github.com/tc39/proposal-resizablearraybuffer
-
Updates from 78th meeting of TC39
Resizable ArrayBuffers
proposal-zero-copy-arraybuffer-list
-
Goodbye, Node.js Buffer
Yeah, in your case I think most of the complexity is actually on the ReadableStream side, not the base64 side.
The thing that I'd actually want for your case is either a TransformStream for byte stream <-> base64 stream (which I expect will come eventually, once the simple case gets done), or something which would let you read the entire stream into Uint8Array or ArrayBuffer, which is a long-standing suggestion [1].
---
> Why does de-chunking a byte array need to be complicated
Keep in mind the concat proposal is _very_ early. If you think it would be useful to be able to concat Uint8Arrays and have that implicitly concatenate the underlying buffers, [2] is the place to open an issue.
---
> You have made me realize I don't even know what the right venue is to vote on stuff. How should I signal to TC39 that e.g. Array.fromAsync is a good idea?
Unfortunately, it's different places for different things. Streams are not TC39 at all; the right place for suggestions there is in the WHATWG streams repo [3]. Usually there's already an existing issue and you can add your use case as a comment in the relevant issue. TC39 proposals all have their own Github repositories, and you can open a new issue with your use case.
Concrete use cases are much more helpful than just "this is a good idea". Though `fromAsync` in particular everyone agrees is good, and it mostly just needs implementations, which are ongoing; see e.g. [4]. If you _really_ want to advance a stage 3 proposal, you can contribute a PR to Chrome or Firefox with an implementation - but for nontrivial proposals that's usually hard. For TC39 in particular, use cases are only really valuable pre-stage-3 proposals.
[1] https://github.com/whatwg/streams/issues/1019
[2] https://github.com/jasnell/proposal-zero-copy-arraybuffer-li...
[3] https://github.com/whatwg/streams
[4] https://bugs.chromium.org/p/v8/issues/detail?id=13321
What are some alternatives?
simpatico - Simpatico is an umbrella term for several data-structures and algorithms written in JavaScript
WebGL-Fluid-Simulation - Play with fluids in your browser (works even on mobile)
nodejs-polars - nodejs front-end of polars
arquero - Query processing and transformation of array-backed data tables.
proposal-source-phase-imports - Proposal to enable importing modules at the source phase
proposal-arraybuffer-base64 - TC39 proposal for Uint8Array<->base64/hex
proposal-import-assertions - Proposal for syntax to import ES modules with assertions [Moved to: https://github.com/tc39/proposal-import-attributes]
falcon - Brushing and linking for big data
proposal-class-static-block - ECMAScript class static initialization blocks
RegExp.escape - Proposal for investigating RegExp escaping for the ECMAScript standard
proposal-async-iterator-helpers - Methods for working with async iterators in ECMAScript