byte_type icon indicating copy to clipboard operation
byte_type copied to clipboard

Feat(util): `offsetOf` and `offsetOfPacked` utility functions

Open MierenManz opened this issue 8 months ago • 0 comments

NeKzor

a util like offsetOf would be useful so I can remove my current hack.

MierenManz

@NeKzor What is your current hack and what should offsetOf do? I assume it's something like this?

const codec = new SizedStruct({ byte: u8, word: u16 });
console.log(offsetOf(codec)) // Logs `{ aligned: 4, packed: 3 }`

NeKzor

I better not post my hack because I implemented it incorrectly lol It would get the offset of a field inside a struct inspired by C++ and Rust. Something like this:

offsetOf({ byte: u8, word: u32le }, 'word'); // 4
offsetOfPacked({ byte: u8, word: u32le }, 'word'); // 1

MierenManz avatar Feb 03 '25 11:02 MierenManz