@andre1502/react-utilities 1.0.6 → 1.0.7
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/README.md +35 -51
- package/dist/EnvironmentEnum-CXTWJxNo.js +10 -0
- package/dist/EnvironmentEnum-CXTWJxNo.js.map +1 -0
- package/dist/Utils-CJ7ureSW.js +14 -0
- package/dist/Utils-CJ7ureSW.js.map +1 -0
- package/dist/browser-ponyfill-C-HVh7ck.js +321 -0
- package/dist/browser-ponyfill-C-HVh7ck.js.map +1 -0
- package/dist/chunk-vKJrgz-R.js +16 -0
- package/dist/config-cli-BIF4xuoO.js +1491 -0
- package/dist/config-cli-BIF4xuoO.js.map +1 -0
- package/dist/config-cli.js +3 -229
- package/dist/enums/CurrencySymbolEnum.d.ts +6 -5
- package/dist/enums/DeviceEnum.d.ts +5 -4
- package/dist/enums/EnvironmentEnum.d.ts +6 -5
- package/dist/format-BgweN3o5.js +65549 -0
- package/dist/format-BgweN3o5.js.map +1 -0
- package/dist/format.d.ts +26 -26
- package/dist/format.js +2 -55
- package/dist/hooks-oAipbPQ2.js +78 -0
- package/dist/hooks-oAipbPQ2.js.map +1 -0
- package/dist/hooks.js +2 -86
- package/dist/i18n-D1jKJPI0.js +1941 -0
- package/dist/i18n-D1jKJPI0.js.map +1 -0
- package/dist/i18n.js +4 -28
- package/dist/index-cli.d.ts +0 -1
- package/dist/index-cli.js +3 -28
- package/dist/index-rn.js +6 -39
- package/dist/index.js +7 -61
- package/dist/sentry-rn-DZwIel7y.js +743 -0
- package/dist/sentry-rn-DZwIel7y.js.map +1 -0
- package/dist/sentry-rn.js +2 -28
- package/dist/sentry.js +39 -26
- package/dist/sentry.js.map +1 -1
- package/dist/utils.js +45 -37
- package/dist/utils.js.map +1 -1
- package/package.json +56 -86
- package/src/Config/GoogleAuth.ts +1 -1
- package/src/Sentry/React.ts +2 -4
- package/src/Sentry/ReactNative.ts +2 -4
- package/src/enums/CurrencySymbolEnum.ts +8 -5
- package/src/enums/DeviceEnum.ts +6 -4
- package/src/enums/EnvironmentEnum.ts +8 -5
- package/src/format.ts +32 -32
- package/src/index-cli.ts +0 -1
- package/dist/Config/Config.js +0 -249
- package/dist/Config/Config.js.map +0 -1
- package/dist/Config/GoogleAuth.js +0 -68
- package/dist/Config/GoogleAuth.js.map +0 -1
- package/dist/Config/Locales.js +0 -62
- package/dist/Config/Locales.js.map +0 -1
- package/dist/Config/Output.js +0 -36
- package/dist/Config/Output.js.map +0 -1
- package/dist/Config/Sitemap.js +0 -72
- package/dist/Config/Sitemap.js.map +0 -1
- package/dist/EnvironmentEnum-BjXsfSRZ.js +0 -9
- package/dist/EnvironmentEnum-BjXsfSRZ.js.map +0 -1
- package/dist/EnvironmentEnum-UcQ6Il1O.js +0 -9
- package/dist/EnvironmentEnum-UcQ6Il1O.js.map +0 -1
- package/dist/Format/NumberFormat.js +0 -77
- package/dist/Format/NumberFormat.js.map +0 -1
- package/dist/Format/NumberParser.js +0 -51
- package/dist/Format/NumberParser.js.map +0 -1
- package/dist/Hooks/useDevice.js +0 -47
- package/dist/Hooks/useDevice.js.map +0 -1
- package/dist/Hooks/useSound.js +0 -47
- package/dist/Hooks/useSound.js.map +0 -1
- package/dist/Hooks/useWebSocket.js +0 -120
- package/dist/Hooks/useWebSocket.js.map +0 -1
- package/dist/I18n/I18n.js +0 -134
- package/dist/I18n/I18n.js.map +0 -1
- package/dist/NumberFormat-CvvBWhHc.js +0 -89
- package/dist/NumberFormat-CvvBWhHc.js.map +0 -1
- package/dist/NumberFormat-glmpbk7E.js +0 -94
- package/dist/NumberFormat-glmpbk7E.js.map +0 -1
- package/dist/React-BaJ1KfGF.js +0 -87
- package/dist/React-BaJ1KfGF.js.map +0 -1
- package/dist/React-qUl0CBmE.js +0 -109
- package/dist/React-qUl0CBmE.js.map +0 -1
- package/dist/ReactNative-B4gt8nBr.js +0 -1790
- package/dist/ReactNative-B4gt8nBr.js.map +0 -1
- package/dist/ReactNative-CDMfQFfN.js +0 -1812
- package/dist/ReactNative-CDMfQFfN.js.map +0 -1
- package/dist/Sentry/Build.d.ts +0 -9
- package/dist/Sentry/Build.js +0 -87
- package/dist/Sentry/Build.js.map +0 -1
- package/dist/Sentry/React.js +0 -103
- package/dist/Sentry/React.js.map +0 -1
- package/dist/Sentry/ReactNative.js +0 -113
- package/dist/Sentry/ReactNative.js.map +0 -1
- package/dist/Sentry/Utils.js +0 -24
- package/dist/Sentry/Utils.js.map +0 -1
- package/dist/Utils/Array.js +0 -26
- package/dist/Utils/Array.js.map +0 -1
- package/dist/Utils/Files.js +0 -51
- package/dist/Utils/Files.js.map +0 -1
- package/dist/Utils/Pagination.js +0 -32
- package/dist/Utils/Pagination.js.map +0 -1
- package/dist/Utils/Utils.js +0 -101
- package/dist/Utils/Utils.js.map +0 -1
- package/dist/Utils-BC1fDy39.js +0 -74
- package/dist/Utils-BC1fDy39.js.map +0 -1
- package/dist/Utils-Cq948gfa.js +0 -20
- package/dist/Utils-Cq948gfa.js.map +0 -1
- package/dist/Utils-D7KRF8VU.js +0 -64
- package/dist/Utils-D7KRF8VU.js.map +0 -1
- package/dist/Utils-Dilye04y.js +0 -22
- package/dist/Utils-Dilye04y.js.map +0 -1
- package/dist/config-cli.cjs +0 -532
- package/dist/config-cli.cjs.map +0 -1
- package/dist/config-cli.js.map +0 -1
- package/dist/config-cli.mjs +0 -500
- package/dist/config-cli.mjs.map +0 -1
- package/dist/enums/CurrencySymbolEnum.js +0 -15
- package/dist/enums/CurrencySymbolEnum.js.map +0 -1
- package/dist/enums/DeviceEnum.js +0 -12
- package/dist/enums/DeviceEnum.js.map +0 -1
- package/dist/enums/EnvironmentEnum.js +0 -13
- package/dist/enums/EnvironmentEnum.js.map +0 -1
- package/dist/format.cjs +0 -43
- package/dist/format.cjs.map +0 -1
- package/dist/format.js.map +0 -1
- package/dist/format.mjs +0 -30
- package/dist/format.mjs.map +0 -1
- package/dist/hooks.cjs +0 -13
- package/dist/hooks.cjs.map +0 -1
- package/dist/hooks.js.map +0 -1
- package/dist/hooks.mjs +0 -4
- package/dist/hooks.mjs.map +0 -1
- package/dist/i18n.cjs +0 -3039
- package/dist/i18n.cjs.map +0 -1
- package/dist/i18n.js.map +0 -1
- package/dist/i18n.mjs +0 -3032
- package/dist/i18n.mjs.map +0 -1
- package/dist/index-cli.cjs +0 -31
- package/dist/index-cli.cjs.map +0 -1
- package/dist/index-cli.js.map +0 -1
- package/dist/index-cli.mjs +0 -14
- package/dist/index-cli.mjs.map +0 -1
- package/dist/index-rn.cjs +0 -57
- package/dist/index-rn.cjs.map +0 -1
- package/dist/index-rn.js.map +0 -1
- package/dist/index-rn.mjs +0 -36
- package/dist/index-rn.mjs.map +0 -1
- package/dist/index.cjs +0 -79
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -40
- package/dist/index.mjs.map +0 -1
- package/dist/interfaces/Config/ConfigOptions.js +0 -6
- package/dist/interfaces/Config/ConfigOptions.js.map +0 -1
- package/dist/interfaces/Config/EntryOptions.js +0 -6
- package/dist/interfaces/Config/EntryOptions.js.map +0 -1
- package/dist/interfaces/Config/OutputMap.js +0 -6
- package/dist/interfaces/Config/OutputMap.js.map +0 -1
- package/dist/interfaces/Config/OutputOptions.js +0 -6
- package/dist/interfaces/Config/OutputOptions.js.map +0 -1
- package/dist/interfaces/Config/SitemapMap.js +0 -6
- package/dist/interfaces/Config/SitemapMap.js.map +0 -1
- package/dist/interfaces/Config/StringMap.js +0 -6
- package/dist/interfaces/Config/StringMap.js.map +0 -1
- package/dist/interfaces/Format/FormatOptions.js +0 -6
- package/dist/interfaces/Format/FormatOptions.js.map +0 -1
- package/dist/interfaces/Sentry/InitOptions.js +0 -6
- package/dist/interfaces/Sentry/InitOptions.js.map +0 -1
- package/dist/interfaces/Sentry/InitOptionsRN.js +0 -6
- package/dist/interfaces/Sentry/InitOptionsRN.js.map +0 -1
- package/dist/interfaces/Sentry/SourceMapOptions.d.ts +0 -7
- package/dist/interfaces/Sentry/SourceMapOptions.js +0 -6
- package/dist/interfaces/Sentry/SourceMapOptions.js.map +0 -1
- package/dist/sentry-cli.cjs +0 -119
- package/dist/sentry-cli.cjs.map +0 -1
- package/dist/sentry-cli.d.ts +0 -9
- package/dist/sentry-cli.js +0 -49
- package/dist/sentry-cli.js.map +0 -1
- package/dist/sentry-cli.mjs +0 -98
- package/dist/sentry-cli.mjs.map +0 -1
- package/dist/sentry-rn.cjs +0 -11
- package/dist/sentry-rn.cjs.map +0 -1
- package/dist/sentry-rn.js.map +0 -1
- package/dist/sentry-rn.mjs +0 -4
- package/dist/sentry-rn.mjs.map +0 -1
- package/dist/sentry.cjs +0 -11
- package/dist/sentry.cjs.map +0 -1
- package/dist/sentry.mjs +0 -4
- package/dist/sentry.mjs.map +0 -1
- package/dist/types/Config/OptionType.js +0 -6
- package/dist/types/Config/OptionType.js.map +0 -1
- package/dist/types/Format/OptionType.js +0 -6
- package/dist/types/Format/OptionType.js.map +0 -1
- package/dist/types/Sentry/OptionType.js +0 -6
- package/dist/types/Sentry/OptionType.js.map +0 -1
- package/dist/useWebSocket-B_B6kWXM.js +0 -167
- package/dist/useWebSocket-B_B6kWXM.js.map +0 -1
- package/dist/useWebSocket-YQWaiBz9.js +0 -172
- package/dist/useWebSocket-YQWaiBz9.js.map +0 -1
- package/dist/utils.cjs +0 -59
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.mjs +0 -43
- package/dist/utils.mjs.map +0 -1
- package/src/Sentry/Build.ts +0 -67
- package/src/interfaces/Sentry/SourceMapOptions.ts +0 -7
- package/src/sentry-cli.ts +0 -16
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDevice.js","names":["_react","require","_DeviceEnum","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","useDevice","_useState","useState","DeviceEnum","PC","_useState2","deviceType","setDevice","useEffect","isTouchDevice","window","navigator","maxTouchPoints","isPortrait","_window$screen$orient","screen","orientation","type","includes","innerHeight","innerWidth","hasMouse","detectDevice","MOBILE","addEventListener","removeEventListener","_default","exports"],"sources":["../../src/Hooks/useDevice.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { DeviceEnum } from '../enums/DeviceEnum';\n\nconst useDevice = (): DeviceEnum => {\n const [deviceType, setDevice] = useState<DeviceEnum>(DeviceEnum.PC);\n\n useEffect(() => {\n const isTouchDevice = () =>\n 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n const isPortrait = () =>\n window.screen.orientation?.type.includes('portrait') ||\n window.innerHeight > window.innerWidth;\n const hasMouse = () => 'onmousemove' in window;\n\n const detectDevice = () => {\n if (isTouchDevice() && isPortrait() && !hasMouse()) {\n setDevice(DeviceEnum.MOBILE);\n } else {\n setDevice(DeviceEnum.PC);\n }\n };\n\n detectDevice();\n window.addEventListener('resize', detectDevice);\n\n return () => {\n window.removeEventListener('resize', detectDevice);\n };\n }, []);\n\n return deviceType;\n};\n\nexport default useDevice;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Hooks/useSound.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _howler = require("howler");
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
10
|
-
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."); }
|
|
11
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
12
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
15
|
-
var useSound = function useSound(_ref) {
|
|
16
|
-
var src = _ref.src,
|
|
17
|
-
volume = _ref.volume,
|
|
18
|
-
_ref$autoplay = _ref.autoplay,
|
|
19
|
-
autoplay = _ref$autoplay === void 0 ? false : _ref$autoplay,
|
|
20
|
-
_ref$loop = _ref.loop,
|
|
21
|
-
loop = _ref$loop === void 0 ? false : _ref$loop;
|
|
22
|
-
var _useState = (0, _react.useState)(null),
|
|
23
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
-
audio = _useState2[0],
|
|
25
|
-
setAudio = _useState2[1];
|
|
26
|
-
(0, _react.useEffect)(function () {
|
|
27
|
-
var howl = new _howler.Howl({
|
|
28
|
-
src: src,
|
|
29
|
-
onplayerror: function onplayerror(e, d) {
|
|
30
|
-
console.log('onplayerror', e, d);
|
|
31
|
-
howl.once('unlock', function () {
|
|
32
|
-
// howl.play();
|
|
33
|
-
});
|
|
34
|
-
},
|
|
35
|
-
loop: loop ? true : false,
|
|
36
|
-
volume: volume,
|
|
37
|
-
autoplay: autoplay
|
|
38
|
-
});
|
|
39
|
-
setAudio(howl);
|
|
40
|
-
return function () {
|
|
41
|
-
howl.unload();
|
|
42
|
-
};
|
|
43
|
-
}, []);
|
|
44
|
-
return [audio];
|
|
45
|
-
};
|
|
46
|
-
var _default = exports["default"] = useSound;
|
|
47
|
-
//# sourceMappingURL=useSound.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSound.js","names":["_howler","require","_react","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","useSound","_ref","src","volume","_ref$autoplay","autoplay","_ref$loop","loop","_useState","useState","_useState2","audio","setAudio","useEffect","howl","Howl","onplayerror","d","console","log","once","unload","_default","exports"],"sources":["../../src/Hooks/useSound.ts"],"sourcesContent":["import { Howl } from 'howler';\nimport { useEffect, useState } from 'react';\n\nexport interface UseSoundProps {\n src: string;\n volume?: number;\n autoplay?: boolean;\n loop?: boolean;\n}\n\nconst useSound = ({\n src,\n volume,\n autoplay = false,\n loop = false,\n}: UseSoundProps) => {\n const [audio, setAudio] = useState<Howl | null>(null);\n\n useEffect(() => {\n const howl = new Howl({\n src: src,\n onplayerror: (e, d) => {\n console.log('onplayerror', e, d);\n\n howl.once('unlock', () => {\n // howl.play();\n });\n },\n loop: loop ? true : false,\n volume: volume,\n autoplay: autoplay,\n });\n\n setAudio(howl);\n\n return () => {\n howl.unload();\n };\n }, []);\n\n return [audio] as const;\n};\n\nexport default useSound;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAA4C,SAAAE,eAAAC,CAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,CAAA,KAAAG,qBAAA,CAAAH,CAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,CAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAJ,CAAA,EAAAO,CAAA,QAAAP,CAAA,2BAAAA,CAAA,SAAAQ,iBAAA,CAAAR,CAAA,EAAAO,CAAA,OAAAE,CAAA,MAAAC,QAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAY,KAAA,6BAAAH,CAAA,IAAAT,CAAA,CAAAa,WAAA,KAAAJ,CAAA,GAAAT,CAAA,CAAAa,WAAA,CAAAC,IAAA,aAAAL,CAAA,cAAAA,CAAA,GAAAM,KAAA,CAAAC,IAAA,CAAAhB,CAAA,oBAAAS,CAAA,+CAAAQ,IAAA,CAAAR,CAAA,IAAAD,iBAAA,CAAAR,CAAA,EAAAO,CAAA;AAAA,SAAAC,kBAAAR,CAAA,EAAAO,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAP,CAAA,CAAAkB,MAAA,MAAAX,CAAA,GAAAP,CAAA,CAAAkB,MAAA,YAAAjB,CAAA,MAAAkB,CAAA,GAAAJ,KAAA,CAAAR,CAAA,GAAAN,CAAA,GAAAM,CAAA,EAAAN,CAAA,IAAAkB,CAAA,CAAAlB,CAAA,IAAAD,CAAA,CAAAC,CAAA,UAAAkB,CAAA;AAAA,SAAAhB,sBAAAH,CAAA,EAAAoB,CAAA,QAAAX,CAAA,WAAAT,CAAA,gCAAAqB,MAAA,IAAArB,CAAA,CAAAqB,MAAA,CAAAC,QAAA,KAAAtB,CAAA,4BAAAS,CAAA,QAAAR,CAAA,EAAAkB,CAAA,EAAAI,CAAA,EAAAC,CAAA,EAAAjB,CAAA,OAAAkB,CAAA,OAAAC,CAAA,iBAAAH,CAAA,IAAAd,CAAA,GAAAA,CAAA,CAAAE,IAAA,CAAAX,CAAA,GAAA2B,IAAA,QAAAP,CAAA,QAAAQ,MAAA,CAAAnB,CAAA,MAAAA,CAAA,UAAAgB,CAAA,uBAAAA,CAAA,IAAAxB,CAAA,GAAAsB,CAAA,CAAAZ,IAAA,CAAAF,CAAA,GAAAoB,IAAA,MAAAtB,CAAA,CAAAuB,IAAA,CAAA7B,CAAA,CAAA8B,KAAA,GAAAxB,CAAA,CAAAW,MAAA,KAAAE,CAAA,GAAAK,CAAA,iBAAAzB,CAAA,IAAA0B,CAAA,OAAAP,CAAA,GAAAnB,CAAA,yBAAAyB,CAAA,YAAAhB,CAAA,eAAAe,CAAA,GAAAf,CAAA,cAAAmB,MAAA,CAAAJ,CAAA,MAAAA,CAAA,2BAAAE,CAAA,QAAAP,CAAA,aAAAZ,CAAA;AAAA,SAAAL,gBAAAF,CAAA,QAAAe,KAAA,CAAAiB,OAAA,CAAAhC,CAAA,UAAAA,CAAA;AAS5C,IAAMiC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAKO;EAAA,IAJnBC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IACHC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAAC,aAAA,GAAAH,IAAA,CACNI,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,SAAA,GAAAL,IAAA,CAChBM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,KAAK,GAAAA,SAAA;EAEZ,IAAAE,SAAA,GAA0B,IAAAC,eAAQ,EAAc,IAAI,CAAC;IAAAC,UAAA,GAAA5C,cAAA,CAAA0C,SAAA;IAA9CG,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EAEtB,IAAAG,gBAAS,EAAC,YAAM;IACd,IAAMC,IAAI,GAAG,IAAIC,YAAI,CAAC;MACpBb,GAAG,EAAEA,GAAG;MACRc,WAAW,EAAE,SAAbA,WAAWA,CAAGhD,CAAC,EAAEiD,CAAC,EAAK;QACrBC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEnD,CAAC,EAAEiD,CAAC,CAAC;QAEhCH,IAAI,CAACM,IAAI,CAAC,QAAQ,EAAE,YAAM;UACxB;QAAA,CACD,CAAC;MACJ,CAAC;MACDb,IAAI,EAAEA,IAAI,GAAG,IAAI,GAAG,KAAK;MACzBJ,MAAM,EAAEA,MAAM;MACdE,QAAQ,EAAEA;IACZ,CAAC,CAAC;IAEFO,QAAQ,CAACE,IAAI,CAAC;IAEd,OAAO,YAAM;MACXA,IAAI,CAACO,MAAM,CAAC,CAAC;IACf,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,CAACV,KAAK,CAAC;AAChB,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,cAEavB,QAAQ","ignoreList":[]}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
9
|
-
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."); }
|
|
10
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
11
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
12
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
14
|
-
var useWebSocket = function useWebSocket() {
|
|
15
|
-
var pingInterval = 30000; // Default ping every 30 seconds
|
|
16
|
-
var _useState = (0, _react.useState)(''),
|
|
17
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
-
url = _useState2[0],
|
|
19
|
-
setUrl = _useState2[1];
|
|
20
|
-
var _useState3 = (0, _react.useState)(false),
|
|
21
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
22
|
-
isConnected = _useState4[0],
|
|
23
|
-
setIsConnected = _useState4[1];
|
|
24
|
-
var _useState5 = (0, _react.useState)(false),
|
|
25
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
26
|
-
isError = _useState6[0],
|
|
27
|
-
setIsError = _useState6[1];
|
|
28
|
-
var _useState7 = (0, _react.useState)([]),
|
|
29
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
30
|
-
messages = _useState8[0],
|
|
31
|
-
setMessages = _useState8[1];
|
|
32
|
-
var socketRef = (0, _react.useRef)(null);
|
|
33
|
-
var heartbeatIntervalRef = (0, _react.useRef)(undefined);
|
|
34
|
-
var connect = function connect(newUrl) {
|
|
35
|
-
if (newUrl && url !== newUrl) {
|
|
36
|
-
setUrl(newUrl);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
var clearMessages = function clearMessages() {
|
|
40
|
-
setMessages([]);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
// Connect WebSocket after login
|
|
44
|
-
(0, _react.useEffect)(function () {
|
|
45
|
-
if (url) {
|
|
46
|
-
// Open WebSocket connection
|
|
47
|
-
if (socketRef.current === null) {
|
|
48
|
-
socketRef.current = new WebSocket(url);
|
|
49
|
-
} else if (socketRef.current.url !== url) {
|
|
50
|
-
socketRef.current.close();
|
|
51
|
-
socketRef.current = new WebSocket(url);
|
|
52
|
-
}
|
|
53
|
-
socketRef.current.onopen = function (event) {
|
|
54
|
-
// console.log('WebSocket onopen', 'event', event);
|
|
55
|
-
|
|
56
|
-
setIsError(false);
|
|
57
|
-
setIsConnected(true);
|
|
58
|
-
heartbeatIntervalRef.current = window.setInterval(function () {
|
|
59
|
-
var _socketRef$current;
|
|
60
|
-
if (((_socketRef$current = socketRef.current) === null || _socketRef$current === void 0 ? void 0 : _socketRef$current.readyState) === WebSocket.OPEN) {
|
|
61
|
-
var _socketRef$current2;
|
|
62
|
-
(_socketRef$current2 = socketRef.current) === null || _socketRef$current2 === void 0 || _socketRef$current2.send('ping');
|
|
63
|
-
}
|
|
64
|
-
}, pingInterval);
|
|
65
|
-
};
|
|
66
|
-
socketRef.current.onmessage = function (event) {
|
|
67
|
-
console.log('WebSocket onmessage', 'event.data', event.data);
|
|
68
|
-
if (event.data === 'ping') {
|
|
69
|
-
var _socketRef$current3;
|
|
70
|
-
(_socketRef$current3 = socketRef.current) === null || _socketRef$current3 === void 0 || _socketRef$current3.send('pong');
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
setTimeout(function () {
|
|
74
|
-
setMessages(function (prev) {
|
|
75
|
-
if (!prev.includes(event.data)) {
|
|
76
|
-
prev.push(event.data);
|
|
77
|
-
}
|
|
78
|
-
return prev;
|
|
79
|
-
});
|
|
80
|
-
}, 1000);
|
|
81
|
-
};
|
|
82
|
-
socketRef.current.onerror = function (error) {
|
|
83
|
-
console.error('WebSocket onerror:', 'error', error);
|
|
84
|
-
setIsError(true);
|
|
85
|
-
setIsConnected(false);
|
|
86
|
-
};
|
|
87
|
-
socketRef.current.onclose = function (event) {
|
|
88
|
-
// console.log('WebSocket onclose', 'event', event);
|
|
89
|
-
|
|
90
|
-
if (event.wasClean) {
|
|
91
|
-
// console.log(
|
|
92
|
-
// `[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`,
|
|
93
|
-
// );
|
|
94
|
-
} else {
|
|
95
|
-
// e.g. server process killed or network down, event.code is usually 1006 in this case
|
|
96
|
-
console.warn("[close] Connection died, code=".concat(event.code, " reason=").concat(event.reason));
|
|
97
|
-
setIsError(true);
|
|
98
|
-
}
|
|
99
|
-
setIsConnected(false);
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// Cleanup on unmount or logout
|
|
104
|
-
return function () {
|
|
105
|
-
if (socketRef.current) {
|
|
106
|
-
socketRef.current.close();
|
|
107
|
-
}
|
|
108
|
-
clearInterval(heartbeatIntervalRef.current);
|
|
109
|
-
};
|
|
110
|
-
}, [url]);
|
|
111
|
-
return {
|
|
112
|
-
isConnected: isConnected,
|
|
113
|
-
isError: isError,
|
|
114
|
-
connect: connect,
|
|
115
|
-
messages: messages,
|
|
116
|
-
clearMessages: clearMessages
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
var _default = exports["default"] = useWebSocket;
|
|
120
|
-
//# sourceMappingURL=useWebSocket.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWebSocket.js","names":["_react","require","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","useWebSocket","pingInterval","_useState","useState","_useState2","url","setUrl","_useState3","_useState4","isConnected","setIsConnected","_useState5","_useState6","isError","setIsError","_useState7","_useState8","messages","setMessages","socketRef","useRef","heartbeatIntervalRef","undefined","connect","newUrl","clearMessages","useEffect","current","WebSocket","close","onopen","event","window","setInterval","_socketRef$current","readyState","OPEN","_socketRef$current2","send","onmessage","console","log","data","_socketRef$current3","setTimeout","prev","includes","onerror","error","onclose","wasClean","warn","concat","code","reason","clearInterval","_default","exports"],"sources":["../../src/Hooks/useWebSocket.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\ntype WebSocketRef = WebSocket | null;\n\ninterface WebSocketOutput {\n isConnected: boolean;\n isError: boolean;\n connect: (url: string) => void;\n messages: string[];\n clearMessages: () => void;\n}\n\nconst useWebSocket = (): WebSocketOutput => {\n const pingInterval = 30000; // Default ping every 30 seconds\n const [url, setUrl] = useState('');\n const [isConnected, setIsConnected] = useState<boolean>(false);\n const [isError, setIsError] = useState<boolean>(false);\n const [messages, setMessages] = useState<string[]>([]);\n const socketRef = useRef<WebSocketRef>(null);\n const heartbeatIntervalRef = useRef<number>(undefined);\n\n const connect = (newUrl: string) => {\n if (newUrl && url !== newUrl) {\n setUrl(newUrl);\n }\n };\n\n const clearMessages = () => {\n setMessages([]);\n };\n\n // Connect WebSocket after login\n useEffect(() => {\n if (url) {\n // Open WebSocket connection\n if (socketRef.current === null) {\n socketRef.current = new WebSocket(url);\n } else if (socketRef.current.url !== url) {\n socketRef.current.close();\n socketRef.current = new WebSocket(url);\n }\n\n socketRef.current.onopen = (event: Event) => {\n // console.log('WebSocket onopen', 'event', event);\n\n setIsError(false);\n setIsConnected(true);\n\n heartbeatIntervalRef.current = window.setInterval(() => {\n if (socketRef.current?.readyState === WebSocket.OPEN) {\n socketRef.current?.send('ping');\n }\n }, pingInterval);\n };\n\n socketRef.current.onmessage = (event: MessageEvent) => {\n console.log('WebSocket onmessage', 'event.data', event.data);\n\n if (event.data === 'ping') {\n socketRef.current?.send('pong');\n return;\n }\n\n setTimeout(() => {\n setMessages((prev) => {\n if (!prev.includes(event.data)) {\n prev.push(event.data);\n }\n\n return prev;\n });\n }, 1000);\n };\n\n socketRef.current.onerror = (error: Event) => {\n console.error('WebSocket onerror:', 'error', error);\n\n setIsError(true);\n setIsConnected(false);\n };\n\n socketRef.current.onclose = (event: CloseEvent) => {\n // console.log('WebSocket onclose', 'event', event);\n\n if (event.wasClean) {\n // console.log(\n // `[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`,\n // );\n } else {\n // e.g. server process killed or network down, event.code is usually 1006 in this case\n console.warn(\n `[close] Connection died, code=${event.code} reason=${event.reason}`,\n );\n\n setIsError(true);\n }\n\n setIsConnected(false);\n };\n }\n\n // Cleanup on unmount or logout\n return () => {\n if (socketRef.current) {\n socketRef.current.close();\n }\n\n clearInterval(heartbeatIntervalRef.current);\n };\n }, [url]);\n\n return { isConnected, isError, connect, messages, clearMessages };\n};\n\nexport default useWebSocket;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/I18n/I18n.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "getV", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _utils.getV;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
exports.initI18n = void 0;
|
|
13
|
-
var _i18next = _interopRequireDefault(require("i18next"));
|
|
14
|
-
var _i18nextChainedBackend = _interopRequireDefault(require("i18next-chained-backend"));
|
|
15
|
-
var _i18nextHttpBackend = _interopRequireDefault(require("i18next-http-backend"));
|
|
16
|
-
var _i18nextLocalstorageBackend = _interopRequireDefault(require("i18next-localstorage-backend"));
|
|
17
|
-
var _i18nextResourcesToBackend = _interopRequireDefault(require("i18next-resources-to-backend"));
|
|
18
|
-
var _utils = require("../utils");
|
|
19
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
20
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
21
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
24
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
25
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
26
|
-
var initI18n = exports.initI18n = function initI18n(_ref) {
|
|
27
|
-
var initReactI18next = _ref.initReactI18next,
|
|
28
|
-
lang = _ref.lang,
|
|
29
|
-
fallbackLang = _ref.fallbackLang,
|
|
30
|
-
langCacheExpiredTimeMs = _ref.langCacheExpiredTimeMs,
|
|
31
|
-
resources = _ref.resources,
|
|
32
|
-
version = _ref.version,
|
|
33
|
-
useBackend = _ref.useBackend,
|
|
34
|
-
_ref$withLocalstorage = _ref.withLocalstorageBackend,
|
|
35
|
-
withLocalstorageBackend = _ref$withLocalstorage === void 0 ? false : _ref$withLocalstorage,
|
|
36
|
-
_ref$cdnUrl = _ref.cdnUrl,
|
|
37
|
-
cdnUrl = _ref$cdnUrl === void 0 ? '' : _ref$cdnUrl,
|
|
38
|
-
_ref$debug = _ref.debug,
|
|
39
|
-
debug = _ref$debug === void 0 ? false : _ref$debug;
|
|
40
|
-
var backends = [];
|
|
41
|
-
var backendOptions = [];
|
|
42
|
-
var langs = Object.keys(resources);
|
|
43
|
-
|
|
44
|
-
// https://www.i18next.com/how-to/backend-fallback
|
|
45
|
-
if (useBackend && withLocalstorageBackend) {
|
|
46
|
-
var versions = {};
|
|
47
|
-
langs.forEach(function (value) {
|
|
48
|
-
return Object.assign(versions, _defineProperty({}, value, version));
|
|
49
|
-
});
|
|
50
|
-
backends.push(_i18nextLocalstorageBackend["default"]);
|
|
51
|
-
backendOptions.push({
|
|
52
|
-
// prefix for stored languages
|
|
53
|
-
prefix: "i18next_res_",
|
|
54
|
-
// expiration
|
|
55
|
-
expirationTime: langCacheExpiredTimeMs,
|
|
56
|
-
// language versions
|
|
57
|
-
versions: versions
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
if (useBackend && cdnUrl) {
|
|
61
|
-
backends.push(_i18nextHttpBackend["default"]);
|
|
62
|
-
backendOptions.push({
|
|
63
|
-
// load resources from url path
|
|
64
|
-
loadPath: "".concat(cdnUrl, "/locales/{{lng}}.json"),
|
|
65
|
-
// adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5'
|
|
66
|
-
queryStringParams: {
|
|
67
|
-
v: "".concat(version, ".").concat((0, _utils.getV)(langCacheExpiredTimeMs))
|
|
68
|
-
},
|
|
69
|
-
reloadInterval: langCacheExpiredTimeMs // can be used to reload resources in a specific interval (milliseconds) (useful in server environments)
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
if (useBackend) {
|
|
73
|
-
backends.push((0, _i18nextResourcesToBackend["default"])(resources));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// https://www.i18next.com/misc/creating-own-plugins#languagedetector
|
|
77
|
-
var languageDetector = {
|
|
78
|
-
type: 'languageDetector',
|
|
79
|
-
name: 'customDetector',
|
|
80
|
-
async: false,
|
|
81
|
-
init: function init() {
|
|
82
|
-
/* use services and options */
|
|
83
|
-
},
|
|
84
|
-
detect: function detect(callback) {
|
|
85
|
-
return lang;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
var config = {
|
|
89
|
-
debug: debug,
|
|
90
|
-
compatibilityJSON: 'v4',
|
|
91
|
-
ns: ['translation'],
|
|
92
|
-
defaultNS: 'translation',
|
|
93
|
-
lng: lang,
|
|
94
|
-
fallbackLng: fallbackLang,
|
|
95
|
-
load: 'currentOnly',
|
|
96
|
-
keySeparator: false,
|
|
97
|
-
nonExplicitSupportedLngs: true,
|
|
98
|
-
interpolation: {
|
|
99
|
-
escapeValue: false // react already safes from xss
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
if (useBackend) {
|
|
103
|
-
config = _objectSpread(_objectSpread({}, config), {}, {
|
|
104
|
-
backend: {
|
|
105
|
-
backends: backends,
|
|
106
|
-
backendOptions: backendOptions,
|
|
107
|
-
cacheHitMode: 'refreshAndUpdateStore',
|
|
108
|
-
reloadInterval: langCacheExpiredTimeMs,
|
|
109
|
-
refreshExpirationTime: langCacheExpiredTimeMs // only after determined time it should trigger a refresh if necessary
|
|
110
|
-
},
|
|
111
|
-
react: {
|
|
112
|
-
bindI18nStore: 'added' // this way, when the HttpBackend delivers new translations (thanks to refreshAndUpdateStore), the UI gets updated
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
} else {
|
|
116
|
-
config = _objectSpread(_objectSpread({}, config), {}, {
|
|
117
|
-
resources: resources
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
if (!_i18next["default"].isInitialized) {
|
|
121
|
-
var i18n = _i18next["default"];
|
|
122
|
-
if (useBackend) {
|
|
123
|
-
i18n = i18n.use(_i18nextChainedBackend["default"]);
|
|
124
|
-
}
|
|
125
|
-
i18n.use(languageDetector).use(initReactI18next) // passes i18n down to react-i18next
|
|
126
|
-
.init(config, function (ex, t) {
|
|
127
|
-
if (ex) {
|
|
128
|
-
console.error("Error when i18n init", ex);
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
//# sourceMappingURL=I18n.js.map
|
package/dist/I18n/I18n.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"I18n.js","names":["_i18next","_interopRequireDefault","require","_i18nextChainedBackend","_i18nextHttpBackend","_i18nextLocalstorageBackend","_i18nextResourcesToBackend","_utils","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","initI18n","exports","_ref","initReactI18next","lang","fallbackLang","langCacheExpiredTimeMs","resources","version","useBackend","_ref$withLocalstorage","withLocalstorageBackend","_ref$cdnUrl","cdnUrl","_ref$debug","debug","backends","backendOptions","langs","versions","assign","LocalStorageBackend","prefix","expirationTime","HttpBackend","loadPath","concat","queryStringParams","v","getV","reloadInterval","ResourcesToBackend","languageDetector","type","name","async","init","detect","callback","config","compatibilityJSON","ns","defaultNS","lng","fallbackLng","load","keySeparator","nonExplicitSupportedLngs","interpolation","escapeValue","backend","cacheHitMode","refreshExpirationTime","react","bindI18nStore","i18next","isInitialized","i18n","use","ChainedBackend","ex","console","error"],"sources":["../../src/I18n/I18n.ts"],"sourcesContent":["import i18next, { InitOptions, ThirdPartyModule } from 'i18next';\nimport ChainedBackend from 'i18next-chained-backend';\nimport HttpBackend from 'i18next-http-backend';\nimport LocalStorageBackend from 'i18next-localstorage-backend';\nimport ResourcesToBackend from 'i18next-resources-to-backend';\nimport { getV } from '../utils';\n\nexport interface InitI18nProps {\n initReactI18next: ThirdPartyModule;\n lang: string;\n fallbackLang: string;\n langCacheExpiredTimeMs: number;\n resources: { [key: string]: any };\n version: string;\n useBackend: boolean;\n withLocalstorageBackend?: boolean;\n cdnUrl?: string;\n debug?: boolean;\n}\n\nconst initI18n = ({\n initReactI18next,\n lang,\n fallbackLang,\n langCacheExpiredTimeMs,\n resources,\n version,\n useBackend,\n withLocalstorageBackend = false,\n cdnUrl = '',\n debug = false,\n}: InitI18nProps) => {\n let backends: Array<any> = [];\n let backendOptions: Array<any> = [];\n const langs = Object.keys(resources);\n\n // https://www.i18next.com/how-to/backend-fallback\n if (useBackend && withLocalstorageBackend) {\n const versions: { [key: string]: string } = {};\n\n langs.forEach((value) => Object.assign(versions, { [value]: version }));\n\n backends.push(LocalStorageBackend);\n backendOptions.push({\n // prefix for stored languages\n prefix: `i18next_res_`,\n\n // expiration\n expirationTime: langCacheExpiredTimeMs,\n\n // language versions\n versions: versions,\n });\n }\n\n if (useBackend && cdnUrl) {\n backends.push(HttpBackend);\n backendOptions.push({\n // load resources from url path\n loadPath: `${cdnUrl}/locales/{{lng}}.json`,\n // adds parameters to resource URL. 'example.com' -> 'example.com?v=1.3.5'\n queryStringParams: {\n v: `${version}.${getV(langCacheExpiredTimeMs)}`,\n },\n\n reloadInterval: langCacheExpiredTimeMs, // can be used to reload resources in a specific interval (milliseconds) (useful in server environments)\n });\n }\n\n if (useBackend) {\n backends.push(ResourcesToBackend(resources));\n }\n\n // https://www.i18next.com/misc/creating-own-plugins#languagedetector\n const languageDetector: any = {\n type: 'languageDetector',\n name: 'customDetector',\n async: false,\n init: () => {\n /* use services and options */\n },\n detect: (callback: any) => {\n return lang;\n },\n };\n\n let config: InitOptions = {\n debug: debug,\n compatibilityJSON: 'v4',\n ns: ['translation'],\n defaultNS: 'translation',\n lng: lang,\n fallbackLng: fallbackLang,\n load: 'currentOnly',\n keySeparator: false,\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false, // react already safes from xss\n },\n };\n\n if (useBackend) {\n config = {\n ...config,\n backend: {\n backends: backends,\n backendOptions: backendOptions,\n cacheHitMode: 'refreshAndUpdateStore',\n reloadInterval: langCacheExpiredTimeMs,\n refreshExpirationTime: langCacheExpiredTimeMs, // only after determined time it should trigger a refresh if necessary\n },\n react: {\n bindI18nStore: 'added', // this way, when the HttpBackend delivers new translations (thanks to refreshAndUpdateStore), the UI gets updated\n },\n };\n } else {\n config = {\n ...config,\n resources: resources,\n };\n }\n\n if (!i18next.isInitialized) {\n let i18n = i18next;\n\n if (useBackend) {\n i18n = i18n.use(ChainedBackend);\n }\n\n i18n\n .use(languageDetector)\n .use(initReactI18next) // passes i18n down to react-i18next\n .init(config, (ex, t) => {\n if (ex) {\n console.error(`Error when i18n init`, ex);\n return;\n }\n });\n }\n};\n\nexport { getV, initI18n };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { NumberFormat } from '@formatjs/intl-numberformat';
|
|
2
|
-
|
|
3
|
-
var CurrencySymbolEnum;
|
|
4
|
-
(function (CurrencySymbolEnum) {
|
|
5
|
-
CurrencySymbolEnum["TWD"] = "NT$";
|
|
6
|
-
CurrencySymbolEnum["USD"] = "US$";
|
|
7
|
-
CurrencySymbolEnum["VND"] = "\u20AB";
|
|
8
|
-
})(CurrencySymbolEnum || (CurrencySymbolEnum = {}));
|
|
9
|
-
|
|
10
|
-
class NumberParser {
|
|
11
|
-
constructor(locale) {
|
|
12
|
-
const parts = new NumberFormat(locale).formatToParts(12345.6);
|
|
13
|
-
const numerals = [...new NumberFormat(locale, {
|
|
14
|
-
useGrouping: false
|
|
15
|
-
}).format(9876543210)].reverse();
|
|
16
|
-
const index = new Map(numerals.map((d, i) => [d, i]));
|
|
17
|
-
this._group = new RegExp(`[${parts.find(d => d.type === 'group')?.value}]`, 'g');
|
|
18
|
-
this._decimal = new RegExp(`[${parts.find(d => d.type === 'decimal')?.value}]`);
|
|
19
|
-
this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');
|
|
20
|
-
this._index = d => index.get(d);
|
|
21
|
-
}
|
|
22
|
-
parse(value) {
|
|
23
|
-
value = value?.trim()?.replace(this._group, '')?.replace(this._decimal, '.')?.replace(this._numeral, this._index);
|
|
24
|
-
return value ? +value : NaN;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const formatAccountNumber = function (accountNumber) {
|
|
29
|
-
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ' ';
|
|
30
|
-
return accountNumber?.replace(/\s?/g, '').replace(/(\d{4})/g, `$1${separator}`).trim();
|
|
31
|
-
};
|
|
32
|
-
const getCurrencySymbol = function (currency) {
|
|
33
|
-
let showCurrency = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
34
|
-
let symbol;
|
|
35
|
-
switch (currency) {
|
|
36
|
-
case 'TWD':
|
|
37
|
-
symbol = CurrencySymbolEnum.TWD;
|
|
38
|
-
break;
|
|
39
|
-
case 'USD':
|
|
40
|
-
symbol = CurrencySymbolEnum.USD;
|
|
41
|
-
break;
|
|
42
|
-
case 'VND':
|
|
43
|
-
symbol = CurrencySymbolEnum.VND;
|
|
44
|
-
break;
|
|
45
|
-
default:
|
|
46
|
-
symbol = '';
|
|
47
|
-
}
|
|
48
|
-
if (!showCurrency) {
|
|
49
|
-
symbol = '';
|
|
50
|
-
}
|
|
51
|
-
return symbol;
|
|
52
|
-
};
|
|
53
|
-
const formatNumber = options => {
|
|
54
|
-
options.value = options.value ?? 0;
|
|
55
|
-
options.styleCurrency = options.styleCurrency ?? 'currency';
|
|
56
|
-
options.currencyDisplay = options.currencyDisplay ?? 'code';
|
|
57
|
-
options.showValue = options.showValue ?? true;
|
|
58
|
-
options.showCurrency = options.showCurrency ?? true;
|
|
59
|
-
options.minimumFractionDigits = options.minimumFractionDigits ?? 0;
|
|
60
|
-
options.maximumFractionDigits = options.maximumFractionDigits ?? 0;
|
|
61
|
-
options.trailingZeroDisplay = options.trailingZeroDisplay ?? 'stripIfInteger';
|
|
62
|
-
// console.log(`options: ${JSON.stringify(options)}.`);
|
|
63
|
-
let formatOptions = {
|
|
64
|
-
style: options.styleCurrency,
|
|
65
|
-
currency: options.currency,
|
|
66
|
-
currencyDisplay: options.currencyDisplay,
|
|
67
|
-
minimumFractionDigits: options.minimumFractionDigits,
|
|
68
|
-
maximumFractionDigits: options.maximumFractionDigits,
|
|
69
|
-
trailingZeroDisplay: options.trailingZeroDisplay
|
|
70
|
-
};
|
|
71
|
-
if (options.options) {
|
|
72
|
-
formatOptions = {
|
|
73
|
-
...formatOptions,
|
|
74
|
-
...options.options
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
let localizedNumber = NumberFormat(options.lang, formatOptions).format(options.value).replace(/^([\d,.]+)(\s*)([A-Z]{3})$/, '$3$2$1').replace(/([\d,.]+)$/, options.showValue ? ' $1' : ' ********').replace(options.currency, getCurrencySymbol(options.currency, options.showCurrency)).trim();
|
|
78
|
-
// console.log(`localizedNumber: ${localizedNumber}.`);
|
|
79
|
-
return localizedNumber;
|
|
80
|
-
};
|
|
81
|
-
const parseFormatNumber = (lang, value) => {
|
|
82
|
-
if (!value) {
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
return new NumberParser(lang).parse(value);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
export { CurrencySymbolEnum as C, formatNumber as a, formatAccountNumber as f, getCurrencySymbol as g, parseFormatNumber as p };
|
|
89
|
-
//# sourceMappingURL=NumberFormat-CvvBWhHc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFormat-CvvBWhHc.js","sources":["../src/enums/CurrencySymbolEnum.ts","../src/Format/NumberParser.ts","../src/Format/NumberFormat.ts"],"sourcesContent":[null,null,null],"names":["CurrencySymbolEnum","NumberParser","constructor","locale","parts","NumberFormat","formatToParts","numerals","useGrouping","format","reverse","index","Map","map","d","i","_group","RegExp","find","type","value","_decimal","_numeral","join","_index","get","parse","trim","replace","NaN","formatAccountNumber","accountNumber","separator","arguments","length","undefined","getCurrencySymbol","currency","showCurrency","symbol","TWD","USD","VND","formatNumber","options","styleCurrency","currencyDisplay","showValue","minimumFractionDigits","maximumFractionDigits","trailingZeroDisplay","formatOptions","style","localizedNumber","lang","parseFormatNumber"],"mappings":";;IAAYA;AAAZ,CAAA,UAAYA,kBAAkB,EAAA;AAC5BA,EAAAA,kBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,kBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACXA,EAAAA,kBAAA,CAAA,KAAA,CAAA,GAAA,QAAS;AACX,CAAC,EAJWA,kBAAkB,KAAlBA,kBAAkB,GAAA,EAAA,CAAA,CAAA;;ACE9B,MAAMC,YAAY,CAAA;EAMhBC,WAAAA,CAAYC,MAAc,EAAA;IACxB,MAAMC,KAAK,GAAG,IAAIC,YAAY,CAACF,MAAM,CAAC,CAACG,aAAa,CAAC,OAAO,CAAC;IAE7D,MAAMC,QAAQ,GAAG,CACf,GAAG,IAAIF,YAAY,CAACF,MAAM,EAAE;AAAEK,MAAAA,WAAW,EAAE;KAAO,CAAC,CAACC,MAAM,CAAC,UAAU,CAAC,CACvE,CAACC,OAAO,EAAE;IAEX,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAACL,QAAQ,CAACM,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC;IAErD,IAAI,CAACC,MAAM,GAAG,IAAIC,MAAM,CACtB,CAAA,CAAA,EAAIb,KAAK,CAACc,IAAI,CAAEJ,CAAC,IAAKA,CAAC,CAACK,IAAI,KAAK,OAAO,CAAC,EAAEC,KAAK,CAAA,CAAA,CAAG,EACnD,GAAG,CACJ;IAED,IAAI,CAACC,QAAQ,GAAG,IAAIJ,MAAM,CACxB,CAAA,CAAA,EAAIb,KAAK,CAACc,IAAI,CAAEJ,CAAC,IAAKA,CAAC,CAACK,IAAI,KAAK,SAAS,CAAC,EAAEC,KAAK,CAAA,CAAA,CAAG,CACtD;AAED,IAAA,IAAI,CAACE,QAAQ,GAAG,IAAIL,MAAM,CAAC,CAAA,CAAA,EAAIV,QAAQ,CAACgB,IAAI,CAAC,EAAE,CAAC,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC;IACzD,IAAI,CAACC,MAAM,GAAIV,CAAC,IAAKH,KAAK,CAACc,GAAG,CAACX,CAAC,CAAC;AACnC;EAEAY,KAAKA,CAACN,KAAa,EAAA;AACjBA,IAAAA,KAAK,GAAGA,KAAK,EACTO,IAAI,EAAE,EACNC,OAAO,CAAC,IAAI,CAACZ,MAAM,EAAE,EAAE,CAAC,EACxBY,OAAO,CAAC,IAAI,CAACP,QAAQ,EAAE,GAAG,CAAC,EAC3BO,OAAO,CAAC,IAAI,CAACN,QAAQ,EAAE,IAAI,CAACE,MAAM,CAAC;AAEvC,IAAA,OAAOJ,KAAK,GAAG,CAACA,KAAK,GAAGS,GAAG;AAC7B;AACD;;AClCD,MAAMC,mBAAmB,GAAG,UAC1BC,aAAqB,EAEnB;AAAA,EAAA,IADFC,SAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAoB,GAAG;EAEvB,OAAOF,aAAa,EAChBH,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACpBA,OAAO,CAAC,UAAU,EAAE,KAAKI,SAAS,CAAA,CAAE,CAAC,CACrCL,IAAI,EAAE;AACX;AAEA,MAAMS,iBAAiB,GAAG,UAACC,QAAgB,EAAkC;AAAA,EAAA,IAAhCC,YAAA,GAAAL,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAwB,IAAI;AACvE,EAAA,IAAIM,MAAM;AAEV,EAAA,QAAQF,QAAQ;AACd,IAAA,KAAK,KAAK;MACRE,MAAM,GAAGvC,kBAAkB,CAACwC,GAAG;AAC/B,MAAA;AACF,IAAA,KAAK,KAAK;MACRD,MAAM,GAAGvC,kBAAkB,CAACyC,GAAG;AAC/B,MAAA;AACF,IAAA,KAAK,KAAK;MACRF,MAAM,GAAGvC,kBAAkB,CAAC0C,GAAG;AAC/B,MAAA;AACF,IAAA;AACEH,MAAAA,MAAM,GAAG,EAAE;AACf;EAEA,IAAI,CAACD,YAAY,EAAE;AACjBC,IAAAA,MAAM,GAAG,EAAE;AACb;AAEA,EAAA,OAAOA,MAAM;AACf;AAEA,MAAMI,YAAY,GAAIC,OAAsB,IAAI;AAC9CA,EAAAA,OAAO,CAACxB,KAAK,GAAGwB,OAAO,CAACxB,KAAK,IAAI,CAAC;AAClCwB,EAAAA,OAAO,CAACC,aAAa,GAAGD,OAAO,CAACC,aAAa,IAAI,UAAU;AAC3DD,EAAAA,OAAO,CAACE,eAAe,GAAGF,OAAO,CAACE,eAAe,IAAI,MAAM;AAC3DF,EAAAA,OAAO,CAACG,SAAS,GAAGH,OAAO,CAACG,SAAS,IAAI,IAAI;AAC7CH,EAAAA,OAAO,CAACN,YAAY,GAAGM,OAAO,CAACN,YAAY,IAAI,IAAI;AACnDM,EAAAA,OAAO,CAACI,qBAAqB,GAAGJ,OAAO,CAACI,qBAAqB,IAAI,CAAC;AAClEJ,EAAAA,OAAO,CAACK,qBAAqB,GAAGL,OAAO,CAACK,qBAAqB,IAAI,CAAC;AAClEL,EAAAA,OAAO,CAACM,mBAAmB,GAAGN,OAAO,CAACM,mBAAmB,IAAI,gBAAgB;AAE7E;AAEA,EAAA,IAAIC,aAAa,GAAG;IAClBC,KAAK,EAAER,OAAO,CAACC,aAAa;IAC5BR,QAAQ,EAAEO,OAAO,CAACP,QAAQ;IAC1BS,eAAe,EAAEF,OAAO,CAACE,eAAe;IACxCE,qBAAqB,EAAEJ,OAAO,CAACI,qBAAqB;IACpDC,qBAAqB,EAAEL,OAAO,CAACK,qBAAqB;IACpDC,mBAAmB,EAAEN,OAAO,CAACM;GAC9B;EAED,IAAIN,OAAO,CAACA,OAAO,EAAE;AACnBO,IAAAA,aAAa,GAAG;AACd,MAAA,GAAGA,aAAa;AAChB,MAAA,GAAGP,OAAO,CAACA;KACZ;AACH;EAEA,IAAIS,eAAe,GAAGhD,YAAY,CAACuC,OAAO,CAACU,IAAI,EAAEH,aAAa,CAAC,CAC5D1C,MAAM,CAACmC,OAAO,CAACxB,KAAK,CAAC,CACrBQ,OAAO,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAC/CA,OAAO,CAAC,YAAY,EAAEgB,OAAO,CAACG,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC,CAC9DnB,OAAO,CACNgB,OAAO,CAACP,QAAQ,EAChBD,iBAAiB,CAACQ,OAAO,CAACP,QAAQ,EAAEO,OAAO,CAACN,YAAY,CAAC,CAC1D,CACAX,IAAI,EAAE;AAET;AAEA,EAAA,OAAO0B,eAAe;AACxB;AAEA,MAAME,iBAAiB,GAAGA,CAACD,IAAY,EAAElC,KAAa,KAAI;EACxD,IAAI,CAACA,KAAK,EAAE;AACV,IAAA,OAAO,IAAI;AACb;EAEA,OAAO,IAAInB,YAAY,CAACqD,IAAI,CAAC,CAAC5B,KAAK,CAACN,KAAK,CAAC;AAC5C;;;;"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var intlNumberformat = require('@formatjs/intl-numberformat');
|
|
4
|
-
|
|
5
|
-
exports.CurrencySymbolEnum = void 0;
|
|
6
|
-
(function (CurrencySymbolEnum) {
|
|
7
|
-
CurrencySymbolEnum["TWD"] = "NT$";
|
|
8
|
-
CurrencySymbolEnum["USD"] = "US$";
|
|
9
|
-
CurrencySymbolEnum["VND"] = "\u20AB";
|
|
10
|
-
})(exports.CurrencySymbolEnum || (exports.CurrencySymbolEnum = {}));
|
|
11
|
-
|
|
12
|
-
class NumberParser {
|
|
13
|
-
constructor(locale) {
|
|
14
|
-
const parts = new intlNumberformat.NumberFormat(locale).formatToParts(12345.6);
|
|
15
|
-
const numerals = [...new intlNumberformat.NumberFormat(locale, {
|
|
16
|
-
useGrouping: false
|
|
17
|
-
}).format(9876543210)].reverse();
|
|
18
|
-
const index = new Map(numerals.map((d, i) => [d, i]));
|
|
19
|
-
this._group = new RegExp(`[${parts.find(d => d.type === 'group')?.value}]`, 'g');
|
|
20
|
-
this._decimal = new RegExp(`[${parts.find(d => d.type === 'decimal')?.value}]`);
|
|
21
|
-
this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');
|
|
22
|
-
this._index = d => index.get(d);
|
|
23
|
-
}
|
|
24
|
-
parse(value) {
|
|
25
|
-
value = value?.trim()?.replace(this._group, '')?.replace(this._decimal, '.')?.replace(this._numeral, this._index);
|
|
26
|
-
return value ? +value : NaN;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const formatAccountNumber = function (accountNumber) {
|
|
31
|
-
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ' ';
|
|
32
|
-
return accountNumber?.replace(/\s?/g, '').replace(/(\d{4})/g, `$1${separator}`).trim();
|
|
33
|
-
};
|
|
34
|
-
const getCurrencySymbol = function (currency) {
|
|
35
|
-
let showCurrency = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
36
|
-
let symbol;
|
|
37
|
-
switch (currency) {
|
|
38
|
-
case 'TWD':
|
|
39
|
-
symbol = exports.CurrencySymbolEnum.TWD;
|
|
40
|
-
break;
|
|
41
|
-
case 'USD':
|
|
42
|
-
symbol = exports.CurrencySymbolEnum.USD;
|
|
43
|
-
break;
|
|
44
|
-
case 'VND':
|
|
45
|
-
symbol = exports.CurrencySymbolEnum.VND;
|
|
46
|
-
break;
|
|
47
|
-
default:
|
|
48
|
-
symbol = '';
|
|
49
|
-
}
|
|
50
|
-
if (!showCurrency) {
|
|
51
|
-
symbol = '';
|
|
52
|
-
}
|
|
53
|
-
return symbol;
|
|
54
|
-
};
|
|
55
|
-
const formatNumber = options => {
|
|
56
|
-
options.value = options.value ?? 0;
|
|
57
|
-
options.styleCurrency = options.styleCurrency ?? 'currency';
|
|
58
|
-
options.currencyDisplay = options.currencyDisplay ?? 'code';
|
|
59
|
-
options.showValue = options.showValue ?? true;
|
|
60
|
-
options.showCurrency = options.showCurrency ?? true;
|
|
61
|
-
options.minimumFractionDigits = options.minimumFractionDigits ?? 0;
|
|
62
|
-
options.maximumFractionDigits = options.maximumFractionDigits ?? 0;
|
|
63
|
-
options.trailingZeroDisplay = options.trailingZeroDisplay ?? 'stripIfInteger';
|
|
64
|
-
// console.log(`options: ${JSON.stringify(options)}.`);
|
|
65
|
-
let formatOptions = {
|
|
66
|
-
style: options.styleCurrency,
|
|
67
|
-
currency: options.currency,
|
|
68
|
-
currencyDisplay: options.currencyDisplay,
|
|
69
|
-
minimumFractionDigits: options.minimumFractionDigits,
|
|
70
|
-
maximumFractionDigits: options.maximumFractionDigits,
|
|
71
|
-
trailingZeroDisplay: options.trailingZeroDisplay
|
|
72
|
-
};
|
|
73
|
-
if (options.options) {
|
|
74
|
-
formatOptions = {
|
|
75
|
-
...formatOptions,
|
|
76
|
-
...options.options
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
let localizedNumber = intlNumberformat.NumberFormat(options.lang, formatOptions).format(options.value).replace(/^([\d,.]+)(\s*)([A-Z]{3})$/, '$3$2$1').replace(/([\d,.]+)$/, options.showValue ? ' $1' : ' ********').replace(options.currency, getCurrencySymbol(options.currency, options.showCurrency)).trim();
|
|
80
|
-
// console.log(`localizedNumber: ${localizedNumber}.`);
|
|
81
|
-
return localizedNumber;
|
|
82
|
-
};
|
|
83
|
-
const parseFormatNumber = (lang, value) => {
|
|
84
|
-
if (!value) {
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
87
|
-
return new NumberParser(lang).parse(value);
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
exports.formatAccountNumber = formatAccountNumber;
|
|
91
|
-
exports.formatNumber = formatNumber;
|
|
92
|
-
exports.getCurrencySymbol = getCurrencySymbol;
|
|
93
|
-
exports.parseFormatNumber = parseFormatNumber;
|
|
94
|
-
//# sourceMappingURL=NumberFormat-glmpbk7E.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFormat-glmpbk7E.js","sources":["../src/enums/CurrencySymbolEnum.ts","../src/Format/NumberParser.ts","../src/Format/NumberFormat.ts"],"sourcesContent":[null,null,null],"names":["CurrencySymbolEnum","NumberParser","constructor","locale","parts","NumberFormat","formatToParts","numerals","useGrouping","format","reverse","index","Map","map","d","i","_group","RegExp","find","type","value","_decimal","_numeral","join","_index","get","parse","trim","replace","NaN","formatAccountNumber","accountNumber","separator","arguments","length","undefined","getCurrencySymbol","currency","showCurrency","symbol","TWD","USD","VND","formatNumber","options","styleCurrency","currencyDisplay","showValue","minimumFractionDigits","maximumFractionDigits","trailingZeroDisplay","formatOptions","style","localizedNumber","lang","parseFormatNumber"],"mappings":"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"}
|