(module: &'a ModuleDef, ty: &'a AlgebraicTypeUse)
| 1203 | } |
| 1204 | |
| 1205 | fn ty_fmt<'a>(module: &'a ModuleDef, ty: &'a AlgebraicTypeUse) -> impl fmt::Display + 'a { |
| 1206 | fmt_fn(move |f| match ty { |
| 1207 | AlgebraicTypeUse::Identity => f.write_str("SpacetimeDB.Identity"), |
| 1208 | AlgebraicTypeUse::ConnectionId => f.write_str("SpacetimeDB.ConnectionId"), |
| 1209 | AlgebraicTypeUse::ScheduleAt => f.write_str("SpacetimeDB.ScheduleAt"), |
| 1210 | AlgebraicTypeUse::Timestamp => f.write_str("SpacetimeDB.Timestamp"), |
| 1211 | AlgebraicTypeUse::TimeDuration => f.write_str("SpacetimeDB.TimeDuration"), |
| 1212 | AlgebraicTypeUse::Uuid => f.write_str("SpacetimeDB.Uuid"), |
| 1213 | AlgebraicTypeUse::Unit => f.write_str("SpacetimeDB.Unit"), |
| 1214 | AlgebraicTypeUse::Option(inner_ty) => write!(f, "{}?", ty_fmt(module, inner_ty)), |
| 1215 | AlgebraicTypeUse::Result { ok_ty, err_ty } => write!( |
| 1216 | f, |
| 1217 | "SpacetimeDB.Result<{}, {}>", |
| 1218 | ty_fmt(module, ok_ty), |
| 1219 | ty_fmt(module, err_ty) |
| 1220 | ), |
| 1221 | AlgebraicTypeUse::Array(elem_ty) => write!(f, "System.Collections.Generic.List<{}>", ty_fmt(module, elem_ty)), |
| 1222 | AlgebraicTypeUse::String => f.write_str("string"), |
| 1223 | AlgebraicTypeUse::Ref(r) => f.write_str(&type_ref_name(module, *r)), |
| 1224 | AlgebraicTypeUse::Primitive(prim) => f.write_str(match prim { |
| 1225 | PrimitiveType::Bool => "bool", |
| 1226 | PrimitiveType::I8 => "sbyte", |
| 1227 | PrimitiveType::U8 => "byte", |
| 1228 | PrimitiveType::I16 => "short", |
| 1229 | PrimitiveType::U16 => "ushort", |
| 1230 | PrimitiveType::I32 => "int", |
| 1231 | PrimitiveType::U32 => "uint", |
| 1232 | PrimitiveType::I64 => "long", |
| 1233 | PrimitiveType::U64 => "ulong", |
| 1234 | PrimitiveType::I128 => "I128", |
| 1235 | PrimitiveType::U128 => "U128", |
| 1236 | PrimitiveType::I256 => "I256", |
| 1237 | PrimitiveType::U256 => "U256", |
| 1238 | PrimitiveType::F32 => "float", |
| 1239 | PrimitiveType::F64 => "double", |
| 1240 | }), |
| 1241 | AlgebraicTypeUse::Never => unimplemented!(), |
| 1242 | }) |
| 1243 | } |
| 1244 | |
| 1245 | /// Like `ty_fmt`, but prefixes type references with the provided namespace. |
| 1246 | fn ty_fmt_with_ns<'a>(module: &'a ModuleDef, ty: &'a AlgebraicTypeUse, namespace: &'a str) -> impl fmt::Display + 'a { |
no test coverage detected
searching dependent graphs…