Skip to main content

Result

Lua implementation of Rust languages's Result enum

Functions

new

Result.new(
valueany | nil,
errany | nil
) → Result

Default constructor

ok

Result.ok(valueany) → Result

Constructs a new Ok Result

err

Result.err(valueany) → Result

Constructs a new Err Result

isOk

Result:isOk() → boolean

Returns true if Result is an Ok value

isErr

Result:isErr() → boolean

Returns true if Result is an Err value

contains

Result:contains(valueany) → boolean

Returns true if value is equal to the Ok value

containsErr

Result:containsErr(errany) → boolean

Returns true if value is equal to the Err value

expect

Result:expect(
msgstring,
levelnumber?
) → any

Unwraps and returns the Ok value, but throws an error with the given msg appended with the Err value if an Err.

local errResult = Result.err("An error message")
errResult:expect("Something happened")
-- outputs error: "Something happened: An error message"

Errors

TypeDescription
msg

unwrap

Result:unwrap() → any

If Result is Ok, returns the Ok value. Otherwise throws an error

Errors

TypeDescription
msg

unwrapOr

Result:unwrapOr(defaultany) → any

unwrap(), but returns the given default if an Err value instead of erroring

unwrapOrElse

Result:unwrapOrElse(func() → any) → any

unwrap(), but calls and returns the given func if an Err value instead of erroring

expectErr

Result:expectErr(
msgstring,
levelnumber?
) → any

If Result is Err, returns the Err value. Otherwise throws an error

Errors

TypeDescription
msg

unwrapErr

Result:unwrapErr() → any

If Result is Err, returns the Err value. Otherwise throws an error

Errors

TypeDescription
msg
Show raw api
{
    "functions": [
        {
            "name": "new",
            "desc": "Default constructor",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "any | nil"
                },
                {
                    "name": "err",
                    "desc": "",
                    "lua_type": "any | nil"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Result"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 13,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "ok",
            "desc": "Constructs a new `Ok` Result",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Result"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 27,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "err",
            "desc": "Constructs a new `Err` Result",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Result"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 36,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "isOk",
            "desc": "Returns true if Result is an `Ok` value",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 44,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "isErr",
            "desc": "Returns true if Result is an `Err` value",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 50,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "contains",
            "desc": "Returns true if value is equal to the `Ok` value",
            "params": [
                {
                    "name": "value",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 57,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "containsErr",
            "desc": "Returns true if value is equal to the `Err` value",
            "params": [
                {
                    "name": "err",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 64,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "expect",
            "desc": "Unwraps and returns the `Ok` value,\nbut throws an error with the given msg\nappended with the `Err` value if an `Err`.\n```lua\nlocal errResult = Result.err(\"An error message\")\nerrResult:expect(\"Something happened\")\n-- outputs error: \"Something happened: An error message\"\n```",
            "params": [
                {
                    "name": "msg",
                    "desc": "",
                    "lua_type": "string"
                },
                {
                    "name": "level",
                    "desc": "",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "errors": [
                {
                    "lua_type": "msg",
                    "desc": ""
                }
            ],
            "source": {
                "line": 80,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "unwrap",
            "desc": "If Result is `Ok`, returns the `Ok` value.\nOtherwise throws an error",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "errors": [
                {
                    "lua_type": "msg",
                    "desc": ""
                }
            ],
            "source": {
                "line": 98,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "unwrapOr",
            "desc": "unwrap(), but returns the given default\nif an `Err` value instead of erroring",
            "params": [
                {
                    "name": "default",
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 106,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "unwrapOrElse",
            "desc": "unwrap(), but calls and returns the given func\nif an `Err` value instead of erroring",
            "params": [
                {
                    "name": "func",
                    "desc": "",
                    "lua_type": "() -> any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 118,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "expectErr",
            "desc": "If Result is `Err`, returns the `Err` value.\nOtherwise throws an error",
            "params": [
                {
                    "name": "msg",
                    "desc": "",
                    "lua_type": "string"
                },
                {
                    "name": "level",
                    "desc": "",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "errors": [
                {
                    "lua_type": "msg",
                    "desc": ""
                }
            ],
            "source": {
                "line": 132,
                "path": "src/shared/modules/Result.lua"
            }
        },
        {
            "name": "unwrapErr",
            "desc": "If Result is `Err`, returns the `Err` value.\nOtherwise throws an error",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "errors": [
                {
                    "lua_type": "msg",
                    "desc": ""
                }
            ],
            "source": {
                "line": 150,
                "path": "src/shared/modules/Result.lua"
            }
        }
    ],
    "properties": [],
    "types": [],
    "name": "Result",
    "desc": "Lua implementation of Rust languages's Result enum",
    "source": {
        "line": 5,
        "path": "src/shared/modules/Result.lua"
    }
}