diff options
Diffstat (limited to 'src/env_loader.zig')
| -rw-r--r-- | src/env_loader.zig | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/env_loader.zig b/src/env_loader.zig index f073fb19d..b7186840a 100644 --- a/src/env_loader.zig +++ b/src/env_loader.zig @@ -364,6 +364,8 @@ pub const Loader = struct { @".env.production": ?logger.Source = null, @".env": ?logger.Source = null, + quiet: bool = false, + did_load_process: bool = false, const empty_string_value: string = "\"\""; @@ -610,7 +612,7 @@ pub const Loader = struct { Analytics.Features.dotenv = true; } - this.printLoaded(start); + if (!this.quiet) this.printLoaded(start); } pub fn printLoaded(this: *Loader, start: i128) void { @@ -748,6 +750,23 @@ pub const Map = struct { map: HashTable, + pub fn cloneToBufMap(this: *Map, allocator: *std.mem.Allocator) !std.BufMap { + var buf_map = std.BufMap.init(allocator); + + const Convert = struct { + pub fn constStrToU8(s: string) []u8 { + return @intToPtr([*]u8, @ptrToInt(s.ptr))[0..s.len]; + } + }; + + var iter_ = this.map.iterator(); + while (iter_.next()) |entry| { + try buf_map.putMove(Convert.constStrToU8(entry.key_ptr.*), Convert.constStrToU8(entry.value_ptr.*)); + } + + return buf_map; + } + pub inline fn init(allocator: *std.mem.Allocator) Map { return Map{ .map = HashTable.init(allocator) }; } |
