INNER CODE UNIT · TypeScript

get

blueshift-gg/doppler · packages/core/index.ts:167

function get(view: DataView, at: number, type: Ty): number | bigint | boolean {
  switch (type) {
    case 'u8': return view.getUint8(at);
    case 'u16': return view.getUint16(at, true);
    case 'u32': return view.getUint32(at, true);
    case 'u64': return view.getBigUint64(at, true);
    case 'i8': return view.getInt8(at);
    case 'i16': return view.getInt16(at, true);
    case 'i32': return view.getInt32(at, true);
    case 'i64': return view.getBigInt64(at, true);
    case 'bool': return view.getUint8(at) !== 0;
  }
}

function put(view: DataView, at: number, { name, type }: Slot, x: unknown): void {
  if (type === 'bool') {
    if (typeof x !== 'boolean') throw new TypeError(`${name}: expected a boolean`);
    view.setUint8(at, x ? 1 : 0);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…