Skip to main content

Class: None

Implements

Constructors

constructor

new None(): None

Returns

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.

Returns

Generator<never, any, unknown>

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

Implementation of

IOption.[iterator]

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1807


and

and(option): this

Returns None if the option is None, otherwise returns option.

Parameters

NameTypeDescription
optionOption<any>The option.

Returns

this

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

Implementation of

IOption.and

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1782


andThen

andThen(cb): this

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.

Parameters

NameTypeDescription
cb(value: never) => Option<any>The predicate.

Returns

this

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

Implementation of

IOption.andThen

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1783


contains

contains(value?): false

Returns true if the option is a Some value containing the given value.

Parameters

NameTypeDescription
value?anyThe value to compare.

Returns

false

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

Implementation of

IOption.contains

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1790


eq

eq(other): true

Checks whether or not other equals with self.

Parameters

NameTypeDescription
otherNoneThe other option to compare.

Returns

true

See

https://doc.rust-lang.org/std/cmp/trait.PartialEq.html#tymethod.eq

Implementation of

IOption.eq

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1797

eq(other): false

Parameters

NameType
otherSome<any>

Returns

false

Implementation of

IOption.eq

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1798

eq(other): boolean

Parameters

NameType
otherOption<any>

Returns

boolean

Implementation of

IOption.eq

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1799


expect

expect(message): never

Returns the contained Some value.

Parameters

NameTypeDescription
messagestringThe message for the error. If the value is an Err, it throws an OptionError with the given message.

Returns

never

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

Implementation of

IOption.expect

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1768


filter

filter(predicate): None

Returns None if the option is None, otherwise calls predicate with the wrapped value and returns:

  • Some(t) if predicate returns true (where t is the wrapped value), and
  • None if predicate returns false.

Parameters

NameTypeDescription
predicate(value: never) => booleanThe predicate.

Returns

None

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

Implementation of

IOption.filter

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1789


flatten

flatten(): None

Converts from Result<Result<T, E>, E> to Result<T, E>.

Returns

None

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

Implementation of

IOption.flatten

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1795


inspect

inspect(cb?): this

Calls the provided closure with a reference to the contained value (if Some).

Parameters

NameTypeDescription
cb?(value: never) => voidThe predicate.

Returns

this

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

Implementation of

IOption.inspect

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1777


inspectAsync

inspectAsync(cb?): Promise<None>

Calls the provided closure with a reference to the contained value (if Some).

Parameters

NameTypeDescription
cb?(value: never) => unknownThe predicate.

Returns

Promise<None>

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

Implementation of

IOption.inspectAsync

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1778


intoPromise

intoPromise(): Promise<None>

Returns a Promise object with the awaited value (if Some).

Returns

Promise<None>

Example

let x = some(Promise.resolve(3));
assert.equal(await x.intoPromise(), some(3));

Note

This is an extension not supported in Rust

Implementation of

IOption.intoPromise

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1796


isNone

isNone(): this is None

Returns true if the option is a None value.

Returns

this is None

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

Implementation of

IOption.isNone

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1767


isSome

isSome(): false

Returns true if the option is a Some value.

Returns

false

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

Implementation of

IOption.isSome

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1765


isSomeAnd

isSomeAnd(cb?): false

Returns true if the option is a Some and the value inside of it matches a predicate.

Parameters

NameTypeDescription
cb?(value: never) => booleanThe predicate.

Returns

false

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

Implementation of

IOption.isSomeAnd

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Returns

Generator<never, any, unknown>

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

Implementation of

IOption.iter

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1781


map

map(cb): this

Maps an Option<T> to Option<U> by applying a function to a contained value.

Parameters

NameTypeDescription
cb(value: never) => anyThe predicate.

Returns

this

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

Implementation of

IOption.map

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1772


mapInto

mapInto(cb): this

Maps a Some<T> to the returned Option<U> by applying a function to a contained value, leaving None untouched.

Parameters

NameTypeDescription
cb(value: never) => Option<any>The predicate.

Returns

this

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

Implementation of

IOption.mapInto

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Type parameters

NameType
Rextends Option<any>

Parameters

