structurae
Advanced tools
Comparing version 4.0.0-pre.12 to 4.0.0-pre.13
@@ -24,3 +24,3 @@ import type { BitFieldConstructor } from "./bit-field-types.js"; | ||
export declare function BitFieldMixin<T extends Record<K, number>, K extends keyof T>(schema: T): BitFieldConstructor<K>; | ||
declare const _BitField: BitFieldConstructor<0 | 2 | 1 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 22 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30, number>; | ||
declare const _BitField: BitFieldConstructor<0 | 2 | 1 | 22 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30, number>; | ||
export { _BitField as BitField }; |
@@ -1,34 +0,1 @@ | ||
{ | ||
"main": "index.js", | ||
"name": "structurae", | ||
"version": "4.0.0-pre.12", | ||
"type": "module", | ||
"description": "Data structures for performance-sensitive modern JavaScript applications.", | ||
"keywords": [ | ||
"optimization", | ||
"binary", | ||
"binary protocol", | ||
"data structures", | ||
"sorted", | ||
"array", | ||
"bitfield", | ||
"bigint", | ||
"graph", | ||
"matrix", | ||
"heap", | ||
"list", | ||
"adjacency" | ||
], | ||
"author": "Maga D. Zandaqo <denelxan@gmail.com> (http://maga.name)", | ||
"license": "MIT", | ||
"files": ["*.js", "*.js.map", "*.d.ts"], | ||
"dependencies": {}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/zandaqo/structurae.git" | ||
}, | ||
"homepage": "https://github.com/zandaqo/structurae#readme", | ||
"bugs": { "url": "https://github.com/zandaqo/structurae/issues" }, | ||
"engines": { "node": ">=14.0.0" }, | ||
"devDependencies": {} | ||
} | ||
{"main":"index.js","name":"structurae","version":"4.0.0-pre.13","type":"module","description":"Data structures for performance-sensitive modern JavaScript applications.","keywords":["optimization","binary","binary protocol","data structures","sorted","array","bitfield","bigint","graph","matrix","heap","list","adjacency"],"author":"Maga D. Zandaqo <denelxan@gmail.com> (http://maga.name)","license":"MIT","files":["*.js","*.js.map","*.d.ts"],"dependencies":{},"repository":{"type":"git","url":"https://github.com/zandaqo/structurae.git"},"homepage":"https://github.com/zandaqo/structurae#readme","bugs":{"url":"https://github.com/zandaqo/structurae/issues"},"engines":{"node":">=14.0.0"},"devDependencies":{}} |
@@ -9,34 +9,27 @@ # Structurae | ||
- [Binary Protocol](https://github.com/zandaqo/structurae#binary-protocol) - | ||
simple binary protocol based on DataView and defined with JSONSchema | ||
- Bit Structures: | ||
- [BitField & BigBitField](https://github.com/zandaqo/structurae#BitField) - | ||
stores and operates on data in Numbers and BigInts treating them as | ||
bitfields. | ||
- [BitArray](https://github.com/zandaqo/structurae#BitArray) - an array of | ||
bits implemented with Uint32Array. | ||
- [Pool](https://github.com/zandaqo/structurae#Pool) - manages availability of | ||
objects in object pools. | ||
- [RankedBitArray](https://github.com/zandaqo/structurae#RankedBitArray) - | ||
extends BitArray with O(1) time rank and O(logN) select methods. | ||
- [Graphs](https://github.com/zandaqo/structurae#Graphs): | ||
- [Adjacency Structures](https://github.com/zandaqo/structurae#Adjacency-Structures) - | ||
implement adjacency list & matrix data structures. | ||
- [Graph](https://github.com/zandaqo/structurae#Graph) - extends an adjacency | ||
list/matrix structure and provides methods for traversal (BFS, DFS), | ||
pathfinding (Dijkstra, Bellman-Ford), spanning tree construction (BFS, | ||
Prim), etc. | ||
- [Grids](https://github.com/zandaqo/structurae#Grids): | ||
- [BinaryGrid](https://github.com/zandaqo/structurae#BinaryGrid) - creates a | ||
grid or 2D matrix of bits. | ||
- [Grid](https://github.com/zandaqo/structurae#Grid) - extends built-in | ||
indexed collections to handle 2 dimensional data (e.g. nested arrays). | ||
- [SymmetricGrid](https://github.com/zandaqo/structurae#SymmetricGrid) - a | ||
grid to handle symmetric or triangular matrices using half the space | ||
required for a normal grid. | ||
- [Sorted Structures](https://github.com/zandaqo/structurae#sorted-structures): | ||
- [BinaryHeap](https://github.com/zandaqo/structurae#BinaryHeap) - extends | ||
Array to implement the Binary Heap data structure. | ||
- [SortedArray](https://github.com/zandaqo/structurae#SortedArray) - extends | ||
Array to handle sorted data. | ||
- **[Binary Protocol](#binary-protocol)** - simple binary protocol based on | ||
DataView and defined with JSONSchema | ||
- **[Bit Structures](#bit-structures)**: | ||
- [BitField & BigBitField](#bitfield--bigbitfield) - stores and operates on | ||
data in Numbers and BigInts treating them as bitfields. | ||
- [BitArray](#bitArray) - an array of bits implemented with Uint32Array. | ||
- [Pool](#pool) - manages availability of objects in object pools. | ||
- [RankedBitArray](#rankedbitarray) - extends BitArray with O(1) time rank and | ||
O(logN) select methods. | ||
- **[Graphs](#graphs)**: | ||
- [Adjacency Structures](#adjacency-structures) - implement adjacency list & | ||
matrix data structures. | ||
- [Graph](#graph) - extends an adjacency list/matrix structure and provides | ||
methods for traversal (BFS, DFS), pathfinding (Dijkstra, Bellman-Ford), | ||
spanning tree construction (BFS, Prim), etc. | ||
- **[Grids](#grids)**: | ||
- [BinaryGrid](#binarygrid) - creates a grid or 2D matrix of bits. | ||
- [Grid](#grid) - extends built-in indexed collections to handle 2 dimensional | ||
data (e.g. nested arrays). | ||
- [SymmetricGrid](#symmetricgrid) - a grid to handle symmetric or triangular | ||
matrices using half the space required for a normal grid. | ||
- **[Sorted Structures](#sorted-structures)**: | ||
- [BinaryHeap](#binaryheap) - extends Array to implement the Binary Heap data | ||
structure. | ||
- [SortedArray](#sortedarray) - extends Array to handle sorted data. | ||
@@ -43,0 +36,0 @@ ## Usage |
@@ -78,4 +78,4 @@ export class StringView extends DataView { | ||
const valueLength = value.length; | ||
const byteLength = length ?? valueLength << 1; | ||
if (byteLength > 200) { | ||
const byteLength = length ?? (valueLength << 1) + valueLength; | ||
if (byteLength > 300) { | ||
({ written } = this.encoder.encodeInto(value, new Uint8Array(view.buffer, view.byteOffset + start, length))); | ||
@@ -82,0 +82,0 @@ } |
Sorry, the diff of this file is not supported yet
536202
1003