{"version":3,"sources":["../src/errors.ts"],"sourcesContent":["import type { AnyElysia } from 'elysia'\n\nimport type { Range } from './utils/types'\n\nexport class EdenFetchError<Status extends number = number, Value = unknown> extends Error {\n  constructor(\n    public status: Status,\n    public value: Value,\n  ) {\n    super(value + '')\n  }\n}\n\nexport class EdenFatalError extends Error {\n  static throw() {\n    return new EdenFatalError()\n  }\n\n  constructor() {\n    super(\n      'Something went wrong. Please submit an issue at https://github.com/aydee-app/eden-query/issues/new',\n    )\n  }\n}\n\nexport type MapError<T extends Record<number, unknown>> = [\n  {\n    [K in keyof T]-?: K extends ErrorRange ? K : never\n  }[keyof T],\n] extends [infer A extends number]\n  ? {\n      [K in A]: EdenFetchError<K, T[K]>\n    }[A]\n  : false\n\nexport type ErrorRange = Range<300, 599>\n\n/**\n * Type representing any error-like object that can be thrown by Eden client operations.\n * This includes EdenFetchError instances with any status code and value.\n *\n * @template _T - The Elysia app type (reserved for future use with route-specific error types)\n */\nexport type EdenClientErrorLike<_T extends AnyElysia = AnyElysia> = EdenFetchError<number, unknown> | Error\n\nexport const ERROR_SYMBOL = Symbol('TypeError')\n\nexport type TypeError<TMessage extends string> = TMessage & {\n  _: typeof ERROR_SYMBOL\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAM,iBAAN,cAA8E,MAAM;AAAA,EACzF,YACS,QACA,OACP;AACA,UAAM,QAAQ,EAAE;AAHT;AACA;AAAA,EAGT;AACF;AAEO,IAAM,iBAAN,MAAM,wBAAuB,MAAM;AAAA,EACxC,OAAO,QAAQ;AACb,WAAO,IAAI,gBAAe;AAAA,EAC5B;AAAA,EAEA,cAAc;AACZ;AAAA,MACE;AAAA,IACF;AAAA,EACF;AACF;AAsBO,IAAM,eAAe,OAAO,WAAW;","names":[]}