Class: None
Implements
IOption
<any
>
Constructors
constructor
• new None()
Methods
[iterator]
▸ [iterator](): Generator
<never
, any
, unknown
>
Returns an iterator over the possibly contained value.
The iterator yields one value if the result is Some
, otherwise none.
Example
const x = some(7);
for (const value of x) {
console.log(value);
}
// Logs 7
Example
const x = none;
for (const value of x) {
console.log(value);
}
// Doesn't log
See
Returns
Generator
<never
, any
, unknown
>
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1807
and
▸ and(option
): None
Returns None
if the option is None
, otherwise returns option
.
Example
const x: Option<number> = some(2);
const y: Option<string> = none;
assert.equal(x.and(y), none);
Example
const x: Option<number> = none;
const y: Option<string> = some('foo');
assert.equal(x.and(y), none);
Example
const x: Option<number> = some(2);
const y: Option<string> = some('foo');
assert.equal(x.and(y), some('foo'));
Example
const x: Option<number> = none;
const y: Option<string> = none;
assert.equal(x.and(y), none);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.and
Parameters
Name | Type | Description |
---|---|---|
option | Option <any > | The option. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1782
andThen
▸ andThen(cb
): None
Calls cb
if the result is Ok
, otherwise returns the Err
value of self.
This function can be used for control flow based on Result
values.
Example
function fractionOf4(value: number) {
return value === 0 ? none : some(4 / value);
}
assert.equal(some(2).andThen(fractionOf4), some(4));
assert.equal(some(0).andThen(fractionOf4), none);
assert.equal(none.andThen(fractionOf4), none);
See
https://doc.rust-lang.org/std/result/enum.Result.html#method.and_then
Parameters
Name | Type | Description |
---|---|---|
cb | (value : never ) => Option <any > | The predicate. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1783
contains
▸ contains(value?
): false
Returns true
if the option is a Some
value containing the given value.
Example
const x: Option<number> = some(2);
assert.equal(x.contains(2), true);
Example
const x: Option<number> = some(3);
assert.equal(x.contains(2), false);
Example
const x: Option<number> = none;
assert.equal(x.contains(2), false);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.contains
Parameters
Name | Type | Description |
---|---|---|
value? | any | The value to compare. |
Returns
false
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1790
eq
▸ eq(other
): true
Checks whether or not other
equals with self.
See
https://doc.rust-lang.org/std/cmp/trait.PartialEq.html#tymethod.eq
Parameters
Name | Type | Description |
---|---|---|
other | None | The other option to compare. |
Returns
true
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1797
▸ eq(other
): false
Parameters
Name | Type |
---|---|
other | Some <any > |
Returns
false
Implementation of
IOption.eq
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1798
▸ eq(other
): boolean
Parameters
Name | Type |
---|---|
other | Option <any > |
Returns
boolean
Implementation of
IOption.eq
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1799
expect
▸ expect(message
): never
Returns the contained Some
value.
Example
const x: Option<string> = some(2);
assert.equal(x.expect('Whoops!'), 2);
Example
const x: Option<string> = none;
assert.throws(() => x.expect('Whoops!'), {
name: 'OptionError',
message: 'Whoops'
});
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.expect
Parameters
Name | Type | Description |
---|---|---|
message | string | The message for the error. If the value is an Err , it throws an OptionError with the given message. |
Returns
never
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1768
filter
▸ filter(predicate
): None
Returns None if the option is None, otherwise calls predicate
with the wrapped value and returns:
Some(t)
ifpredicate
returnstrue
(where t is the wrapped value), andNone
ifpredicate
returnsfalse
.
Example
function isEven(value: number) {
return n % 2 === 0;
}
assert.equal(none.filter(isEven), none);
assert.equal(some(3).filter(isEven), none);
assert.equal(some(4).filter(isEven), some(4));
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.filter
Parameters
Name | Type | Description |
---|---|---|
predicate | (value : never ) => boolean | The predicate. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1789
flatten
▸ flatten(): None
Converts from Result<Result<T, E>, E>
to Result<T, E>
.
Example
const x: Option<Option<number>> = some(some(6));
assert.equal(x.flatten(), some(6));
Example
const x: Option<Option<number>> = some(none);
assert.equal(x.flatten(), none);
Example
const x: Option<Option<number>> = none;
assert.equal(x.flatten(), none);
See
https://doc.rust-lang.org/std/result/enum.Result.html#method.flatten
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1795
inspect
▸ inspect(cb?
): None
Calls the provided closure with a reference to the contained value (if Some
).
Seealso
inspectAsync for the awaitable version.
Example
some(2).inspect(console.log);
// Logs: 2
Example
none.inspect(console.log);
// Doesn't log
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.inspect
Parameters
Name | Type | Description |
---|---|---|
cb? | (value : never ) => void | The predicate. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1777
inspectAsync
▸ inspectAsync(cb?
): Promise
<None
>
Calls the provided closure with a reference to the contained value (if Some
).
Seealso
inspect for the sync version.
Example
await some(2).inspectAsync(console.log);
// Logs: 2
Example
await none.inspectAsync(console.log);
// Doesn't log
Note
This is an extension not supported in Rust
Parameters
Name | Type | Description |
---|---|---|
cb? | (value : never ) => unknown | The predicate. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1778
intoPromise
▸ intoPromise(): Promise
<None
>
Returns a Promise
object with the awaited value (if Some
).
Example
let x = some(Promise.resolve(3));
assert.equal(await x.intoPromise(), some(3));
Note
This is an extension not supported in Rust
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1796
isNone
▸ isNone(): this is None
Returns true
if the option is a None
value.
Example
const x: Option<number> = some(2);
assert.equal(x.isNone(), false);
Example
const x: Option<number> = none;
assert.equal(x.isNone(), true);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.is_none
Returns
this is None
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1767
isSome
▸ isSome(): false
Returns true
if the option is a Some
value.
Example
const x: Option<number> = some(2);
assert.equal(x.isSome(), true);
Example
const x: Option<number> = none;
assert.equal(x.isSome(), false);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some
Returns
false
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1765
isSomeAnd
▸ isSomeAnd(cb?
): false
Returns true
if the option is a Some
and the value inside of it matches a predicate.
Example
const x: Option<number> = some(2);
assert.equal(x.isSomeAnd((x) => x > 1), true);
Example
const x: Option<number> = some(0);
assert.equal(x.isSomeAnd((x) => x > 1), false);
Example
const x: Option<number> = none;
assert.equal(x.isSomeAnd((x) => x > 1), false);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some_and
Parameters
Name | Type | Description |
---|---|---|
cb? | (value : never ) => boolean | The predicate. |
Returns
false
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1766
iter
▸ iter(): Generator
<never
, any
, unknown
>
Returns an iterator over the possibly contained value.
The iterator yields one value if the result is Some
, otherwise none.
Example
const x = some(7);
for (const value of x) {
console.log(value);
}
// Logs 7
Example
const x = none;
for (const value of x) {
console.log(value);
}
// Doesn't log
See
Returns
Generator
<never
, any
, unknown
>
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1781
map
▸ map(cb
): None
Maps an Option<T>
to Option<U>
by applying a function to a contained value.
Example
const maybeSomeString = some('Hello, world!');
const maybeSomeLength = maybeSomeString.map((value) => value.length);
assert.equal(maybeSomeLength, some(13));
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.map
Parameters
Name | Type | Description |
---|---|---|
cb | (value : never ) => any | The predicate. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1772
mapInto
▸ mapInto(cb
): None
Maps a Some<T>
to the returned Option<U>
by applying a function to a contained value, leaving None
untouched.
Example
const input: Option<string> = some('Hello, world!');
const result = input.mapInto((value) => some(value.length));
assert.equal(result, some(13));
Example
const input: Option<string> = none;
const result = input.mapInto((value) => some(value.length));
assert.equal(result, none);
Note
This is an extension not supported in Rust
Parameters
Name | Type | Description |
---|---|---|
cb | (value : never ) => Option <any > | The predicate. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1773
mapNoneInto
▸ mapNoneInto<R
>(cb
): R
Maps a None
to the returned Option<U>
by applying a function to a contained value, leaving Some<T>
untouched.
Example
const input: Option<string> = some('Hello, world!');
const result = input.mapNoneInto(() => some(13));
assert.equal(result, some('Hello, world!'));
Example
const input: Option<string> = none;
const result = input.mapNoneInto(() => some(13));
assert.equal(result, some(13));
Note
This is an extension not supported in Rust
Type parameters
Name | Type |
---|---|
R | extends Option <any > |
Parameters
Name | Type | Description |
---|---|---|
cb | () => R | The predicate. |
Returns
R
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1776
mapOr
▸ mapOr<R
>(defaultValue
, cb?
): R
Returns the provided default result (if none), or applies a function to the contained value (if any).
Arguments passed to mapOr
are eagerly evaluated; if you are passing the result of a function call, it is
recommended to use mapOrElse, which is lazily evaluated.
Example
const x: Option<string> = some('hello');
assert.equal(x.mapOr(42, (value) => value.length), 5);
Example
const x: Option<string> = none;
assert.equal(x.mapOr(42, (value) => value.length), 42);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.map_or
Type parameters
Name |
---|
R |
Parameters
Name | Type | Description |
---|---|---|
defaultValue | R | The default value. |
cb? | (value : never ) => R | The predicate. |
Returns
R
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1774
mapOrElse
▸ mapOrElse<R
>(defaultValue
, cb?
): R
Computes a default function result (if none), or applies a different function to the contained value (if any).
Example
const x: Option<string> = some('hello');
assert.equal(x.mapOrElse(() => 42, (value) => value.length), 5);
Example
const x: Option<string> = none;
assert.equal(x.mapOrElse(() => 42, (value) => value.length), 42);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.map_or_else
Type parameters
Name |
---|
R |
Parameters
Name | Type | Description |
---|---|---|
defaultValue | () => R | The default value. |
cb? | (value : never ) => R | The predicate. |
Returns
R
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1775
match
▸ match<SomeValue
, NoneValue
>(branches
): NoneValue
Runs ok
function if self is Ok
, otherwise runs err
function.
Example
const option = some(4).match({
some: (v) => v,
none: () => 0
});
assert.equal(option, 4);
Example
const option = none.match({
some: (v) => v,
none: () => 0
});
assert.equal(option, 0);
Type parameters
Name |
---|
SomeValue |
NoneValue |
Parameters
Name | Type | Description |
---|---|---|
branches | Object | The branches to match. |
branches.none | () => NoneValue | - |
branches.some | (value : never ) => SomeValue | - |
Returns
NoneValue
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1803
ne
▸ ne(other
): false
Checks whether or not other
doesn't equal with self.
See
https://doc.rust-lang.org/std/cmp/trait.PartialEq.html#method.ne
Parameters
Name | Type | Description |
---|---|---|
other | None | The other option to compare. |
Returns
false
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1800
▸ ne(other
): true
Parameters
Name | Type |
---|---|
other | Some <any > |
Returns
true
Implementation of
IOption.ne
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1801
▸ ne(other
): boolean
Parameters
Name | Type |
---|---|
other | Option <any > |
Returns
boolean
Implementation of
IOption.ne
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1802
okOr
▸ okOr<E
>(error
): Err
<E
>
Transforms the Option<T>
into a Result<T, E>
, mapping Some(v)
to Ok(v)
and None
to Err(err)
.
Arguments passed to okOr
are eagerly evaluated; if you are passing the result of a function call, it is
recommended to use okOrElse, which is lazily evaluated.
Example
const x: Option<string> = some('hello');
assert.equal(x.okOr(0), ok('hello'));
Example
const x: Option<string> = none;
assert.equal(x.okOr(0), err(0));
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.ok_or
Type parameters
Name |
---|
E |
Parameters
Name | Type | Description |
---|---|---|
error | E | The error to be used. |
Returns
Err
<E
>
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1779
okOrElse
▸ okOrElse<E
>(cb
): Err
<E
>
Transforms the Option<T>
into a Result<T, E>
, mapping Some(v)
to Ok(v)
and None
to Err(err())
.
Example
const x: Option<string> = some('hello');
assert.equal(x.okOrElse(() => 0), ok('hello'));
Example
const x: Option<string> = none;
assert.equal(x.okOrElse(() => 0), err(0));
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.ok_or_else
Type parameters
Name |
---|
E |
Parameters
Name | Type | Description |
---|---|---|
cb | () => E | The error to be used. |
Returns
Err
<E
>
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1780
or
▸ or<R
>(option
): R
Returns the option if it contains a value, otherwise returns option
.
Example
const x: Option<number> = some(2);
const y: Option<number> = none;
assert.equal(x.or(y), some(2));
Example
const x: Option<number> = none;
const y: Option<number> = some(100);
assert.equal(x.or(y), some(100));
Example
const x: Option<number> = some(2);
const y: Option<number> = some(100);
assert.equal(x.or(y), some(2));
Example
const x: Option<number> = none;
const y: Option<number> = none;
assert.equal(x.or(y), none);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.or
Type parameters
Name | Type |
---|---|
R | extends Option <any > |
Parameters
Name | Type | Description |
---|---|---|
option | R | The option. |
Returns
R
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1784
orElse
▸ orElse<R
>(cb
): R
Calls cb
if the result is Ok
, otherwise returns the Err
value of self.
This function can be used for control flow based on Result
values.
Example
const nobody = (): Option<string> => none;
const vikings = (): Option<string> => some('vikings');
assert.equal(some('barbarians').orElse(vikings), some('barbarians'));
assert.equal(none.orElse(vikings), some('vikings'));
assert.equal(none.orElse(nobody), none);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.or_else
Type parameters
Name | Type |
---|---|
R | extends Option <any > |
Parameters
Name | Type | Description |
---|---|---|
cb | () => R | The predicate. |
Returns
R
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1785
transpose
Transposes an Option
of a Result
into a Result
of an Option
.
none
will be mapped to ok(none)
. some(ok(v))
and some(err(e))
will be mapped to ok(some(v))
and err(e)
.
Example
const x: Option<Result<number, Error>> = some(ok(5));
const y: Result<Option<number>, Error> = ok(some(5));
assert.equal(x.transpose(), y);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.transpose
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1794
unwrap
▸ unwrap(): never
Returns the contained Some
value.
If the value is an Err
, it throws an OptionError with the message.
Seealso
Seealso
Example
const x: Option<string> = some(2);
assert.equal(x.unwrap(), 2);
Example
const x: Option<string> = none;
assert.throws(() => x.unwrap(), {
name: 'OptionError',
message: 'Unwrap failed'
});
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.unwrap
Returns
never
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1769
unwrapOr
▸ unwrapOr<R
>(defaultValue
): R
Returns the contained Some
value or a provided default.
Arguments passed to unwrapOr
are eagerly evaluated; if you are passing the result of a function call, it is
recommended to use unwrapOrElse, which is lazily evaluated.
Example
assert.equal(some(2).unwrapOr(0), 2);
Example
assert.equal(none.unwrapOr(0), 0);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.unwrap_or
Type parameters
Name |
---|
R |
Parameters
Name | Type |
---|---|
defaultValue | R |
Returns
R
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1770
unwrapOrElse
▸ unwrapOrElse<R
>(cb
): R
Returns the contained Some value or computes it from a closure.
Example
assert.equal(some(2).unwrapOrElse(() => 0), 2);
Example
assert.equal(none.unwrapOrElse(() => 0), 0);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.unwrap_or_else
Type parameters
Name |
---|
R |
Parameters
Name | Type |
---|---|
cb | () => R |
Returns
R
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1771
unzip
Unzips an option containing a tuple of two options.
If self is Some((a, b))
this method returns [Some(a), Some(b)]
. Otherwise, [None, None]
is returned.
Example
const x: Option<[number, string]> = some([1, 'hi']);
assert.equal(x.unzip(), [some(1), some('hi')]);
Example
const x: Option<[number, string]> = none;
assert.equal(x.unzip(), [none, none]);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.unzip
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1793
xor
▸ xor<T
>(option
): None
Returns Some
if exactly one of self or option
is Some
, otherwise returns None
.
Example
const x: Option<number> = some(2);
const y: Option<number> = none;
assert.equal(x.xor(y), some(2));
Example
const x: Option<number> = none;
const y: Option<number> = some(2);
assert.equal(x.xor(y), some(2));
Example
const x: Option<number> = some(2);
const y: Option<number> = some(2);
assert.equal(x.xor(y), none);
Example
const x: Option<number> = none;
const y: Option<number> = none;
assert.equal(x.xor(y), none);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.xor
Type parameters
Name |
---|
T |
Parameters
Name | Type | Description |
---|---|---|
option | None | The option to compare. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1786
▸ xor<T
>(option
): Some
<T
>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
option | Some <T > |
Returns
Some
<T
>
Implementation of
IOption.xor
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1787
▸ xor<T
>(option
): None
| Some
<T
>
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
option | Option <T > |
Returns
Implementation of
IOption.xor
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1788
zip
▸ zip(other
): None
Zips self with another Option
.
If self is Some(s)
and other
is Some(o)
, this method returns Some([s, o])
. Otherwise, None
is returned.
Example
const x = some(1);
const y = some('hi');
const z = none;
assert.equal(x.zip(y), some([1, 'hi']));
assert.equal(x.zip(z), none);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.zip
Parameters
Name | Type | Description |
---|---|---|
other | Option <any > | The option to zip self with. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1791
zipWith
▸ zipWith(other
, f
): None
Zips self and another Option
with function f
.
If self is Some(s)
and other is Some(o)
, this method returns Some(f(s, o))
. Otherwise, None
is returned.
Example
class Point {
public readonly x: number;
public readonly y: number;
public constructor(x: number, y: number) {
this.x = x;
this.y = y;
}
}
const x = some(17.5);
const y = some(42.7);
assert.equal(x.zipWith(y, (s, o) => new Point(s, o)), some(new Point(17.5, 42.7)));
assert.equal(x.zipWith(none, (s, o) => new Point(s, o)), none);
See
https://doc.rust-lang.org/std/option/enum.Option.html#method.zip_with
Parameters
Name | Type | Description |
---|---|---|
other | Option <any > | The option to zip self with. |
f | (s : never , o : never ) => any | The function that computes the returned value. |
Returns
Implementation of
Defined in
node_modules/@sapphire/result/dist/index.d.ts:1792