all repos — searchix @ c51ca7c62e08f43ef9974af35886d30ce54a1f22

Search engine for NixOS, nix-darwin, home-manager and NUR users

refactor: use interface to unify Options and Packages

Alan Pearce
commit

c51ca7c62e08f43ef9974af35886d30ce54a1f22

parent

0ef52f2f82c62694c5420f7f6c82fb8c45900d1d

1 file changed, 26 insertions(+), 25 deletions(-)

changed files
M internal/importer/package.gointernal/importer/package.go
@@ -7,7 +7,7 @@ "log/slog"
"os" "reflect" "searchix/internal/config" - "searchix/internal/packages" + "searchix/internal/nix" "strings" "github.com/bcicen/jstream"
@@ -45,8 +45,8 @@ infile *os.File
source *config.Source } -func makeAdhocLicense(name string) packages.License { - return packages.License{ +func makeAdhocLicense(name string) nix.License { + return nix.License{ FullName: name, } }
@@ -88,8 +88,8 @@
return i, nil } -func convertToLicense(in map[string]any) *packages.License { - l := &packages.License{} +func convertToLicense(in map[string]any) *nix.License { + l := &nix.License{} if v, found := in["shortName"]; found { l.Name = v.(string) }
@@ -109,8 +109,10 @@
return l } -func (i *PackageIngester) Process(ctx context.Context) (<-chan *packages.Package, <-chan error) { - results := make(chan *packages.Package) +func (i *PackageIngester) Process( + ctx context.Context, +) (<-chan nix.Importable, <-chan error) { + results := make(chan nix.Importable) errs := make(chan error) go func() {
@@ -143,13 +145,13 @@ x := kv.Value.(map[string]interface{})
meta := x["meta"].(map[string]interface{}) - var licenses []packages.License + var licenses []nix.License if meta["license"] != nil { switch v := reflect.ValueOf(meta["license"]); v.Kind() { case reflect.Map: licenses = append(licenses, *convertToLicense(v.Interface().(map[string]interface{}))) case reflect.Array, reflect.Slice: - licenses = make([]packages.License, v.Len()) + licenses = make([]nix.License, v.Len()) for i, v := range v.Interface().([]interface{}) { switch v := reflect.ValueOf(v); v.Kind() { case reflect.String:
@@ -214,9 +216,9 @@
continue } - maintainers := make([]packages.Maintainer, len(i.pkg.Meta.Maintainers)) + maintainers := make([]nix.Maintainer, len(i.pkg.Meta.Maintainers)) for i, m := range i.pkg.Meta.Maintainers { - maintainers[i] = packages.Maintainer{ + maintainers[i] = nix.Maintainer{ Name: m.Name, Github: m.Github, }
@@ -224,20 +226,19 @@ }
subpath, line, _ := strings.Cut(i.pkg.Meta.Position, ":") - results <- &packages.Package{ - Name: i.pkg.Name, - Version: i.pkg.Version, - Meta: packages.Meta{ - Broken: i.pkg.Meta.Broken, - Description: i.pkg.Meta.Description, - LongDescription: i.pkg.Meta.LongDescription, - Homepages: i.pkg.Meta.Homepages, - Licenses: licenses, - MainProgram: i.pkg.Meta.MainProgram, - Platforms: i.pkg.Meta.Platforms, - Maintainers: maintainers, - Position: makeGitHubFileURL(userRepo, "", subpath, line), - }, + results <- nix.Package{ + Name: i.pkg.Name, + Source: i.source.Key, + Version: i.pkg.Version, + Broken: i.pkg.Meta.Broken, + Description: i.pkg.Meta.Description, + LongDescription: i.pkg.Meta.LongDescription, + Homepages: i.pkg.Meta.Homepages, + MainProgram: i.pkg.Meta.MainProgram, + Platforms: i.pkg.Meta.Platforms, + Licenses: licenses, + Maintainers: maintainers, + Definition: makeGitHubFileURL(userRepo, "", subpath, line), } } }()