UNPKG

@bare-ts/lib

Version:

TypeScript library for BARE, a compact and simple binary-serialization format

24 lines (23 loc) 869 B
//! Copyright (c) 2022 Victorien Elvinger //! Licensed under the MIT License (https://mit-license.org/) import { assert, DEV } from "../util/assert.js"; import { isU32 } from "../util/validator.js"; import { readFixedData } from "./data.js"; import { writeU8FixedArray } from "./u8-array.js"; import { readUintSafe32, writeUintSafe32 } from "./uint.js"; export function readU8ClampedArray(bc) { return readU8ClampedFixedArray(bc, readUintSafe32(bc)); } export function writeU8ClampedArray(bc, x) { writeUintSafe32(bc, x.length); writeU8ClampedFixedArray(bc, x); } export function readU8ClampedFixedArray(bc, len) { if (DEV) { assert(isU32(len)); } return new Uint8ClampedArray(readFixedData(bc, len)); } export function writeU8ClampedFixedArray(bc, x) { writeU8FixedArray(bc, new Uint8Array(x.buffer, x.byteOffset, x.byteLength)); }