Page MenuHomeDevCentral

Map result values instead to use a match block
ClosedPublic

Authored by dereckson on Oct 21 2018, 21:47.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 25, 02:50
Unknown Object (File)
Fri, Apr 19, 13:47
Unknown Object (File)
Thu, Apr 18, 06:04
Unknown Object (File)
Sun, Apr 14, 12:56
Unknown Object (File)
Sat, Apr 13, 15:54
Unknown Object (File)
Fri, Apr 12, 18:42
Unknown Object (File)
Sat, Apr 6, 12:56
Unknown Object (File)
Sat, Apr 6, 05:38
Subscribers
None

Details

Summary

To map a result, ie a success T or an error E, into another result,
ie a success U or an error F means the code focus on T -> U, without
regard it's an Ok, and E -> F, without regard it's an Err value.

As such, it's seems more natural to express the idea with
methods manipulating tbe values than to recreate the enum container too.

The Serde library uses those map and map_err methods.

Test Plan
#[get("/player/<name>")]
pub fn get_player(connection: DatabaseConnection, name: String) -> ApiJsonResponse<Player> {
    players
        .filter(username.eq(&name))
        .first::<Player>(&*connection)
        .into_json_response()
}

Diff Detail

Repository
rLF Limiting Factor
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dereckson created this revision.
This revision is now accepted and ready to land.Oct 21 2018, 21:50
This revision was automatically updated to reflect the committed changes.