@bigbinary/neeto-commons-frontend 3.0.9 → 3.0.11
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.
- package/cjs/configs/eslint/overrides.js +3 -7
- package/cjs/configs/webpack/index.js +1 -0
- package/cjs/initializers/axios/index.js +1 -2
- package/cjs/initializers/axios/index.js.map +1 -1
- package/cjs/utils/general.js +8 -5
- package/cjs/utils/general.js.map +1 -1
- package/configs/eslint/overrides.js +3 -7
- package/configs/webpack/index.js +1 -0
- package/initializers/axios/index.js +2 -3
- package/initializers/axios/index.js.map +1 -1
- package/package.json +1 -1
- package/react-utils.d.ts +49 -0
- package/utils/general.js +8 -5
- package/utils/general.js.map +1 -1
|
@@ -16,15 +16,11 @@ module.exports = {
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
files: ["app/javascript/packs/**/*.{js,jsx}"],
|
|
19
|
-
rules: {
|
|
20
|
-
"no-redeclare": "off",
|
|
21
|
-
},
|
|
19
|
+
rules: { "no-redeclare": "off" },
|
|
22
20
|
},
|
|
23
21
|
{
|
|
24
|
-
files: ["**/*.spec.js", "**/*.spec.jsx"],
|
|
25
|
-
env: {
|
|
26
|
-
jest: true,
|
|
27
|
-
},
|
|
22
|
+
files: ["**/*.spec.js", "**/*.spec.jsx", "**/*.test.jsx"],
|
|
23
|
+
env: { jest: true },
|
|
28
24
|
},
|
|
29
25
|
],
|
|
30
26
|
};
|
|
@@ -102,7 +102,6 @@ var handleUnauthorizedErrorResponse = function handleUnauthorizedErrorResponse(e
|
|
|
102
102
|
if (redirectOnError) {
|
|
103
103
|
setTimeout(function () {
|
|
104
104
|
var redirectTo = window.location.pathname === "/login" ? "/login" : "/login?redirect_uri=".concat(encodeURIComponent(window.location.href));
|
|
105
|
-
// eslint-disable-next-line xss/no-location-href-assign
|
|
106
105
|
window.location.href = redirectTo;
|
|
107
106
|
}, 300);
|
|
108
107
|
}
|
|
@@ -163,7 +162,7 @@ var cleanupCredentialsForCrossOrigin = function cleanupCredentialsForCrossOrigin
|
|
|
163
162
|
if (!request.url.includes("://")) return request;
|
|
164
163
|
if (request.url.includes(window.location.hostname)) return request;
|
|
165
164
|
return (0, _ramda.evolve)({
|
|
166
|
-
headers: (0, _ramda.omit)(
|
|
165
|
+
headers: (0, _ramda.omit)([_constants.HEADERS_KEYS.xCsrfToken])
|
|
167
166
|
})(request);
|
|
168
167
|
};
|
|
169
168
|
var transformDataToSnakeCase = function transformDataToSnakeCase(request) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_i18next","_neetoCist","_reactUtils","_utils","_neetoui","_ramda","_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","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","message","i18next","t","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref4","_ref4$show404ErrorPag","show404ErrorPage","_ref4$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","useErrorDisplayStore","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","values","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 { useErrorDisplayStore } from \"neetocommons/react-utils\";\nimport { resetAuthTokens } from \"neetocommons/utils\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit, values } from \"ramda\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { 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 // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\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\") {\n // @ts-ignore\n Toastr.error(i18next.t(\"neetoCommons.toastr.error.networkError\"));\n } else if (\n ![403, 404].includes(error.response?.status) &&\n !axios.isCancel(error)\n ) {\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(values(HEADERS_KEYS)) })(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","_reactUtils","_utils","_neetoui","_ramda","_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","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","message","i18next","t","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref4","_ref4$show404ErrorPag","show404ErrorPage","_ref4$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","useErrorDisplayStore","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","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 { useErrorDisplayStore } from \"neetocommons/react-utils\";\nimport { resetAuthTokens } from \"neetocommons/utils\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit } from \"ramda\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { 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 window.location.href = redirectTo;\n }, 300);\n }\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\") {\n // @ts-ignore\n Toastr.error(i18next.t(\"neetoCommons.toastr.error.networkError\"));\n } else if (\n ![403, 404].includes(error.response?.status) &&\n !axios.isCancel(error)\n ) {\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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"}
|
package/cjs/utils/general.js
CHANGED
|
@@ -130,11 +130,14 @@ var parseQueryParams = function parseQueryParams(search) {
|
|
|
130
130
|
var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
|
|
131
131
|
key = _ref6[0],
|
|
132
132
|
value = _ref6[1];
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
var camelCasedKey = (0, _neetoCist.snakeToCamelCase)(key);
|
|
134
|
+
if (camelCasedKey !== key) {
|
|
135
|
+
Object.defineProperty(params, camelCasedKey, {
|
|
136
|
+
get: function get() {
|
|
137
|
+
return value;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
138
141
|
});
|
|
139
142
|
}
|
|
140
143
|
return params;
|
package/cjs/utils/general.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","names":["_i18next","_interopRequireDefault","require","_neetoCist","_neetoui","_qs","_ramda","_this","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","withEventTargetValue","curry","func","event","value","exports","getSubdomain","host","window","location","parts","split","simulateApiCall","result","error","errorProbability","undefined","delay","getRandomInt","Promise","resolve","reject","setTimeout","defaultErrorObj","success","notice","i18next","t","Math","random","copyToClipboard","_ref","_asyncToGenerator2","_regenerator","mark","_callee","text","_ref2","_ref2$showToastr","showToastr","_ref2$message","message","textArea","_args","wrap","_callee$","_context","prev","next","navigator","clipboard","isSecureContext","writeText","document","createElement","style","top","left","position","body","appendChild","focus","select","execCommand","removeChild","Toastr","t0","stop","_x","buildUrl","route","params","placeHolders","toPairs","_ref3","_ref4","_slicedToArray2","includes","concat","replace","encodeURIComponent","queryParams","pipe","omit","preprocessForSerialization","stringify","isEmpty","toLocale","number","_window$globalProps","_window$globalProps$u","options","Number","toLocaleString","globalProps","user","locale","language","languages","parseQueryParams","search","_options$toCamelCase","toCamelCase","qsOptions","_objectWithoutProperties2","parse","ignoreQueryPrefix","_ref5","_ref6","snakeToCamelCase","get","getQueryParams","joinHyphenCase","_len","args","Array","_key","join","toLowerCase","hyphenize","fallbackString","String","debounce","timer","_len2","_key2","clearTimeout","getFromLocalStorage","JSON","localStorage","getItem","_unused","setToLocalStorage","setItem","removeFromLocalStorage","removeItem"],"sources":["../../../src/utils/general.js"],"sourcesContent":["import i18next from \"i18next\";\nimport {\n getRandomInt,\n preprocessForSerialization,\n snakeToCamelCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { parse, stringify } from \"qs\";\nimport { curry, isEmpty, omit, pipe, toPairs } from \"ramda\";\n\nexport const withEventTargetValue = /*#__PURE__*/ curry((func, event) =>\n func(event.target.value)\n);\n\nexport const getSubdomain = () => {\n const host = window.location.host;\n const parts = host.split(\".\");\n\n return parts.length >= 3 ? parts[0] : \"\";\n};\n\nexport const simulateApiCall = (\n result,\n error,\n errorProbability = 0.1,\n delay = getRandomInt(350, 1000)\n) =>\n new Promise((resolve, reject) =>\n setTimeout(() => {\n const defaultErrorObj = {\n success: false,\n notice: i18next.t(\"neetoCommons.notice.errorOccurred\"),\n };\n\n Math.random() < errorProbability\n ? reject({ ...defaultErrorObj, ...error })\n : resolve(result);\n }, delay)\n );\n\nexport const copyToClipboard = async (\n text,\n {\n showToastr = true,\n message = i18next.t(\"neetoCommons.toastr.success.copiedToClipboard\"),\n } = {}\n) => {\n try {\n if (navigator.clipboard && window.isSecureContext) {\n await navigator.clipboard.writeText(text);\n } else {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n document.execCommand(\"copy\");\n document.body.removeChild(textArea);\n }\n\n showToastr && Toastr.success(message);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const buildUrl = (route, params) => {\n const placeHolders = [];\n toPairs(params).forEach(([key, value]) => {\n if (route.includes(`:${key}`)) {\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\n }\n });\n\n const queryParams = pipe(\n omit(placeHolders),\n preprocessForSerialization,\n stringify\n )(params);\n\n return isEmpty(queryParams) ? route : `${route}?${queryParams}`;\n};\n\nexport const toLocale = (number, options = undefined) =>\n Number(number).toLocaleString(\n window.globalProps?.user?.locale ||\n navigator.language ||\n navigator.languages[0],\n options\n );\n\nexport const parseQueryParams = (search, options = {}) => {\n const { toCamelCase = true, ...qsOptions } = options;\n const params = parse(search, {\n ignoreQueryPrefix: true,\n ...qsOptions,\n });\n\n if (toCamelCase) {\n toPairs(params).forEach(([key, value]) => {\n Object.defineProperty(params, snakeToCamelCase(key), {\n get: () => value,\n });\n });\n }\n\n return params;\n};\n\nexport const getQueryParams = options =>\n parseQueryParams(location.search, options);\n\nexport const joinHyphenCase = (...args) =>\n args.join(\" \").replace(/\\s+/g, \"-\").toLowerCase();\n\nexport const hyphenize = (value, fallbackString = \"\") => {\n if (typeof value === \"number\") return String(value);\n\n if (value && typeof value === \"string\" && value.replace) {\n return value\n .replace(/[\\s_]/g, \"-\")\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/-+/g, \"-\")\n .toLowerCase();\n }\n\n return fallbackString;\n};\n\nexport const debounce = (func, delay = 350) => {\n let timer;\n\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), delay);\n };\n};\n\nexport const getFromLocalStorage = key => {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n localStorage.setItem(key, JSON.stringify(value));\n\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"general.js","names":["_i18next","_interopRequireDefault","require","_neetoCist","_neetoui","_qs","_ramda","_this","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","withEventTargetValue","curry","func","event","value","exports","getSubdomain","host","window","location","parts","split","simulateApiCall","result","error","errorProbability","undefined","delay","getRandomInt","Promise","resolve","reject","setTimeout","defaultErrorObj","success","notice","i18next","t","Math","random","copyToClipboard","_ref","_asyncToGenerator2","_regenerator","mark","_callee","text","_ref2","_ref2$showToastr","showToastr","_ref2$message","message","textArea","_args","wrap","_callee$","_context","prev","next","navigator","clipboard","isSecureContext","writeText","document","createElement","style","top","left","position","body","appendChild","focus","select","execCommand","removeChild","Toastr","t0","stop","_x","buildUrl","route","params","placeHolders","toPairs","_ref3","_ref4","_slicedToArray2","includes","concat","replace","encodeURIComponent","queryParams","pipe","omit","preprocessForSerialization","stringify","isEmpty","toLocale","number","_window$globalProps","_window$globalProps$u","options","Number","toLocaleString","globalProps","user","locale","language","languages","parseQueryParams","search","_options$toCamelCase","toCamelCase","qsOptions","_objectWithoutProperties2","parse","ignoreQueryPrefix","_ref5","_ref6","camelCasedKey","snakeToCamelCase","get","getQueryParams","joinHyphenCase","_len","args","Array","_key","join","toLowerCase","hyphenize","fallbackString","String","debounce","timer","_len2","_key2","clearTimeout","getFromLocalStorage","JSON","localStorage","getItem","_unused","setToLocalStorage","setItem","removeFromLocalStorage","removeItem"],"sources":["../../../src/utils/general.js"],"sourcesContent":["import i18next from \"i18next\";\nimport {\n getRandomInt,\n preprocessForSerialization,\n snakeToCamelCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { parse, stringify } from \"qs\";\nimport { curry, isEmpty, omit, pipe, toPairs } from \"ramda\";\n\nexport const withEventTargetValue = /*#__PURE__*/ curry((func, event) =>\n func(event.target.value)\n);\n\nexport const getSubdomain = () => {\n const host = window.location.host;\n const parts = host.split(\".\");\n\n return parts.length >= 3 ? parts[0] : \"\";\n};\n\nexport const simulateApiCall = (\n result,\n error,\n errorProbability = 0.1,\n delay = getRandomInt(350, 1000)\n) =>\n new Promise((resolve, reject) =>\n setTimeout(() => {\n const defaultErrorObj = {\n success: false,\n notice: i18next.t(\"neetoCommons.notice.errorOccurred\"),\n };\n\n Math.random() < errorProbability\n ? reject({ ...defaultErrorObj, ...error })\n : resolve(result);\n }, delay)\n );\n\nexport const copyToClipboard = async (\n text,\n {\n showToastr = true,\n message = i18next.t(\"neetoCommons.toastr.success.copiedToClipboard\"),\n } = {}\n) => {\n try {\n if (navigator.clipboard && window.isSecureContext) {\n await navigator.clipboard.writeText(text);\n } else {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n document.execCommand(\"copy\");\n document.body.removeChild(textArea);\n }\n\n showToastr && Toastr.success(message);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const buildUrl = (route, params) => {\n const placeHolders = [];\n toPairs(params).forEach(([key, value]) => {\n if (route.includes(`:${key}`)) {\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\n }\n });\n\n const queryParams = pipe(\n omit(placeHolders),\n preprocessForSerialization,\n stringify\n )(params);\n\n return isEmpty(queryParams) ? route : `${route}?${queryParams}`;\n};\n\nexport const toLocale = (number, options = undefined) =>\n Number(number).toLocaleString(\n window.globalProps?.user?.locale ||\n navigator.language ||\n navigator.languages[0],\n options\n );\n\nexport const parseQueryParams = (search, options = {}) => {\n const { toCamelCase = true, ...qsOptions } = options;\n const params = parse(search, {\n ignoreQueryPrefix: true,\n ...qsOptions,\n });\n\n if (toCamelCase) {\n toPairs(params).forEach(([key, value]) => {\n const camelCasedKey = snakeToCamelCase(key);\n if (camelCasedKey !== key) {\n Object.defineProperty(params, camelCasedKey, {\n get: () => value,\n });\n }\n });\n }\n\n return params;\n};\n\nexport const getQueryParams = options =>\n parseQueryParams(location.search, options);\n\nexport const joinHyphenCase = (...args) =>\n args.join(\" \").replace(/\\s+/g, \"-\").toLowerCase();\n\nexport const hyphenize = (value, fallbackString = \"\") => {\n if (typeof value === \"number\") return String(value);\n\n if (value && typeof value === \"string\" && value.replace) {\n return value\n .replace(/[\\s_]/g, \"-\")\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/-+/g, \"-\")\n .toLowerCase();\n }\n\n return fallbackString;\n};\n\nexport const debounce = (func, delay = 350) => {\n let timer;\n\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), delay);\n };\n};\n\nexport const getFromLocalStorage = key => {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n localStorage.setItem(key, JSON.stringify(value));\n\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAA4D,IAAAK,KAAA;AAAA,IAAAC,SAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAErD,IAAMW,oBAAoB,GAAG,aAAc,IAAAC,YAAK,EAAC,UAACC,IAAI,EAAEC,KAAK;EAAA,OAClED,IAAI,CAACC,KAAK,CAACd,MAAM,CAACe,KAAK,CAAC;AAAA,EACzB;AAACC,OAAA,CAAAL,oBAAA,GAAAA,oBAAA;AAEK,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;EAChC,IAAMC,IAAI,GAAGC,MAAM,CAACC,QAAQ,CAACF,IAAI;EACjC,IAAMG,KAAK,GAAGH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC;EAE7B,OAAOD,KAAK,CAAClB,MAAM,IAAI,CAAC,GAAGkB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC1C,CAAC;AAACL,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEK,IAAMM,eAAe,GAAG,SAAlBA,eAAeA,CAC1BC,MAAM,EACNC,KAAK;EAAA,IACLC,gBAAgB,GAAAxB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,GAAG;EAAA,IACtB0B,KAAK,GAAA1B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,IAAA2B,uBAAY,EAAC,GAAG,EAAE,IAAI,CAAC;EAAA,OAE/B,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM;IAAA,OAC1BC,UAAU,CAAC,YAAM;MACf,IAAMC,eAAe,GAAG;QACtBC,OAAO,EAAE,KAAK;QACdC,MAAM,EAAEC,mBAAO,CAACC,CAAC,CAAC,mCAAmC;MACvD,CAAC;MAEDC,IAAI,CAACC,MAAM,EAAE,GAAGd,gBAAgB,GAC5BM,MAAM,CAAAjC,aAAA,CAAAA,aAAA,KAAMmC,eAAe,GAAKT,KAAK,EAAG,GACxCM,OAAO,CAACP,MAAM,CAAC;IACrB,CAAC,EAAEI,KAAK,CAAC;EAAA,EACV;AAAA;AAACZ,OAAA,CAAAO,eAAA,GAAAA,eAAA;AAEG,IAAMkB,eAAe;EAAA,IAAAC,IAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAAG,SAAAC,QAC7BC,IAAI;IAAA,IAAAC,KAAA;MAAAC,gBAAA;MAAAC,UAAA;MAAAC,aAAA;MAAAC,OAAA;MAAAC,QAAA;MAAAC,KAAA,GAAApD,SAAA;IAAA,OAAA0C,YAAA,YAAAW,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAX,KAAA,GAAAM,KAAA,CAAAnD,MAAA,QAAAmD,KAAA,QAAA3B,SAAA,GAAA2B,KAAA,MAIA,CAAC,CAAC,EAAAL,gBAAA,GAAAD,KAAA,CAFJE,UAAU,EAAVA,UAAU,GAAAD,gBAAA,cAAG,IAAI,GAAAA,gBAAA,EAAAE,aAAA,GAAAH,KAAA,CACjBI,OAAO,EAAPA,OAAO,GAAAD,aAAA,cAAGd,mBAAO,CAACC,CAAC,CAAC,+CAA+C,CAAC,GAAAa,aAAA;UAAAM,QAAA,CAAAC,IAAA;UAAA,MAIhEE,SAAS,CAACC,SAAS,IAAI1C,MAAM,CAAC2C,eAAe;YAAAL,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACzCC,SAAS,CAACC,SAAS,CAACE,SAAS,CAAChB,IAAI,CAAC;QAAA;UAAAU,QAAA,CAAAE,IAAA;UAAA;QAAA;UAEnCN,QAAQ,GAAGW,QAAQ,CAACC,aAAa,CAAC,UAAU,CAAC;UACnDZ,QAAQ,CAACtC,KAAK,GAAGgC,IAAI;UAErBM,QAAQ,CAACa,KAAK,CAACC,GAAG,GAAG,GAAG;UACxBd,QAAQ,CAACa,KAAK,CAACE,IAAI,GAAG,GAAG;UACzBf,QAAQ,CAACa,KAAK,CAACG,QAAQ,GAAG,OAAO;UAEjCL,QAAQ,CAACM,IAAI,CAACC,WAAW,CAAClB,QAAQ,CAAC;UACnCA,QAAQ,CAACmB,KAAK,EAAE;UAChBnB,QAAQ,CAACoB,MAAM,EAAE;UAEjBT,QAAQ,CAACU,WAAW,CAAC,MAAM,CAAC;UAC5BV,QAAQ,CAACM,IAAI,CAACK,WAAW,CAACtB,QAAQ,CAAC;QAAC;UAGtCH,UAAU,IAAI0B,eAAM,CAACzC,OAAO,CAACiB,OAAO,CAAC;UAACK,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAoB,EAAA,GAAApB,QAAA;UAEtCmB,eAAM,CAACnD,KAAK,CAAAgC,QAAA,CAAAoB,EAAA,CAAO;QAAC;QAAA;UAAA,OAAApB,QAAA,CAAAqB,IAAA;MAAA;IAAA,GAAAhC,OAAA;EAAA,CAEvB;EAAA,gBA9BYL,eAAeA,CAAAsC,EAAA;IAAA,OAAArC,IAAA,CAAA5C,KAAA,OAAAI,SAAA;EAAA;AAAA,GA8B3B;AAACc,OAAA,CAAAyB,eAAA,GAAAA,eAAA;AAEK,IAAMuC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAK,EAAEC,MAAM,EAAK;EACzC,IAAMC,YAAY,GAAG,EAAE;EACvB,IAAAC,cAAO,EAACF,MAAM,CAAC,CAAC7E,OAAO,CAAC,UAAAgF,KAAA,EAAkB;IAAA,IAAAC,KAAA,OAAAC,eAAA,aAAAF,KAAA;MAAhB/E,GAAG,GAAAgF,KAAA;MAAEvE,KAAK,GAAAuE,KAAA;IAClC,IAAIL,KAAK,CAACO,QAAQ,KAAAC,MAAA,CAAKnF,GAAG,EAAG,EAAE;MAC7B6E,YAAY,CAACtF,IAAI,CAACS,GAAG,CAAC;MACtB2E,KAAK,GAAGA,KAAK,CAACS,OAAO,KAAAD,MAAA,CAAKnF,GAAG,GAAIqF,kBAAkB,CAAC5E,KAAK,CAAC,CAAC;IAC7D;EACF,CAAC,CAAC;EAEF,IAAM6E,WAAW,GAAG,IAAAC,WAAI,EACtB,IAAAC,WAAI,EAACX,YAAY,CAAC,EAClBY,qCAA0B,EAC1BC,aAAS,CACV,CAACd,MAAM,CAAC;EAET,OAAO,IAAAe,cAAO,EAACL,WAAW,CAAC,GAAGX,KAAK,MAAAQ,MAAA,CAAMR,KAAK,OAAAQ,MAAA,CAAIG,WAAW,CAAE;AACjE,CAAC;AAAC5E,OAAA,CAAAgE,QAAA,GAAAA,QAAA;AAEK,IAAMkB,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,MAAM;EAAA,IAAAC,mBAAA,EAAAC,qBAAA;EAAA,IAAEC,OAAO,GAAApG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAGyB,SAAS;EAAA,OAClD4E,MAAM,CAACJ,MAAM,CAAC,CAACK,cAAc,CAC3B,EAAAJ,mBAAA,GAAAjF,MAAM,CAACsF,WAAW,cAAAL,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAAoBM,IAAI,cAAAL,qBAAA,uBAAxBA,qBAAA,CAA0BM,MAAM,KAC9B/C,SAAS,CAACgD,QAAQ,IAClBhD,SAAS,CAACiD,SAAS,CAAC,CAAC,CAAC,EACxBP,OAAO,CACR;AAAA;AAACtF,OAAA,CAAAkF,QAAA,GAAAA,QAAA;AAEG,IAAMY,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAM,EAAmB;EAAA,IAAjBT,OAAO,GAAApG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,CAAC,CAAC;EACnD,IAAA8G,oBAAA,GAA6CV,OAAO,CAA5CW,WAAW;IAAXA,WAAW,GAAAD,oBAAA,cAAG,IAAI,GAAAA,oBAAA;IAAKE,SAAS,OAAAC,yBAAA,aAAKb,OAAO,EAAArH,SAAA;EACpD,IAAMiG,MAAM,GAAG,IAAAkC,SAAK,EAACL,MAAM,EAAAhH,aAAA;IACzBsH,iBAAiB,EAAE;EAAI,GACpBH,SAAS,EACZ;EAEF,IAAID,WAAW,EAAE;IACf,IAAA7B,cAAO,EAACF,MAAM,CAAC,CAAC7E,OAAO,CAAC,UAAAiH,KAAA,EAAkB;MAAA,IAAAC,KAAA,OAAAhC,eAAA,aAAA+B,KAAA;QAAhBhH,GAAG,GAAAiH,KAAA;QAAExG,KAAK,GAAAwG,KAAA;MAClC,IAAMC,aAAa,GAAG,IAAAC,2BAAgB,EAACnH,GAAG,CAAC;MAC3C,IAAIkH,aAAa,KAAKlH,GAAG,EAAE;QACzBhB,MAAM,CAACoB,cAAc,CAACwE,MAAM,EAAEsC,aAAa,EAAE;UAC3CE,GAAG,EAAE,SAAAA,IAAA;YAAA,OAAM3G,KAAK;UAAA;QAClB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEA,OAAOmE,MAAM;AACf,CAAC;AAAClE,OAAA,CAAA8F,gBAAA,GAAAA,gBAAA;AAEK,IAAMa,cAAc,GAAG,SAAjBA,cAAcA,CAAGrB,OAAO;EAAA,OACnCQ,gBAAgB,CAAC1F,QAAQ,CAAC2F,MAAM,EAAET,OAAO,CAAC;AAAA;AAACtF,OAAA,CAAA2G,cAAA,GAAAA,cAAA;AAEtC,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA;EAAA,SAAAC,IAAA,GAAA3H,SAAA,CAAAC,MAAA,EAAO2H,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAA9H,SAAA,CAAA8H,IAAA;EAAA;EAAA,OACpCF,IAAI,CAACG,IAAI,CAAC,GAAG,CAAC,CAACvC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAACwC,WAAW,EAAE;AAAA;AAAClH,OAAA,CAAA4G,cAAA,GAAAA,cAAA;AAE7C,IAAMO,SAAS,GAAG,SAAZA,SAASA,CAAIpH,KAAK,EAA0B;EAAA,IAAxBqH,cAAc,GAAAlI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,EAAE;EAClD,IAAI,OAAOa,KAAK,KAAK,QAAQ,EAAE,OAAOsH,MAAM,CAACtH,KAAK,CAAC;EAEnD,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAAC2E,OAAO,EAAE;IACvD,OAAO3E,KAAK,CACT2E,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CACtBA,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CACnCA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBwC,WAAW,EAAE;EAClB;EAEA,OAAOE,cAAc;AACvB,CAAC;AAACpH,OAAA,CAAAmH,SAAA,GAAAA,SAAA;AAEK,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CAAIzH,IAAI,EAAkB;EAAA,IAAhBe,KAAK,GAAA1B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyB,SAAA,GAAAzB,SAAA,MAAG,GAAG;EACxC,IAAIqI,KAAK;EAET,OAAO,YAAa;IAAA,SAAAC,KAAA,GAAAtI,SAAA,CAAAC,MAAA,EAAT2H,IAAI,OAAAC,KAAA,CAAAS,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJX,IAAI,CAAAW,KAAA,IAAAvI,SAAA,CAAAuI,KAAA;IAAA;IACbC,YAAY,CAACH,KAAK,CAAC;IACnBA,KAAK,GAAGtG,UAAU,CAAC;MAAA,OAAMpB,IAAI,CAACf,KAAK,CAACd,KAAI,EAAE8I,IAAI,CAAC;IAAA,GAAElG,KAAK,CAAC;EACzD,CAAC;AACH,CAAC;AAACZ,OAAA,CAAAsH,QAAA,GAAAA,QAAA;AAEK,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGrI,GAAG,EAAI;EACxC,IAAI;IACF,OAAOsI,IAAI,CAACxB,KAAK,CAACyB,YAAY,CAACC,OAAO,CAACxI,GAAG,CAAC,CAAC;EAC9C,CAAC,CAAC,OAAAyI,OAAA,EAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC;AAAC/H,OAAA,CAAA2H,mBAAA,GAAAA,mBAAA;AAEK,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI1I,GAAG,EAAES,KAAK;EAAA,OAC1C8H,YAAY,CAACI,OAAO,CAAC3I,GAAG,EAAEsI,IAAI,CAAC5C,SAAS,CAACjF,KAAK,CAAC,CAAC;AAAA;AAACC,OAAA,CAAAgI,iBAAA,GAAAA,iBAAA;AAE5C,IAAME,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAG5I,GAAG;EAAA,OAAIuI,YAAY,CAACM,UAAU,CAAC7I,GAAG,CAAC;AAAA;AAACU,OAAA,CAAAkI,sBAAA,GAAAA,sBAAA"}
|
|
@@ -16,15 +16,11 @@ module.exports = {
|
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
files: ["app/javascript/packs/**/*.{js,jsx}"],
|
|
19
|
-
rules: {
|
|
20
|
-
"no-redeclare": "off",
|
|
21
|
-
},
|
|
19
|
+
rules: { "no-redeclare": "off" },
|
|
22
20
|
},
|
|
23
21
|
{
|
|
24
|
-
files: ["**/*.spec.js", "**/*.spec.jsx"],
|
|
25
|
-
env: {
|
|
26
|
-
jest: true,
|
|
27
|
-
},
|
|
22
|
+
files: ["**/*.spec.js", "**/*.spec.jsx", "**/*.test.jsx"],
|
|
23
|
+
env: { jest: true },
|
|
28
24
|
},
|
|
29
25
|
],
|
|
30
26
|
};
|
package/configs/webpack/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { keysToCamelCase, matches, serializeKeysToSnakeCase } from "@bigbinary/n
|
|
|
6
6
|
import { useErrorDisplayStore } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
7
7
|
import { resetAuthTokens } from "@bigbinary/neeto-commons-frontend/utils";
|
|
8
8
|
import { Toastr } from "@bigbinary/neetoui";
|
|
9
|
-
import { evolve, omit
|
|
9
|
+
import { evolve, omit } from "ramda";
|
|
10
10
|
import setParamsSerializer from "./paramsSerializer";
|
|
11
11
|
import { HEADERS_KEYS } from "../constants";
|
|
12
12
|
var shouldNot = function shouldNot(skip) {
|
|
@@ -95,7 +95,6 @@ var handleUnauthorizedErrorResponse = function handleUnauthorizedErrorResponse(e
|
|
|
95
95
|
if (redirectOnError) {
|
|
96
96
|
setTimeout(function () {
|
|
97
97
|
var redirectTo = window.location.pathname === "/login" ? "/login" : "/login?redirect_uri=".concat(encodeURIComponent(window.location.href));
|
|
98
|
-
// eslint-disable-next-line xss/no-location-href-assign
|
|
99
98
|
window.location.href = redirectTo;
|
|
100
99
|
}, 300);
|
|
101
100
|
}
|
|
@@ -156,7 +155,7 @@ var cleanupCredentialsForCrossOrigin = function cleanupCredentialsForCrossOrigin
|
|
|
156
155
|
if (!request.url.includes("://")) return request;
|
|
157
156
|
if (request.url.includes(window.location.hostname)) return request;
|
|
158
157
|
return evolve({
|
|
159
|
-
headers: omit(
|
|
158
|
+
headers: omit([HEADERS_KEYS.xCsrfToken])
|
|
160
159
|
})(request);
|
|
161
160
|
};
|
|
162
161
|
var transformDataToSnakeCase = function transformDataToSnakeCase(request) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["axios","i18next","keysToCamelCase","matches","serializeKeysToSnakeCase","useErrorDisplayStore","resetAuthTokens","Toastr","evolve","omit","values","setParamsSerializer","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","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","message","t","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref4","_ref4$show404ErrorPag","show404ErrorPage","_ref4$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","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 { useErrorDisplayStore } from \"neetocommons/react-utils\";\nimport { resetAuthTokens } from \"neetocommons/utils\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit, values } from \"ramda\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { 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 // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\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\") {\n // @ts-ignore\n Toastr.error(i18next.t(\"neetoCommons.toastr.error.networkError\"));\n } else if (\n ![403, 404].includes(error.response?.status) &&\n !axios.isCancel(error)\n ) {\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(values(HEADERS_KEYS)) })(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","useErrorDisplayStore","resetAuthTokens","Toastr","evolve","omit","setParamsSerializer","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","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","message","t","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref4","_ref4$show404ErrorPag","show404ErrorPage","_ref4$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","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 { useErrorDisplayStore } from \"neetocommons/react-utils\";\nimport { resetAuthTokens } from \"neetocommons/utils\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit } from \"ramda\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { 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 window.location.href = redirectTo;\n }, 300);\n }\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\") {\n // @ts-ignore\n Toastr.error(i18next.t(\"neetoCommons.toastr.error.networkError\"));\n } else if (\n ![403, 404].includes(error.response?.status) &&\n !axios.isCancel(error)\n ) {\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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-frontend",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.11",
|
|
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>",
|
package/react-utils.d.ts
CHANGED
|
@@ -1374,6 +1374,19 @@ type QueryKeyOrFilters = QueryKey | QueryFilters;
|
|
|
1374
1374
|
* onSuccess: data => queryClient.setQueryData(["RESPONSES"], data),
|
|
1375
1375
|
* });
|
|
1376
1376
|
*
|
|
1377
|
+
* // The above is the same as writing
|
|
1378
|
+
* const useUpdateQuestions = options =>
|
|
1379
|
+
* useMutation(questionsApi.update, {
|
|
1380
|
+
* ...options,
|
|
1381
|
+
* onSuccess: (data, ...args) => {
|
|
1382
|
+
* queryClient.invalidateQueries("QUESTIONS");
|
|
1383
|
+
* queryClient.setQueryData(["RESPONSES"], data);
|
|
1384
|
+
* options?.onSuccess(data, ...args);
|
|
1385
|
+
* },
|
|
1386
|
+
* });
|
|
1387
|
+
* @endexample
|
|
1388
|
+
* @example
|
|
1389
|
+
*
|
|
1377
1390
|
* //Invalidate any query with query key starting with ["FORM", "QUESTIONS"]
|
|
1378
1391
|
* const useUpdateQuestions = options =>
|
|
1379
1392
|
* useMutationWithInvalidation(questionsApi.update, {
|
|
@@ -1381,6 +1394,18 @@ type QueryKeyOrFilters = QueryKey | QueryFilters;
|
|
|
1381
1394
|
* ...options,
|
|
1382
1395
|
* });
|
|
1383
1396
|
*
|
|
1397
|
+
* // The above is the same as writing
|
|
1398
|
+
* const useUpdateQuestions = options =>
|
|
1399
|
+
* useMutation(questionsApi.update, {
|
|
1400
|
+
* ...options,
|
|
1401
|
+
* onSuccess: (...args) => {
|
|
1402
|
+
* queryClient.invalidateQueries(["FORM", "QUESTIONS"]);
|
|
1403
|
+
* options?.onSuccess(...args);
|
|
1404
|
+
* },
|
|
1405
|
+
* });
|
|
1406
|
+
* @endexample
|
|
1407
|
+
* @example
|
|
1408
|
+
*
|
|
1384
1409
|
* //Invalidate any query with query key starting with "FORM" or starting with "QUESTIONS"
|
|
1385
1410
|
* const useUpdateQuestions = options =>
|
|
1386
1411
|
* useMutationWithInvalidation(questionsApi.update, {
|
|
@@ -1388,6 +1413,19 @@ type QueryKeyOrFilters = QueryKey | QueryFilters;
|
|
|
1388
1413
|
* ...options,
|
|
1389
1414
|
* });
|
|
1390
1415
|
*
|
|
1416
|
+
* // The above is the same as writing
|
|
1417
|
+
* const useUpdateQuestions = options =>
|
|
1418
|
+
* useMutation(questionsApi.update, {
|
|
1419
|
+
* ...options,
|
|
1420
|
+
* onSuccess: () => {
|
|
1421
|
+
* queryClient.invalidateQueries("FORM");
|
|
1422
|
+
* queryClient.invalidateQueries("QUESTIONS");
|
|
1423
|
+
* options?.onSuccess(...args);
|
|
1424
|
+
* },
|
|
1425
|
+
* });
|
|
1426
|
+
* @endexample
|
|
1427
|
+
* @example
|
|
1428
|
+
*
|
|
1391
1429
|
* //Invalidate any query with query key starting with ["QUESTION", id]
|
|
1392
1430
|
* const useUpdateQuestions = options =>
|
|
1393
1431
|
* useMutationWithInvalidation(questionsApi.update, {
|
|
@@ -1395,6 +1433,17 @@ type QueryKeyOrFilters = QueryKey | QueryFilters;
|
|
|
1395
1433
|
* ...options,
|
|
1396
1434
|
* });
|
|
1397
1435
|
*
|
|
1436
|
+
* // The above is the same as writing
|
|
1437
|
+
* const useUpdateQuestions = options =>
|
|
1438
|
+
* useMutation(questionsApi.update, {
|
|
1439
|
+
* ...options,
|
|
1440
|
+
* onSuccess: (...args) => {
|
|
1441
|
+
* const [_, { id }] = args;
|
|
1442
|
+
* queryClient.invalidateQueries(["QUESTION", id]);
|
|
1443
|
+
* options?.onSuccess(...args);
|
|
1444
|
+
* },
|
|
1445
|
+
* });
|
|
1446
|
+
*
|
|
1398
1447
|
* // Update question component
|
|
1399
1448
|
* const { mutate: updateQuestions, isLoading } = useUpdateQuestions({
|
|
1400
1449
|
* onError: e => logger.error(e),
|
package/utils/general.js
CHANGED
|
@@ -117,11 +117,14 @@ export var parseQueryParams = function parseQueryParams(search) {
|
|
|
117
117
|
var _ref6 = _slicedToArray(_ref5, 2),
|
|
118
118
|
key = _ref6[0],
|
|
119
119
|
value = _ref6[1];
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
120
|
+
var camelCasedKey = snakeToCamelCase(key);
|
|
121
|
+
if (camelCasedKey !== key) {
|
|
122
|
+
Object.defineProperty(params, camelCasedKey, {
|
|
123
|
+
get: function get() {
|
|
124
|
+
return value;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
125
128
|
});
|
|
126
129
|
}
|
|
127
130
|
return params;
|
package/utils/general.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","names":["i18next","getRandomInt","preprocessForSerialization","snakeToCamelCase","Toastr","parse","stringify","curry","isEmpty","omit","pipe","toPairs","withEventTargetValue","func","event","target","value","getSubdomain","host","window","location","parts","split","length","simulateApiCall","result","error","errorProbability","arguments","undefined","delay","Promise","resolve","reject","setTimeout","defaultErrorObj","success","notice","t","Math","random","_objectSpread","copyToClipboard","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","text","_ref2","_ref2$showToastr","showToastr","_ref2$message","message","textArea","_args","wrap","_callee$","_context","prev","next","navigator","clipboard","isSecureContext","writeText","document","createElement","style","top","left","position","body","appendChild","focus","select","execCommand","removeChild","t0","stop","_x","apply","buildUrl","route","params","placeHolders","forEach","_ref3","_ref4","_slicedToArray","key","includes","concat","push","replace","encodeURIComponent","queryParams","toLocale","number","_window$globalProps","_window$globalProps$u","options","Number","toLocaleString","globalProps","user","locale","language","languages","parseQueryParams","search","_options$toCamelCase","toCamelCase","qsOptions","_objectWithoutProperties","_excluded","ignoreQueryPrefix","_ref5","_ref6","Object","defineProperty","get","getQueryParams","joinHyphenCase","_len","args","Array","_key","join","toLowerCase","hyphenize","fallbackString","String","debounce","timer","_len2","_key2","clearTimeout","_this","getFromLocalStorage","JSON","localStorage","getItem","_unused","setToLocalStorage","setItem","removeFromLocalStorage","removeItem"],"sources":["../../src/utils/general.js"],"sourcesContent":["import i18next from \"i18next\";\nimport {\n getRandomInt,\n preprocessForSerialization,\n snakeToCamelCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { parse, stringify } from \"qs\";\nimport { curry, isEmpty, omit, pipe, toPairs } from \"ramda\";\n\nexport const withEventTargetValue = /*#__PURE__*/ curry((func, event) =>\n func(event.target.value)\n);\n\nexport const getSubdomain = () => {\n const host = window.location.host;\n const parts = host.split(\".\");\n\n return parts.length >= 3 ? parts[0] : \"\";\n};\n\nexport const simulateApiCall = (\n result,\n error,\n errorProbability = 0.1,\n delay = getRandomInt(350, 1000)\n) =>\n new Promise((resolve, reject) =>\n setTimeout(() => {\n const defaultErrorObj = {\n success: false,\n notice: i18next.t(\"neetoCommons.notice.errorOccurred\"),\n };\n\n Math.random() < errorProbability\n ? reject({ ...defaultErrorObj, ...error })\n : resolve(result);\n }, delay)\n );\n\nexport const copyToClipboard = async (\n text,\n {\n showToastr = true,\n message = i18next.t(\"neetoCommons.toastr.success.copiedToClipboard\"),\n } = {}\n) => {\n try {\n if (navigator.clipboard && window.isSecureContext) {\n await navigator.clipboard.writeText(text);\n } else {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n document.execCommand(\"copy\");\n document.body.removeChild(textArea);\n }\n\n showToastr && Toastr.success(message);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const buildUrl = (route, params) => {\n const placeHolders = [];\n toPairs(params).forEach(([key, value]) => {\n if (route.includes(`:${key}`)) {\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\n }\n });\n\n const queryParams = pipe(\n omit(placeHolders),\n preprocessForSerialization,\n stringify\n )(params);\n\n return isEmpty(queryParams) ? route : `${route}?${queryParams}`;\n};\n\nexport const toLocale = (number, options = undefined) =>\n Number(number).toLocaleString(\n window.globalProps?.user?.locale ||\n navigator.language ||\n navigator.languages[0],\n options\n );\n\nexport const parseQueryParams = (search, options = {}) => {\n const { toCamelCase = true, ...qsOptions } = options;\n const params = parse(search, {\n ignoreQueryPrefix: true,\n ...qsOptions,\n });\n\n if (toCamelCase) {\n toPairs(params).forEach(([key, value]) => {\n Object.defineProperty(params, snakeToCamelCase(key), {\n get: () => value,\n });\n });\n }\n\n return params;\n};\n\nexport const getQueryParams = options =>\n parseQueryParams(location.search, options);\n\nexport const joinHyphenCase = (...args) =>\n args.join(\" \").replace(/\\s+/g, \"-\").toLowerCase();\n\nexport const hyphenize = (value, fallbackString = \"\") => {\n if (typeof value === \"number\") return String(value);\n\n if (value && typeof value === \"string\" && value.replace) {\n return value\n .replace(/[\\s_]/g, \"-\")\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/-+/g, \"-\")\n .toLowerCase();\n }\n\n return fallbackString;\n};\n\nexport const debounce = (func, delay = 350) => {\n let timer;\n\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), delay);\n };\n};\n\nexport const getFromLocalStorage = key => {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n localStorage.setItem(key, JSON.stringify(value));\n\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"general.js","names":["i18next","getRandomInt","preprocessForSerialization","snakeToCamelCase","Toastr","parse","stringify","curry","isEmpty","omit","pipe","toPairs","withEventTargetValue","func","event","target","value","getSubdomain","host","window","location","parts","split","length","simulateApiCall","result","error","errorProbability","arguments","undefined","delay","Promise","resolve","reject","setTimeout","defaultErrorObj","success","notice","t","Math","random","_objectSpread","copyToClipboard","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","text","_ref2","_ref2$showToastr","showToastr","_ref2$message","message","textArea","_args","wrap","_callee$","_context","prev","next","navigator","clipboard","isSecureContext","writeText","document","createElement","style","top","left","position","body","appendChild","focus","select","execCommand","removeChild","t0","stop","_x","apply","buildUrl","route","params","placeHolders","forEach","_ref3","_ref4","_slicedToArray","key","includes","concat","push","replace","encodeURIComponent","queryParams","toLocale","number","_window$globalProps","_window$globalProps$u","options","Number","toLocaleString","globalProps","user","locale","language","languages","parseQueryParams","search","_options$toCamelCase","toCamelCase","qsOptions","_objectWithoutProperties","_excluded","ignoreQueryPrefix","_ref5","_ref6","camelCasedKey","Object","defineProperty","get","getQueryParams","joinHyphenCase","_len","args","Array","_key","join","toLowerCase","hyphenize","fallbackString","String","debounce","timer","_len2","_key2","clearTimeout","_this","getFromLocalStorage","JSON","localStorage","getItem","_unused","setToLocalStorage","setItem","removeFromLocalStorage","removeItem"],"sources":["../../src/utils/general.js"],"sourcesContent":["import i18next from \"i18next\";\nimport {\n getRandomInt,\n preprocessForSerialization,\n snakeToCamelCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { parse, stringify } from \"qs\";\nimport { curry, isEmpty, omit, pipe, toPairs } from \"ramda\";\n\nexport const withEventTargetValue = /*#__PURE__*/ curry((func, event) =>\n func(event.target.value)\n);\n\nexport const getSubdomain = () => {\n const host = window.location.host;\n const parts = host.split(\".\");\n\n return parts.length >= 3 ? parts[0] : \"\";\n};\n\nexport const simulateApiCall = (\n result,\n error,\n errorProbability = 0.1,\n delay = getRandomInt(350, 1000)\n) =>\n new Promise((resolve, reject) =>\n setTimeout(() => {\n const defaultErrorObj = {\n success: false,\n notice: i18next.t(\"neetoCommons.notice.errorOccurred\"),\n };\n\n Math.random() < errorProbability\n ? reject({ ...defaultErrorObj, ...error })\n : resolve(result);\n }, delay)\n );\n\nexport const copyToClipboard = async (\n text,\n {\n showToastr = true,\n message = i18next.t(\"neetoCommons.toastr.success.copiedToClipboard\"),\n } = {}\n) => {\n try {\n if (navigator.clipboard && window.isSecureContext) {\n await navigator.clipboard.writeText(text);\n } else {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n document.execCommand(\"copy\");\n document.body.removeChild(textArea);\n }\n\n showToastr && Toastr.success(message);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const buildUrl = (route, params) => {\n const placeHolders = [];\n toPairs(params).forEach(([key, value]) => {\n if (route.includes(`:${key}`)) {\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\n }\n });\n\n const queryParams = pipe(\n omit(placeHolders),\n preprocessForSerialization,\n stringify\n )(params);\n\n return isEmpty(queryParams) ? route : `${route}?${queryParams}`;\n};\n\nexport const toLocale = (number, options = undefined) =>\n Number(number).toLocaleString(\n window.globalProps?.user?.locale ||\n navigator.language ||\n navigator.languages[0],\n options\n );\n\nexport const parseQueryParams = (search, options = {}) => {\n const { toCamelCase = true, ...qsOptions } = options;\n const params = parse(search, {\n ignoreQueryPrefix: true,\n ...qsOptions,\n });\n\n if (toCamelCase) {\n toPairs(params).forEach(([key, value]) => {\n const camelCasedKey = snakeToCamelCase(key);\n if (camelCasedKey !== key) {\n Object.defineProperty(params, camelCasedKey, {\n get: () => value,\n });\n }\n });\n }\n\n return params;\n};\n\nexport const getQueryParams = options =>\n parseQueryParams(location.search, options);\n\nexport const joinHyphenCase = (...args) =>\n args.join(\" \").replace(/\\s+/g, \"-\").toLowerCase();\n\nexport const hyphenize = (value, fallbackString = \"\") => {\n if (typeof value === \"number\") return String(value);\n\n if (value && typeof value === \"string\" && value.replace) {\n return value\n .replace(/[\\s_]/g, \"-\")\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/-+/g, \"-\")\n .toLowerCase();\n }\n\n return fallbackString;\n};\n\nexport const debounce = (func, delay = 350) => {\n let timer;\n\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => func.apply(this, args), delay);\n };\n};\n\nexport const getFromLocalStorage = key => {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n localStorage.setItem(key, JSON.stringify(value));\n\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n"],"mappings":"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"}
|