mirror of
https://github.com/oven-sh/bun
synced 2026-02-14 04:49:06 +00:00
Most of the ESM resolution algorithm (still untested)
This commit is contained in:
@@ -23,10 +23,27 @@ pub inline fn indexAny(in: anytype, target: string) ?usize {
|
||||
return null;
|
||||
}
|
||||
|
||||
pub inline fn indexAnyComptime(target: string, comptime chars: string) ?usize {
|
||||
for (target) |parent, i| {
|
||||
inline for (chars) |char| {
|
||||
if (char == parent) return i;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
pub inline fn indexOfChar(self: string, char: u8) ?usize {
|
||||
return std.mem.indexOfScalar(@TypeOf(char), self, char);
|
||||
}
|
||||
|
||||
pub fn indexOfCharNeg(self: string, char: u8) i32 {
|
||||
var i: u32 = 0;
|
||||
while (i < self.len) : (i += 1) {
|
||||
if (self[i] == value) return @intCast(i32, i);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
pub inline fn lastIndexOfChar(self: string, char: u8) ?usize {
|
||||
return std.mem.lastIndexOfScalar(u8, self, char);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user