#inject Result {
#doc "Returns true if the result contains an Ok value."
- is_ok :: (r: #Self) {
+ is_ok :: (r: #Self) -> bool {
switch r {
case .Ok do return true;
case #default do return false;
}
#doc "Returns true if the result contains an Err value."
- is_err :: (r: #Self) {
+ is_err :: (r: #Self) -> bool {
switch r {
case .Err do return true;
case #default do return false;
`m` would have two keys, "x" and "y".
"""
-any_to_map :: (v: any) -> (Map(str, any), success: bool) {
+any_to_map :: (v: any) -> ? Map(str, any) {
vals := v;
- if get_type_info(vals.type).kind == .Pointer {
+ if vals.type->info().kind == .Pointer {
vals = any_dereference(vals);
}
- val_info := cast(&Type_Info_Struct) get_type_info(vals.type);
+ val_info := vals.type->info()->as_struct();
if val_info.kind != .Struct {
- return .{}, false;
+ return .{};
}
out: Map(str, any);
out->put(it.name, any_selector(vals, it.name));
}
- return out, true;
+ return out;
}
#doc "Creates an iterator out of an array-like any."