NameTypeDescription
cb() => RThe predicate.

Returns

R

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

Implementation of

IOption.mapNoneInto

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Type parameters

Name
R

Parameters

NameTypeDescription
defaultValueRThe default value.
cb?(value: never) => RThe predicate.

Returns

R

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

Implementation of

IOption.mapOr

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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).

Type parameters

Name
R

Parameters

NameTypeDescription
defaultValue() => RThe default value.
cb?(value: never) => RThe predicate.

Returns

R

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

Implementation of

IOption.mapOrElse

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1775


match

match<SomeValue, NoneValue>(branches): NoneValue

Runs ok function if self is Ok, otherwise runs err function.

Type parameters

Name
SomeValue
NoneValue

Parameters

NameTypeDescription
branchesObjectThe branches to match.
branches.none() => NoneValue-
branches.some(value: never) => SomeValue-

Returns

NoneValue

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);

Implementation of

IOption.match

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1803


ne

ne(other): false

Checks whether or not other doesn't equal with self.

Parameters

NameTypeDescription
otherNoneThe other option to compare.

Returns

false

See

https://doc.rust-lang.org/std/cmp/trait.PartialEq.html#method.ne

Implementation of

IOption.ne

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1800

ne(other): true

Parameters

NameType
otherSome<any>

Returns

true

Implementation of

IOption.ne

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1801

ne(other): boolean

Parameters

NameType
otherOption<any>

Returns

boolean

Implementation of

IOption.ne

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Type parameters

Name
E

Parameters

NameTypeDescription
errorEThe error to be used.

Returns

Err<E>

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

Implementation of

IOption.okOr

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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()).

Type parameters

Name
E

Parameters

NameTypeDescription
cb() => EThe error to be used.

Returns

Err<E>

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

Implementation of

IOption.okOrElse

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1780


or

or<R>(option): R

Returns the option if it contains a value, otherwise returns option.

Type parameters

NameType
Rextends Option<any>

Parameters

NameTypeDescription
optionRThe option.

Returns

R

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

Implementation of

IOption.or

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Type parameters

NameType
Rextends Option<any>

Parameters

NameTypeDescription
cb() => RThe predicate.

Returns

R

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

Implementation of

IOption.orElse

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1785


transpose

transpose(): Ok<None>

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).

Returns

Ok<None>

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

Implementation of

IOption.transpose

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1794


unwrap

unwrap(): never

Returns the contained Some value.

If the value is an Err, it throws an OptionError with the message.

Returns

never

Seealso

unwrapOr

Seealso

unwrapOrElse

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

Implementation of

IOption.unwrap

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Type parameters

Name
R

Parameters

NameType
defaultValueR

Returns

R

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

Implementation of

IOption.unwrapOr

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1770


unwrapOrElse

unwrapOrElse<R>(cb): R

Returns the contained Some value or computes it from a closure.

Type parameters

Name
R

Parameters

NameType
cb() => R

Returns

R

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

Implementation of

IOption.unwrapOrElse

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1771


unzip

unzip(): [None, None]

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.

Returns

[None, None]

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

Implementation of

IOption.unzip

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1793


xor

xor<T>(option): None

Returns Some if exactly one of self or option is Some, otherwise returns None.

Type parameters

Name
T

Parameters

NameTypeDescription
optionNoneThe option to compare.

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

Implementation of

IOption.xor

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1786

xor<T>(option): Some<T>

Type parameters

Name
T

Parameters

NameType
optionSome<T>

Returns

Some<T>

Implementation of

IOption.xor

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1787

xor<T>(option): None | Some<T>

Type parameters

Name
T

Parameters

NameType
optionOption<T>

Returns

None | Some<T>

Implementation of

IOption.xor

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Parameters

NameTypeDescription
otherOption<any>The option to zip self with.

Returns

None

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

Implementation of

IOption.zip

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts: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.

Parameters

NameTypeDescription
otherOption<any>The option to zip self with.
f(s: never, o: never) => anyThe function that computes the returned value.

Returns

None

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

Implementation of

IOption.zipWith

Defined in

node_modules/@sapphire/result/dist/esm/index.d.mts:1792