blah blah blah

This commit is contained in:
Rowan 2025-10-22 01:49:12 -04:00
parent 581c7fcec3
commit effba7be1c
6 changed files with 195 additions and 131 deletions

View file

@ -82,24 +82,12 @@ export class Option {
static lte(other, self) {
return self.lte(other)
}
/**
* @template T
* @returns {this is Some<T>}
*/
isSome() {
return this instanceof Some
}
/**
* @returns {this is None<T>}
*/
isNone() {
return this == None || this instanceof _None
}
}
/** @template T */
/**
* @template T
* @augments Option<T>
*/
export class Some extends Option {
/** @type T */
#value
@ -157,7 +145,6 @@ export class Some extends Option {
}
/**
* @template T
* @param {(value: T) => boolean} predicate
* @returns {Option<T>}
*/
@ -170,7 +157,7 @@ export class Some extends Option {
* @returns {boolean}
*/
equals(other) {
return other.isSome() && this.#value === other.#value
return other instanceof Some && this.#value === other.#value
}
/**
@ -178,7 +165,7 @@ export class Some extends Option {
* @returns {boolean}
*/
lte(other) {
return other.isSome() && this.#value <= other.#value
return other instanceof Some && this.#value <= other.#value
}
/**
@ -242,8 +229,7 @@ export class Some extends Option {
/**
* @template E
* @template {() => E} F
* @param {F} _err
* @param {() => E} _err
* @returns {Result<T, E>}
*/
okOrElse(_err) {
@ -289,23 +275,26 @@ export class Some extends Option {
}
}
/**
* @template T
* @augments Option<T>
*/
class _None extends Option {
/**
* @returns {this is Some}
* @returns {this is Some<T>}
*/
isSome() {
return false
}
/**
* @returns {this is _None}
* @returns {this is _None<T>}
*/
isNone() {
return true
}
/**
* @template T
* @param {Option<T>} _other
* @returns {Option<T>}
*/
@ -314,7 +303,6 @@ class _None extends Option {
}
/**
* @template T
* @template {Option<T>} R
* @param {(value: T) => R} _fn
* @returns {R}
@ -324,7 +312,6 @@ class _None extends Option {
}
/**
* @template T
* @param {Option<T>} other
* @returns {Option<T>}
*/
@ -333,7 +320,6 @@ class _None extends Option {
}
/**
* @template T
* @param {() => Option<T>} fn
* @returns {Option<T>}
*/
@ -342,7 +328,6 @@ class _None extends Option {
}
/**
* @template T
* @param {(value: T) => boolean} _predicate
* @returns {Option<T>}
*/
@ -351,7 +336,6 @@ class _None extends Option {
}
/**
* @template T
* @param {Option<T>} other
* @returns {boolean}
*/
@ -360,7 +344,6 @@ class _None extends Option {
}
/**
* @template T
* @param {Option<T>} _other
* @returns {boolean}
*/
@ -369,7 +352,7 @@ class _None extends Option {
}
/**
* @template T, [V=T]
* @template [V=T]
* @param {(acc: V, value: T) => V} _reducer
* @param {V} init
* @returns {V}
@ -379,7 +362,6 @@ class _None extends Option {
}
/**
* @template T
* @template {Option<T>} R
* @returns {R}
*/
@ -388,17 +370,16 @@ class _None extends Option {
}
/**
* @template T, V
* @template {Option<T>} R
* @template V
* @param {(value: T) => V} _fn
* @returns {R}
* @returns {Option<V>}
*/
map(_fn) {
return this
}
/**
* @template T, V
* @template V
* @param {V} defaultValue
* @param {(value: T) => V} _fn
* @returns {V}
@ -408,7 +389,7 @@ class _None extends Option {
}
/**
* @template T, V
* @template V
* @param {() => V} defaultFn
* @param {(value: T) => V} _fn
* @returns {V}
@ -418,7 +399,7 @@ class _None extends Option {
}
/**
* @template T, E
* @template E
* @template {Result<T, E>} R
* @param {E} err
* @returns {R}
@ -428,18 +409,15 @@ class _None extends Option {
}
/**
* @template T, E
* @template {Result<T, E>} R
* @template {() => E} F
* @param {F} err
* @returns {R}
* @template E
* @param {() => E} err
* @returns {Result<T, E>}
*/
okOrElse(err) {
return Result.err(err())
}
/**
* @template T
* @param {(value: T) => void} _fn
* @returns {this}
*/
@ -448,7 +426,6 @@ class _None extends Option {
}
/**
* @template T
* @returns {T}
* @throws {UnwrapError}
*/
@ -457,7 +434,6 @@ class _None extends Option {
}
/**
* @template T
* @param {T} value
* @returns {T}
*/
@ -466,7 +442,6 @@ class _None extends Option {
}
/**
* @template T
* @param {() => T} fn
* @returns {T}
*/

View file

@ -45,20 +45,6 @@ export class Result {
static lte(other, self) {
return self.lte(other)
}
/**
* @returns {this is Ok<T, E>}
*/
isOk() {
return this instanceof Ok
}
/**
* @returns {this is Err<T, E>}
*/
isErr() {
return this instanceof Err
}
}
/** @template T, E */
@ -97,9 +83,8 @@ export class Ok extends Result {
/**
* @template V
* @template {Result<V, E>} R
* @param {(value: T) => V} fn
* @returns {R}
* @returns {Result<V, E>}
*/
map(fn) {
return Result.ok(fn(this.#value))
@ -121,7 +106,7 @@ export class Ok extends Result {
* @param {(value: T) => V} fn
* @returns {V}
*/
mapOr(_defaultFn, fn) {
mapOrElse(_defaultFn, fn) {
return this.map(fn)
}
@ -155,7 +140,7 @@ export class Ok extends Result {
* @returns {boolean}
*/
equals(other) {
return other.isOk() && this.#value === other.#value
return other instanceof Ok && this.#value === other.#value
}
/**
@ -163,7 +148,7 @@ export class Ok extends Result {
* @returns {boolean}
*/
lte(other) {
return other.isOk() && this.#value <= other.#value
return other instanceof Ok && this.#value <= other.#value
}
/**
@ -285,9 +270,8 @@ export class Err extends Result {
/**
* @template V
* @template {Result<V, E>} R
* @param {(value: T) => V} _fn
* @returns {R}
* @returns {Result<V, E>}
*/
map(_fn) {
return this
@ -346,7 +330,7 @@ export class Err extends Result {
* @returns {boolean}
*/
equals(other) {
return other.isErr() && this.#error === other.#error
return other instanceof Err && this.#error === other.#error
}
/**
@ -355,7 +339,7 @@ export class Err extends Result {
* @returns {boolean}
*/
lte(other) {
return other.isErr() && this.#error <= other.#error
return other instanceof Err && this.#error <= other.#error
}
/**

110
types/option.d.ts vendored
View file

@ -9,7 +9,7 @@ export class Option<T> {
*/
static some<T_1>(value: T_1): Some<T_1>;
/** @returns {None} */
static none(): _None;
static none(): _None<any>;
/**
* @template T
* @param {(value: T) => Option<T>} fn
@ -56,6 +56,10 @@ export class Option<T> {
* @returns {this is Some}
*/
isSome(): this is Some<any>;
/**
* @returns {this is _None}
*/
isNone(): this is _None<any>;
/**
* @param {(value: T) => Option<T>} fn
* @returns {Option<T>}
@ -77,11 +81,10 @@ export class Option<T> {
*/
orElse(_fn: () => Option<T>): Option<T>;
/**
* @template T
* @param {(value: T) => boolean} predicate
* @returns {Option<T>}
*/
filter<T_1>(predicate: (value: T_1) => boolean): Option<T_1>;
filter(predicate: (value: T) => boolean): Option<T>;
/**
* @param {Option<T>} other
* @returns {boolean}
@ -157,15 +160,21 @@ export class Option<T> {
unwrapOrElse(_fn: () => T): T;
#private;
}
/** @template T */
export class Some<T> extends Option<any> {
/**
* @template T
* @augments Option<T>
*/
export class Some<T> extends Option<T> {
/** @param {T} value */
constructor(value: T);
/**
* @returns {this is Some}
*/
isSome(): this is Some<any>;
/**
* @returns {this is _None}
*/
isNone(): this is _None<any>;
/**
* @param {(value: T) => Option<T>} fn
* @returns {Option<T>}
@ -187,11 +196,10 @@ export class Some<T> extends Option<any> {
*/
orElse(_fn: () => Option<T>): Option<T>;
/**
* @template T
* @param {(value: T) => boolean} predicate
* @returns {Option<T>}
*/
filter<T_1>(predicate: (value: T_1) => boolean): Option<T_1>;
filter(predicate: (value: T) => boolean): Option<T>;
/**
* @param {Option<T>} other
* @returns {boolean}
@ -267,127 +275,121 @@ export class Some<T> extends Option<any> {
unwrapOrElse(_fn: () => T): T;
#private;
}
export const None: _None;
declare class _None extends Option<any> {
constructor();
/**
* @returns {this is Some}
*/
isSome(): this is Some<any>;
/**
export const None: _None<any>;
/**
* @template T
* @augments Option<T>
*/
declare class _None<T> extends Option<T> {
/**
* @returns {this is Some<T>}
*/
isSome(): this is Some<T>;
/**
* @returns {this is _None<T>}
*/
isNone(): this is _None<T>;
/**
* @param {Option<T>} _other
* @returns {Option<T>}
*/
and<T>(_other: Option<T>): Option<T>;
and(_other: Option<T>): Option<T>;
/**
* @template T
* @template {Option<T>} R
* @param {(value: T) => R} _fn
* @returns {R}
*/
andThen<T, R extends Option<T>>(_fn: (value: T) => R): R;
andThen<R extends Option<T>>(_fn: (value: T) => R): R;
/**
* @template T
* @param {Option<T>} other
* @returns {Option<T>}
*/
or<T>(other: Option<T>): Option<T>;
or(other: Option<T>): Option<T>;
/**
* @template T
* @param {() => Option<T>} fn
* @returns {Option<T>}
*/
orElse<T>(fn: () => Option<T>): Option<T>;
orElse(fn: () => Option<T>): Option<T>;
/**
* @template T
* @param {(value: T) => boolean} _predicate
* @returns {Option<T>}
*/
filter<T>(_predicate: (value: T) => boolean): Option<T>;
filter(_predicate: (value: T) => boolean): Option<T>;
/**
* @template T
* @param {Option<T>} other
* @returns {boolean}
*/
equals<T>(other: Option<T>): boolean;
equals(other: Option<T>): boolean;
/**
* @template T
* @param {Option<T>} _other
* @returns {boolean}
*/
lte<T>(_other: Option<T>): boolean;
lte(_other: Option<T>): boolean;
/**
* @template T, [V=T]
* @template [V=T]
* @param {(acc: V, value: T) => V} _reducer
* @param {V} init
* @returns {V}
*/
reduce<T, V = T>(_reducer: (acc: V, value: T) => V, init: V): V;
reduce<V = T>(_reducer: (acc: V, value: T) => V, init: V): V;
/**
* @template T
* @template {Option<T>} R
* @returns {R}
*/
flatten<T, R extends Option<T>>(): R;
flatten<R extends Option<T>>(): R;
/**
* @template T, V
* @template {Option<T>} R
* @template V
* @param {(value: T) => V} _fn
* @returns {R}
* @returns {Option<V>}
*/
map<T, V, R extends Option<T>>(_fn: (value: T) => V): R;
map<V>(_fn: (value: T) => V): Option<V>;
/**
* @template T, V
* @template V
* @param {V} defaultValue
* @param {(value: T) => V} _fn
* @returns {V}
*/
mapOr<T, V>(defaultValue: V, _fn: (value: T) => V): V;
mapOr<V>(defaultValue: V, _fn: (value: T) => V): V;
/**
* @template T, V
* @template V
* @param {() => V} defaultFn
* @param {(value: T) => V} _fn
* @returns {V}
*/
mapOrElse<T, V>(defaultFn: () => V, _fn: (value: T) => V): V;
mapOrElse<V>(defaultFn: () => V, _fn: (value: T) => V): V;
/**
* @template T, E
* @template E
* @template {Result<T, E>} R
* @param {E} err
* @returns {R}
*/
okOr<T, E, R extends Result<T, E>>(err: E): R;
okOr<E, R extends Result<T, E>>(err: E): R;
/**
* @template T, E
* @template E
* @param {() => E} err
* @returns {R}
* @returns {Result<T, E>}
*/
okOrElse<T, E>(err: () => E): Result<T, E>;
okOrElse<E>(err: () => E): Result<T, E>;
/**
* @template T
* @param {(value: T) => void} _fn
* @returns {this}
*/
inspect<T>(_fn: (value: T) => void): this;
inspect(_fn: (value: T) => void): this;
/**
* @template T
* @returns {T}
* @throws {UnwrapError}
*/
unwrap<T>(): T;
unwrap(): T;
/**
* @template T
* @param {T} value
* @returns {T}
*/
unwrapOr<T>(value: T): T;
unwrapOr(value: T): T;
/**
* @template T
* @param {() => T} fn
* @returns {T}
*/
unwrapOrElse<T>(fn: () => T): T;
unwrapOrElse(fn: () => T): T;
}
import { Result } from './result.js';
export { };

View file

@ -1 +1 @@
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../src/option.js"],"names":[],"mappings":"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"}
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../src/option.js"],"names":[],"mappings":"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"}

115
types/result.d.ts vendored
View file

@ -25,6 +25,104 @@ export class Result<T, E> {
* @returns {this is Err<T, E>}
*/
isErr(): this is Err<T, E>;
/**
* @template {Result<T, E>} R
* @param {(value: T) => R} fn
* @returns {R}
*/
andThen<R extends Result<T, E>>(fn: (value: T) => R): R;
/**
* @template V
* @param {(value: T) => V} fn
* @returns {Result<V, E>}
*/
map<V>(fn: (value: T) => V): Result<V, E>;
/**
* @template V
* @param {V} _defaultValue
* @param {(value: T) => V} fn
* @returns {V}
*/
mapOr<V>(_defaultValue: V, fn: (value: T) => V): V;
/**
* @template V
* @param {() => V} _defaultFn
* @param {(value: T) => V} fn
* @returns {V}
*/
mapOrElse<V>(_defaultFn: () => V, fn: (value: T) => V): V;
/**
* @param {Result<T, E>} other
* @returns {Result<T, E>}
*/
and(other: Result<T, E>): Result<T, E>;
/**
* @param {Result<T, E>} _other
* @returns {Result<T, E>}
*/
or(_other: Result<T, E>): Result<T, E>;
/**
* @template F
* @param {(error: E) => Result<T, F>} _fn
* @returns {Result<T, F>}
*/
orElse<F>(_fn: (error: E) => Result<T, F>): Result<T, F>;
/**
* @param {Result<T, E>} other
* @returns {boolean}
*/
equals(other: Result<T, E>): boolean;
/**
* @param {Result<T, E>} other
* @returns {boolean}
*/
lte(other: Result<T, E>): boolean;
/**
* @template [V=T]
* @param {(acc: V, value: T) => V} reducer
* @param {V} init
* @returns {V}
*/
reduce<V = T>(reducer: (acc: V, value: T) => V, init: V): V;
/**
* @template {Result<T, E>} R
* @returns {R}
*/
flatten<R extends Result<T, E>>(): R;
/**
* @returns {Option<T>}
*/
ok(): Option<T>;
/**
* @returns {Option<T>}
*/
err(): Option<T>;
/**
* @param {(value: T) => void} fn
* @returns {this}
*/
inspect(fn: (value: T) => void): this;
/**
* @returns {T}
* @throws {UnwrapError}
*/
unwrap(): T;
/**
* @returns {E}
* @throws {UnwrapError}
*/
unwrapErr(): E;
/**
* @param {T} _value
* @returns {T}
*/
unwrapOr(_value: T): T;
/**
* @param {() => T} _fn
* @returns {T}
*/
unwrapOrElse(_fn: () => T): T;
#private;
}
/** @template T, E */
export class Ok<T, E> extends Result<any, any> {
@ -46,11 +144,10 @@ export class Ok<T, E> extends Result<any, any> {
andThen<R extends Result<T, E>>(fn: (value: T) => R): R;
/**
* @template V
* @template {Result<V, E>} R
* @param {(value: T) => V} fn
* @returns {R}
* @returns {Result<V, E>}
*/
map<V, R extends Result<V, E>>(fn: (value: T) => V): R;
map<V>(fn: (value: T) => V): Result<V, E>;
/**
* @template V
* @param {V} _defaultValue
@ -58,6 +155,13 @@ export class Ok<T, E> extends Result<any, any> {
* @returns {V}
*/
mapOr<V>(_defaultValue: V, fn: (value: T) => V): V;
/**
* @template V
* @param {() => V} _defaultFn
* @param {(value: T) => V} fn
* @returns {V}
*/
mapOrElse<V>(_defaultFn: () => V, fn: (value: T) => V): V;
/**
* @param {Result<T, E>} other
* @returns {Result<T, E>}
@ -151,11 +255,10 @@ export class Err<T, E> extends Result<any, any> {
andThen<R extends Result<T, E>>(_fn: (value: T) => R): R;
/**
* @template V
* @template {Result<V, E>} R
* @param {(value: T) => V} _fn
* @returns {R}
* @returns {Result<V, E>}
*/
map<V, R extends Result<V, E>>(_fn: (value: T) => V): R;
map<V>(_fn: (value: T) => V): Result<V, E>;
/**
* @template V
* @param {V} defaultValue

View file

@ -1 +1 @@
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.js"],"names":[],"mappings":"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"}
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.js"],"names":[],"mappings":"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"}