Skip to content

Commit 2ba9b2f

Browse files
committed
[fix] query with multiple specific versions
1 parent 7538b33 commit 2ba9b2f

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

modules/versions.xqm

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,27 @@ import module namespace semver="http://exist-db.org/xquery/semver";
1515
:)
1616
declare function versions:get-packages-satisfying-version-attributes(
1717
$packages as element(package)*,
18-
$versions as xs:string?,
18+
$versions as xs:string*,
1919
$semver as xs:string?,
2020
$semver-min as xs:string?,
2121
$semver-max as xs:string?
2222
) as element(package)* {
23-
$packages[
24-
semver:satisfies-expath-package-dependency-versioning-attributes(
25-
./version,
26-
$versions,
27-
$semver,
28-
$semver-min,
29-
$semver-max
30-
)
31-
]
23+
if (exists($versions)) then (
24+
for-each($versions, function ($v as xs:string) {
25+
$packages[
26+
semver:satisfies-expath-package-dependency-versioning-attributes(./version, $v, (), (), ())]
27+
})
28+
) else (
29+
$packages[
30+
semver:satisfies-expath-package-dependency-versioning-attributes(
31+
./version,
32+
$versions,
33+
$semver,
34+
$semver-min,
35+
$semver-max
36+
)
37+
]
38+
)
3239
=> versions:sort-packages()
3340
};
3441

@@ -37,7 +44,7 @@ declare function versions:get-packages-satisfying-version-attributes(
3744
:)
3845
declare function versions:get-newest-package-satisfying-version-attributes(
3946
$packages as element(package)*,
40-
$versions as xs:string?,
47+
$versions as xs:string*,
4148
$semver as xs:string?,
4249
$semver-min as xs:string?,
4350
$semver-max as xs:string?

0 commit comments

Comments
 (0)