{"version":3,"file":"err.cjs","sources":["../../../../src/mods/result/err.ts"],"sourcesContent":["import { None, Some } from \"@hazae41/option\"\nimport { Awaitable } from \"libs/promises/promises.js\"\nimport { Panic } from \"./errors.js\"\nimport { Result } from \"./result.js\"\n\nexport namespace Err {\n\n  export type Infer<T> = Err<Inner<T>>\n\n  export type Inner<T> = T extends Err<infer Inner> ? Inner : never\n\n}\n\nexport class Err<T = unknown> {\n\n  #inner: T\n\n  /**\n   * A failure\n   * @param inner \n   */\n  constructor(inner: T) {\n    this.#inner = inner\n  }\n\n  /**\n   * Create an empty `Err`\n   * @returns `Err(void)`\n   */\n  static void(): Err<void> {\n    return new Err<void>(undefined)\n  }\n\n  /**\n   * Create an `Err`\n   * @param inner \n   * @returns `Err(inner)`\n   */\n  static create<T>(inner: T): Err<T> {\n    return new Err(inner)\n  }\n\n  /**\n   * Create an `Err` with an `Error` inside\n   * @param message \n   * @param options \n   * @returns `Err<Error>`\n   */\n  static error(message: string, options?: ErrorOptions): Err<Error> {\n    return new Err(new Error(message, options))\n  }\n\n  get inner() {\n    return this.#inner\n  }\n\n  [Symbol.dispose](this: Err<Disposable>) {\n    this.#inner[Symbol.dispose]()\n  }\n\n  async [Symbol.asyncDispose](this: Err<AsyncDisposable>) {\n    await this.#inner[Symbol.asyncDispose]()\n  }\n\n\n  /**\n   * Type guard for `Ok`\n   * @returns `true` if `Ok`, `false` if `Err`\n   */\n  isOk(): false {\n    return false\n  }\n\n  /**\n   * Returns true if the result is `Ok` and the value inside of it matches a predicate\n   * @param okPredicate \n   * @returns `true` if `Ok` and `await okPredicate(this.inner)`, `false` otherwise\n   */\n  async isOkAnd(okPredicate: unknown): Promise<false> {\n    return false\n  }\n\n  /**\n   * Returns true if the result is `Ok` and the value inside of it matches a predicate\n   * @param okPredicate \n   * @returns `true` if `Ok` and `await okPredicate(this.inner)`, `false` otherwise\n   */\n  isOkAndSync(okPredicate: unknown): false {\n    return false\n  }\n\n  /**\n   * Type guard for `Err`\n   * @returns `true` if `Err`, `false` if `Ok`\n   */\n  isErr(): this is Err<T> {\n    return true\n  }\n\n  /**\n   * Returns true if the result is `Err` and the value inside of it matches a predicate\n   * @param errPredicate \n   * @returns `true` if `Err` and `await errPredicate(this.inner)`, `false` otherwise\n   */\n  async isErrAnd(errPredicate: (inner: T) => Awaitable<boolean>): Promise<boolean> {\n    return await errPredicate(this.inner)\n  }\n\n  /**\n   * Returns true if the result is `Err` and the value inside of it matches a predicate\n   * @param errPredicate \n   * @returns `true` if `Err` and `await errPredicate(this.inner)`, `false` otherwise\n   */\n  isErrAndSync(errPredicate: (inner: T) => boolean): boolean {\n    return errPredicate(this.inner)\n  }\n\n  /**\n   * Compile-time safely get Ok's inner type\n   * @returns `this.inner`\n   * @throws if `this` is `Err`\n   */\n  get(this: [T] extends [never] ? unknown : never): never {\n    throw new Panic()\n  }\n\n  /**\n   * Compile-time safely get Err's inner type\n   * @returns `this.inner`\n   * @throws if `this` is `Ok`\n   */\n  getErr() {\n    return this.inner\n  }\n\n  /**\n   * Get inner type\n   * @returns \n   */\n  getAny(): T {\n    return this.inner\n  }\n\n  /**\n   * Transform `Result<T, E>` into `Option<T>`\n   * @returns `Some(this.inner)` if `Ok`, `None` if `Err`\n   */\n  ok(): None {\n    return new None()\n  }\n\n  /**\n   * Transform `Result<T, E>` into `Option<E>`\n   * @returns `Some(this.inner)` if `Err`, `None` if `Ok`\n   */\n  err(): Some<T> {\n    return new Some(this.inner)\n  }\n\n  /**\n   * Returns an iterator over the possibly contained value\n   * @yields `this.inner` if `Ok`\n   */\n  *[Symbol.iterator](): Iterator<never, void> {\n    return\n  }\n\n  /**\n   * Transform `Result<T,E>` into `[T,E]`\n   * @returns `[this.inner, undefined]` if `Ok`, `[undefined, this.inner]` if `Err`\n   */\n  split(): [undefined, T] {\n    return [undefined, this.inner]\n  }\n\n  /**\n   * Returns true if the result is an `Ok` value containing the given value\n   * @param value \n   * @returns `true` if `Ok` and `this.inner === value`, `false` otherwise\n   */\n  contains(value: unknown): false {\n    return false\n  }\n\n  /**\n   * Returns true if the result is an `Err` value containing the given value\n   * @param value \n   * @returns `true` if `Err` and `this.inner === value`, `false` otherwise\n   */\n  containsErr(value: T): boolean {\n    return this.inner === value\n  }\n\n  /**\n   * Get the inner value or throw to the closest `Result.unthrow`\n   * @param thrower The thrower from `Result.unthrow`\n   * @returns `this.inner` if `Ok`\n   * @throws `undefined` if `Err` \n   * @see Result.unthrow\n   * @see Result.unthrowSync\n   */\n  throw(thrower: (e: Err<T>) => void): never {\n    thrower(this)\n    throw this\n  }\n\n  /**\n   * Get the inner value if Ok or throw the inner error\n   * @returns `this.inner` if `Ok`\n   * @throws `this.inner` if `Err` \n   */\n  getOrThrow(): never {\n    throw this.inner\n  }\n\n  /**\n   * Get the inner error if Err or throw the inner value\n   * @returns `this.inner` if `Err`\n   * @throws `this.inner` if `Ok` \n   */\n  getErrOrThrow(): T {\n    return this.inner\n  }\n\n  /**\n   * Get the inner value if Ok or null if Err\n   * @returns `this.inner` if `Ok`, `null` if `Err`\n   */\n  getOrNull(): null {\n    return null\n  }\n\n  /**\n   * Get the inner error if Err or null if Ok\n   * @returns `this.inner` if `Err`, `null` if `Ok`\n   */\n  getErrOrNull(): T {\n    return this.inner\n  }\n\n  /**\n   * Get the inner value or a default one\n   * @param value \n   * @returns `this.inner` if `Ok`, `value` if `Err`\n   */\n  getOr<U>(value: U): U {\n    return value\n  }\n\n  /**\n   * Get the inner value or compute a default one from the inner error\n   * @param errMapper \n   * @returns `this.inner` if `Ok`, `await errMapper(this.inner)` if `Err`\n   * @throws if `await errMapper(this.inner)` throws\n   */\n  async getOrElse<U>(errMapper: (inner: T) => Awaitable<U>): Promise<U> {\n    return await errMapper(this.inner)\n  }\n\n  /**\n   * Get the inner value or compute a default one from the inner error\n   * @param errMapper \n   * @returns `this.inner` if `Ok`, `errMapper(this.inner)` if `Err`\n   * @throws if `errMapper(this.inner)` throws\n   */\n  getOrElseSync<U>(errMapper: (inner: T) => U): U {\n    return errMapper(this.inner)\n  }\n\n  /**\n   * Get this if Ok or throw the inner error\n   * @returns \n   */\n  checkOrThrow(): never {\n    throw this.inner\n  }\n\n  /**\n   * Get this if Err or throw the inner value\n   * @returns \n   */\n  checkErrOrThrow(): this {\n    return this\n  }\n\n  /**\n   * Get this if Ok or return null\n   * @returns \n   */\n  checkOrNull(): null {\n    return null\n  }\n\n  /**\n   * Get this if Err or return null\n   * @returns \n   */\n  checkErrOrNull(): this {\n    return this\n  }\n\n  /**\n   * Transform Result<Promise<T>, E> into Promise<Result<T, E>>\n   * @returns `await this.inner` if `Ok`, `this` if `Err`\n   */\n  async await(): Promise<this> {\n    return this\n  }\n\n  /**\n   * Transform Result<T, Promise<E>> into Promise<Result<T, E>>\n   * @returns `await this.inner` if `Err`, `this` if `Ok`\n   */\n  async awaitErr<T>(this: Err<PromiseLike<T>>): Promise<Err<Awaited<T>>> {\n    return new Err(await this.inner)\n  }\n\n  /**\n   * Transform Result<Promise<T>, Promise<E>> into Promise<Result<T, E>>\n   * @returns `await this.inner`\n   */\n  async awaitAll<T>(this: Err<PromiseLike<T>>): Promise<Err<Awaited<T>>> {\n    return await this.awaitErr()\n  }\n\n  /**\n   * Transform `Result<T, E>` into `Result<void, E>`\n   * @returns `Ok<void>` if `Ok<T>`, `Err<E>` if `E<E>`\n   */\n  clear(): this {\n    return this\n  }\n\n  /**\n   * Transform `Result<T, E>` into `Result<T, void>`\n   * @returns `Ok<T>` if `Ok<T>`, `Err<void>` if `E<E>`\n   */\n  clearErr(): Err<void> {\n    return Err.void()\n  }\n\n  /**\n   * Calls the given callback with the inner value if `Ok`\n   * @param okCallback \n   * @returns `this`\n   */\n  async inspect(okCallback: unknown): Promise<this> {\n    return this\n  }\n\n  /**\n   * Calls the given callback with the inner value if `Ok`\n   * @param okCallback \n   * @returns `this`\n   */\n  inspectSync(okCallback: unknown): this {\n    return this\n  }\n\n  /**\n   * Calls the given callback with the inner value if `Err`\n   * @param errCallback \n   * @returns `this`\n   */\n  async inspectErr(errCallback: (inner: T) => Awaitable<void>): Promise<this> {\n    await errCallback(this.inner)\n    return this\n  }\n\n  /**\n   * Calls the given callback with the inner value if `Err`\n   * @param errCallback \n   * @returns `this`\n   */\n  inspectErrSync(errCallback: (inner: T) => void): this {\n    errCallback(this.inner)\n    return this\n  }\n\n  /**\n   * Return a new `Ok` but with the given `inner`\n   * @param inner \n   * @returns `Ok(inner)` if `Ok`, `this` if `Err`\n   */\n  set(inner: unknown): this {\n    return this\n  }\n\n  /**\n   * Return a new `Err` but with the given `inner`\n   * @param inner \n   * @returns `Err(inner)` if `Err`, `this` if `Ok`\n   */\n  setErr<U>(inner: U): Err<U> {\n    return new Err(inner)\n  }\n\n  /**\n   * Map the inner value into another\n   * @param okMapper \n   * @returns `Ok(await okMapper(this.inner))` if `Ok`, `this` if `Err`\n   * @throws if `await okMapper(this.inner)` throws\n   */\n  async map(okMapper: unknown): Promise<this> {\n    return this\n  }\n\n  /**\n   * Map the inner value into another\n   * @param okMapper \n   * @returns `Ok(okMapper(this.inner))` if `Ok`, `this` if `Err`\n   * @throws if `okMapper(this.inner)` throws\n   */\n  mapSync(okMapper: unknown): this {\n    return this\n  }\n\n  /**\n   * Map the inner error into another\n   * @param errMapper \n   * @returns `Err(await errMapper(this.inner))` if `Err`, `this` if `Ok`\n   * @throws if `await errMapper(this.inner)` throws\n   */\n  async mapErr<U>(errMapper: (inner: T) => Awaitable<U>): Promise<Err<U>> {\n    return new Err<U>(await errMapper(this.inner))\n  }\n\n  /**\n   * Map the inner error into another\n   * @param errMapper \n   * @returns `Err(errMapper(this.inner))` if `Err`, `this` if `Ok`\n   * @throws if `errMapper(this.inner)` throws\n   */\n  mapErrSync<U>(errMapper: (inner: T) => U): Err<U> {\n    return new Err<U>(errMapper(this.inner))\n  }\n\n  /**\n   * Map the inner value into another, or a default one\n   * @param value\n   * @param okMapper \n   * @returns `await okMapper(this.inner)` if `Ok`, `value` if `Err`\n   * @throws if `await okMapper(this.inner)` throws\n   */\n  async mapOr<U>(value: U, okMapper: unknown): Promise<U> {\n    return value\n  }\n\n  /**\n   * Map the inner value into another, or a default one\n   * @param value\n   * @param okMapper \n   * @returns `okMapper(this.inner)` if `Ok`, `value` if `Err`\n   * @throws if `okMapper(this.inner)` throws\n   */\n  mapOrSync<U>(value: U, okMapper: unknown): U {\n    return value\n  }\n\n  /**\n   * Map the inner value into another, or a default one\n   * @param errMapper\n   * @param okMapper \n   * @returns `await okMapper(this.inner)` if `Ok`, `await errMapper(this.inner)` if `Err`\n   * @throws if `await okMapper(this.inner)` or `await errMapper(this.inner)` throws\n   */\n  async mapOrElse<U>(errMapper: (inner: T) => Awaitable<U>, okMapper: unknown): Promise<U> {\n    return await errMapper(this.inner)\n  }\n\n  /**\n   * Map the inner value into another, or a default one\n   * @param errMapper\n   * @param okMapper \n   * @returns `okMapper(this.inner)` if `Ok`, `errMapper(this.inner)` if `Err`\n   * @throws if `okMapper(this.inner)` or `errMapper(this.inner)` throws\n   */\n  mapOrElseSync<U>(errMapper: (inner: T) => U, okMapper: unknown): U {\n    return errMapper(this.inner)\n  }\n\n  /**\n   * Return `value` if `Ok`, return `this` if `Err`\n   * @param value \n   * @returns `value` if `Ok`, `this` if `Err`\n   */\n  and(value: unknown): this {\n    return this\n  }\n\n  /**\n   * Return `await okMapper(this.inner)` if `Ok`, return `this` if `Err`\n   * @param okMapper \n   * @returns `await okMapper(this.inner)` if `Ok`, `this` if `Err`\n   * @throws if `await okMapper(this.inner)` throws\n   */\n  async andThen(okMapper: unknown): Promise<this> {\n    return this\n  }\n\n  /**\n   * Return `okMapper(this.inner)` if `Ok`, return `this` if `Err`\n   * @param okMapper \n   * @returns `okMapper(this.inner)` if `Ok`, `this` if `Err`\n   * @throws if `okMapper(this.inner)` throws\n   */\n  andThenSync(okMapper: unknown): this {\n    return this\n  }\n\n  /**\n   * Return `value` if `Err`, return `this` if `Ok`\n   * @param value \n   * @returns `value` if `Err`, `this` if `Ok`\n   */\n  or<U>(value: U): U {\n    return value\n  }\n\n  /**\n   * Return `await errMapper(this.inner)` if `Err`, return `this` if `Ok`\n   * @param errMapper \n   * @returns `await errMapper(this.inner)` if `Err`, `this` if `Ok`\n   * @throws if `await errMapper(this.inner)` throws\n   */\n  async orElse<U>(errMapper: (inner: T) => Awaitable<U>): Promise<U> {\n    return await errMapper(this.inner)\n  }\n\n  /**\n   * Return `errMapper(this.inner)` if `Err`, return `this` if `Ok`\n   * @param errMapper \n   * @returns `errMapper(this.inner)` if `Err`, `this` if `Ok`\n   * @throws if `errMapper(this.inner)` throws\n   */\n  orElseSync<U>(errMapper: (inner: T) => U): U {\n    return errMapper(this.inner)\n  }\n\n  /**\n   * Transform Result<Result<T, E1>, E2> into Result<T, E1 | E2>\n   * @param result \n   * @returns `this` if `Err`, `this.inner` if `Ok`\n   */\n  flatten() {\n    return this\n  }\n\n}"],"names":["Panic","None","Some"],"mappings":"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"}