@ndn/util
Version:
NDNts: general utilities
25 lines (24 loc) • 683 B
JavaScript
function asArrayBufferView(T, a) {
if (a instanceof T) {
return a;
}
if ("buffer" in a) {
return new T(a.buffer, a.byteOffset, a.byteLength);
}
return new T(a);
}
/** Convert (Shared)ArrayBuffer(View) to Uint8Array. */
export function asUint8Array(a) {
return asArrayBufferView(Uint8Array, a);
}
/** Convert (Shared)ArrayBuffer(View) to DataView. */
export function asDataView(a) {
return asArrayBufferView(DataView, a);
}
/** Convert Uint8Array<(Shared)ArrayBuffer> to Uint8Array<ArrayBuffer>. */
export function asBufferSource(a) {
if (a.buffer instanceof ArrayBuffer) {
return a;
}
return new Uint8Array(a);
}