{"version":3,"file":"errors.cjs","names":[],"sources":["../src/errors/get-error-text.ts"],"sourcesContent":["import { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\ntype GetErrorTextEnhancer = (error: any) => string;\ntype GetErrorTextFormatErrorFn = (error: Error) => string;\n\n/**\n * Universal function for transforming any errors into readable error text\n *\n * This function can be enhanced with custom handlers using:\n * - `getErrorText.unknownErrorText`\n * - `getErrorText.formatError`\n * - `getErrorText.enhance`\n */\nexport const getErrorText = (error: unknown) => {\n  if (!error) {\n    return getErrorText.unknownErrorText;\n  }\n\n  if (typeGuard.isString(error)) {\n    return error || getErrorText.unknownErrorText;\n  }\n\n  if (error instanceof Error) {\n    return (\n      (getErrorText.formatError?.(error) ?? error.message) ||\n      getErrorText.unknownErrorText\n    );\n  }\n\n  if (getErrorText.enhance) {\n    return getErrorText.enhance(error) ?? getErrorText.unknownErrorText;\n  } else {\n    return getErrorText.unknownErrorText;\n  }\n};\n\ngetErrorText.unknownErrorText = '';\ngetErrorText.formatError = null as Maybe<GetErrorTextFormatErrorFn>;\ngetErrorText.enhance = null as Maybe<GetErrorTextEnhancer>;\n"],"mappings":";;;;;;;;;;;AAcA,IAAa,gBAAgB,UAAmB;CAC9C,IAAI,CAAC,OACH,OAAO,aAAa;CAGtB,IAAI,mBAAA,UAAU,SAAS,KAAK,GAC1B,OAAO,SAAS,aAAa;CAG/B,IAAI,iBAAiB,OACnB,QACG,aAAa,cAAc,KAAK,KAAK,MAAM,YAC5C,aAAa;CAIjB,IAAI,aAAa,SACf,OAAO,aAAa,QAAQ,KAAK,KAAK,aAAa;MAEnD,OAAO,aAAa;AAExB;AAEA,aAAa,mBAAmB;AAChC,aAAa,cAAc;AAC3B,aAAa,UAAU"}