utilium 2.3.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buffer.d.ts +7 -9
- package/dist/buffer.js +23 -8
- package/package.json +1 -1
package/dist/buffer.d.ts
CHANGED
@@ -229,21 +229,19 @@ export interface TypedArrayConstructor {
|
|
229
229
|
*/
|
230
230
|
export declare function extendBuffer<T extends ArrayBufferLike | ArrayBufferView>(buffer: T, newByteLength: number): T;
|
231
231
|
export declare function toUint8Array(buffer: ArrayBufferLike | ArrayBufferView): Uint8Array;
|
232
|
+
/**
|
233
|
+
* @hidden @deprecated
|
234
|
+
*/
|
232
235
|
export declare function initView<T extends ArrayBufferLike = ArrayBuffer>(view: Mutable<ArrayBufferView<T> & {
|
233
236
|
BYTES_PER_ELEMENT?: number;
|
234
237
|
}>, buffer?: T | ArrayBufferView<T> | ArrayLike<number> | number, byteOffset?: number, byteLength?: number): void;
|
235
|
-
/**
|
236
|
-
export declare class BufferView<T extends ArrayBufferLike =
|
237
|
-
|
238
|
-
readonly byteOffset: number;
|
239
|
-
readonly byteLength: number;
|
240
|
-
constructor(
|
241
|
-
/** The buffer, view, or byte length to create the view from */
|
242
|
-
buffer?: T | ArrayBufferView<T> | ArrayLike<number> | number, byteOffset?: number, byteLength?: number);
|
238
|
+
/** A generic view of an array buffer */
|
239
|
+
export declare class BufferView<T extends ArrayBufferLike = ArrayBuffer> extends DataView<T> implements ArrayBufferView<T> {
|
240
|
+
constructor(_buffer?: T | ArrayBufferView<T> | ArrayLike<number> | number, _byteOffset?: number, _byteLength?: number);
|
243
241
|
}
|
244
242
|
/** Creates a fixed-size array of a buffer view type */
|
245
243
|
export declare function BufferViewArray<T extends ArrayBufferViewConstructor>(element: T, size: number): {
|
246
|
-
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(
|
244
|
+
new <TArrayBuffer extends ArrayBufferLike = ArrayBuffer>(_buffer?: TArrayBuffer | ArrayBufferView<TArrayBuffer> | ArrayLike<number>, _byteOffset?: number, _byteLength?: number): {
|
247
245
|
[n: number]: any;
|
248
246
|
readonly BYTES_PER_ELEMENT: number;
|
249
247
|
readonly buffer: TArrayBuffer;
|
package/dist/buffer.js
CHANGED
@@ -37,6 +37,9 @@ export function toUint8Array(buffer) {
|
|
37
37
|
return new Uint8Array(buffer);
|
38
38
|
return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
39
39
|
}
|
40
|
+
/**
|
41
|
+
* @hidden @deprecated
|
42
|
+
*/
|
40
43
|
export function initView(view, buffer, byteOffset, byteLength) {
|
41
44
|
if (typeof buffer == 'number') {
|
42
45
|
view.buffer = new ArrayBuffer(buffer);
|
@@ -70,25 +73,37 @@ export function initView(view, buffer, byteOffset, byteLength) {
|
|
70
73
|
u8[i] = buffer[i];
|
71
74
|
}
|
72
75
|
}
|
73
|
-
/**
|
74
|
-
export class BufferView {
|
75
|
-
constructor(
|
76
|
-
|
77
|
-
|
78
|
-
initView(this, buffer, byteOffset, byteLength);
|
76
|
+
/** A generic view of an array buffer */
|
77
|
+
export class BufferView extends DataView {
|
78
|
+
constructor(_buffer, _byteOffset, _byteLength) {
|
79
|
+
const { buffer, byteOffset, byteLength } = new Uint8Array(_buffer, _byteOffset, _byteLength);
|
80
|
+
super(buffer, byteOffset, byteLength);
|
79
81
|
}
|
80
82
|
}
|
83
|
+
for (const key of Object.getOwnPropertyNames(DataView.prototype)) {
|
84
|
+
if (!key.startsWith('get') && !key.startsWith('set'))
|
85
|
+
continue;
|
86
|
+
Object.defineProperty(BufferView.prototype, key, {
|
87
|
+
value: () => {
|
88
|
+
throw new ReferenceError('Do not use DataView methods on a BufferView.');
|
89
|
+
},
|
90
|
+
writable: false,
|
91
|
+
enumerable: false,
|
92
|
+
configurable: false,
|
93
|
+
});
|
94
|
+
}
|
81
95
|
BufferView;
|
82
96
|
/** Creates a fixed-size array of a buffer view type */
|
83
97
|
export function BufferViewArray(element, size) {
|
84
98
|
return class BufferViewArray extends Array {
|
85
99
|
BYTES_PER_ELEMENT = size;
|
86
|
-
constructor(
|
100
|
+
constructor(_buffer, _byteOffset, _byteLength) {
|
101
|
+
const { buffer, byteOffset, byteLength } = new Uint8Array(_buffer, _byteOffset, _byteLength);
|
87
102
|
const length = (byteLength ?? size) / size;
|
88
103
|
if (!Number.isSafeInteger(length))
|
89
104
|
throw new Error('Invalid array length: ' + length);
|
90
105
|
super(length);
|
91
|
-
|
106
|
+
Object.assign(this, { buffer, byteOffset, byteLength });
|
92
107
|
for (let i = 0; i < length; i++) {
|
93
108
|
this[i] = new element(this.buffer, this.byteOffset + i * size, size);
|
94
109
|
}
|