blob: 80e6b5a381ad04acd8e8b8ca377f43e260a37453 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
def make_url(value):
value.repository as $repo |
if value.type == "Git" then
if $repo.type == "Git" then
"git+\($repo.url)?ref=\(value.branch)"
elif $repo.type == "GitHub" then
"github:\($repo.owner)/\($repo.repo)/\(value.branch)"
elif $repo.type == "Forgejo" then
"git+\($repo.server)/\($repo.owner)/\($repo.repo)?ref=\(value.branch)"
else
error("Invalid repository type: '\($repo.type)'")
end
elif value.type == "GitRelease" then
if $repo.type == "GitHub" then
"github:\($repo.owner)/\($repo.repo)/\(value.version)"
else
error("Invalid repository type: '\($repo.type)'")
end
elif value.type == "Channel" then
empty
else
error("Invalid value type: '\(value.type)'")
end
;
"{
\(
.pins | to_entries | map(
" \"\(.key)\" = {
url = \"\(make_url(.value))\";
};"
) | join("\n")
)
}"
|