context.mojo (1310B)
1 @fieldwise_init 2 struct InterpretationSource(Copyable, Movable): 3 var source_id: String 4 var revision: String 5 var text: String 6 var source_time: String 7 var timezone: String 8 var actor_id: String 9 var farm_id: String 10 11 12 def _is_blank(value: String) -> Bool: 13 return String(value).strip().byte_length() == 0 14 15 16 def interpretation_source( 17 source_id: String, 18 revision: String, 19 text: String, 20 source_time: String, 21 timezone: String, 22 actor_id: String, 23 farm_id: String, 24 ) raises -> InterpretationSource: 25 for pair in [ 26 ("source_id", source_id), 27 ("revision", revision), 28 ("text", text), 29 ("source_time", source_time), 30 ("timezone", timezone), 31 ("actor_id", actor_id), 32 ("farm_id", farm_id), 33 ]: 34 if _is_blank(pair[1]): 35 raise Error("interpretation source requires " + pair[0]) 36 return InterpretationSource( 37 source_id=String(source_id), 38 revision=String(revision), 39 text=String(text), 40 source_time=String(source_time), 41 timezone=String(timezone), 42 actor_id=String(actor_id), 43 farm_id=String(farm_id), 44 ) 45 46 47 def context_is_trusted_host_supplied() -> Bool: 48 return True 49 50 51 def source_text_is_data_not_instruction() -> Bool: 52 return True