uint8array-extras
proposal-zero-copy-arraybuffer-li | uint8array-extras | |
---|---|---|
2 | 1 | |
- | 198 | |
- | - | |
- | 6.4 | |
- | 4 days ago | |
JavaScript | ||
- | 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-zero-copy-arraybuffer-li
-
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
uint8array-extras
-
Goodbye, Node.js Buffer
I wonder why you would introduce an extra dependency for the base64 example. It seems more trivial than left pad.
https://github.com/sindresorhus/uint8array-extras/blob/cbf24...
What are some alternatives?
nodejs-polars - nodejs front-end of polars
patch-package - Fix broken node modules instantly 🏃🏽♀️💨
WebGL-Fluid-Simulation - Play with fluids in your browser (works even on mobile)
husky - Git hooks made easy 🐶 woof!
proposal-zero-copy-arraybuffer-list - A proposal for zero-copy ArrayBuffer lists
simplecrawler - Flexible event driven crawler for node.
arquero - Query processing and transformation of array-backed data tables.
strip-bom - Strip UTF-8 byte order mark (BOM) from a string
proposal-async-iterator-helpers - Methods for working with async iterators in ECMAScript
Prettyprint Object - Function to pretty-print an object with an ability to annotate every value.
proposal-array-from-async - Draft specification for a proposed Array.fromAsync method in JavaScript.
nodegit - Native Node bindings to Git.