diff --git a/common/src/app/common/data.cljc b/common/src/app/common/data.cljc index 4c03438ed2..75f103e496 100644 --- a/common/src/app/common/data.cljc +++ b/common/src/app/common/data.cljc @@ -1146,7 +1146,7 @@ "Wrapper around subvec so it doesn't throw an exception but returns nil instead" ([v start] (when (and (some? v) - (> start 0) (< start (count v))) + (>= start 0) (< start (count v))) (subvec v start))) ([v start end] (when (some? v) diff --git a/common/test/common_tests/data_test.cljc b/common/test/common_tests/data_test.cljc index ad5d6a21a2..b8283ca49e 100644 --- a/common/test/common_tests/data_test.cljc +++ b/common/test/common_tests/data_test.cljc @@ -325,6 +325,8 @@ (t/is (= [2 3] (d/safe-subvec [1 2 3 4] 1 3))) ;; single arg — from index to end (t/is (= [2 3 4] (d/safe-subvec [1 2 3 4] 1))) + ;; start=0 returns the full vector + (t/is (= [1 2 3 4] (d/safe-subvec [1 2 3 4] 0))) ;; out-of-range returns nil (t/is (nil? (d/safe-subvec [1 2 3] 5))) (t/is (nil? (d/safe-subvec [1 2 3] 0 5)))