feat: initDeferred() para control manual de archivo
- Nueva función initDeferred() que NO carga/crea archivo automáticamente - Útil cuando se necesita verificar BD antes de decidir qué cargar - init() mantiene comportamiento original (loadOrCreate automático) - Permite arquitectura 3 fuentes: Archivo > BD > Defaults 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
04462afc5c
commit
0ef5efd8d8
1 changed files with 18 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue