Query String parser with JS integration

Former-commit-id: 8542778c30e9757fa87514f46ff5086d7c8f6bfa
This commit is contained in:
Jarred Sumner
2021-08-06 23:28:13 -07:00
parent 6e4da63abe
commit 4b1f89114e
9 changed files with 866 additions and 8 deletions

View File

@@ -444,6 +444,18 @@ pub fn sortDesc(in: []string) void {
std.sort.sort([]const u8, in, {}, cmpStringsDesc);
}
pub fn isASCIIHexDigit(c: u8) bool {
return std.ascii.isDigit(c) or std.ascii.isXDigit(c);
}
pub fn toASCIIHexValue(character: u8) u8 {
std.debug.assert(isASCIIHexDigit(character));
return switch (character) {
0...('A' - 1) => character - '0',
else => (character - 'A' + 10) & 0xF,
};
}
pub fn utf8ByteSequenceLength(first_byte: u8) u3 {
// The switch is optimized much better than a "smart" approach using @clz
return switch (first_byte) {