diff options
author | 2021-09-09 23:33:34 -0700 | |
---|---|---|
committer | 2021-09-09 23:33:34 -0700 | |
commit | fc907e2f81698d89502fb2ee0375e6d98a492c13 (patch) | |
tree | e775c2479b334ec901f61b5c0ccfab0102ff679e /src/js_ast.zig | |
parent | 8a02ad48a5eb1319c1bf3e9eb97e013924db875f (diff) | |
download | bun-jarred/fetch-experiment.tar.gz bun-jarred/fetch-experiment.tar.zst bun-jarred/fetch-experiment.zip |
currentjarred/fetch-experiment
Diffstat (limited to 'src/js_ast.zig')
-rw-r--r-- | src/js_ast.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig index 750100750..3b40a0127 100644 --- a/src/js_ast.zig +++ b/src/js_ast.zig @@ -1128,6 +1128,18 @@ pub const E = struct { } } + pub fn hash(s: *const String) u64 { + if (s.isBlank()) return 0; + + if (s.isUTF8()) { + // hash utf-8 + return std.hash.Wyhash.hash(0, s.utf8); + } else { + // hash utf-16 + return std.hash.Wyhash.hash(0, @ptrCast([*]u8, s.value.ptr)[0 .. s.value.len * 2]); + } + } + pub fn jsonStringify(s: *const String, options: anytype, writer: anytype) !void { var buf = [_]u8{0} ** 4096; var i: usize = 0; |