@bigbinary/neeto-commons-frontend 3.1.21 → 3.2.1
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/react-utils/metaClick/metaClick.js +8 -1
- package/cjs/react-utils/metaClick/metaClick.js.map +1 -1
- package/cjs/utils/general.js +22 -10
- package/cjs/utils/general.js.map +1 -1
- package/package.json +1 -1
- package/react-utils/metaClick/metaClick.js +8 -1
- package/react-utils/metaClick/metaClick.js.map +1 -1
- package/react-utils.d.ts +56 -7
- package/utils/general.js +24 -12
- package/utils/general.js.map +1 -1
- package/utils.d.ts +10 -5
|
@@ -6,7 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.isMetaKeyPressed = exports.handleMetaClick = void 0;
|
|
7
7
|
var _ramda = require("ramda");
|
|
8
8
|
var handleMetaClick = (0, _ramda.curry)(function (history, params, event) {
|
|
9
|
-
|
|
9
|
+
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
10
|
+
if (isMetaKeyPressed(event)) {
|
|
11
|
+
return window.open(params.pathname || params, "_blank");
|
|
12
|
+
}
|
|
13
|
+
var _options$isHistoryRep = options.isHistoryReplace,
|
|
14
|
+
isHistoryReplace = _options$isHistoryRep === void 0 ? false : _options$isHistoryRep;
|
|
15
|
+
var historyMethod = isHistoryReplace ? history.replace : history.push;
|
|
16
|
+
return historyMethod(params);
|
|
10
17
|
});
|
|
11
18
|
exports.handleMetaClick = handleMetaClick;
|
|
12
19
|
var isMetaKeyPressed = function isMetaKeyPressed(event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaClick.js","names":["_ramda","require","handleMetaClick","curry","history","params","event","isMetaKeyPressed","window","open","pathname","push","exports","ctrlKey","metaKey"],"sources":["../../../../src/react-utils/metaClick/metaClick.js"],"sourcesContent":["import { curry } from \"ramda\";\n\nexport const handleMetaClick = curry((history, params, event)
|
|
1
|
+
{"version":3,"file":"metaClick.js","names":["_ramda","require","handleMetaClick","curry","history","params","event","options","arguments","length","undefined","isMetaKeyPressed","window","open","pathname","_options$isHistoryRep","isHistoryReplace","historyMethod","replace","push","exports","ctrlKey","metaKey"],"sources":["../../../../src/react-utils/metaClick/metaClick.js"],"sourcesContent":["import { curry } from \"ramda\";\n\nexport const handleMetaClick = curry((history, params, event, options = {}) => {\n if (isMetaKeyPressed(event)) {\n return window.open(params.pathname || params, \"_blank\");\n }\n\n const { isHistoryReplace = false } = options;\n const historyMethod = isHistoryReplace ? history.replace : history.push;\n\n return historyMethod(params);\n});\n\nexport const isMetaKeyPressed = event => !!(event?.ctrlKey || event?.metaKey);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,IAAMC,eAAe,GAAG,IAAAC,YAAK,EAAC,UAACC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAmB;EAAA,IAAjBC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxE,IAAIG,gBAAgB,CAACL,KAAK,CAAC,EAAE;IAC3B,OAAOM,MAAM,CAACC,IAAI,CAACR,MAAM,CAACS,QAAQ,IAAIT,MAAM,EAAE,QAAQ,CAAC;EACzD;EAEA,IAAAU,qBAAA,GAAqCR,OAAO,CAApCS,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;EAChC,IAAME,aAAa,GAAGD,gBAAgB,GAAGZ,OAAO,CAACc,OAAO,GAAGd,OAAO,CAACe,IAAI;EAEvE,OAAOF,aAAa,CAACZ,MAAM,CAAC;AAC9B,CAAC,CAAC;AAACe,OAAA,CAAAlB,eAAA,GAAAA,eAAA;AAEI,IAAMS,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGL,KAAK;EAAA,OAAI,CAAC,EAAEA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEe,OAAO,IAAIf,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEgB,OAAO,CAAC;AAAA;AAACF,OAAA,CAAAT,gBAAA,GAAAA,gBAAA"}
|
package/cjs/utils/general.js
CHANGED
|
@@ -19,6 +19,11 @@ var _this = void 0;
|
|
|
19
19
|
var _excluded = ["toCamelCase"];
|
|
20
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
21
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
|
+
var toCamelCasedString = function toCamelCasedString(string) {
|
|
23
|
+
return string.replace(/[_-]+(\w)/g, function (_, nextChar) {
|
|
24
|
+
return nextChar.toUpperCase();
|
|
25
|
+
});
|
|
26
|
+
};
|
|
22
27
|
var withEventTargetValue = /*#__PURE__*/(0, _ramda.curry)(function (func, event) {
|
|
23
28
|
return func(event.target.value);
|
|
24
29
|
});
|
|
@@ -97,7 +102,10 @@ var copyToClipboard = /*#__PURE__*/function () {
|
|
|
97
102
|
}();
|
|
98
103
|
exports.copyToClipboard = copyToClipboard;
|
|
99
104
|
var buildUrl = function buildUrl(route, params) {
|
|
105
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
100
106
|
var placeHolders = [];
|
|
107
|
+
var _options$toSnakeCase = options.toSnakeCase,
|
|
108
|
+
toSnakeCase = _options$toSnakeCase === void 0 ? true : _options$toSnakeCase;
|
|
101
109
|
(0, _ramda.toPairs)(params).forEach(function (_ref3) {
|
|
102
110
|
var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
|
|
103
111
|
key = _ref4[0],
|
|
@@ -106,7 +114,15 @@ var buildUrl = function buildUrl(route, params) {
|
|
|
106
114
|
placeHolders.push(key);
|
|
107
115
|
route = route.replace(":".concat(key), encodeURIComponent(value));
|
|
108
116
|
});
|
|
109
|
-
var
|
|
117
|
+
var keyTransformer = toSnakeCase ? _neetoCist.camelToSnakeCase : _ramda.identity;
|
|
118
|
+
var transformObjectKeys = function transformObjectKeys(params) {
|
|
119
|
+
return (0, _neetoCist.transformObjectDeep)(params, function (key, value) {
|
|
120
|
+
return [keyTransformer(key), value];
|
|
121
|
+
}, function (object) {
|
|
122
|
+
return typeof (object === null || object === void 0 ? void 0 : object.toJSON) === "function" ? object.toJSON() : object;
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
var queryParams = (0, _ramda.pipe)((0, _ramda.omit)(placeHolders), transformObjectKeys, _qs.stringify)(params);
|
|
110
126
|
return (0, _ramda.isEmpty)(queryParams) ? route : "".concat(route, "?").concat(queryParams);
|
|
111
127
|
};
|
|
112
128
|
exports.buildUrl = buildUrl;
|
|
@@ -125,18 +141,14 @@ var parseQueryParams = function parseQueryParams(search) {
|
|
|
125
141
|
ignoreQueryPrefix: true
|
|
126
142
|
}, qsOptions));
|
|
127
143
|
if (toCamelCase) {
|
|
128
|
-
(0, _ramda.toPairs)(params)
|
|
144
|
+
var pairedParams = (0, _ramda.toPairs)(params);
|
|
145
|
+
params = {};
|
|
146
|
+
pairedParams.forEach(function (_ref5) {
|
|
129
147
|
var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
|
|
130
148
|
key = _ref6[0],
|
|
131
149
|
value = _ref6[1];
|
|
132
|
-
var camelCasedKey = (
|
|
133
|
-
|
|
134
|
-
Object.defineProperty(params, camelCasedKey, {
|
|
135
|
-
get: function get() {
|
|
136
|
-
return value;
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
150
|
+
var camelCasedKey = toCamelCasedString(key);
|
|
151
|
+
params[camelCasedKey] = value;
|
|
140
152
|
});
|
|
141
153
|
}
|
|
142
154
|
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","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","showThumbsUpToastr","icon","className"],"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}`)) return;\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\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 // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n localStorage.setItem(key, JSON.stringify(value));\n\n// eslint-disable-next-line @bigbinary/neeto/no-local-storage\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n\nexport const showThumbsUpToastr = () =>\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\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","toCamelCasedString","string","replace","_","nextChar","toUpperCase","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","options","placeHolders","_options$toSnakeCase","toSnakeCase","toPairs","_ref3","_ref4","_slicedToArray2","includes","concat","encodeURIComponent","keyTransformer","camelToSnakeCase","identity","transformObjectKeys","transformObjectDeep","toJSON","queryParams","pipe","omit","stringify","isEmpty","toLocale","number","_window$globalProps","_window$globalProps$u","Number","toLocaleString","globalProps","user","locale","language","languages","parseQueryParams","search","_options$toCamelCase","toCamelCase","qsOptions","_objectWithoutProperties2","parse","ignoreQueryPrefix","pairedParams","_ref5","_ref6","camelCasedKey","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","showThumbsUpToastr","icon","className"],"sources":["../../../src/utils/general.js"],"sourcesContent":["import i18next from \"i18next\";\nimport { camelToSnakeCase, getRandomInt, transformObjectDeep } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { parse, stringify } from \"qs\";\nimport { identity, curry, isEmpty, omit, pipe, toPairs } from \"ramda\";\n\nconst toCamelCasedString = string =>\n string.replace(/[_-]+(\\w)/g, (_, nextChar) => nextChar.toUpperCase());\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, options = {}) => {\n const placeHolders = [];\n const { toSnakeCase = true } = options;\n toPairs(params).forEach(([key, value]) => {\n if (!route.includes(`:${key}`)) return;\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\n });\n\n const keyTransformer = toSnakeCase ? camelToSnakeCase : identity;\n const transformObjectKeys = params =>\n transformObjectDeep(\n params,\n (key, value) => [keyTransformer(key), value],\n object =>\n typeof object?.toJSON === \"function\" ? object.toJSON() : object\n );\n\n const queryParams = pipe(\n omit(placeHolders),\n transformObjectKeys,\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 let params = parse(search, {\n ignoreQueryPrefix: true,\n ...qsOptions,\n });\n\n if (toCamelCase) {\n const pairedParams = toPairs(params);\n params = {};\n pairedParams.forEach(([key, value]) => {\n const camelCasedKey = toCamelCasedString(key);\n params[camelCasedKey] = value;\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 // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n localStorage.setItem(key, JSON.stringify(value));\n\n// eslint-disable-next-line @bigbinary/neeto/no-local-storage\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n\nexport const showThumbsUpToastr = () =>\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\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.1
|
|
3
|
+
"version": "3.2.1",
|
|
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>",
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { curry } from "ramda";
|
|
2
2
|
export var handleMetaClick = curry(function (history, params, event) {
|
|
3
|
-
|
|
3
|
+
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
4
|
+
if (isMetaKeyPressed(event)) {
|
|
5
|
+
return window.open(params.pathname || params, "_blank");
|
|
6
|
+
}
|
|
7
|
+
var _options$isHistoryRep = options.isHistoryReplace,
|
|
8
|
+
isHistoryReplace = _options$isHistoryRep === void 0 ? false : _options$isHistoryRep;
|
|
9
|
+
var historyMethod = isHistoryReplace ? history.replace : history.push;
|
|
10
|
+
return historyMethod(params);
|
|
4
11
|
});
|
|
5
12
|
export var isMetaKeyPressed = function isMetaKeyPressed(event) {
|
|
6
13
|
return !!(event !== null && event !== void 0 && event.ctrlKey || event !== null && event !== void 0 && event.metaKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaClick.js","names":["curry","handleMetaClick","history","params","event","isMetaKeyPressed","window","open","pathname","push","ctrlKey","metaKey"],"sources":["../../../src/react-utils/metaClick/metaClick.js"],"sourcesContent":["import { curry } from \"ramda\";\n\nexport const handleMetaClick = curry((history, params, event)
|
|
1
|
+
{"version":3,"file":"metaClick.js","names":["curry","handleMetaClick","history","params","event","options","arguments","length","undefined","isMetaKeyPressed","window","open","pathname","_options$isHistoryRep","isHistoryReplace","historyMethod","replace","push","ctrlKey","metaKey"],"sources":["../../../src/react-utils/metaClick/metaClick.js"],"sourcesContent":["import { curry } from \"ramda\";\n\nexport const handleMetaClick = curry((history, params, event, options = {}) => {\n if (isMetaKeyPressed(event)) {\n return window.open(params.pathname || params, \"_blank\");\n }\n\n const { isHistoryReplace = false } = options;\n const historyMethod = isHistoryReplace ? history.replace : history.push;\n\n return historyMethod(params);\n});\n\nexport const isMetaKeyPressed = event => !!(event?.ctrlKey || event?.metaKey);\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,OAAO;AAE7B,OAAO,IAAMC,eAAe,GAAGD,KAAK,CAAC,UAACE,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAmB;EAAA,IAAjBC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxE,IAAIG,gBAAgB,CAACL,KAAK,CAAC,EAAE;IAC3B,OAAOM,MAAM,CAACC,IAAI,CAACR,MAAM,CAACS,QAAQ,IAAIT,MAAM,EAAE,QAAQ,CAAC;EACzD;EAEA,IAAAU,qBAAA,GAAqCR,OAAO,CAApCS,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;EAChC,IAAME,aAAa,GAAGD,gBAAgB,GAAGZ,OAAO,CAACc,OAAO,GAAGd,OAAO,CAACe,IAAI;EAEvE,OAAOF,aAAa,CAACZ,MAAM,CAAC;AAC9B,CAAC,CAAC;AAEF,OAAO,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGL,KAAK;EAAA,OAAI,CAAC,EAAEA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEc,OAAO,IAAId,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEe,OAAO,CAAC;AAAA"}
|
package/react-utils.d.ts
CHANGED
|
@@ -777,6 +777,9 @@ export async function registerBrowserNotifications(): Promise<void>;
|
|
|
777
777
|
*
|
|
778
778
|
*/
|
|
779
779
|
export async function destroyBrowserSubscription(): Promise<void>;
|
|
780
|
+
type handleMetaClickOptions = {
|
|
781
|
+
isHistoryReplace?: boolean;
|
|
782
|
+
};
|
|
780
783
|
/**
|
|
781
784
|
*
|
|
782
785
|
* The handleMetaClick function can be used to handle onClick actions that
|
|
@@ -824,7 +827,7 @@ export async function destroyBrowserSubscription(): Promise<void>;
|
|
|
824
827
|
* };
|
|
825
828
|
* @endexample
|
|
826
829
|
*/
|
|
827
|
-
export function handleMetaClick(history: History, params: string | object, event: React.MouseEvent<HTMLElement, MouseEvent
|
|
830
|
+
export function handleMetaClick(history: History, params: string | object, event: React.MouseEvent<HTMLElement, MouseEvent>, options?: handleMetaClickOptions): void;
|
|
828
831
|
/**
|
|
829
832
|
*
|
|
830
833
|
* The handleMetaClick function can be used to handle onClick actions that
|
|
@@ -872,7 +875,7 @@ export function handleMetaClick(history: History, params: string | object, event
|
|
|
872
875
|
* };
|
|
873
876
|
* @endexample
|
|
874
877
|
*/
|
|
875
|
-
export function handleMetaClick(history: History, params: string | object
|
|
878
|
+
export function handleMetaClick(history: History, params: string | object, event: React.MouseEvent<HTMLElement, MouseEvent>): (options?: handleMetaClickOptions) => void;
|
|
876
879
|
/**
|
|
877
880
|
*
|
|
878
881
|
* The handleMetaClick function can be used to handle onClick actions that
|
|
@@ -920,7 +923,55 @@ export function handleMetaClick(history: History, params: string | object): (eve
|
|
|
920
923
|
* };
|
|
921
924
|
* @endexample
|
|
922
925
|
*/
|
|
923
|
-
export function handleMetaClick(history: History
|
|
926
|
+
export function handleMetaClick(history: History, params: string | object): (event: React.MouseEvent<HTMLElement, MouseEvent>, options?: handleMetaClickOptions) => void;
|
|
927
|
+
/**
|
|
928
|
+
*
|
|
929
|
+
* The handleMetaClick function can be used to handle onClick actions that
|
|
930
|
+
*
|
|
931
|
+
* redirects to a URL. It opens up the URL in a new tab if ctrl/cmd + click event
|
|
932
|
+
*
|
|
933
|
+
* is received. Otherwise, simply redirects to the provided URL in the same tab.
|
|
934
|
+
*
|
|
935
|
+
* URL can be passed as string or a history location object can be passed instead.
|
|
936
|
+
*
|
|
937
|
+
* Let's say you have a navigation menu with several links, and you want to allow
|
|
938
|
+
*
|
|
939
|
+
* users to open these links in a new tab if they hold down the Ctrl (or Cmd on
|
|
940
|
+
*
|
|
941
|
+
* macOS) key while clicking, and if they click without holding down the Ctrl key,
|
|
942
|
+
*
|
|
943
|
+
* the link should open in the same tab. You can use handleMetaClick to achieve
|
|
944
|
+
*
|
|
945
|
+
* this behavior.
|
|
946
|
+
*
|
|
947
|
+
* @example
|
|
948
|
+
*
|
|
949
|
+
* const NavigationMenu = () => {
|
|
950
|
+
* const history = useHistory();
|
|
951
|
+
*
|
|
952
|
+
* const handleLinkClick = (url, event) => {
|
|
953
|
+
* // Opens url in a new tab if metaKey/CtrlKey is pressed.
|
|
954
|
+
* // Otherwise simply redirects to url.
|
|
955
|
+
* handleMetaClick(history, url, event);
|
|
956
|
+
* };
|
|
957
|
+
*
|
|
958
|
+
* return (
|
|
959
|
+
* <div>
|
|
960
|
+
* <a href="/home" onClick={e => handleLinkClick("/home", e)}>
|
|
961
|
+
* Home
|
|
962
|
+
* </a>
|
|
963
|
+
* <a href="/dashboard" onClick={e => handleLinkClick("/dashboard", e)}>
|
|
964
|
+
* Dashboard
|
|
965
|
+
* </a>
|
|
966
|
+
* <a href="/profile" onClick={e => handleLinkClick("/profile", e)}>
|
|
967
|
+
* Profile
|
|
968
|
+
* </a>
|
|
969
|
+
* </div>
|
|
970
|
+
* );
|
|
971
|
+
* };
|
|
972
|
+
* @endexample
|
|
973
|
+
*/
|
|
974
|
+
export function handleMetaClick(history: History): (params: string | object, event: React.MouseEvent<HTMLElement, MouseEvent>, options?: handleMetaClickOptions) => void;
|
|
924
975
|
/**
|
|
925
976
|
*
|
|
926
977
|
* The isMetaKeyPressed function can be used to check whether an onClick event
|
|
@@ -1482,13 +1533,11 @@ export function useMutationWithInvalidation<TData = unknown, TError = unknown, T
|
|
|
1482
1533
|
*
|
|
1483
1534
|
* hook.
|
|
1484
1535
|
*
|
|
1485
|
-
* This hook will return an object containing all the query parameters in
|
|
1536
|
+
* This hook will return an object containing all the query parameters in camel
|
|
1486
1537
|
*
|
|
1487
1538
|
* case. It will return an empty object if no query parameters are present.
|
|
1488
1539
|
*
|
|
1489
|
-
* You can
|
|
1490
|
-
*
|
|
1491
|
-
* return object.
|
|
1540
|
+
* You can set toCamelCase to false if you don't want to apply any transformation to the keys.
|
|
1492
1541
|
*
|
|
1493
1542
|
* More details on working:
|
|
1494
1543
|
*
|
package/utils/general.js
CHANGED
|
@@ -8,10 +8,15 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
8
8
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
9
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
10
|
import i18next from "i18next";
|
|
11
|
-
import {
|
|
11
|
+
import { camelToSnakeCase, getRandomInt, transformObjectDeep } from "@bigbinary/neeto-cist";
|
|
12
12
|
import { Toastr } from "@bigbinary/neetoui";
|
|
13
13
|
import { parse, stringify } from "qs";
|
|
14
|
-
import { curry, isEmpty, omit, pipe, toPairs } from "ramda";
|
|
14
|
+
import { identity, curry, isEmpty, omit, pipe, toPairs } from "ramda";
|
|
15
|
+
var toCamelCasedString = function toCamelCasedString(string) {
|
|
16
|
+
return string.replace(/[_-]+(\w)/g, function (_, nextChar) {
|
|
17
|
+
return nextChar.toUpperCase();
|
|
18
|
+
});
|
|
19
|
+
};
|
|
15
20
|
export var withEventTargetValue = /*#__PURE__*/curry(function (func, event) {
|
|
16
21
|
return func(event.target.value);
|
|
17
22
|
});
|
|
@@ -86,7 +91,10 @@ export var copyToClipboard = /*#__PURE__*/function () {
|
|
|
86
91
|
};
|
|
87
92
|
}();
|
|
88
93
|
export var buildUrl = function buildUrl(route, params) {
|
|
94
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
89
95
|
var placeHolders = [];
|
|
96
|
+
var _options$toSnakeCase = options.toSnakeCase,
|
|
97
|
+
toSnakeCase = _options$toSnakeCase === void 0 ? true : _options$toSnakeCase;
|
|
90
98
|
toPairs(params).forEach(function (_ref3) {
|
|
91
99
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
92
100
|
key = _ref4[0],
|
|
@@ -95,7 +103,15 @@ export var buildUrl = function buildUrl(route, params) {
|
|
|
95
103
|
placeHolders.push(key);
|
|
96
104
|
route = route.replace(":".concat(key), encodeURIComponent(value));
|
|
97
105
|
});
|
|
98
|
-
var
|
|
106
|
+
var keyTransformer = toSnakeCase ? camelToSnakeCase : identity;
|
|
107
|
+
var transformObjectKeys = function transformObjectKeys(params) {
|
|
108
|
+
return transformObjectDeep(params, function (key, value) {
|
|
109
|
+
return [keyTransformer(key), value];
|
|
110
|
+
}, function (object) {
|
|
111
|
+
return typeof (object === null || object === void 0 ? void 0 : object.toJSON) === "function" ? object.toJSON() : object;
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
var queryParams = pipe(omit(placeHolders), transformObjectKeys, stringify)(params);
|
|
99
115
|
return isEmpty(queryParams) ? route : "".concat(route, "?").concat(queryParams);
|
|
100
116
|
};
|
|
101
117
|
export var toLocale = function toLocale(number) {
|
|
@@ -112,18 +128,14 @@ export var parseQueryParams = function parseQueryParams(search) {
|
|
|
112
128
|
ignoreQueryPrefix: true
|
|
113
129
|
}, qsOptions));
|
|
114
130
|
if (toCamelCase) {
|
|
115
|
-
toPairs(params)
|
|
131
|
+
var pairedParams = toPairs(params);
|
|
132
|
+
params = {};
|
|
133
|
+
pairedParams.forEach(function (_ref5) {
|
|
116
134
|
var _ref6 = _slicedToArray(_ref5, 2),
|
|
117
135
|
key = _ref6[0],
|
|
118
136
|
value = _ref6[1];
|
|
119
|
-
var camelCasedKey =
|
|
120
|
-
|
|
121
|
-
Object.defineProperty(params, camelCasedKey, {
|
|
122
|
-
get: function get() {
|
|
123
|
-
return value;
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
137
|
+
var camelCasedKey = toCamelCasedString(key);
|
|
138
|
+
params[camelCasedKey] = value;
|
|
127
139
|
});
|
|
128
140
|
}
|
|
129
141
|
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","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","showThumbsUpToastr","icon","className"],"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}`)) return;\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\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 // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n localStorage.setItem(key, JSON.stringify(value));\n\n// eslint-disable-next-line @bigbinary/neeto/no-local-storage\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n\nexport const showThumbsUpToastr = () =>\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"general.js","names":["i18next","camelToSnakeCase","getRandomInt","transformObjectDeep","Toastr","parse","stringify","identity","curry","isEmpty","omit","pipe","toPairs","toCamelCasedString","string","replace","_","nextChar","toUpperCase","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","options","placeHolders","_options$toSnakeCase","toSnakeCase","forEach","_ref3","_ref4","_slicedToArray","key","includes","concat","push","encodeURIComponent","keyTransformer","transformObjectKeys","object","toJSON","queryParams","toLocale","number","_window$globalProps","_window$globalProps$u","Number","toLocaleString","globalProps","user","locale","language","languages","parseQueryParams","search","_options$toCamelCase","toCamelCase","qsOptions","_objectWithoutProperties","_excluded","ignoreQueryPrefix","pairedParams","_ref5","_ref6","camelCasedKey","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","showThumbsUpToastr","icon","className"],"sources":["../../src/utils/general.js"],"sourcesContent":["import i18next from \"i18next\";\nimport { camelToSnakeCase, getRandomInt, transformObjectDeep } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { parse, stringify } from \"qs\";\nimport { identity, curry, isEmpty, omit, pipe, toPairs } from \"ramda\";\n\nconst toCamelCasedString = string =>\n string.replace(/[_-]+(\\w)/g, (_, nextChar) => nextChar.toUpperCase());\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, options = {}) => {\n const placeHolders = [];\n const { toSnakeCase = true } = options;\n toPairs(params).forEach(([key, value]) => {\n if (!route.includes(`:${key}`)) return;\n placeHolders.push(key);\n route = route.replace(`:${key}`, encodeURIComponent(value));\n });\n\n const keyTransformer = toSnakeCase ? camelToSnakeCase : identity;\n const transformObjectKeys = params =>\n transformObjectDeep(\n params,\n (key, value) => [keyTransformer(key), value],\n object =>\n typeof object?.toJSON === \"function\" ? object.toJSON() : object\n );\n\n const queryParams = pipe(\n omit(placeHolders),\n transformObjectKeys,\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 let params = parse(search, {\n ignoreQueryPrefix: true,\n ...qsOptions,\n });\n\n if (toCamelCase) {\n const pairedParams = toPairs(params);\n params = {};\n pairedParams.forEach(([key, value]) => {\n const camelCasedKey = toCamelCasedString(key);\n params[camelCasedKey] = value;\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 // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n return JSON.parse(localStorage.getItem(key));\n } catch {\n return null;\n }\n};\n\nexport const setToLocalStorage = (key, value) =>\n // eslint-disable-next-line @bigbinary/neeto/no-local-storage\n localStorage.setItem(key, JSON.stringify(value));\n\n// eslint-disable-next-line @bigbinary/neeto/no-local-storage\nexport const removeFromLocalStorage = key => localStorage.removeItem(key);\n\nexport const showThumbsUpToastr = () =>\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n"],"mappings":"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"}
|
package/utils.d.ts
CHANGED
|
@@ -102,6 +102,9 @@ export function copyToClipboard(text: string, configs?: {
|
|
|
102
102
|
showToastr?: boolean;
|
|
103
103
|
message?: string;
|
|
104
104
|
}): void;
|
|
105
|
+
type buildUrlOptions = {
|
|
106
|
+
toSnakeCase?: boolean;
|
|
107
|
+
};
|
|
105
108
|
/**
|
|
106
109
|
*
|
|
107
110
|
* The buildUrl function builds a URL by inflating a route-like template string
|
|
@@ -112,7 +115,7 @@ export function copyToClipboard(text: string, configs?: {
|
|
|
112
115
|
*
|
|
113
116
|
* placeholders with actual values. Any additional properties in the parameters
|
|
114
117
|
*
|
|
115
|
-
* will be attached as query parameters to the URL.
|
|
118
|
+
* will be transformed to snake case and attached as query parameters to the URL.
|
|
116
119
|
*
|
|
117
120
|
* @example
|
|
118
121
|
*
|
|
@@ -125,9 +128,11 @@ export function copyToClipboard(text: string, configs?: {
|
|
|
125
128
|
* page: 1,
|
|
126
129
|
* per_page: 10,
|
|
127
130
|
* }); // output "/products/123/variants/456/attributes?page=1&per_page=10&search=abc"
|
|
131
|
+
* buildUrl("/products", { searchTerm: "abc" }); // output "/products?search_term=abc"
|
|
132
|
+
* buildUrl("/products", { searchTerm: "abc" }, { toSnakeCase: false }); // output "/products?searchTerm=abc"
|
|
128
133
|
* @endexample
|
|
129
134
|
*/
|
|
130
|
-
export function buildUrl(route: string, params: object): string;
|
|
135
|
+
export function buildUrl(route: string, params: object, options?: buildUrlOptions): string;
|
|
131
136
|
type DateTimeType = string | number | dayjs.Dayjs | Date | null | undefined;
|
|
132
137
|
export const timeFormat: {
|
|
133
138
|
fromNow: (time: DateTimeType) => string;
|
|
@@ -269,13 +274,13 @@ export type QueryParamsType = {
|
|
|
269
274
|
*
|
|
270
275
|
* API.
|
|
271
276
|
*
|
|
272
|
-
* This function will return an object containing all the query parameters in
|
|
277
|
+
* This function will return an object containing all the query parameters in camel
|
|
273
278
|
*
|
|
274
279
|
* case. It will return an empty object if no query parameters are present.
|
|
275
280
|
*
|
|
276
|
-
* You can
|
|
281
|
+
* You can set toCamelCase to false if you don't want to apply any transformation to the keys.
|
|
277
282
|
*
|
|
278
|
-
*
|
|
283
|
+
* to false.
|
|
279
284
|
*
|
|
280
285
|
* More details on working:
|
|
281
286
|
*
|