Structed-based buffers
Safer Node.js Buffer API
`buffer-packer` can pack and unpack an object into/from a structured buffer in a very flexible way.
Modern Buffer API polyfill without footguns
Node.js Buffer API, for the browser
Get the byte length of an ArrayBuffer, even in engines without a `.byteLength` method.
Reads / writes floats / doubles from / to buffers in both modern and ancient browsers.
Is this value a JS ArrayBuffer?
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
Is this value a JS SharedArrayBuffer?
Get the ArrayBuffer out of a TypedArray, robustly.
Get the ArrayBuffer out of a DataView, robustly.
Determine if an object is a Buffer
Pass in a string, array, Buffer, Data View, or Uint8Array, and get a Buffer back.
JSON parse & stringify that supports binary via bops & base64
A [ponyfill](https://ponyfill.com) for `Buffer.from`, uses native implementation if available.
Binary serialization of arbitrarily complex structures that sort element-wise
A pure javascript CRC32 algorithm that plays nice with binary data
read and write binary structures and data types
Convert a typed array to a Buffer without a copy
minimal implementation of a PassThrough stream
A structuredClone polyfill
Read/write IEEE754 floating point numbers from/to a Buffer or array-like object
Byte buffer specialized for data in chunks with special cases for dropping bytes in the front, merging bytes in to various integer types and abandoning buffer without penalty for previous chunk merges.
A circular queue (also called a circular buffer or ring buffer) is useful when buffering data streams
A circular buffer, cyclic buffer or ring buffer is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end. This structure lends itself easily to buffering data streams. This library impliments such a buffer.
Leverages json_spec to test structured protocol buffers with json data modeling
FatTable is a gem that treats tables as a data type. It provides methods for constructing tables from a variety of sources, building them row-by-row, extracting rows, columns, and cells, and performing aggregate operations on columns. It also provides as set of SQL-esque methods for manipulating table objects: select for filtering by columns or for creating new columns, where for filtering by rows, order_by for sorting rows, distinct for eliminating duplicate rows, group_by for aggregating multiple rows into single rows and applying column aggregate methods to ungrouped columns, a collection of join methods for combining tables, and more. Furthermore, FatTable provides methods for formatting tables and producing output that targets various output media: text, ANSI terminals, ruby data structures, LaTeX tables, Emacs org-mode tables, and more. The formatting methods can specify cell formatting in a way that is uniform across all the output methods and can also decorate the output with any number of footers, including group footers. FatTable applies formatting directives to the extent they makes sense for the output medium and treats other formatting directives as no-ops. FatTable can be used to perform operations on data that are naturally best conceived of as tables, which in my experience is quite often. It can also serve as a foundation for providing reporting functions where flexibility about the output medium can be quite useful. Finally FatTable can be used within Emacs org-mode files in code blocks targeting the Ruby language. Org mode tables are presented to a ruby code block as an array of arrays, so FatTable can read them in with its .from_aoa constructor. A FatTable table can output as an array of arrays with its .to_aoa output function and will be rendered in an org-mode buffer as an org-table, ready for processing by other code blocks.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.