import { Err, ErrPromise, None, NonePromise, Ok, OkPromise, Some, SomePromise, } from "../src/lib"; Some(12) .mapOrElse( None, (some) => Some(some + 1), ) .mapOption( NonePromise, (some) => SomePromise(some * 2), ) .mapOption( NonePromise, (some) => SomePromise(some * 3), ).mapOption( None, (some) => Some(some * 4), ) .mapOption( () => Promise.resolve(None()), (n) => Promise.resolve(Some(n * 5)), ) .mapOption( NonePromise, (some) => SomePromise(some * 6), ) .mapOrElse( () => 0, (n) => n, ).then((y) => Some(y).okOrElse(() => "nothing found") .mapResult( (err) => console.error("Failed: ", err), (ok) => console.log("Success: ", ok, (12 + 1) * 2 * 3 * 4 * 5 * 6), ) ); Ok(42) .mapOrElse( Err, (n) => Ok(n + 1), ) .mapResult( ErrPromise, (n) => OkPromise(n * 2), ) .mapResult( ErrPromise, (n) => OkPromise(n * 3), ) .mapResult( Err, (ok) => Ok(ok * 4), ) .mapResult( (err) => Promise.resolve(Err(err)), (ok) => Promise.resolve(Ok(ok * 5)), ) .mapResult( ErrPromise, async (n) => await OkPromise(n * 6), ) .mapResult( () => 0, (n) => n, ).then((y) => Ok(y).ok().mapOrElse( () => console.error("Failed: "), (ok) => console.log("Success: ", ok, (42 + 1) * 2 * 3 * 4 * 5 * 6), ) ) .then(console.log);