{"version":3,"sources":["api/base/error-handling.ts"],"names":["async","checkStandardApiError","response","throwErr","errorReporter","let","error","ok","await","json","message","Message","ExceptionMessage","exceptionMessage","e","Error","status","checkExtendedApiError","apiResponse","hasError","errorMessage","devErrorMessage"],"mappings":"AAIOA,eAAeC,sBAAsBC,EAAoBC,EAAoB,CAAA,EAAOC,EAA6D,MACpJC,IAAIC,EAA0E,KAE9E,GAAKJ,EAASK,GA6Bd,MAAO,CAAA,EA5BH,IAGQ,EAFJD,EAAQE,MAAMN,EAASO,KAAI,GAEhBC,SAAWJ,EAAMK,UACxBL,EAAMI,QAAUJ,EAAMK,SAGE,MAAxBL,EAAMM,mBACNN,EAAMO,iBAAmBP,EAAMM,kBAGtB,MAATN,GAAkC,MAAjBF,GACjBA,EAAcE,CAAK,C,CAG3B,MAAOQ,GACCV,GACAA,EAAc,CAAEM,QAAS,uDAAuD,CAAE,C,CAI1F,GAAIP,EACA,MAAM,IAAIY,MAAM,uBAAsBT,EAAQA,EAAMO,kBAAoBP,EAAMI,QAAUR,EAASc,OAAQ,EAG7G,MAAO,CAAA,CAIf,CAEOhB,eAAeiB,sBAAsBf,EAAoBC,EAAoB,CAAA,EAAOC,EAA6D,MACpJC,IAAIa,EAA0C,KAE9C,GAAKhB,EAASK,GAmBd,MAAO,CAAA,EAlBH,KACIW,EAAcV,MAAMN,EAASO,KAAI,GAEjBU,UAAYD,EAAYE,cACpChB,EAAcc,CAAW,C,CAGjC,MAAOJ,GACHV,EAAc,CAAEgB,aAAc,uDAAuD,CAAE,C,CAG3F,GAAIjB,EACA,MAAM,IAAIY,MAAM,uBAAsBG,EAAcA,EAAYG,iBAAmBH,EAAYE,aAAelB,EAASc,OAAQ,EAGnI,MAAO,CAAA,CAIf,QA1DsBf,sBAmCAgB,qBAuBtB","file":"error-handling.js","sourcesContent":["import { IStandardApiError } from \"./i-standard-api-error.js\";\r\nimport { IExtendedApiResponse } from \"./i-extended-api-response.js\";\r\nimport { IExtendedApiError } from \"./i-extended-api-error.js\";\r\n\r\nexport async function checkStandardApiError(response: Response, throwErr: boolean = false, errorReporter: ((error: IStandardApiError) => void) | null = null): Promise {\r\n let error: IStandardApiError & { Message: string, ExceptionMessage?:string} = null;\r\n\r\n if (!response.ok) {\r\n try {\r\n error = await response.json();\r\n\r\n if (!error.message && error.Message) {\r\n error.message = error.Message;\r\n }\r\n\r\n if (error.ExceptionMessage!=null) {\r\n error.exceptionMessage = error.ExceptionMessage;\r\n }\r\n\r\n if (error != null && errorReporter != null) {\r\n errorReporter(error);\r\n }\r\n }\r\n catch (e) {\r\n if (errorReporter) {\r\n errorReporter({ message: \"A unknown error occurred while completing the request\" });\r\n }\r\n }\r\n\r\n if (throwErr) {\r\n throw new Error(`Error in API call: ${error ? error.exceptionMessage || error.message : response.status}`);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport async function checkExtendedApiError(response: Response, throwErr: boolean = false, errorReporter: ((error: IExtendedApiError) => void) | null = null): Promise {\r\n let apiResponse: IExtendedApiResponse = null; //In case of any error outside TryAction - check IApiErrorDetails as well.\r\n\r\n if (!response.ok) {\r\n try {\r\n apiResponse = await response.json();\r\n\r\n if (apiResponse.hasError && apiResponse.errorMessage) {\r\n errorReporter(apiResponse);\r\n }\r\n }\r\n catch (e) {\r\n errorReporter({ errorMessage: \"A unknown error occurred while completing the request\" });\r\n }\r\n\r\n if (throwErr) {\r\n throw new Error(`Error in API call: ${apiResponse ? apiResponse.devErrorMessage || apiResponse.errorMessage : response.status}`);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n}"]}