import { alias, metadata, subarray, slice, change, same, clone, describe, coerceWrites } from "./values.js"; const storage = new ArrayBuffer(12); const bytes = new Uint8Array(storage, 3, 6); bytes[0] = 11; const stored: Uint8Array = alias(bytes); console.log(stored === bytes, same(bytes, bytes), same(bytes, bytes.subarray(0))); metadata(stored, storage); change(stored, 0, 37); console.log(bytes[0], stored[0]); const view: Uint8Array = subarray(stored, 1, 4); console.log(view.byteOffset, view.byteLength, view.buffer === storage); view[0] = 19; console.log(bytes[1]); const independent: Uint8Array = slice(stored, 1, 4); independent[0] = 99; console.log(independent.buffer !== storage, bytes[1], independent[0]); const copied: Uint8Array = clone(stored); copied[0] = 55; console.log(copied !== bytes, copied.buffer !== storage, bytes[0], copied[0]); const buffer = Buffer.alloc(6); buffer[0] = 3; const bufferView: Uint8Array = slice(buffer, 0, 2); bufferView[0] = 17; console.log(buffer[0], bufferView[0]); const retained: Uint8Array = alias(new Uint8Array([4, 5, 6])); console.log(retained[0], retained[1], retained[2]); coerceWrites(retained); describe(Buffer.from("hi")); describe(new Uint8Array([104, 105])); describe(clone(Buffer.from("hi"))); describe(slice(Buffer.from("hi"), 0, 1));