{"version":3,"sources":["../src/helpers/errorHandler.ts"],"names":[],"mappings":";AA+BO,IAAM,eAAN,MAAmB;AAAA,EACxB,OAAO,OAAA,CAAQ,KAAA,EAAgB,OAAA,EAAkC;AAC/D,IAAA,MAAM,SAAA,GAAY,KAAK,GAAA,EAAI;AAE3B,IAAA,MAAM,SAAA,GAAY;AAAA,MAChB,QAAA,EAAU,KAAA;AAAA,MACV,aAAA,EAAe,IAAA,CAAK,aAAA,CAAc,KAAK,CAAA;AAAA,MACvC,UAAA,EAAY,IAAA,CAAK,iBAAA,CAAkB,KAAK,CAAA;AAAA,MACxC,SAAS,KAAA,YAAiB,KAAA;AAAA,MAC1B,SAAA,EAAW,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,IAAA,GAAO,MAAA;AAAA,MACjD,OAAA;AAAA,MACA,SAAA;AAAA,MAEA,SAAA,GAAqB;AACnB,QAAA,OAAO,IAAA,CAAK,aAAA;AAAA,MACd,CAAA;AAAA,MAEA,SAAA,GAAgC;AAC9B,QAAA,OAAO,IAAA,CAAK,UAAA;AAAA,MACd,CAAA;AAAA,MAEA,eAAA,GAA2B;AACzB,QAAA,OAAO,IAAA,CAAK,OAAA;AAAA,MACd,CAAA;AAAA,MAEA,YAAA,GAAmC;AACjC,QAAA,OAAO,IAAA,CAAK,SAAA;AAAA,MACd,CAAA;AAAA,MAEA,SAAA,GAAqB;AACnB,QAAA,OAAO,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,SAAA,KAAc,WAAA;AAAA,MAC5C,CAAA;AAAA,MAEA,MAAA,GAAkB;AAChB,QAAA,OAAO,IAAA,CAAK,aAAA;AAAA,MACd,CAAA;AAAA,MAEA,UAAA,GAAsB;AACpB,QAAA,OAAO,KAAK,UAAA,KAAe,GAAA;AAAA,MAC7B,CAAA;AAAA,MAEA,cAAA,GAA0B;AACxB,QAAA,OAAO,IAAA,CAAK,UAAA,KAAe,GAAA,IAAO,IAAA,CAAK,UAAA,KAAe,GAAA;AAAA,MACxD,CAAA;AAAA,MAEA,aAAA,GAAyB;AACvB,QAAA,OAAO,IAAA,CAAK,UAAA,KAAe,MAAA,IAAa,IAAA,CAAK,UAAA,IAAc,GAAA;AAAA,MAC7D,CAAA;AAAA,MAEA,aAAA,GAAyB;AACvB,QAAA,OAAO,KAAK,UAAA,KAAe,MAAA,IAAa,KAAK,UAAA,IAAc,GAAA,IAAO,KAAK,UAAA,GAAa,GAAA;AAAA,MACtF;AAAA,KACF;AAEA,IAAA,OAAO,SAAA;AAAA,EACT;AAAA,EAEA,OAAe,cAAc,KAAA,EAAyB;AACpD,IAAA,IAAI,iBAAiB,QAAA,EAAU;AAC7B,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,EAAM;AAC/C,MAAA,MAAM,MAAA,GAAS,KAAA;AACf,MAAA,OAAO,OAAO,MAAA,CAAO,MAAA,KAAW,QAAA,IAAY,OAAO,OAAO,UAAA,KAAe,QAAA;AAAA,IAC3E;AAEA,IAAA,OAAO,KAAA;AAAA,EACT;AAAA,EAEA,OAAe,kBAAkB,KAAA,EAAoC;AACnE,IAAA,IAAI,iBAAiB,QAAA,EAAU;AAC7B,MAAA,OAAO,KAAA,CAAM,MAAA;AAAA,IACf;AAEA,IAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,EAAM;AAC/C,MAAA,MAAM,MAAA,GAAS,KAAA;AAEf,MAAA,IAAI,OAAO,MAAA,CAAO,MAAA,KAAW,QAAA,EAAU;AACrC,QAAA,OAAO,MAAA,CAAO,MAAA;AAAA,MAChB;AAEA,MAAA,IAAI,OAAO,MAAA,CAAO,UAAA,KAAe,QAAA,EAAU;AACzC,QAAA,OAAO,MAAA,CAAO,UAAA;AAAA,MAChB;AAAA,IACF;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF","file":"chunk-RRDEPGBK.mjs","sourcesContent":["// Simple, reliable error handling - no assumptions, no hardcoded mappings\n\nexport interface ProcessedError {\n  // Original error - preserved exactly as received\n  original: unknown;\n  \n  // Minimal, safe metadata that can be reliably extracted\n  hasStatusCode: boolean;\n  statusCode?: number;\n  isError: boolean;\n  errorName?: string;\n  \n  // Context\n  context?: string;\n  timestamp: number;\n  \n  // Helper methods for developers\n  hasStatus(): boolean;\n  getStatus(): number | undefined;\n  isErrorInstance(): boolean;\n  getErrorName(): string | undefined;\n  \n  // Error type helpers\n  isNetwork(): boolean;\n  isHttp(): boolean;\n  isNotFound(): boolean;\n  isAccessDenied(): boolean;\n  isServerError(): boolean;\n  isClientError(): boolean;\n}\n\nexport class ErrorHandler {\n  static process(error: unknown, context?: string): ProcessedError {\n    const timestamp = Date.now();\n    \n    const processed = {\n      original: error,\n      hasStatusCode: this.hasStatusCode(error),\n      statusCode: this.extractStatusCode(error),\n      isError: error instanceof Error,\n      errorName: error instanceof Error ? error.name : undefined,\n      context,\n      timestamp,\n      \n      hasStatus(): boolean {\n        return this.hasStatusCode;\n      },\n      \n      getStatus(): number | undefined {\n        return this.statusCode;\n      },\n      \n      isErrorInstance(): boolean {\n        return this.isError;\n      },\n      \n      getErrorName(): string | undefined {\n        return this.errorName;\n      },\n      \n      isNetwork(): boolean {\n        return this.isError && this.errorName === \"TypeError\";\n      },\n      \n      isHttp(): boolean {\n        return this.hasStatusCode;\n      },\n      \n      isNotFound(): boolean {\n        return this.statusCode === 404;\n      },\n      \n      isAccessDenied(): boolean {\n        return this.statusCode === 403 || this.statusCode === 401;\n      },\n      \n      isServerError(): boolean {\n        return this.statusCode !== undefined && this.statusCode >= 500;\n      },\n      \n      isClientError(): boolean {\n        return this.statusCode !== undefined && this.statusCode >= 400 && this.statusCode < 500;\n      }\n    } as ProcessedError;\n    \n    return processed;\n  }\n  \n  private static hasStatusCode(error: unknown): boolean {\n    if (error instanceof Response) {\n      return true;\n    }\n    \n    if (typeof error === \"object\" && error !== null) {\n      const errObj = error as any;\n      return typeof errObj.status === \"number\" || typeof errObj.statusCode === \"number\";\n    }\n    \n    return false;\n  }\n  \n  private static extractStatusCode(error: unknown): number | undefined {\n    if (error instanceof Response) {\n      return error.status;\n    }\n    \n    if (typeof error === \"object\" && error !== null) {\n      const errObj = error as any;\n      \n      if (typeof errObj.status === \"number\") {\n        return errObj.status;\n      }\n      \n      if (typeof errObj.statusCode === \"number\") {\n        return errObj.statusCode;\n      }\n    }\n    \n    return undefined;\n  }\n}\n"]}