summaryrefslogtreecommitdiff
path: root/models/nutrient-measurement.rkt
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-11-30 13:53:46 +0100
committerMarius Peter <dev@marius-peter.com>2025-11-30 13:53:46 +0100
commit0e0de4a45c10fb2f1ea628f2514cf3f2742db310 (patch)
tree52516a1737c3c150196f30b4c6f0da97a016bdc3 /models/nutrient-measurement.rkt
parente082bbe3d61f1186c5758b2be61f793c75dd2439 (diff)
Insist on grouped-row naming convention.
Diffstat (limited to 'models/nutrient-measurement.rkt')
-rw-r--r--models/nutrient-measurement.rkt13
1 files changed, 6 insertions, 7 deletions
diff --git a/models/nutrient-measurement.rkt b/models/nutrient-measurement.rkt
index 343db33..8c963b6 100644
--- a/models/nutrient-measurement.rkt
+++ b/models/nutrient-measurement.rkt
@@ -81,8 +81,8 @@
(as nutrients n)
#:on (= n.id nv.nutrient_id))))
-(define (grouped-row->nutrient-measurement row)
- (match-define (vector nm-id measurement-date residuals) row)
+(define (grouped-row->nutrient-measurement grouped-row)
+ (match-define (vector nm-id measurement-date residuals) grouped-row)
(nutrient-measurement nm-id measurement-date (residuals->nutrient-value-hash residuals)))
(define (get-nutrient-measurements)
@@ -99,8 +99,7 @@
#:order-by nm.measurement_date
#:desc)
#:group '#(0 1)))
- (for/list ([row grouped-rows])
- (grouped-row->nutrient-measurement row)))
+ (map grouped-row->nutrient-measurement grouped-rows))
(define (get-nutrient-measurement #:id [nm-id #f] #:date [measurement-date #f])
(define where
@@ -126,7 +125,7 @@
#:group '#(0 1)))
(match grouped-rows
['() #f]
- [(list row) (grouped-row->nutrient-measurement row)]
+ [(list grouped-row) (grouped-row->nutrient-measurement grouped-row)]
[many (error 'get-nutrient-measurement "expected 1 nutrient measurement, got ~a" (length many))]))
(define (get-nutrient-measurement-values nm-or-id)
@@ -170,8 +169,8 @@
#:order-by nm.measurement_date
#:desc)
#:group '(#(0 1 2 3))))
- (for/hash ([row grouped-rows])
- (match-define (vector n-id n-canonical-name n-french-name n-formula residual-rows) row)
+ (for/hash ([grouped-row grouped-rows])
+ (match-define (vector n-id n-canonical-name n-french-name n-formula residual-rows) grouped-row)
;; residual-rows is a non-empty list of vectors: #(measurement_date value_ppm)
(match-define (vector _ value-ppm) (first residual-rows))
(values (nutrient n-id n-canonical-name n-french-name n-formula) value-ppm)))
Copyright 2019--2026 Marius PETER