farm_quantity.mojo (1131B)
1 @fieldwise_init 2 struct ProductQuantityAssociation(Copyable, Movable): 3 var product_phrase: String 4 var quantity_value: Int 5 var quantity_scale: Int 6 var unit: String 7 var qualifier: String 8 var unreserved_verified: Bool 9 10 11 def associate_quantity( 12 product_phrase: String, 13 quantity_value: Int, 14 quantity_scale: Int, 15 unit: String, 16 qualifier: String, 17 ) raises -> ProductQuantityAssociation: 18 if String(product_phrase).strip().byte_length() == 0: 19 raise Error("association requires a product phrase") 20 if quantity_scale < 0 or quantity_scale > 9: 21 raise Error("association scale must be between 0 and 9") 22 if qualifier != "exact" and qualifier != "approximate": 23 raise Error("association qualifier must be exact or approximate") 24 return ProductQuantityAssociation( 25 product_phrase=String(product_phrase), 26 quantity_value=quantity_value, 27 quantity_scale=quantity_scale, 28 unit=String(unit), 29 qualifier=String(qualifier), 30 unreserved_verified=False, 31 ) 32 33 34 def reported_quantity_is_unreserved_stock() -> Bool: 35 return False