{
  "version": 3,
  "sources": ["../../src/context/hooks/useError.ts"],
  "sourcesContent": ["import { ApiError } from '@particle-network/auth-core';\nimport { Modal } from 'antd';\nimport { useAuthCoreModal, useTranslation } from '../../context';\nimport useMessage from './useMessage';\n\nexport function formatServerError(error: any, t: (key: string) => string): string | undefined {\n  if (error && error.error_code) {\n    let message = t?.(`error.server_${error.error_code}`);\n    if (message && message.startsWith('error.server_')) {\n      if (error?.extra && Array.isArray(error?.extra) && error?.extra.length) {\n        message = error?.extra[0];\n      } else {\n        message = error?.extra ?? error.message;\n      }\n      message = message.charAt(0).toUpperCase() + message.slice(1);\n      return message;\n    }\n    return message;\n  } else {\n    return error?.message;\n  }\n}\n\nexport const useError = () => {\n  const { authCoreModal } = useAuthCoreModal();\n  const { t } = useTranslation();\n\n  const message = useMessage();\n\n  /**\n   * error handler\n   * @param err\n   */\n  function errorHandle(err: any) {\n    console.log('errorHandle: ' + JSON.stringify(err));\n    const errorCode = err.error_code ?? err.code;\n    // \u5224\u65AD\u670D\u52A1\u5668\u54CD\u5E94\n    if (errorCode && typeof errorCode === 'number') {\n      if (\n        errorCode === ApiError.InvalidCode ||\n        errorCode === ApiError.ResendCode ||\n        errorCode === ApiError.SecurityAccountFrozen ||\n        errorCode === ApiError.WrongPaymentPassword\n      ) {\n        // Ignore error\n      } else {\n        const message = formatServerError(err, t);\n        if (message) {\n          Modal.error({\n            title: message,\n            wrapClassName: 'auth-core-modal-error',\n            getContainer: () => {\n              return authCoreModal.rootBody as HTMLElement;\n            },\n          });\n        }\n      }\n    } else if (err.code === 'ECONNABORTED') {\n      if (err.message) {\n        message.error(err.message);\n      } else {\n        message.error('Network Error');\n      }\n    } else {\n      switch (err.status) {\n        case 401:\n        case 403:\n        case 404:\n        case 500:\n          message.error('Http Error: ' + err.status);\n          break;\n        default:\n          if (err.message && typeof err.message === 'string') {\n            message.error(err.message);\n          } else {\n            console.error('http error', err);\n          }\n          break;\n      }\n    }\n  }\n\n  return { errorHandle };\n};\n"],
  "mappings": ";;;;;;;;AAAA,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAIf,SAAS,kBAAkB,OAAY,GAAgD;AAL9F;AAME,MAAI,SAAS,MAAM,YAAY;AAC7B,QAAI,UAAU,uBAAI,gBAAgB,MAAM;AACxC,QAAI,WAAW,QAAQ,WAAW,eAAe,GAAG;AAClD,WAAI,+BAAO,UAAS,MAAM,QAAQ,+BAAO,KAAK,MAAK,+BAAO,MAAM,SAAQ;AACtE,kBAAU,+BAAO,MAAM;AAAA,MACzB,OAAO;AACL,mBAAU,oCAAO,UAAP,YAAgB,MAAM;AAAA,MAClC;AACA,gBAAU,QAAQ,OAAO,CAAC,EAAE,YAAY,IAAI,QAAQ,MAAM,CAAC;AAC3D,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,OAAO;AACL,WAAO,+BAAO;AAAA,EAChB;AACF;AAEO,IAAM,WAAW,MAAM;AAC5B,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,QAAM,UAAU,mBAAW;AAM3B,WAAS,YAAY,KAAU;AAjCjC;AAkCI,YAAQ,IAAI,kBAAkB,KAAK,UAAU,GAAG,CAAC;AACjD,UAAM,aAAY,SAAI,eAAJ,YAAkB,IAAI;AAExC,QAAI,aAAa,OAAO,cAAc,UAAU;AAC9C,UACE,cAAc,SAAS,eACvB,cAAc,SAAS,cACvB,cAAc,SAAS,yBACvB,cAAc,SAAS,sBACvB;AAAA,MAEF,OAAO;AACL,cAAMA,WAAU,kBAAkB,KAAK,CAAC;AACxC,YAAIA,UAAS;AACX,gBAAM,MAAM;AAAA,YACV,OAAOA;AAAA,YACP,eAAe;AAAA,YACf,cAAc,MAAM;AAClB,qBAAO,cAAc;AAAA,YACvB;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF,WAAW,IAAI,SAAS,gBAAgB;AACtC,UAAI,IAAI,SAAS;AACf,gBAAQ,MAAM,IAAI,OAAO;AAAA,MAC3B,OAAO;AACL,gBAAQ,MAAM,eAAe;AAAA,MAC/B;AAAA,IACF,OAAO;AACL,cAAQ,IAAI,QAAQ;AAAA,QAClB,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,kBAAQ,MAAM,iBAAiB,IAAI,MAAM;AACzC;AAAA,QACF;AACE,cAAI,IAAI,WAAW,OAAO,IAAI,YAAY,UAAU;AAClD,oBAAQ,MAAM,IAAI,OAAO;AAAA,UAC3B,OAAO;AACL,oBAAQ,MAAM,cAAc,GAAG;AAAA,UACjC;AACA;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,YAAY;AACvB;",
  "names": ["message"]
}
