all repos — searchix @ f79f1deb956cd3f5788e7f602d883417badaebbd

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

refactor(importer): move functions to utils file

Alan Pearce
commit

f79f1deb956cd3f5788e7f602d883417badaebbd

parent

eb88ab15adaf23a61c783afe76b646855814d38a

1 file changed, 0 insertions(+), 50 deletions(-)

changed files
M internal/importer/ingest.gointernal/importer/ingest.go
@@ -2,9 +2,7 @@ package importer
import ( "context" - "fmt" "log/slog" - "net/url" "os" "reflect" "searchix/internal/config"
@@ -34,54 +32,6 @@ Loc []string
ReadOnly bool RelatedPackages string Type string -} - -func ValueTypeToString(valueType jstream.ValueType) string { - switch valueType { - case jstream.Unknown: - return "unknown" - case jstream.Null: - return "null" - case jstream.String: - return "string" - case jstream.Number: - return "number" - case jstream.Boolean: - return "boolean" - case jstream.Array: - return "array" - case jstream.Object: - return "object" - } - - return "very strange" -} - -func makeGitHubFileURL(userRepo string, ref string, subPath string) string { - if ref == "" { - ref = "master" - } - url, _ := url.JoinPath("https://github.com/", userRepo, "blob", ref, subPath) - - return url -} - -// make configurable? -var channelRepoMap = map[string]string{ - "nixpkgs": "NixOS/nixpkgs", - "nix-darwin": "LnL7/nix-darwin", - "home-manager": "nix-community/home-manager", -} - -func MakeChannelLink(channel string, ref string, subPath string) (*options.Link, error) { - if channelRepoMap[channel] == "" { - return nil, fmt.Errorf("don't know what repository relates to channel <%s>", channel) - } - - return &options.Link{ - Name: fmt.Sprintf("<%s/%s>", channel, subPath), - URL: makeGitHubFileURL(channelRepoMap[channel], ref, subPath), - }, nil } func convertNixValue(nj *nixValueJSON) *options.NixValue {