opx_lib
Lib.Result
Last updated on
Build, test and read the Result table every wrapper answers.
Pure. No permission.
Lib.Result.Ok
An answer. value may be nil: that is what ok is for.
Lib.Result.Ok(value)Parameters
- value?:
any
Returns
{ ok = true, value }
Lib.Result.Err
A refusal. code is stable and branchable; detail is for the journal.
Lib.Result.Err(code, detail)Parameters
- code:
string - detail?:
any
Returns
{ ok = false, error, detail }
if not name then return Lib.Result.Err('invalid_name', 'no name given') endLib.Result.Is
Whether a value is a Result: a table with a boolean ok.
Lib.Result.Is(value)Parameters
- value:
any
Returns
boolean
Lib.Result.Or
The value of a success, else fallback.
Lib.Result.Or(result, fallback)Parameters
- result:
Result - fallback?:
any
Returns
any
local here = Lib.Result.Or(Lib.Character.Position(), { x = 0, y = 0, z = 0 })Lib.Result.Map
Applies fn to a successful value; a failure passes straight through.
Lib.Result.Map(result, fn)Parameters
- result:
Result - fn:
function
Returns
Result— errorsnot-a-result,not-a-function,map-raised
local count = Lib.Result.Map(Lib.Blip.List(), function(list) return #list end)