add analysis coordination (with dummy analyzer)

This commit is contained in:
Alex Goodman
2020-05-18 11:59:33 -04:00
parent 4cbed05358
commit 1342cc5b06
13 changed files with 260 additions and 161 deletions
+11 -7
View File
@@ -1,18 +1,22 @@
package pkg
// TODO: add reader methods (by type, id, fuzzy search, etc)
type Catalog struct {
// TODO: catalog by package ID for potential indexing
catalog map[Type][]Package
Packages map[Type][]Package
}
type CatalogWriter interface {
Add(Package) error
func NewCatalog() Catalog {
return Catalog{
Packages: make(map[Type][]Package),
}
}
func (c *Catalog) Add(p Package) {
_, ok := c.catalog[p.Type]
_, ok := c.Packages[p.Type]
if !ok {
c.catalog[p.Type] = make([]Package, 0)
c.Packages[p.Type] = make([]Package, 0)
}
c.catalog[p.Type] = append(c.catalog[p.Type], p)
}
c.Packages[p.Type] = append(c.Packages[p.Type], p)
}
+6
View File
@@ -0,0 +1,6 @@
package pkg
// TODO: delete me
type DummyPackage struct {
Extra string
}
+1 -1
View File
@@ -13,4 +13,4 @@ type Package struct {
Metadata interface{}
}
// TODO: stringer...
// TODO: stringer...
+2 -2
View File
@@ -1,7 +1,7 @@
package pkg
const (
UnknownPkg uint = iota
UnknownPkg Type = iota
ApkPkg
DebPkg
JavaPkg
@@ -14,4 +14,4 @@ const (
type Type uint
// TODO: stringer...
// TODO: stringer...