@ringcentral-integration/utils 0.0.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.
Files changed (59) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +9 -0
  3. package/index.js +17 -0
  4. package/index.js.map +1 -0
  5. package/package.json +26 -0
  6. package/src/decorators/index.js +17 -0
  7. package/src/decorators/index.js.map +1 -0
  8. package/src/decorators/time.js +81 -0
  9. package/src/decorators/time.js.map +1 -0
  10. package/src/index.js +28 -0
  11. package/src/index.js.map +1 -0
  12. package/src/utils/MultiPartUTF8FormData.js +239 -0
  13. package/src/utils/MultiPartUTF8FormData.js.map +1 -0
  14. package/src/utils/base64Handler.js +96 -0
  15. package/src/utils/base64Handler.js.map +1 -0
  16. package/src/utils/blobHandler.js +44 -0
  17. package/src/utils/blobHandler.js.map +1 -0
  18. package/src/utils/downloadFile.js +95 -0
  19. package/src/utils/downloadFile.js.map +1 -0
  20. package/src/utils/empty.js +16 -0
  21. package/src/utils/empty.js.map +1 -0
  22. package/src/utils/fileHandler/constant.js +37 -0
  23. package/src/utils/fileHandler/constant.js.map +1 -0
  24. package/src/utils/fileHandler/fileHandler.js +65 -0
  25. package/src/utils/fileHandler/fileHandler.js.map +1 -0
  26. package/src/utils/fileHandler/index.js +17 -0
  27. package/src/utils/fileHandler/index.js.map +1 -0
  28. package/src/utils/format.js +14 -0
  29. package/src/utils/format.js.map +1 -0
  30. package/src/utils/getTranslateFn.js +98 -0
  31. package/src/utils/getTranslateFn.js.map +1 -0
  32. package/src/utils/index.js +204 -0
  33. package/src/utils/index.js.map +1 -0
  34. package/src/utils/invertObj.js +26 -0
  35. package/src/utils/invertObj.js.map +1 -0
  36. package/src/utils/isElectron.js +13 -0
  37. package/src/utils/isElectron.js.map +1 -0
  38. package/src/utils/isSafari.js +10 -0
  39. package/src/utils/isSafari.js.map +1 -0
  40. package/src/utils/loadImage.js +24 -0
  41. package/src/utils/loadImage.js.map +1 -0
  42. package/src/utils/polling.js +107 -0
  43. package/src/utils/polling.js.map +1 -0
  44. package/src/utils/sleep.js +48 -0
  45. package/src/utils/sleep.js.map +1 -0
  46. package/src/utils/stopEvent.js +20 -0
  47. package/src/utils/stopEvent.js.map +1 -0
  48. package/src/utils/stringHandler/index.js +17 -0
  49. package/src/utils/stringHandler/index.js.map +1 -0
  50. package/src/utils/stringHandler/isASCII.js +12 -0
  51. package/src/utils/stringHandler/isASCII.js.map +1 -0
  52. package/src/utils/waitUntil.js +70 -0
  53. package/src/utils/waitUntil.js.map +1 -0
  54. package/src/utils/waitUntilTo.js +99 -0
  55. package/src/utils/waitUntilTo.js.map +1 -0
  56. package/src/webpackPlugins/NoChunkChecker/NoChunkChecker.js +56 -0
  57. package/src/webpackPlugins/NoChunkChecker/NoChunkChecker.js.map +1 -0
  58. package/src/webpackPlugins/NoChunkChecker/index.js +17 -0
  59. package/src/webpackPlugins/NoChunkChecker/index.js.map +1 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator");
