rl_lang/docs/entries/stdlib/result/
mod.rs1use crate::docs::entry::{FnEntry, StdEntry};
2
3pub static RES: StdEntry = StdEntry {
4 name: "res",
5 description: "functions for working with result[T] values (ok / err)",
6 functions: FUNCTIONS,
7 since: None,
8 unstable: false,
9};
10
11static FUNCTIONS: &[&FnEntry] = &[
12 &IS_OK,
13 &IS_ERR,
14 &RESULT_UNWRAP,
15 &RESULT_UNWRAP_ERR,
16 &RESULT_UNWRAP_OR,
17 &RESULT_MAP,
18 &RESULT_MAP_ERR,
19];
20
21static IS_OK: FnEntry = FnEntry {
22 signature: "is_ok(r)",
23 description: "true if r is an ok value",
24 example: "get std::res::is_ok\n\ndec result[int] r = ok(42)\nprintln(is_ok(r)) // true",
25 expected_output: None,
26 returns: "",
27 errors: None,
28 see_also: &[],
29 since: None,
30};
31
32static IS_ERR: FnEntry = FnEntry {
33 signature: "is_err(r)",
34 description: "true if r is an err value",
35 example: "get std::res::is_err\n\ndec result[int] r = err(\"not found\")\nprintln(is_err(r)) // true",
36 expected_output: None,
37 returns: "",
38 errors: None,
39 see_also: &[],
40 since: None,
41};
42
43static RESULT_UNWRAP: FnEntry = FnEntry {
44 signature: "result_unwrap(r)",
45 description: "returns the inner value of an ok result; panics at runtime if r is err",
46 example: "get std::res::result_unwrap\n\ndec result[int] r = ok(10)\nprintln(result_unwrap(r)) // 10",
47 expected_output: None,
48 returns: "",
49 errors: None,
50 see_also: &[],
51 since: None,
52};
53
54static RESULT_UNWRAP_ERR: FnEntry = FnEntry {
55 signature: "result_unwrap_err(r)",
56 description: "returns the inner value of an err result; panics at runtime if r is ok",
57 example: "get std::res::result_unwrap_err\n\ndec result[int] r = err(\"oops\")\nprintln(result_unwrap_err(r)) // oops",
58 expected_output: None,
59 returns: "",
60 errors: None,
61 see_also: &[],
62 since: None,
63};
64
65static RESULT_UNWRAP_OR: FnEntry = FnEntry {
66 signature: "result_unwrap_or(r, default)",
67 description: "returns the inner ok value, or default if r is err",
68 example: "get std::res::result_unwrap_or\n\ndec result[int] r = err(\"fail\")\nprintln(result_unwrap_or(r, 0)) // 0",
69 expected_output: None,
70 returns: "",
71 errors: None,
72 see_also: &[],
73 since: None,
74};
75
76static RESULT_MAP: FnEntry = FnEntry {
77 signature: "result_map(r, fn)",
78 description: "applies a function to the ok value and returns a new ok; passes err through unchanged",
79 example: "get std::res::result_map\n\ndec result[int] r = ok(5)\ndec result[int] doubled = result_map(r, fn(int x) -> int { return x * 2 })\nprintln(result_unwrap(doubled)) // 10",
80 expected_output: None,
81 returns: "",
82 errors: None,
83 see_also: &[],
84 since: None,
85};
86
87static RESULT_MAP_ERR: FnEntry = FnEntry {
88 signature: "result_map_err(r, fn)",
89 description: "applies a function to the err value and returns a new err; passes ok through unchanged",
90 example: "get std::res::result_map_err\n\ndec result[int] r = err(\"oops\")\ndec result[int] r2 = result_map_err(r, fn(string s) -> string { return concat(s, \"!\") })\nprintln(result_unwrap_err(r2)) // oops!",
91 expected_output: None,
92 returns: "",
93 errors: None,
94 see_also: &[],
95 since: None,
96};