1const std = @import("std");
2const string = []const u8;
3const extras = @import("./lib.zig");
4const parseDigits = extras.parseDigits;
5
6pub fn from_hex(array: anytype) [array.len / 2]u8 {
7 var result: [array.len / 2]u8 = undefined;
8 for (0..array.len / 2) |i| result[i] = parseDigits(u8, array[i * 2 ..][0..2], 16) catch unreachable;
9 return result;
10}
11
12test {
13 try std.testing.expectEqualSlices(
14 u8,
15 &.{ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30 },
16 &from_hex("3132333435363738393031323334353637383930"),
17 );
18}