-
Notifications
You must be signed in to change notification settings - Fork 1
StdLib TypedArray
Roger Johansson edited this page Jan 14, 2026
·
1 revision
Binary data handling types for efficient numeric arrays and buffer manipulation.
Implementation Status: 100% Complete
| Category | Items | Implemented |
|---|---|---|
| TypedArray Types | 11 | 11 |
| TypedArray Methods | 40 | 40 |
| ArrayBuffer Methods | 11 | 11 |
| DataView Methods | 28 | 28 |
| Total | 90 | 90 |
| Type | Element Size | Range |
|---|---|---|
Int8Array |
1 byte | -128 to 127 |
Uint8Array |
1 byte | 0 to 255 |
Uint8ClampedArray |
1 byte | 0 to 255 (clamped) |
Int16Array |
2 bytes | -32768 to 32767 |
Uint16Array |
2 bytes | 0 to 65535 |
Int32Array |
4 bytes | -2^31 to 2^31-1 |
Uint32Array |
4 bytes | 0 to 2^32-1 |
Float32Array |
4 bytes | IEEE 754 float |
Float64Array |
8 bytes | IEEE 754 double |
BigInt64Array |
8 bytes | -2^63 to 2^63-1 |
BigUint64Array |
8 bytes | 0 to 2^64-1 |
| Method | Status | Description |
|---|---|---|
TypedArray.from(source, mapFn, thisArg) |
Implemented | Creates from iterable |
TypedArray.of(...items) |
Implemented | Creates from arguments |
TypedArray[Symbol.species] |
Implemented | Returns constructor |
| Method | Status | Description |
|---|---|---|
at(index) |
Implemented | Relative indexing |
buffer (getter) |
Implemented | Backing ArrayBuffer |
byteLength (getter) |
Implemented | Byte length |
byteOffset (getter) |
Implemented | Byte offset |
length (getter) |
Implemented | Element count |
| Method | Status | Description |
|---|---|---|
includes(value, fromIndex) |
Implemented | Checks for element |
indexOf(value, fromIndex) |
Implemented | Finds element |
lastIndexOf(value, fromIndex) |
Implemented | Finds last element |
| Method | Status | Description |
|---|---|---|
entries() |
Implemented | [index, value] iterator |
keys() |
Implemented | Index iterator |
values() |
Implemented | Value iterator |
forEach(callback, thisArg) |
Implemented | Iterates elements |
[Symbol.iterator] |
Implemented | Alias for values() |
| Method | Status | Description |
|---|---|---|
map(callback, thisArg) |
Implemented | Maps elements |
filter(callback, thisArg) |
Implemented | Filters elements |
reduce(callback, initialValue) |
Implemented | Reduces left-to-right |
reduceRight(callback, initialValue) |
Implemented | Reduces right-to-left |
find(predicate, thisArg) |
Implemented | Finds first match |
findIndex(predicate, thisArg) |
Implemented | Finds first index |
findLast(predicate, thisArg) |
Implemented | Finds last match |
findLastIndex(predicate, thisArg) |
Implemented | Finds last index |
some(callback, thisArg) |
Implemented | Tests any match |
every(callback, thisArg) |
Implemented | Tests all match |
| Method | Status | Description |
|---|---|---|
set(source, offset) |
Implemented | Sets from array |
fill(value, start, end) |
Implemented | Fills with value |
copyWithin(target, start, end) |
Implemented | Copies within |
reverse() |
Implemented | Reverses in place |
sort(compareFn) |
Implemented | Sorts in place |
| Method | Status | Description |
|---|---|---|
toReversed() |
Implemented | Returns reversed copy |
toSorted(compareFn) |
Implemented | Returns sorted copy |
toSpliced(start, deleteCount, ...items) |
Implemented | Returns spliced copy |
with(index, value) |
Implemented | Returns copy with replacement |
| Method | Status | Description |
|---|---|---|
slice(start, end) |
Implemented | Returns portion copy |
subarray(begin, end) |
Implemented | Returns view (shared buffer) |
join(separator) |
Implemented | Joins to string |
toString() |
Implemented | Shared with Array |
toLocaleString() |
Implemented | Locale string |
A fixed-length raw binary data buffer.
new ArrayBuffer(byteLength)
new ArrayBuffer(byteLength, { maxByteLength }) // Resizable (ES2024)| Method | Status | Description |
|---|---|---|
ArrayBuffer.isView(arg) |
Implemented | Checks for TypedArray/DataView |
ArrayBuffer[Symbol.species] |
Implemented | Returns constructor |
| Method | Status | Description |
|---|---|---|
byteLength (getter) |
Implemented | Buffer size |
detached (getter) |
Implemented | Detachment status |
maxByteLength (getter) |
Implemented | Max size for resizable |
resizable (getter) |
Implemented | Is resizable |
resize(newLength) |
Implemented | Resizes buffer (ES2024) |
slice(start, end) |
Implemented | Returns copy of portion |
transfer(newLength) |
Implemented | Transfers to new buffer (ES2024) |
transferToFixedLength(newLength) |
Implemented | Transfers to fixed buffer (ES2024) |
A view for reading/writing arbitrary data at any byte offset.
new DataView(buffer, byteOffset, byteLength)| Property | Status | Description |
|---|---|---|
buffer |
Implemented | Backing ArrayBuffer |
byteLength |
Implemented | View size |
byteOffset |
Implemented | View offset |
| Method | Status | Description |
|---|---|---|
getInt8(offset) |
Implemented | Read signed 8-bit |
getUint8(offset) |
Implemented | Read unsigned 8-bit |
getInt16(offset, littleEndian) |
Implemented | Read signed 16-bit |
getUint16(offset, littleEndian) |
Implemented | Read unsigned 16-bit |
getInt32(offset, littleEndian) |
Implemented | Read signed 32-bit |
getUint32(offset, littleEndian) |
Implemented | Read unsigned 32-bit |
getFloat32(offset, littleEndian) |
Implemented | Read 32-bit float |
getFloat64(offset, littleEndian) |
Implemented | Read 64-bit float |
getFloat16(offset, littleEndian) |
Implemented | Read 16-bit float (ES2024) |
getBigInt64(offset, littleEndian) |
Implemented | Read 64-bit BigInt |
getBigUint64(offset, littleEndian) |
Implemented | Read unsigned 64-bit BigInt |
| Method | Status | Description |
|---|---|---|
setInt8(offset, value) |
Implemented | Write signed 8-bit |
setUint8(offset, value) |
Implemented | Write unsigned 8-bit |
setInt16(offset, value, littleEndian) |
Implemented | Write signed 16-bit |
setUint16(offset, value, littleEndian) |
Implemented | Write unsigned 16-bit |
setInt32(offset, value, littleEndian) |
Implemented | Write signed 32-bit |
setUint32(offset, value, littleEndian) |
Implemented | Write unsigned 32-bit |
setFloat32(offset, value, littleEndian) |
Implemented | Write 32-bit float |
setFloat64(offset, value, littleEndian) |
Implemented | Write 64-bit float |
setFloat16(offset, value, littleEndian) |
Implemented | Write 16-bit float (ES2024) |
setBigInt64(offset, value, littleEndian) |
Implemented | Write 64-bit BigInt |
setBigUint64(offset, value, littleEndian) |
Implemented | Write unsigned 64-bit BigInt |
ArrayBuffers can be created with maxByteLength option and resized later.
DataView supports 16-bit floats via getFloat16/setFloat16.
Buffers can be detached via transfer(), making them unusable.
BigInt64Array and BigUint64Array work with BigInt values, not Numbers.
| File | Purpose |
|---|---|
StdLib/TypedArray/TypedArrayConstructor.cs |
Constructor |
StdLib/TypedArray/TypedArrayPrototype.cs |
Prototype methods |
StdLib/ArrayBuffer/ArrayBufferConstructor.cs |
ArrayBuffer constructor |
StdLib/ArrayBuffer/ArrayBufferPrototype.cs |
ArrayBuffer methods |
StdLib/DataView/DataViewConstructor.cs |
DataView constructor |
StdLib/DataView/DataViewPrototype.cs |
DataView methods |
JsTypes/Js*Array.cs |
TypedArray implementations |
- BigInt-Implementation - BigInt type for 64-bit arrays