4
+ require("core-js/modules/es.object.to-string");
5
+ require("core-js/modules/es.promise");
6
+ require("core-js/modules/es.string.iterator");
7
+ require("core-js/modules/web.dom-collections.iterator");
8
+ require("core-js/modules/web.url");
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.getBlobURL = getBlobURL;
13
+ require("regenerator-runtime/runtime");
14
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
15
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
16
+ function getBlobURL(_x) {
17
+ return _getBlobURL.apply(this, arguments);
18
+ }
19
+ function _getBlobURL() {
20
+ _getBlobURL = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(imageSrc) {
21
+ var image, imageBlog;
22
+ return regeneratorRuntime.wrap(function _callee$(_context) {
23
+ while (1) {
24
+ switch (_context.prev = _context.next) {
25
+ case 0:
26
+ _context.next = 2;
27
+ return fetch(imageSrc);
28
+ case 2:
29
+ image = _context.sent;
30
+ _context.next = 5;
31
+ return image.blob();
32
+ case 5:
33
+ imageBlog = _context.sent;
34
+ return _context.abrupt("return", URL.createObjectURL(imageBlog));
35
+ case 7:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }
40
+ }, _callee);
41
+ }));
42
+ return _getBlobURL.apply(this, arguments);
43
+ }
44
+ //# sourceMappingURL=blobHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blobHandler.js","names":["getBlobURL","_x","_getBlobURL","apply","arguments","_asyncToGenerator","regeneratorRuntime","mark","_callee","imageSrc","image","imageBlog","wrap","_callee$","_context","prev","next","fetch","sent","blob","abrupt","URL","createObjectURL","stop"],"sources":["src/utils/blobHandler.ts"],"sourcesContent":["export async function getBlobURL(imageSrc: string) {\n const image = await fetch(imageSrc);\n const imageBlog = await image.blob();\n return URL.createObjectURL(imageBlog);\n}\n"],"mappings":";;;;;;;;;;;;;;;SAAsBA,UAAUA,CAAAC,EAAA;EAAA,OAAAC,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,YAAA;EAAAA,WAAA,GAAAG,iBAAA,eAAAC,kBAAA,CAAAC,IAAA,CAAzB,SAAAC,QAA0BC,QAAgB;IAAA,IAAAC,KAAA,EAAAC,SAAA;IAAA,OAAAL,kBAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA;QAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAC3BC,KAAK,CAACR,QAAQ,CAAC;UAAA;YAA7BC,KAAK,GAAAI,QAAA,CAAAI,IAAA;YAAAJ,QAAA,CAAAE,IAAA;YAAA,OACaN,KAAK,CAACS,IAAI,CAAC,CAAC;UAAA;YAA9BR,SAAS,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAM,MAAA,WACRC,GAAG,CAACC,eAAe,CAACX,SAAS,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAS,IAAA;QAAA;MAAA;IAAA,GAAAf,OAAA;EAAA,CACtC;EAAA,OAAAN,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.to-string");
4
+ require("core-js/modules/es.promise");
5
+ require("core-js/modules/es.promise.finally");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.downloadFileWithIframe = exports.downloadFile = void 0;
10
+ var _isSafari = require("./isSafari");
11
+ var _sleep = require("./sleep");
12
+ function appendAndClickDownloadLink(target, _ref) {
13
+ var href = _ref.href,
14
+ download = _ref.download;
15
+ var link = target.document.createElement('a');
16
+ link.href = href;
17
+ // that custom file name only support with same site origin
18
+ link.download = download;
19
+ target.document.body.appendChild(link); // required for firefox
20
+
21
+ link.dispatchEvent(new MouseEvent('click', {
22
+ bubbles: false
23
+ }));
24
+ return link;
25
+ }
26
+
27
+ /**
28
+ * create browser download event
29
+ *
30
+ * ! Safari not support download a href, always open by window.open _self
31
+ */
32
+ var downloadFile = function downloadFile(url, filename) {
33
+ if ((0, _isSafari.isSafari)()) {
34
+ return global.window.open(url, '_self');
35
+ }
36
+ var link = appendAndClickDownloadLink(global.window, {
37
+ href: url,
38
+ download: filename
39
+ });
40
+ link.remove();
41
+ };
42
+
43
+ /**
44
+ * with iframe mechanism
45
+ * let you download multiple files in one browser tab.
46
+ *
47
+ * ! Safari not support download a href, always open by window.open _self
48
+ */
49
+ exports.downloadFile = downloadFile;
50
+ var downloadFileWithIframe = function downloadFileWithIframe(url, filename) {
51
+ var serverResponseTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 20 * 1000;
52
+ if ((0, _isSafari.isSafari)()) {
53
+ return global.window.open(url, '_self');
54
+ }
55
+ var iframe = document.createElement('iframe');
56
+ iframe.style.display = 'none';
57
+ document.body.appendChild(iframe);
58
+ iframe.addEventListener('load', function () {
59
+ appendAndClickDownloadLink(iframe.contentWindow, {
60
+ href: url,
61
+ download: filename
62
+ });
63
+ });
64
+ iframe.src = 'about:blank';
65
+
66
+ // TODO: there is an only way to remove that download iframe, but need backend support
67
+ // https://stackoverflow.com/a/4168965/7720164
68
+ // remove that download iframe after 20s,
69
+ // that download event will be keep in main tab.
70
+ // sever response download stream event inside 20s can make this download work.
71
+
72
+ // const id = encodeURIComponent(url);
73
+ // const prevIframe = document.getElementById(id);
74
+
75
+ // if (prevIframe) {
76
+ // // eslint-disable-next-line no-console
77
+ // console.log('continue previous download event');
78
+ // // continue previous download event
79
+ // return;
80
+ // }
81
+ // iframe.id = id;
82
+
83
+ var sleepPromise;
84
+ try {
85
+ sleepPromise = (0, _sleep.sleep)(serverResponseTime);
86
+ sleepPromise["finally"](function () {
87
+ iframe.remove();
88
+ });
89
+ } catch (error) {
90
+ //
91
+ }
92
+ return sleepPromise;
93
+ };
94
+ exports.downloadFileWithIframe = downloadFileWithIframe;
95
+ //# sourceMappingURL=downloadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadFile.js","names":["_isSafari","require","_sleep","appendAndClickDownloadLink","target","_ref","href","download","link","document","createElement","body","appendChild","dispatchEvent","MouseEvent","bubbles","downloadFile","url","filename","isSafari","global","window","open","remove","exports","downloadFileWithIframe","serverResponseTime","arguments","length","undefined","iframe","style","display","addEventListener","contentWindow","src","sleepPromise","sleep","error"],"sources":["src/utils/downloadFile.ts"],"sourcesContent":["import { isSafari } from './isSafari';\nimport { sleep, SleepPromise } from './sleep';\n\ntype DownloadLinkOptions = {\n href: string;\n download: string;\n};\n\nfunction appendAndClickDownloadLink(\n target: Window,\n { href, download }: DownloadLinkOptions,\n) {\n const link = target.document.createElement('a');\n link.href = href;\n // that custom file name only support with same site origin\n link.download = download;\n\n target.document.body.appendChild(link); // required for firefox\n\n link.dispatchEvent(new MouseEvent('click', { bubbles: false }));\n\n return link;\n}\n\n/**\n * create browser download event\n *\n * ! Safari not support download a href, always open by window.open _self\n */\nexport const downloadFile = (url: string, filename: string) => {\n if (isSafari()) {\n return global.window.open(url, '_self');\n }\n\n const link = appendAndClickDownloadLink(global.window, {\n href: url,\n download: filename,\n });\n\n link.remove();\n};\n\n/**\n * with iframe mechanism\n * let you download multiple files in one browser tab.\n *\n * ! Safari not support download a href, always open by window.open _self\n */\nexport const downloadFileWithIframe = (\n url: string,\n filename: string,\n /**\n * server response time must in side this value\n *\n * if that server not start download stream in 20s, that event will be cancelled.\n *\n * @default 20000ms => 20s\n */\n serverResponseTime = 20 * 1000,\n) => {\n if (isSafari()) {\n return global.window.open(url, '_self');\n }\n\n const iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n\n document.body.appendChild(iframe);\n\n iframe.addEventListener('load', () => {\n appendAndClickDownloadLink(iframe.contentWindow!, {\n href: url,\n download: filename,\n });\n });\n\n iframe.src = 'about:blank';\n\n // TODO: there is an only way to remove that download iframe, but need backend support\n // https://stackoverflow.com/a/4168965/7720164\n // remove that download iframe after 20s,\n // that download event will be keep in main tab.\n // sever response download stream event inside 20s can make this download work.\n\n // const id = encodeURIComponent(url);\n // const prevIframe = document.getElementById(id);\n\n // if (prevIframe) {\n // // eslint-disable-next-line no-console\n // console.log('continue previous download event');\n // // continue previous download event\n // return;\n // }\n // iframe.id = id;\n\n let sleepPromise!: SleepPromise;\n\n try {\n sleepPromise = sleep(serverResponseTime);\n\n sleepPromise.finally(() => {\n iframe.remove();\n });\n } catch (error) {\n //\n }\n\n return sleepPromise;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAOA,SAASE,0BAA0BA,CACjCC,MAAc,EAAAC,IAAA,EAEd;EAAA,IADEC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EAEhB,IAAMC,IAAI,GAAGJ,MAAM,CAACK,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;EAC/CF,IAAI,CAACF,IAAI,GAAGA,IAAI;EAChB;EACAE,IAAI,CAACD,QAAQ,GAAGA,QAAQ;EAExBH,MAAM,CAACK,QAAQ,CAACE,IAAI,CAACC,WAAW,CAACJ,IAAI,CAAC,CAAC,CAAC;;EAExCA,IAAI,CAACK,aAAa,CAAC,IAAIC,UAAU,CAAC,OAAO,EAAE;IAAEC,OAAO,EAAE;EAAM,CAAC,CAAC,CAAC;EAE/D,OAAOP,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAW,EAAEC,QAAgB,EAAK;EAC7D,IAAI,IAAAC,kBAAQ,EAAC,CAAC,EAAE;IACd,OAAOC,MAAM,CAACC,MAAM,CAACC,IAAI,CAACL,GAAG,EAAE,OAAO,CAAC;EACzC;EAEA,IAAMT,IAAI,GAAGL,0BAA0B,CAACiB,MAAM,CAACC,MAAM,EAAE;IACrDf,IAAI,EAAEW,GAAG;IACTV,QAAQ,EAAEW;EACZ,CAAC,CAAC;EAEFV,IAAI,CAACe,MAAM,CAAC,CAAC;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAR,YAAA,GAAAA,YAAA;AAMO,IAAMS,sBAAsB,GAAG,SAAzBA,sBAAsBA,CACjCR,GAAW,EACXC,QAAgB,EASb;EAAA,IADHQ,kBAAkB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE,GAAG,IAAI;EAE9B,IAAI,IAAAR,kBAAQ,EAAC,CAAC,EAAE;IACd,OAAOC,MAAM,CAACC,MAAM,CAACC,IAAI,CAACL,GAAG,EAAE,OAAO,CAAC;EACzC;EAEA,IAAMa,MAAM,GAAGrB,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;EAC/CoB,MAAM,CAACC,KAAK,CAACC,OAAO,GAAG,MAAM;EAE7BvB,QAAQ,CAACE,IAAI,CAACC,WAAW,CAACkB,MAAM,CAAC;EAEjCA,MAAM,CAACG,gBAAgB,CAAC,MAAM,EAAE,YAAM;IACpC9B,0BAA0B,CAAC2B,MAAM,CAACI,aAAa,EAAG;MAChD5B,IAAI,EAAEW,GAAG;MACTV,QAAQ,EAAEW;IACZ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFY,MAAM,CAACK,GAAG,GAAG,aAAa;;EAE1B;EACA;EACA;EACA;EACA;;EAEA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,IAAIC,YAA2B;EAE/B,IAAI;IACFA,YAAY,GAAG,IAAAC,YAAK,EAACX,kBAAkB,CAAC;IAExCU,YAAY,WAAQ,CAAC,YAAM;MACzBN,MAAM,CAACP,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOe,KAAK,EAAE;IACd;EAAA;EAGF,OAAOF,YAAY;AACrB,CAAC;AAACZ,OAAA,CAAAC,sBAAA,GAAAA,sBAAA"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.freeze");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.emptyObject = exports.emptyFn = exports.emptyArray = void 0;
8
+ var emptyFn = function emptyFn() {
9
+ //
10
+ };
11
+ exports.emptyFn = emptyFn;
12
+ var emptyArray = Object.freeze([]);
13
+ exports.emptyArray = emptyArray;
14
+ var emptyObject = Object.freeze({});
15
+ exports.emptyObject = emptyObject;
16
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","names":["emptyFn","exports","emptyArray","Object","freeze","emptyObject"],"sources":["src/utils/empty.ts"],"sourcesContent":["export const emptyFn = () => {\n //\n};\nexport const emptyArray = Object.freeze([]);\nexport const emptyObject = Object.freeze({});\n"],"mappings":";;;;;;;AAAO,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;EAC3B;AAAA,CACD;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AACK,IAAME,UAAU,GAAGC,MAAM,CAACC,MAAM,CAAC,EAAE,CAAC;AAACH,OAAA,CAAAC,UAAA,GAAAA,UAAA;AACrC,IAAMG,WAAW,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;AAACH,OAAA,CAAAI,WAAA,GAAAA,WAAA"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EXTENSION_TO_CONTENT_TYPE = exports.CONTENT_TYPE_TO_EXTENSION = void 0;
7
+ var _invertObj = require("../invertObj");
8
+ // project/phone/core/rc_item_common/src/utils/RCItemUtils.ts:153
9
+ var CONTENT_TYPE_TO_EXTENSION = {
10
+ 'text/vcard': 'vcf',
11
+ 'image/tiff': 'tif',
12
+ 'image/jpeg': 'jpg',
13
+ 'x-ms-wmv': 'wmv',
14
+ 'x-flv': 'flv',
15
+ 'audio/mpeg': 'mp3',
16
+ 'video/mpeg': 'mpeg',
17
+ 'video/mp4': 'mp4',
18
+ 'text/plain': 'txt',
19
+ 'text/html': 'html',
20
+ 'image/svg+xml': 'svg',
21
+ 'image/png': 'png',
22
+ 'image/gif': 'gif',
23
+ 'image/bmp': 'bmp',
24
+ 'application/gzip': 'gz',
25
+ 'audio/mp4': 'm4a',
26
+ 'audio/amr': 'amr',
27
+ 'application/rtf': 'rtf',
28
+ 'application/zip': 'zip',
29
+ 'video/x-msvideo': 'avi',
30
+ 'video/msvideo': 'msvideo',
31
+ 'video/x-flv': 'flv',
32
+ 'video/quicktime': 'mov'
33
+ };
34
+ exports.CONTENT_TYPE_TO_EXTENSION = CONTENT_TYPE_TO_EXTENSION;
35
+ var EXTENSION_TO_CONTENT_TYPE = (0, _invertObj.invertObj)(CONTENT_TYPE_TO_EXTENSION);
36
+ exports.EXTENSION_TO_CONTENT_TYPE = EXTENSION_TO_CONTENT_TYPE;
37
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","names":["_invertObj","require","CONTENT_TYPE_TO_EXTENSION","exports","EXTENSION_TO_CONTENT_TYPE","invertObj"],"sources":["src/utils/fileHandler/constant.ts"],"sourcesContent":["import { invertObj } from '../invertObj';\n\n// project/phone/core/rc_item_common/src/utils/RCItemUtils.ts:153\nexport const CONTENT_TYPE_TO_EXTENSION = {\n 'text/vcard': 'vcf',\n 'image/tiff': 'tif',\n 'image/jpeg': 'jpg',\n 'x-ms-wmv': 'wmv',\n 'x-flv': 'flv',\n 'audio/mpeg': 'mp3',\n 'video/mpeg': 'mpeg',\n 'video/mp4': 'mp4',\n 'text/plain': 'txt',\n 'text/html': 'html',\n 'image/svg+xml': 'svg',\n 'image/png': 'png',\n 'image/gif': 'gif',\n 'image/bmp': 'bmp',\n 'application/gzip': 'gz',\n 'audio/mp4': 'm4a',\n 'audio/amr': 'amr',\n 'application/rtf': 'rtf',\n 'application/zip': 'zip',\n 'video/x-msvideo': 'avi',\n 'video/msvideo': 'msvideo',\n 'video/x-flv': 'flv',\n 'video/quicktime': 'mov',\n} as Record<string, string>;\n\nexport const EXTENSION_TO_CONTENT_TYPE = invertObj(CONTENT_TYPE_TO_EXTENSION);\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA;AACO,IAAMC,yBAAyB,GAAG;EACvC,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,KAAK;EACnB,UAAU,EAAE,KAAK;EACjB,OAAO,EAAE,KAAK;EACd,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,MAAM;EACpB,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,KAAK;EACnB,WAAW,EAAE,MAAM;EACnB,eAAe,EAAE,KAAK;EACtB,WAAW,EAAE,KAAK;EAClB,WAAW,EAAE,KAAK;EAClB,WAAW,EAAE,KAAK;EAClB,kBAAkB,EAAE,IAAI;EACxB,WAAW,EAAE,KAAK;EAClB,WAAW,EAAE,KAAK;EAClB,iBAAiB,EAAE,KAAK;EACxB,iBAAiB,EAAE,KAAK;EACxB,iBAAiB,EAAE,KAAK;EACxB,eAAe,EAAE,SAAS;EAC1B,aAAa,EAAE,KAAK;EACpB,iBAAiB,EAAE;AACrB,CAA2B;AAACC,OAAA,CAAAD,yBAAA,GAAAA,yBAAA;AAErB,IAAME,yBAAyB,GAAG,IAAAC,oBAAS,EAACH,yBAAyB,CAAC;AAACC,OAAA,CAAAC,yBAAA,GAAAA,yBAAA"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.join");
4
+ require("core-js/modules/es.array.last-index-of");
5
+ require("core-js/modules/es.array.slice");
6
+ require("core-js/modules/es.regexp.exec");
7
+ require("core-js/modules/es.string.split");
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports.getFileExtensionFromContentType = exports.getFileExtension = exports.getFileContentTypeFromExtension = void 0;
12
+ exports.getFilename = getFilename;
13
+ exports.removeExtension = void 0;
14
+ var _constant = require("./constant");
15
+ /**
16
+ * get file name with extension.
17
+ */
18
+ function getFilename(fullPath) {
19
+ return fullPath.substring(fullPath.lastIndexOf('/') + 1);
20
+ }
21
+
22
+ /**
23
+ * remove file path extension.
24
+ */
25
+ var removeExtension = function removeExtension(str) {
26
+ return str.split('.').slice(0, -1).join('.');
27
+ };
28
+
29
+ /**
30
+ * get file extension.
31
+ */
32
+ exports.removeExtension = removeExtension;
33
+ var getFileExtension = function getFileExtension(fileName) {
34
+ var splitArrays = fileName.toLowerCase().split('.');
35
+ return splitArrays.length > 1 ? splitArrays.pop() : '';
36
+ };
37
+
38
+ /**
39
+ * get file extension from content type
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * console.log(getFileExtensionFromContentType('image/gif')) // gif
44
+ * ```
45
+ */
46
+ exports.getFileExtension = getFileExtension;
47
+ var getFileExtensionFromContentType = function getFileExtensionFromContentType(contentType) {
48
+ var _CONTENT_TYPE_TO_EXTE;
49
+ return contentType ? (_CONTENT_TYPE_TO_EXTE = _constant.CONTENT_TYPE_TO_EXTENSION[contentType.toLowerCase()]) !== null && _CONTENT_TYPE_TO_EXTE !== void 0 ? _CONTENT_TYPE_TO_EXTE : contentType.split('/')[1] : undefined;
50
+ };
51
+
52
+ /**
53
+ * get content type from file extension
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * console.log(getFileContentTypeFromExtension('gif')) // image/gif
58
+ * ```
59
+ */
60
+ exports.getFileExtensionFromContentType = getFileExtensionFromContentType;
61
+ var getFileContentTypeFromExtension = function getFileContentTypeFromExtension(extensionName) {
62
+ return extensionName ? _constant.EXTENSION_TO_CONTENT_TYPE[extensionName.toLowerCase()] : undefined;
63
+ };
64
+ exports.getFileContentTypeFromExtension = getFileContentTypeFromExtension;
65
+ //# sourceMappingURL=fileHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileHandler.js","names":["_constant","require","getFilename","fullPath","substring","lastIndexOf","removeExtension","str","split","slice","join","exports","getFileExtension","fileName","splitArrays","toLowerCase","length","pop","getFileExtensionFromContentType","contentType","_CONTENT_TYPE_TO_EXTE","CONTENT_TYPE_TO_EXTENSION","undefined","getFileContentTypeFromExtension","extensionName","EXTENSION_TO_CONTENT_TYPE"],"sources":["src/utils/fileHandler/fileHandler.ts"],"sourcesContent":["import {\n CONTENT_TYPE_TO_EXTENSION,\n EXTENSION_TO_CONTENT_TYPE,\n} from './constant';\n\n/**\n * get file name with extension.\n */\nexport function getFilename(fullPath: string) {\n return fullPath.substring(fullPath.lastIndexOf('/') + 1);\n}\n\n/**\n * remove file path extension.\n */\nexport const removeExtension = (str: string) => {\n return str.split('.').slice(0, -1).join('.');\n};\n\n/**\n * get file extension.\n */\nexport const getFileExtension = (fileName: string) => {\n const splitArrays = fileName.toLowerCase().split('.');\n return splitArrays.length > 1 ? splitArrays.pop()! : '';\n};\n\n/**\n * get file extension from content type\n *\n * @example\n * ```ts\n * console.log(getFileExtensionFromContentType('image/gif')) // gif\n * ```\n */\nexport const getFileExtensionFromContentType = (contentType?: string) => {\n return contentType\n ? CONTENT_TYPE_TO_EXTENSION[contentType.toLowerCase()] ??\n contentType.split('/')[1]\n : undefined;\n};\n\n/**\n * get content type from file extension\n *\n * @example\n * ```ts\n * console.log(getFileContentTypeFromExtension('gif')) // image/gif\n * ```\n */\nexport const getFileContentTypeFromExtension = (extensionName?: string) => {\n return extensionName\n ? EXTENSION_TO_CONTENT_TYPE[extensionName.toLowerCase()]\n : undefined;\n};\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAKA;AACA;AACA;AACO,SAASC,WAAWA,CAACC,QAAgB,EAAE;EAC5C,OAAOA,QAAQ,CAACC,SAAS,CAACD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1D;;AAEA;AACA;AACA;AACO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,GAAW,EAAK;EAC9C,OAAOA,GAAG,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAC9C,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAL,eAAA,GAAAA,eAAA;AAGO,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,QAAgB,EAAK;EACpD,IAAMC,WAAW,GAAGD,QAAQ,CAACE,WAAW,CAAC,CAAC,CAACP,KAAK,CAAC,GAAG,CAAC;EACrD,OAAOM,WAAW,CAACE,MAAM,GAAG,CAAC,GAAGF,WAAW,CAACG,GAAG,CAAC,CAAC,GAAI,EAAE;AACzD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAN,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAQO,IAAMM,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAIC,WAAoB,EAAK;EAAA,IAAAC,qBAAA;EACvE,OAAOD,WAAW,IAAAC,qBAAA,GACdC,mCAAyB,CAACF,WAAW,CAACJ,WAAW,CAAC,CAAC,CAAC,cAAAK,qBAAA,cAAAA,qBAAA,GAClDD,WAAW,CAACX,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC3Bc,SAAS;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAX,OAAA,CAAAO,+BAAA,GAAAA,+BAAA;AAQO,IAAMK,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAIC,aAAsB,EAAK;EACzE,OAAOA,aAAa,GAChBC,mCAAyB,CAACD,aAAa,CAACT,WAAW,CAAC,CAAC,CAAC,GACtDO,SAAS;AACf,CAAC;AAACX,OAAA,CAAAY,+BAAA,GAAAA,+BAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _fileHandler = require("./fileHandler");
7
+ Object.keys(_fileHandler).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _fileHandler[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _fileHandler[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_fileHandler","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["src/utils/fileHandler/index.ts"],"sourcesContent":["export * from './fileHandler';\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "format", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _stringTemplate["default"];
10
+ }
11
+ });
12
+ var _stringTemplate = _interopRequireDefault(require("string-template"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","names":["_stringTemplate","_interopRequireDefault","require","obj","__esModule"],"sources":["src/utils/format.ts"],"sourcesContent":["import format from 'string-template';\n\nexport { format };\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ require("core-js/modules/es.array.concat");
5
+ require("core-js/modules/es.array.for-each");
6
+ require("core-js/modules/es.array.is-array");
7
+ require("core-js/modules/es.array.slice");
8
+ require("core-js/modules/es.array.some");
9
+ require("core-js/modules/es.function.bind");
10
+ require("core-js/modules/es.function.name");
11
+ require("core-js/modules/es.object.get-prototype-of");
12
+ require("core-js/modules/es.object.keys");
13
+ require("core-js/modules/es.object.set-prototype-of");
14
+ require("core-js/modules/web.dom-collections.for-each");
15
+ Object.defineProperty(exports, "__esModule", {
16
+ value: true
17
+ });
18
+ exports.getTranslateFn = void 0;
19
+ var _i18n = require("@ringcentral-integration/i18n");
20
+ var _format = require("./format");
21
+ function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
22
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
28
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
30
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
31
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
32
+ function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
33
+ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
+ function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
36
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
37
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } /* eslint-disable @typescript-eslint/no-explicit-any */
38
+ // TODO: that second object can be inject from string-template
39
+
40
+ /**
41
+ * provide method to work translate and format string
42
+ */
43
+ var getTranslateFn = function getTranslateFn() {
44
+ for (var _len = arguments.length, i18nInput = new Array(_len), _key = 0; _key < _len; _key++) {
45
+ i18nInput[_key] = arguments[_key];
46
+ }
47
+ var i18nInstances = Array.isArray(i18nInput) ? i18nInput : [i18nInput];
48
+ if (process.env.NODE_ENV !== 'production') {
49
+ var TranslateError = /*#__PURE__*/function (_Error) {
50
+ _inherits(TranslateError, _Error);
51
+ var _super = _createSuper(TranslateError);
52
+ function TranslateError(message) {
53
+ var _this;
54
+ _classCallCheck(this, TranslateError);
55
+ _this = _super.call(this, message);
56
+ _this.name = 'TranslateError';
57
+ return _this;
58
+ }
59
+ return TranslateError;
60
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
61
+ if (i18nInstances.length > 1) {
62
+ var _i18nInstances = _toArray(i18nInstances),
63
+ firstI18n = _i18nInstances[0],
64
+ rest = _i18nInstances.slice(1);
65
+ rest.forEach(function (nextI18n) {
66
+ Object.keys(firstI18n._cache[_i18n.RUNTIME.defaultLocale] || {}).forEach(function (key) {
67
+ if (Object.prototype.hasOwnProperty.call(nextI18n._cache[_i18n.RUNTIME.defaultLocale], key)) {
68
+ // eslint-disable-next-line no-console
69
+ console.warn(new TranslateError("[i18n] i18n files has duplicated key \"".concat(key, "\"")), {
70
+ duplicatedKey: key,
71
+ i18nInstances: i18nInstances
72
+ });
73
+ }
74
+ });
75
+ });
76
+ }
77
+ }
78
+ return function (key) {
79
+ var i18nString = key;
80
+ i18nInstances.some(function (i18nInstance) {
81
+ var result = i18nInstance.getString(key);
82
+ if (result !== key) {
83
+ i18nString = result;
84
+ return true;
85
+ }
86
+ return false;
87
+ });
88
+ for (var _len2 = arguments.length, options = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
89
+ options[_key2 - 1] = arguments[_key2];
90
+ }
91
+ if (options.length > 0) {
92
+ return _format.format.apply(void 0, [i18nString].concat(options));
93
+ }
94
+ return i18nString;
95
+ };
96
+ };
97
+ exports.getTranslateFn = getTranslateFn;
98
+ //# sourceMappingURL=getTranslateFn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTranslateFn.js","names":["_i18n","require","_format","_toArray","arr","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","i","arr2","iter","Symbol","iterator","isArray","_classCallCheck","instance","Constructor","_inherits","subClass","superClass","create","value","writable","configurable","defineProperty","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_typeof","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","undefined","_isNativeFunction","has","get","set","Wrapper","_construct","enumerable","Parent","args","bind","a","push","Function","sham","Proxy","Boolean","valueOf","e","fn","indexOf","p","setPrototypeOf","__proto__","getPrototypeOf","getTranslateFn","_len","i18nInput","_key","i18nInstances","process","env","NODE_ENV","TranslateError","_Error","_super","message","_this","Error","_i18nInstances","firstI18n","rest","forEach","nextI18n","keys","RUNTIME","defaultLocale","key","hasOwnProperty","console","warn","concat","duplicatedKey","i18nString","some","i18nInstance","getString","_len2","options","_key2","format","exports"],"sources":["src/utils/getTranslateFn.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type I18n from '@ringcentral-integration/i18n';\nimport type { GetI18nKey } from '@ringcentral-integration/i18n';\nimport { RUNTIME } from '@ringcentral-integration/i18n';\n\nimport { format } from './format';\n\n// TODO: that second object can be inject from string-template\n\nexport interface Format<T> {\n /**\n * i18n method `t`\n * Format using an object hash with keys matching [0-9a-zA-Z]+\n *\n * ```ts\n * showMessageWithSlot => '{hello} Show message'\n *\n * const message2 = t('showMessageWithSlot', { hello: 'Hello world' }); // => 'Hello world Show message'\n * ```\n */\n (string: T, object: any): string;\n /**\n * i18n method `t`\n * Format using a number indexed array\n *\n * ```ts\n * showMessageWithArraySlot => '{0} Show message {1}'\n *\n * const message3 = t('showMessageWithArraySlot', [1, 2]); // => '1 Show message 2'\n * ```\n */\n (string: T, array: Array<any>): string;\n /**\n * i18n method `t`\n * Format using optional arguments\n *\n * ```ts\n * showMessageWithArraySlot => '{0} Show message {1}'\n *\n * const message4 = t('showMessageWithArraySlot', 1, 2); // => '1 Show message 2'\n * ```\n */\n (string: T, ...array: Array<any>): string;\n /**\n * i18n method `t`\n * Escape {} pairs by using double {{}}\n *\n * ```ts\n * showMessage => 'Show message'\n * showMessageWithSlot => '{hello} Show message'\n * showMessageWithArraySlot => '{0} Show message {1}'\n *\n * const message1 = t('showMessage'); // => 'Show message'\n * const message2 = t('showMessageWithSlot', { hello: 'Hello world' }); // => 'Hello world Show message'\n * const message3 = t('showMessageWithArraySlot', [1, 2]); // => '1 Show message 2'\n * const message4 = t('showMessageWithArraySlot', 1, 2); // => '1 Show message 2'\n * ```\n */\n (string: T): string;\n}\n/**\n * provide method to work translate and format string\n */\nexport const getTranslateFn = <\n T extends I18n[],\n K = GetI18nKey<T extends I18n[] ? T[number] : T>,\n>(\n ...i18nInput: T\n): Format<K> => {\n const i18nInstances = Array.isArray(i18nInput) ? i18nInput : [i18nInput];\n\n if (process.env.NODE_ENV !== 'production') {\n class TranslateError extends Error {\n constructor(message: string, ...rest: any[]) {\n super(message);\n this.name = 'TranslateError';\n }\n }\n\n if (i18nInstances.length > 1) {\n const [firstI18n, ...rest] = i18nInstances;\n\n rest.forEach((nextI18n) => {\n Object.keys(firstI18n._cache[RUNTIME.defaultLocale] || {}).forEach(\n (key) => {\n if (\n Object.prototype.hasOwnProperty.call(\n nextI18n._cache[RUNTIME.defaultLocale],\n key,\n )\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n new TranslateError(\n `[i18n] i18n files has duplicated key \"${key}\"`,\n ),\n {\n duplicatedKey: key,\n i18nInstances,\n },\n );\n }\n },\n );\n });\n }\n }\n\n return (key: K, ...options: any[]) => {\n let i18nString = key as string;\n\n i18nInstances.some((i18nInstance) => {\n const result = i18nInstance.getString(key as any);\n if (result !== key) {\n i18nString = result;\n\n return true;\n }\n\n return false;\n });\n\n if (options.length > 0) {\n return format(i18nString, ...options);\n }\n return i18nString;\n };\n};\n"],"mappings":"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"}