{"version":3,"file":"result-D7LPbpRJ.cjs","names":["inner_result: InnerResult<T>","val: T","err: Error","result: Result<T, E>","other: AppResult<U>","f: (val: T) => void","f: (val: T) => Promise<void>","result: AppResult<T>","fn: (r: T) => U","f: (r: T) => Result<U, AppError>","def: T","fn: () => T | Promise<T>","fn: (val: T) => U","fn: (err: AppError) => AppError"],"sources":["../src/app/result/result.ts"],"sourcesContent":["import { Result, type UNIT } from \"@carbonteq/fp\";\nimport { AppError } from \"./error.js\";\n\ntype InnerResult<T> = Result<T, AppError>;\n\nexport type EmptyResult = typeof AppResult.EMPTY;\n\nexport class AppResult<T> {\n  readonly _isOk: boolean;\n\n  static readonly EMPTY: AppResult<UNIT> = new AppResult(Result.UNIT_RESULT);\n\n  private constructor(private readonly inner_result: InnerResult<T>) {\n    this._isOk = inner_result.isOk();\n  }\n\n  isOk(): this is AppResult<T> {\n    return this.inner_result.isOk();\n  }\n\n  isErr(): this is AppResult<never> {\n    return this.inner_result.isErr();\n  }\n\n  static Ok<T>(val: T): AppResult<T> {\n    return new AppResult(Result.Ok(val));\n  }\n\n  static Err(err: Error): AppResult<never> {\n    const e = AppError.fromErr(err);\n\n    return new AppResult<never>(Result.Err(e));\n  }\n\n  static fromResult<T, E extends Error>(result: Result<T, E>): AppResult<T> {\n    const r = result.mapErr((e) => AppError.fromErr(e));\n\n    return new AppResult(r);\n  }\n\n  toResult(): Result<T, AppError> {\n    return this.inner_result;\n  }\n\n  and<U>(other: AppResult<U>): AppResult<readonly [T, U]> {\n    return new AppResult(this.inner_result.and(other.inner_result));\n  }\n\n  tap(f: (val: T) => void): AppResult<T> {\n    this.inner_result.tap(f);\n\n    return this;\n  }\n\n  async tapAsync(f: (val: T) => Promise<void>): Promise<AppResult<T>> {\n    await this.inner_result.tapAsync(f);\n\n    return this;\n  }\n\n  static fromOther<T>(result: AppResult<T>): AppResult<T> {\n    return new AppResult(result.inner_result);\n  }\n\n  zip<U>(fn: (r: T) => U): AppResult<[T, U]> {\n    return new AppResult(this.inner_result.zip(fn));\n  }\n\n  flatZip<U>(f: (r: T) => Result<U, AppError>): AppResult<[T, U]> {\n    return new AppResult(this.inner_result.flatZip(f));\n  }\n\n  flatMap<U>(f: (r: T) => Result<U, AppError>): AppResult<U> {\n    return new AppResult(this.inner_result.flatMap(f));\n  }\n\n  unwrap(): T {\n    return this.inner_result.unwrap();\n  }\n\n  unwrapErr(): AppError {\n    return this.inner_result.unwrapErr();\n  }\n\n  unwrapOr(def: T): T {\n    return this.inner_result.unwrapOr(def);\n  }\n\n  unwrapOrElse(fn: () => T): T;\n  unwrapOrElse(fn: () => Promise<T>): Promise<T>;\n  unwrapOrElse(fn: () => T | Promise<T>): T | Promise<T> {\n    return this.inner_result.unwrapOrElse(fn as () => T); // type patch\n  }\n\n  map<U>(fn: (val: T) => U): AppResult<U> {\n    const newResult = this.inner_result.map(fn);\n\n    return new AppResult(newResult);\n  }\n\n  mapErr(fn: (err: AppError) => AppError): AppResult<T> {\n    return new AppResult(this.inner_result.mapErr(fn));\n  }\n\n  safeUnwrap(): T | null {\n    return this.inner_result.safeUnwrap();\n  }\n}\n"],"mappings":";;;;;;AAOA,IAAa,YAAb,MAAa,UAAa;CAGxB,OAAgB,QAAyB,IAAI,UAAU,sBAAO;CAE9D,YAAqCA,cAA8B;AAA9B,OAAA,eAAA;AACnC,OAAK,QAAQ,aAAa,MAAM;CACjC;CAED,OAA6B;AAC3B,SAAO,KAAK,aAAa,MAAM;CAChC;CAED,QAAkC;AAChC,SAAO,KAAK,aAAa,OAAO;CACjC;CAED,OAAO,GAAMC,KAAsB;AACjC,SAAO,IAAI,UAAU,sBAAO,GAAG,IAAI;CACpC;CAED,OAAO,IAAIC,KAA8B;EACvC,MAAM,IAAI,uBAAS,QAAQ,IAAI;AAE/B,SAAO,IAAI,UAAiB,sBAAO,IAAI,EAAE;CAC1C;CAED,OAAO,WAA+BC,QAAoC;EACxE,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,uBAAS,QAAQ,EAAE,CAAC;AAEnD,SAAO,IAAI,UAAU;CACtB;CAED,WAAgC;AAC9B,SAAO,KAAK;CACb;CAED,IAAOC,OAAiD;AACtD,SAAO,IAAI,UAAU,KAAK,aAAa,IAAI,MAAM,aAAa;CAC/D;CAED,IAAIC,GAAmC;AACrC,OAAK,aAAa,IAAI,EAAE;AAExB,SAAO;CACR;CAED,MAAM,SAASC,GAAqD;AAClE,QAAM,KAAK,aAAa,SAAS,EAAE;AAEnC,SAAO;CACR;CAED,OAAO,UAAaC,QAAoC;AACtD,SAAO,IAAI,UAAU,OAAO;CAC7B;CAED,IAAOC,IAAoC;AACzC,SAAO,IAAI,UAAU,KAAK,aAAa,IAAI,GAAG;CAC/C;CAED,QAAWC,GAAqD;AAC9D,SAAO,IAAI,UAAU,KAAK,aAAa,QAAQ,EAAE;CAClD;CAED,QAAWA,GAAgD;AACzD,SAAO,IAAI,UAAU,KAAK,aAAa,QAAQ,EAAE;CAClD;CAED,SAAY;AACV,SAAO,KAAK,aAAa,QAAQ;CAClC;CAED,YAAsB;AACpB,SAAO,KAAK,aAAa,WAAW;CACrC;CAED,SAASC,KAAW;AAClB,SAAO,KAAK,aAAa,SAAS,IAAI;CACvC;CAID,aAAaC,IAA0C;AACrD,SAAO,KAAK,aAAa,aAAa,GAAc;CACrD;CAED,IAAOC,IAAiC;EACtC,MAAM,YAAY,KAAK,aAAa,IAAI,GAAG;AAE3C,SAAO,IAAI,UAAU;CACtB;CAED,OAAOC,IAA+C;AACpD,SAAO,IAAI,UAAU,KAAK,aAAa,OAAO,GAAG;CAClD;CAED,aAAuB;AACrB,SAAO,KAAK,aAAa,YAAY;CACtC;AACF"}