a mini social media app for small communities
at main 541 B view raw
1module util 2 3@[inline] 4pub fn map_or[T, R](val ?T, mapper fn (T) R, or_else R) R { 5 return if val == none { or_else } else { mapper(val) } 6} 7 8@[inline] 9pub fn map_or_throw[T, R](val ?T, mapper fn (T) R) R { 10 return if val == none { panic('value was none: ${val}') } else { mapper(val) } 11} 12 13@[inline] 14pub fn map_or_opt[T, R](val ?T, mapper fn (T) ?R, or_else ?R) ?R { 15 return if val == none { or_else } else { mapper(val) } 16} 17 18@[inline] 19pub fn or_throw[T](val ?T) T { 20 return if val == none { panic('value was none: ${val}') } else { val } 21}