@bigbinary/neeto-commons-frontend 3.2.1 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -151,11 +151,19 @@ var showErrorToastr = function showErrorToastr(error) {
151
151
  _ref4$showToastr = _ref4.showToastr,
152
152
  showToastr = _ref4$showToastr === void 0 ? true : _ref4$showToastr;
153
153
  if (!showToastr) return error;
154
+ var _ref5 = (_error$response3 = error.response) !== null && _error$response3 !== void 0 ? _error$response3 : {},
155
+ status = _ref5.status;
154
156
  if (error.message === "Network Error") return handleNetworkError(error);
155
- if (![403, 404].includes((_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.status) && !_axios["default"].isCancel(error)) {
157
+ if (![403, 404, 520].includes(status) && !_axios["default"].isCancel(error)) {
156
158
  // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.
159
+ // We handle cloudflare error differently for production and other environments.
157
160
  _neetoui.Toastr.error(error);
158
161
  }
162
+ if (status === 520) {
163
+ if (globalProps.railsEnv === "production") {
164
+ _neetoui.Toastr.error(_i18next["default"].t("generic.error"));
165
+ } else _neetoui.Toastr.error(error);
166
+ }
159
167
  return error;
160
168
  };
161
169
  var getUrlPathName = function getUrlPathName(url) {
@@ -167,11 +175,11 @@ var getUrlPathName = function getUrlPathName(url) {
167
175
  };
168
176
  var handle404ErrorResponse = function handle404ErrorResponse(error) {
169
177
  var _error$config4, _error$response4;
170
- var _ref5 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
171
- _ref5$show404ErrorPag = _ref5.show404ErrorPage,
172
- show404ErrorPage = _ref5$show404ErrorPag === void 0 ? true : _ref5$show404ErrorPag,
173
- _ref5$show403ErrorPag = _ref5.show403ErrorPage,
174
- show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag;
178
+ var _ref6 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
179
+ _ref6$show404ErrorPag = _ref6.show404ErrorPage,
180
+ show404ErrorPage = _ref6$show404ErrorPag === void 0 ? true : _ref6$show404ErrorPag,
181
+ _ref6$show403ErrorPag = _ref6.show403ErrorPage,
182
+ show403ErrorPage = _ref6$show403ErrorPag === void 0 ? true : _ref6$show403ErrorPag;
175
183
  var status = (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status;
176
184
  if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage) {
177
185
  var _error$request;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_i18next","_neetoCist","_neetoui","_ramda","_useDisplayErrorPage","_axios2","_paramsSerializer","_constants","shouldNot","skip","_typeof2","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","axios","defaults","headers","_defineProperty2","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config$show","showToastr","matches","showThumbsUpToastr","Toastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","concat","encodeURIComponent","href","isUserOffline","navigator","onLine","handleNetworkError","_ref3","_asyncToGenerator2","_regenerator","mark","_callee","errorMessage","wrap","_callee$","_context","prev","next","i18next","t","Promise","resolve","MAXIMUM_OFFLINE_DURATION","abrupt","stop","_x","apply","arguments","showErrorToastr","_error$config3","_error$response3","_ref4","_ref4$showToastr","message","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","useErrorDisplayStore","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"sources":["../../../../src/initializers/axios/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { keysToCamelCase, matches, serializeKeysToSnakeCase } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit } from \"ramda\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { MAXIMUM_OFFLINE_DURATION, HEADERS_KEYS } from \"../constants\";\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n typeof response === \"string\" ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const { showToastr = true } = response.config;\n if (!showToastr) return response;\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isUserOffline = () => !window.navigator.onLine;\n\nconst handleNetworkError = async error => {\n const errorMessage = i18next.t(\"neetoCommons.toastr.error.networkError\");\n if (isUserOffline()) {\n await new Promise(resolve => setTimeout(resolve, MAXIMUM_OFFLINE_DURATION));\n\n if (isUserOffline()) Toastr.error(errorMessage);\n\n return error;\n }\n Toastr.error(errorMessage);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const { showToastr = true } = error.config ?? {};\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (![403, 404].includes(error.response?.status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n Toastr.error(error);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_i18next","_neetoCist","_neetoui","_ramda","_useDisplayErrorPage","_axios2","_paramsSerializer","_constants","shouldNot","skip","_typeof2","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","axios","defaults","headers","_defineProperty2","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config$show","showToastr","matches","showThumbsUpToastr","Toastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","concat","encodeURIComponent","href","isUserOffline","navigator","onLine","handleNetworkError","_ref3","_asyncToGenerator2","_regenerator","mark","_callee","errorMessage","wrap","_callee$","_context","prev","next","i18next","t","Promise","resolve","MAXIMUM_OFFLINE_DURATION","abrupt","stop","_x","apply","arguments","showErrorToastr","_error$config3","_error$response3","_ref4","_ref4$showToastr","_ref5","message","includes","isCancel","globalProps","railsEnv","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref6","_ref6$show404ErrorPag","show404ErrorPage","_ref6$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","useErrorDisplayStore","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"sources":["../../../../src/initializers/axios/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { keysToCamelCase, matches, serializeKeysToSnakeCase } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit } from \"ramda\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { MAXIMUM_OFFLINE_DURATION, HEADERS_KEYS } from \"../constants\";\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n typeof response === \"string\" ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const { showToastr = true } = response.config;\n if (!showToastr) return response;\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isUserOffline = () => !window.navigator.onLine;\n\nconst handleNetworkError = async error => {\n const errorMessage = i18next.t(\"neetoCommons.toastr.error.networkError\");\n if (isUserOffline()) {\n await new Promise(resolve => setTimeout(resolve, MAXIMUM_OFFLINE_DURATION));\n\n if (isUserOffline()) Toastr.error(errorMessage);\n\n return error;\n }\n Toastr.error(errorMessage);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const { showToastr = true } = error.config ?? {};\n if (!showToastr) return error;\n\n const { status } = error.response ?? {};\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (![403, 404, 520].includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n Toastr.error(error);\n }\n\n if (status === 520) {\n if (globalProps.railsEnv === \"production\") {\n Toastr.error(i18next.t(\"generic.error\"));\n } else Toastr.error(error);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAEA,IAAAO,iBAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,UAAA,GAAAR,OAAA;AAEA,IAAMS,SAAS,GAAG,SAAZA,SAASA,CAAGC,IAAI;EAAA,OAAI,IAAAC,QAAA,aAAOD,IAAI,MAAK,QAAQ,IAAI,CAACA,IAAI;AAAA;AAE3D,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,QAAQ;EAAA,OAC/B,OAAOA,QAAQ,KAAK,QAAQ,IAC3B,IAAAF,QAAA,aAAOE,QAAQ,MAAK,QAAQ,KAAK,CAAAA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,MAAM,MAAID,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,UAAU,EAAE;AAAA;AAE9E,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAC3B;EACAC,iBAAK,CAACC,QAAQ,CAACC,OAAO,IAAAH,qBAAA,WAAAI,gBAAA,aAAAJ,qBAAA,EACnBK,uBAAY,CAACC,MAAM,EAAG,kBAAkB,OAAAF,gBAAA,aAAAJ,qBAAA,EACxCK,uBAAY,CAACE,WAAW,EAAG,kBAAkB,OAAAH,gBAAA,aAAAJ,qBAAA,EAC7CK,uBAAY,CAACG,UAAU,GAAAT,qBAAA,GAAGU,QAAQ,CAChCC,aAAa,CAAC,qBAAqB,CAAC,cAAAX,qBAAA,uBADZA,qBAAA,CAEvBY,YAAY,CAAC,SAAS,CAAC,GAAAX,qBAAA,CAC5B;AACH,CAAC;;AAED;AACA;AACA,IAAMY,UAAU,GAAG,SAAbA,UAAUA,CAAGC,SAAS;EAAA,OAAI,UAAAC,IAAI;IAAA,OAClCD,SAAS,CAACE,MAAM,CAAC,UAACC,GAAG,EAAEC,EAAE;MAAA,OAAKA,EAAE,CAACD,GAAG,CAAC;IAAA,GAAEF,IAAI,CAAC;EAAA;AAAA;AAE9C,IAAMI,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAGvB,QAAQ,EAAI;EACnD,IAAAwB,qBAAA,GAAyCxB,QAAQ,CAACyB,MAAM,CAAhDC,qBAAqB;IAArBA,qBAAqB,GAAAF,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAEpC,IAAIxB,QAAQ,CAACmB,IAAI,IAAIO,qBAAqB,EAAE;IAC1C1B,QAAQ,CAACmB,IAAI,GAAG,IAAAQ,0BAAe,EAAC3B,QAAQ,CAACmB,IAAI,CAAC;EAChD;EAEA,OAAOnB,QAAQ;AACjB,CAAC;AAED,IAAM4B,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAGC,KAAK,EAAI;EAAA,IAAAC,aAAA,EAAAC,eAAA;EAC7C,IAAAC,IAAA,IAAAF,aAAA,GAAyCD,KAAK,CAACJ,MAAM,cAAAK,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;IAAAG,qBAAA,GAAAD,IAAA,CAAnDN,qBAAqB;IAArBA,qBAAqB,GAAAO,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAEpC,IAAI,CAAAF,eAAA,GAAAF,KAAK,CAAC7B,QAAQ,cAAA+B,eAAA,eAAdA,eAAA,CAAgBZ,IAAI,IAAIO,qBAAqB,EAAE;IACjDG,KAAK,CAAC7B,QAAQ,CAACmB,IAAI,GAAG,IAAAQ,0BAAe,EAACE,KAAK,CAAC7B,QAAQ,CAACmB,IAAI,CAAC;EAC5D;EAEA,OAAOU,KAAK;AACd,CAAC;AAED,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGlC,QAAQ,EAAI;EACpC,IAAAmC,qBAAA,GAA8BnC,QAAQ,CAACyB,MAAM,CAArCW,UAAU;IAAVA,UAAU,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EACzB,IAAI,CAACC,UAAU,EAAE,OAAOpC,QAAQ;EAEhC,IAAI,IAAAqC,kBAAO,EAAC;IAAEC,kBAAkB,EAAE;EAAK,CAAC,EAAEtC,QAAQ,CAACmB,IAAI,CAAC,EAAE;IACxD;IACAoB,eAAM,CAACC,OAAO,CAAC,EAAE,EAAE;MAAEC,IAAI,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAO,CAAC,CAAC;EACvD,CAAC,MAAM,IAAI,IAAAL,kBAAO,EAAC;IAAEnC,UAAU,EAAE;EAAY,CAAC,EAAEF,QAAQ,CAACmB,IAAI,CAAC,EAAE;IAC9D;IACAoB,eAAM,CAACC,OAAO,CAAC,EAAE,EAAE;MAAEC,IAAI,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAO,CAAC,CAAC;EACvD,CAAC,MAAM,IAAI3C,gBAAgB,CAACC,QAAQ,CAACmB,IAAI,CAAC,EAAE;IAC1CoB,eAAM,CAACC,OAAO,CAACxC,QAAQ,CAACmB,IAAI,CAAC;EAC/B;EAEA,OAAOnB,QAAQ;AACjB,CAAC;AAED,IAAM2C,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG3C,QAAQ,EAAI;EACvC,IAAA4C,qBAAA,GAA8C5C,QAAQ,CAACyB,MAAM,CAArDoB,yBAAyB;IAAzBA,yBAAyB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;EAEzC,OAAOC,yBAAyB,GAAG7C,QAAQ,GAAGA,QAAQ,CAACmB,IAAI;AAC7D,CAAC;AAED,IAAM2B,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAGjD,IAAI,EAAI;EAC1C,IAAMkD,YAAY,GAAG,EAAE;EACvB,IAAI,EAAClD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEmD,aAAa,GAAED,YAAY,CAACE,IAAI,CAAC1B,gCAAgC,CAAC;EAE7E,IAAI,EAAC1B,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEuC,UAAU,GAAEW,YAAY,CAACE,IAAI,CAACf,iBAAiB,CAAC;EAE3D,IAAI,EAACrC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE8C,oBAAoB,GAAEI,YAAY,CAACE,IAAI,CAACN,oBAAoB,CAAC;EAExE,OAAO1B,UAAU,CAAC8B,YAAY,CAAC;AACjC,CAAC;AAED,IAAMG,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAGrB,KAAK,EAAI;EAAA,IAAAsB,gBAAA,EAAAC,cAAA;EAC/C,IAAI,EAAAD,gBAAA,GAAAtB,KAAK,CAAC7B,QAAQ,cAAAmD,gBAAA,uBAAdA,gBAAA,CAAgBE,MAAM,MAAK,GAAG,EAAE,OAAOxB,KAAK;EAEhD,IAAAyB,uBAAe,GAAE;EAEjB,IAAAC,KAAA,IAAAH,cAAA,GAAmCvB,KAAK,CAACJ,MAAM,cAAA2B,cAAA,cAAAA,cAAA,GAAI,CAAC,CAAC;IAAAI,qBAAA,GAAAD,KAAA,CAA7CE,eAAe;IAAfA,eAAe,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAC9B,IAAIC,eAAe,EAAE;IACnBC,UAAU,CAAC,YAAM;MACf,IAAMC,UAAU,GACdC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,QAAQ,GACjC,QAAQ,0BAAAC,MAAA,CACeC,kBAAkB,CAACJ,MAAM,CAACC,QAAQ,CAACI,IAAI,CAAC,CAAE;;MAEvE;MACAL,MAAM,CAACC,QAAQ,CAACI,IAAI,GAAGN,UAAU;IACnC,CAAC,EAAE,GAAG,CAAC;EACT;EAEA,OAAO9B,KAAK;AACd,CAAC;AAED,IAAMqC,aAAa,GAAG,SAAhBA,aAAaA,CAAA;EAAA,OAAS,CAACN,MAAM,CAACO,SAAS,CAACC,MAAM;AAAA;AAEpD,IAAMC,kBAAkB;EAAA,IAAAC,KAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAAG,SAAAC,QAAM7C,KAAK;IAAA,IAAA8C,YAAA;IAAA,OAAAH,YAAA,YAAAI,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC9BL,YAAY,GAAGM,mBAAO,CAACC,CAAC,CAAC,wCAAwC,CAAC;UAAA,KACpEhB,aAAa,EAAE;YAAAY,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACX,IAAIG,OAAO,CAAC,UAAAC,OAAO;YAAA,OAAI1B,UAAU,CAAC0B,OAAO,EAAEC,mCAAwB,CAAC;UAAA,EAAC;QAAA;UAE3E,IAAInB,aAAa,EAAE,EAAE3B,eAAM,CAACV,KAAK,CAAC8C,YAAY,CAAC;UAAC,OAAAG,QAAA,CAAAQ,MAAA,WAEzCzD,KAAK;QAAA;UAEdU,eAAM,CAACV,KAAK,CAAC8C,YAAY,CAAC;UAAC,OAAAG,QAAA,CAAAQ,MAAA,WAEpBzD,KAAK;QAAA;QAAA;UAAA,OAAAiD,QAAA,CAAAS,IAAA;MAAA;IAAA,GAAAb,OAAA;EAAA,CACb;EAAA,gBAZKL,kBAAkBA,CAAAmB,EAAA;IAAA,OAAAlB,KAAA,CAAAmB,KAAA,OAAAC,SAAA;EAAA;AAAA,GAYvB;AAED,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAG9D,KAAK,EAAI;EAAA,IAAA+D,cAAA,EAAAC,gBAAA;EAC/B,IAAAC,KAAA,IAAAF,cAAA,GAA8B/D,KAAK,CAACJ,MAAM,cAAAmE,cAAA,cAAAA,cAAA,GAAI,CAAC,CAAC;IAAAG,gBAAA,GAAAD,KAAA,CAAxC1D,UAAU;IAAVA,UAAU,GAAA2D,gBAAA,cAAG,IAAI,GAAAA,gBAAA;EACzB,IAAI,CAAC3D,UAAU,EAAE,OAAOP,KAAK;EAE7B,IAAAmE,KAAA,IAAAH,gBAAA,GAAmBhE,KAAK,CAAC7B,QAAQ,cAAA6F,gBAAA,cAAAA,gBAAA,GAAI,CAAC,CAAC;IAA/BxC,MAAM,GAAA2C,KAAA,CAAN3C,MAAM;EAEd,IAAIxB,KAAK,CAACoE,OAAO,KAAK,eAAe,EAAE,OAAO5B,kBAAkB,CAACxC,KAAK,CAAC;EAEvE,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAACqE,QAAQ,CAAC7C,MAAM,CAAC,IAAI,CAAC/C,iBAAK,CAAC6F,QAAQ,CAACtE,KAAK,CAAC,EAAE;IAC/D;IACA;IACAU,eAAM,CAACV,KAAK,CAACA,KAAK,CAAC;EACrB;EAEA,IAAIwB,MAAM,KAAK,GAAG,EAAE;IAClB,IAAI+C,WAAW,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC9D,eAAM,CAACV,KAAK,CAACoD,mBAAO,CAACC,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC,MAAM3C,eAAM,CAACV,KAAK,CAACA,KAAK,CAAC;EAC5B;EAEA,OAAOA,KAAK;AACd,CAAC;AAED,IAAMyE,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,GAAG,EAAI;EAC5B,IAAI;IACF,OAAO,IAAIC,GAAG,CAACD,GAAG,CAAC,CAACzC,QAAQ;EAC9B,CAAC,CAAC,OAAA2C,OAAA,EAAM;IACN,OAAOF,GAAG;EACZ;AACF,CAAC;AAED,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAG7E,KAAK,EAAI;EAAA,IAAA8E,cAAA,EAAAC,gBAAA;EACtC,IAAAC,KAAA,IAAAF,cAAA,GACE9E,KAAK,CAACJ,MAAM,cAAAkF,cAAA,cAAAA,cAAA,GAAI,CAAC,CAAC;IAAAG,qBAAA,GAAAD,KAAA,CADZE,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAH,KAAA,CAAEI,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAGxD,IAAM3D,MAAM,IAAAuD,gBAAA,GAAG/E,KAAK,CAAC7B,QAAQ,cAAA4G,gBAAA,uBAAdA,gBAAA,CAAgBvD,MAAM;EACrC,IACGA,MAAM,KAAK,GAAG,IAAI0D,gBAAgB,IAClC1D,MAAM,KAAK,GAAG,IAAI4D,gBAAiB,EACpC;IAAA,IAAAC,cAAA;IACA,IAAMC,OAAO,GAAG,EAAAD,cAAA,GAAArF,KAAK,CAACuF,OAAO,cAAAF,cAAA,uBAAbA,cAAA,CAAeG,WAAW,KAAIxF,KAAK,CAACJ,MAAM,CAAC8E,GAAG;IAC9De,yCAAoB,CAACC,QAAQ,CAAC;MAC5BC,aAAa,EAAE,IAAI;MACnBC,UAAU,EAAEpE,MAAM;MAClBqE,YAAY,EAAEP,OAAO;MACrBQ,aAAa,EAAErB,cAAc,CAACa,OAAO;IACvC,CAAC,CAAC;EACJ;EAEA,OAAOtF,KAAK;AACd,CAAC;AAED,IAAM+F,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAG/H,IAAI,EAAI;EACxC,IAAMkD,YAAY,GAAG,EAAE;EACvB,IAAI,EAAClD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEmD,aAAa,GAAED,YAAY,CAACE,IAAI,CAACrB,6BAA6B,CAAC;EAE1E,IAAI,EAAC/B,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEkH,gBAAgB,GAAEhE,YAAY,CAACE,IAAI,CAACyD,sBAAsB,CAAC;EAEtE,IAAI,EAAC7G,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEgI,WAAW,GAAE9E,YAAY,CAACE,IAAI,CAACC,+BAA+B,CAAC;EAE1E,IAAI,EAACrD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEuC,UAAU,GAAEW,YAAY,CAACE,IAAI,CAAC0C,eAAe,CAAC;EAEzD5C,YAAY,CAACE,IAAI,CAACkC,OAAO,CAAC2C,MAAM,CAACC,IAAI,CAAC5C,OAAO,CAAC,CAAC;EAE/C,OAAOlE,UAAU,CAAC8B,YAAY,CAAC;AACjC,CAAC;AAED,IAAMiF,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAGZ,OAAO,EAAI;EAClD,IAAI,CAACA,OAAO,CAACb,GAAG,CAACL,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAOkB,OAAO;EAEhD,IAAIA,OAAO,CAACb,GAAG,CAACL,QAAQ,CAACtC,MAAM,CAACC,QAAQ,CAACoE,QAAQ,CAAC,EAAE,OAAOb,OAAO;EAElE,OAAO,IAAAc,aAAM,EAAC;IAAE1H,OAAO,EAAE,IAAA2H,WAAI,EAAC,CAACzH,uBAAY,CAACG,UAAU,CAAC;EAAE,CAAC,CAAC,CAACuG,OAAO,CAAC;AACtE,CAAC;AAED,IAAMgB,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGhB,OAAO,EAAI;EAC1C,IAAAiB,qBAAA,GAAwCjB,OAAO,CAAvCkB,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAEnC,IAAI,CAACC,oBAAoB,EAAE,OAAOlB,OAAO;EAEzC,OAAO,IAAAc,aAAM,EACX;IAAE/G,IAAI,EAAEoH,mCAAwB;IAAEC,MAAM,EAAED;EAAyB,CAAC,EACpEnB,OAAO,CACR;AACH,CAAC;AAED,IAAMqB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAG5I,IAAI,EAAI;EACrC,IAAI,EAACA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE6I,8BAA8B,GAAE;IACzCpI,iBAAK,CAACyC,YAAY,CAACqE,OAAO,CAACuB,GAAG,CAACX,gCAAgC,CAAC;EAClE;EAEA,IAAI,EAACnI,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEmD,aAAa,GAAE;IACxB1C,iBAAK,CAACyC,YAAY,CAACqE,OAAO,CAACuB,GAAG,CAACP,wBAAwB,CAAC;EAC1D;AACF,CAAC;AAED,IAAMQ,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAG/I,IAAI,EAAI;EACtCS,iBAAK,CAACyC,YAAY,CAAC/C,QAAQ,CAAC2I,GAAG,CAC7B7F,2BAA2B,CAACjD,IAAI,CAAC,EACjC+H,yBAAyB,CAAC/H,IAAI,CAAC,CAChC;AACH,CAAC;AAED,IAAMgJ,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGhJ,IAAI,EAAI;EACjC,IAAID,SAAS,CAACC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuH,OAAO,CAAC,EAAEqB,sBAAsB,CAAC5I,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuH,OAAO,CAAC;EAEnE,IAAIxH,SAAS,CAACC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,QAAQ,CAAC,EAAE4I,uBAAuB,CAAC/I,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,QAAQ,CAAC;AACxE,CAAC;AAEc,SAAS8I,eAAeA,CAACjJ,IAAI,EAAE;EAC5C,IAAI,EAACA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEkJ,OAAO,GAAEzI,iBAAK,CAACC,QAAQ,CAACwI,OAAO,GAAG,GAAG;EAEhD,IAAI,EAAClJ,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEmJ,WAAW,GAAE7I,cAAc,EAAE;EAExC,IAAI,EAACN,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEoJ,gBAAgB,GAAE,IAAAC,4BAAmB,GAAE;EAElD,IAAItJ,SAAS,CAACC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEkD,YAAY,CAAC,EAAE8F,kBAAkB,CAAChJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEkD,YAAY,CAAC;AAC3E"}
@@ -144,11 +144,19 @@ var showErrorToastr = function showErrorToastr(error) {
144
144
  _ref4$showToastr = _ref4.showToastr,
145
145
  showToastr = _ref4$showToastr === void 0 ? true : _ref4$showToastr;
146
146
  if (!showToastr) return error;
147
+ var _ref5 = (_error$response3 = error.response) !== null && _error$response3 !== void 0 ? _error$response3 : {},
148
+ status = _ref5.status;
147
149
  if (error.message === "Network Error") return handleNetworkError(error);
148
- if (![403, 404].includes((_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.status) && !axios.isCancel(error)) {
150
+ if (![403, 404, 520].includes(status) && !axios.isCancel(error)) {
149
151
  // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.
152
+ // We handle cloudflare error differently for production and other environments.
150
153
  Toastr.error(error);
151
154
  }
155
+ if (status === 520) {
156
+ if (globalProps.railsEnv === "production") {
157
+ Toastr.error(i18next.t("generic.error"));
158
+ } else Toastr.error(error);
159
+ }
152
160
  return error;
153
161
  };
154
162
  var getUrlPathName = function getUrlPathName(url) {
@@ -160,11 +168,11 @@ var getUrlPathName = function getUrlPathName(url) {
160
168
  };
161
169
  var handle404ErrorResponse = function handle404ErrorResponse(error) {
162
170
  var _error$config4, _error$response4;
163
- var _ref5 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
164
- _ref5$show404ErrorPag = _ref5.show404ErrorPage,
165
- show404ErrorPage = _ref5$show404ErrorPag === void 0 ? true : _ref5$show404ErrorPag,
166
- _ref5$show403ErrorPag = _ref5.show403ErrorPage,
167
- show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag;
171
+ var _ref6 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
172
+ _ref6$show404ErrorPag = _ref6.show404ErrorPage,
173
+ show404ErrorPage = _ref6$show404ErrorPag === void 0 ? true : _ref6$show404ErrorPag,
174
+ _ref6$show403ErrorPag = _ref6.show403ErrorPage,
175
+ show403ErrorPage = _ref6$show403ErrorPag === void 0 ? true : _ref6$show403ErrorPag;
168
176
  var status = (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status;
169
177
  if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage) {
170
178
  var _error$request;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["axios","i18next","keysToCamelCase","matches","serializeKeysToSnakeCase","Toastr","evolve","omit","useErrorDisplayStore","resetAuthTokens","setParamsSerializer","MAXIMUM_OFFLINE_DURATION","HEADERS_KEYS","shouldNot","skip","_typeof","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","defaults","headers","_defineProperty","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config$show","showToastr","showThumbsUpToastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","concat","encodeURIComponent","href","isUserOffline","navigator","onLine","handleNetworkError","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","errorMessage","wrap","_callee$","_context","prev","next","t","Promise","resolve","abrupt","stop","_x","apply","arguments","showErrorToastr","_error$config3","_error$response3","_ref4","_ref4$showToastr","message","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","reject","bind","cleanupCredentialsForCrossOrigin","hostname","transformDataToSnakeCase","_request$transformReq","transformRequestCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer"],"sources":["../../../src/initializers/axios/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { keysToCamelCase, matches, serializeKeysToSnakeCase } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit } from \"ramda\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { MAXIMUM_OFFLINE_DURATION, HEADERS_KEYS } from \"../constants\";\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n typeof response === \"string\" ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const { showToastr = true } = response.config;\n if (!showToastr) return response;\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isUserOffline = () => !window.navigator.onLine;\n\nconst handleNetworkError = async error => {\n const errorMessage = i18next.t(\"neetoCommons.toastr.error.networkError\");\n if (isUserOffline()) {\n await new Promise(resolve => setTimeout(resolve, MAXIMUM_OFFLINE_DURATION));\n\n if (isUserOffline()) Toastr.error(errorMessage);\n\n return error;\n }\n Toastr.error(errorMessage);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const { showToastr = true } = error.config ?? {};\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (![403, 404].includes(error.response?.status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n Toastr.error(error);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["axios","i18next","keysToCamelCase","matches","serializeKeysToSnakeCase","Toastr","evolve","omit","useErrorDisplayStore","resetAuthTokens","setParamsSerializer","MAXIMUM_OFFLINE_DURATION","HEADERS_KEYS","shouldNot","skip","_typeof","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","defaults","headers","_defineProperty","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config$show","showToastr","showThumbsUpToastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","concat","encodeURIComponent","href","isUserOffline","navigator","onLine","handleNetworkError","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","errorMessage","wrap","_callee$","_context","prev","next","t","Promise","resolve","abrupt","stop","_x","apply","arguments","showErrorToastr","_error$config3","_error$response3","_ref4","_ref4$showToastr","_ref5","message","includes","isCancel","globalProps","railsEnv","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref6","_ref6$show404ErrorPag","show404ErrorPage","_ref6$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","reject","bind","cleanupCredentialsForCrossOrigin","hostname","transformDataToSnakeCase","_request$transformReq","transformRequestCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer"],"sources":["../../../src/initializers/axios/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { keysToCamelCase, matches, serializeKeysToSnakeCase } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit } from \"ramda\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { MAXIMUM_OFFLINE_DURATION, HEADERS_KEYS } from \"../constants\";\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n typeof response === \"string\" ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const { showToastr = true } = response.config;\n if (!showToastr) return response;\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isUserOffline = () => !window.navigator.onLine;\n\nconst handleNetworkError = async error => {\n const errorMessage = i18next.t(\"neetoCommons.toastr.error.networkError\");\n if (isUserOffline()) {\n await new Promise(resolve => setTimeout(resolve, MAXIMUM_OFFLINE_DURATION));\n\n if (isUserOffline()) Toastr.error(errorMessage);\n\n return error;\n }\n Toastr.error(errorMessage);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const { showToastr = true } = error.config ?? {};\n if (!showToastr) return error;\n\n const { status } = error.response ?? {};\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (![403, 404, 520].includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n Toastr.error(error);\n }\n\n if (status === 520) {\n if (globalProps.railsEnv === \"production\") {\n Toastr.error(i18next.t(\"generic.error\"));\n } else Toastr.error(error);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-commons-frontend",
3
- "version": "3.2.1",
3
+ "version": "3.2.2",
4
4
  "description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
5
5
  "repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",