JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 174
  • Score
    100M100P100Q91079F
  • License MIT

DataView utilities

Package Exports

  • @hqtsm/dataview
  • @hqtsm/dataview/f16
  • @hqtsm/dataview/float
  • @hqtsm/dataview/float/16
  • @hqtsm/dataview/i24
  • @hqtsm/dataview/int
  • @hqtsm/dataview/int/24

Readme

HQTSM: DataView

DataView utilities

dataview float16 int24 uint24

JSR npm CI

Features

  • Pure TypeScript, run anywhere
  • Zero dependencies
  • Optimized for speed and size
  • Tree shaking friendly design

Usage

Float16

import { getFloat16, setFloat16 } from '@hqtsm/dataview';

const data = new Uint8Array(4);
const view = new DataView(data.buffer);
setFloat16(view, 0, Math.PI);
setFloat16(view, 2, Math.LN10, true);
console.assert(data.join(', ') === '66, 72, 155, 64');
console.assert(getFloat16(view, 0) === 3.140625);
console.assert(getFloat16(view, 2, true) === 2.302734375);

Int24

import { getInt24, setInt24 } from '@hqtsm/dataview';

const data = new Uint8Array(6);
const view = new DataView(data.buffer);
setInt24(view, 0, -1234);
setInt24(view, 3, -4567, true);
console.assert(data.join(', ') === '255, 251, 46, 41, 238, 255');
console.assert(getInt24(view, 0) === -1234);
console.assert(getInt24(view, 3, true) === -4567);

Uint24

import { getUint24, setUint24 } from '@hqtsm/dataview';

const data = new Uint8Array(6);
const view = new DataView(data.buffer);
setUint24(view, 0, 12345678);
setUint24(view, 3, 11223344, true);
console.assert(data.join(', ') === '188, 97, 78, 48, 65, 171');
console.assert(getUint24(view, 0) === 12345678);
console.assert(getUint24(view, 3, true) === 11223344);