diff --git a/src/zcatconfig.zig b/src/zcatconfig.zig index 1e4b252..2d25821 100644 --- a/src/zcatconfig.zig +++ b/src/zcatconfig.zig @@ -666,6 +666,24 @@ pub fn ConfigManager( return self; } + /// Inicializa el ConfigManager SIN cargar/crear archivo + /// - Crea Config con valores por defecto del struct + /// - NO carga archivo, NO crea archivo + /// - Útil cuando se necesita control manual (ej: cargar de BD primero) + /// - Después llamar load() o save() manualmente + pub fn initDeferred( + allocator: std.mem.Allocator, + file_path: []const u8, + ) Self { + return Self{ + .allocator = allocator, + .config = ConfigType.init(allocator), + .file_path = file_path, + .dirty = false, + .observers = .{}, + }; + } + /// Libera recursos y guarda si hay cambios pendientes pub fn deinit(self: *Self) void { // Auto-save si hay cambios