const encode = (value: number): string => { value = Math.floor(value); if (value <= 23) { return value.toString(16).padStart(2, "0"); } else if (value >= 24 && value <= 255) { return `18${value.toString(16).padStart(2, "0")}`; } else if (value >= 256 && value <= 65535) { return `19${value.toString(16).padStart(4, "0")}`; } else if (value >= 65536 && value <= 4294967295) { return `1a${value.toString(16).padStart(8, "0")}`; } else if (value >= 4294967296 && value <= 18446744073709551615) { return `1b${value.toString(16).padStart(16, "0")}`; } else { throw "Int is too long, not supported."; } }; export const CborUnsigned = { encode, };