Skip to content

Commit a954ed5

Browse files
committed
Remove unneeded FLWOR iterations
The 1st 3 conditionals pass all $packages to other functions for handling; only the 4th conditional iterates over the packages.
1 parent db2bc9e commit a954ed5

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

modules/versions.xqm

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,26 @@ declare function versions:find-compatible-packages(
3131
$semver-min as xs:string?,
3232
$semver-max as xs:string?
3333
) as element(package)* {
34-
for $package in $packages
35-
return
36-
if ($semver) then
37-
versions:find-version($packages, $semver, $semver)
38-
else if ($version) then
39-
$packages[version = $version]
40-
else if ($semver-min and $semver-max) then
41-
versions:find-version($packages, $semver-min, $semver-max)
42-
else if
43-
(
44-
$exist-version-semver and
45-
versions:is-newer-or-same($exist-version-semver, $package/requires/@semver-min) and
46-
versions:is-older-or-same($exist-version-semver, $package/requires/@semver-max)
47-
) then
48-
$package
49-
else
50-
()
34+
if ($semver) then
35+
versions:find-version($packages, $semver, $semver)
36+
else if ($version) then
37+
$packages[version = $version]
38+
else if ($semver-min and $semver-max) then
39+
versions:find-version($packages, $semver-min, $semver-max)
40+
else if (exists($exist-version-semver)) then
41+
for $package in $packages
42+
return
43+
if
44+
(
45+
$exist-version-semver and
46+
versions:is-newer-or-same($exist-version-semver, $package/requires/@semver-min) and
47+
versions:is-older-or-same($exist-version-semver, $package/requires/@semver-max)
48+
) then
49+
$package
50+
else
51+
()
52+
else
53+
()
5154
};
5255

5356
(:~

0 commit comments

Comments
 (0)