v0.10.0: ports and adapters refactor
- Extract shared manifest types into internal/manifest/types leaf package. - Extract SQLite adapter into internal/manifest/sqlite. - Extract JSONL adapter into internal/manifest/jsonl. - Isolate modernc.org/sqlite import to sqlite/adapter.go. - Add adapter-backed registry with manifest.Default. - Adapter-agnostic ConvertManifest in types/. - MemoryAdapter for in-memory manifest testing. - CLI uses manifest.Default registry directly. - SQLite LogWriter type assertion moved into SQLiteAdapter. - Manifest interface includes Entries(); EntryReader removed. - No behavior changes. 100% coverage across all 6 packages.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package jsonl
|
||||
|
||||
import (
|
||||
"gitea.k3s.k0.nu/tools/photocli/internal/manifest/types"
|
||||
)
|
||||
|
||||
type Adapter struct{}
|
||||
|
||||
func (Adapter) Format() types.Format { return types.FormatJSONL }
|
||||
func (Adapter) Aliases() []string { return []string{"json"} }
|
||||
func (Adapter) Path(dir string) string { return Path(dir) }
|
||||
func (Adapter) Exists(dir string) bool { return FileExists(Path(dir)) }
|
||||
func (Adapter) Open(dir string) (types.Manifest, error) { return Load(dir), nil }
|
||||
|
||||
func (Adapter) OpenLogWriter(_ types.Manifest, dir string) (types.LogWriter, error) {
|
||||
return types.NewFileLogWriter(types.LogPath(dir))
|
||||
}
|
||||
Reference in New Issue
Block a user