const std = @import("std"); pub const Mapping = struct { mapped: []const u8, doc: ?[]const u8, }; pub const MapData = struct { arena: std.heap.ArenaAllocator, mappings: std.StringHashMap(Mapping), renames: std.StringHashMap([]const u8), }; alloc: std.mem.Allocator, lock: std.Thread.RwLock, mdata: ?MapData = null, const State = @This(); pub fn deinit(self: State) void { var selfv = self; if (selfv.mdata) |*m| { m.arena.deinit(); m.mappings.deinit(); m.renames.deinit(); } }