freshness.mojo (814B)
1 @fieldwise_init 2 struct Freshness(Copyable, Movable): 3 var record_age_minutes: Int 4 var harvest_age_minutes: Int 5 var verification_age_minutes: Int 6 7 8 def freshness( 9 record_age_minutes: Int, 10 harvest_age_minutes: Int, 11 verification_age_minutes: Int, 12 ) raises -> Freshness: 13 if record_age_minutes < 0: 14 raise Error("record age must be non-negative") 15 if harvest_age_minutes < 0: 16 raise Error("harvest age must be non-negative") 17 if verification_age_minutes < 0: 18 raise Error("verification age must be non-negative") 19 return Freshness( 20 record_age_minutes=record_age_minutes, 21 harvest_age_minutes=harvest_age_minutes, 22 verification_age_minutes=verification_age_minutes, 23 ) 24 25 26 def record_recency_implies_harvest_age() -> Bool: 27 return False