const std = @import("std"); const Lock = @import("./lock.zig").Lock; const bun = @import("root").bun; const string = bun.string; const Output = bun.Output; const Global = bun.Global; const Environment = bun.Environment; const strings = bun.strings; const MutableString = bun.MutableString; const stringZ = bun.stringZ; const default_allocator = bun.default_allocator; const C = bun.C; const Blob = @This(); ptr: [*]const u8, len: usize, pub const Map = struct { const MapContext = struct { pub fn hash(_: @This(), s: u64) u32 { return @as(u32, @truncate(s)); } pub fn eql(_: @This(), a: u64, b: u64, _: usize) bool { return a == b; } }; const HashMap = std.ArrayHashMap(u64, Blob, MapContext, false); lock: Lock, map: HashMap, allocator: std.mem.Allocator, pub fn init(allocator: std.mem.Allocator) Map { return Map{ .lock = Lock.init(), .map = HashMap.init(allocator), .allocator = allocator, }; } pub fn get(this: *Map, key: string) ?Blob { this.lock.lock(); defer this.lock.unlock(); return this.map.get(bun.hash(key)); } pub fn put(this: *Map, key: string, blob: Blob) !void { this.lock.lock(); defer this.lock.unlock(); return try this.map.put(bun.hash(key), blob); } pub fn reset(this: *Map) !void { this.lock.lock(); defer this.lock.unlock(); this.map.clearRetainingCapacity(); } }; pub const Group = struct { persistent: Map, temporary: Map, allocator: std.mem.Allocator, pub fn init(allocator: std.mem.Allocator) !*Group { var group = try allocator.create(Group); group.* = Group{ .persistent = Map.init(allocator), .temporary = Map.init(allocator), .allocator = allocator }; return group; } pub fn get(this: *Group, key: string) ?Blob { return this.temporary.get(key) orelse this.persistent.get(key); } }; -needed Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/escapeHTML.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-07-05Fix incorrect signaturesGravatar Ashcon Partovi 3-21/+21
2023-07-05Fix detect-libcGravatar Ashcon Partovi 16-98/+116
2023-07-05Update websocket_http_client.zigGravatar Dylan Conway 1-0/+2
2023-07-05Fixes #3512 (#3526)Gravatar Jarred Sumner 9-38/+168
2023-07-05Fixes #3515 (#3523)Gravatar Jarred Sumner 4-190/+182
2023-07-05Fixes #3520 (#3522)Gravatar Jarred Sumner 3-23/+37
2023-07-05add envs on tests (#3518)Gravatar Ciro Spaciari 4-0/+20
2023-07-04Update build-idGravatar Jarred Sumner 1-1/+1
2023-07-04Fix build determinism issue (thanks to @alexlamsl)Gravatar Jarred Sumner 1-2/+2
2023-07-04boopGravatar Jarred Sumner 10-55/+55
2023-07-04use sengrid account on nodemailer test (#3517)bun-v0.6.13Gravatar Ciro Spaciari 2-14/+15
2023-07-04[tls] fix servername (#3513)Gravatar Ciro Spaciari 4-8/+109
2023-07-04Add alias for readBigUInt64BE ... (#3514)Gravatar Ai Hoshino 2-4/+58
2023-07-04reduce countGravatar Jarred Sumner 1-2/+2
2023-07-04bumpGravatar Jarred Sumner 3-2/+2
2023-07-04Fix crashGravatar Jarred Sumner 1-5/+8