From 355bbfd898a8b61797b3a077f15c5f97ab7ebb04 Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sun, 30 Nov 2025 11:11:09 +0100 Subject: Add contracts related to nutrient-value. --- models/crop-requirement.rkt | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'models/crop-requirement.rkt') diff --git a/models/crop-requirement.rkt b/models/crop-requirement.rkt index e26f1dc..4176ae4 100644 --- a/models/crop-requirement.rkt +++ b/models/crop-requirement.rkt @@ -6,20 +6,17 @@ crop-requirement-profile crop-requirement-crop-id (rename-out [crop-requirement-nutrient-values crop-requirement-values]) - (contract-out [create-crop-requirement! - (->* (string? nutrient-value-hash/c) ((or/c #f crop?)) crop-requirement?)] - [get-crop-requirements (-> (listof crop-requirement?))] - [get-crop-requirement - (->* () - (#:id (or/c #f exact-nonnegative-integer?) #:profile (or/c #f string?)) - (or/c crop-requirement? #f))] - [get-crop-requirement-values - (-> crop-requirement-or-id/c nutrient-value-hash/c)] - [get-crop-requirement-value (-> crop-requirement-or-id/c nutrient? number?)] - [delete-crop-requirement! (-> crop-requirement-or-id/c void?)] - [average-crop-requirement-nutrient-values - (-> (listof (cons/c crop-requirement? (and/c real? (>=/c 0) (<=/c 100)))) - nutrient-value-hash/c)])) + (contract-out + [create-crop-requirement! (->* (string? nutrient-value-hash/c) (crop?) crop-requirement?)] + [get-crop-requirements (-> (listof crop-requirement?))] + [get-crop-requirement + (->* () (#:id exact-nonnegative-integer? #:profile string?) (or/c crop-requirement? #f))] + [get-crop-requirement-values (-> crop-requirement-or-id/c nutrient-value-hash/c)] + [get-crop-requirement-value (-> crop-requirement-or-id/c nutrient? maybe-nutrient-value?)] + [delete-crop-requirement! (-> crop-requirement-or-id/c void?)] + [average-crop-requirement-nutrient-values + (-> (listof (cons/c crop-requirement? (and/c real? (>=/c 0) (<=/c 100)))) + nutrient-value-hash/c)])) (require racket/contract db -- cgit v1.2.3