diff options
| author | secondl1ght <[email protected]> | 2022-08-01 22:04:05 -0600 |
|---|---|---|
| committer | secondl1ght <[email protected]> | 2022-08-01 22:04:05 -0600 |
| commit | d073ca91893f3ff1cf3662085bc4dddb2feb184c (patch) | |
| tree | e309a383265201f033c1be7961c45fc8f763ff47 /src/lib/utils.js | |
| parent | b8a74370541d396246b3a13fe72e6f528ef1a2ea (diff) | |
| parent | 5428fdf82a4260fa4f5e0bcdb722d6716740d8bf (diff) | |
| download | coinos-ui-d073ca91893f3ff1cf3662085bc4dddb2feb184c.tar.gz coinos-ui-d073ca91893f3ff1cf3662085bc4dddb2feb184c.zip | |
Merge branch 'master' of github.com:coinos/coinos-ui-v2
Diffstat (limited to 'src/lib/utils.js')
| -rw-r--r-- | src/lib/utils.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/utils.js b/src/lib/utils.js index 7831c519..b80a548b 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -9,7 +9,15 @@ const base = browser ? '' : import.meta.env.VITE_COINOS_URL; export const get = (url) => fetch(base + url, { headers: { accept: 'application/json' } - }).then((r) => r.json()); + }) + .then((r) => r.text()) + .then((body) => { + try { + return JSON.parse(body); + } catch (e) { + throw Error(body); + } + }); export const post = (url, body) => fetch(base + url, { @@ -21,3 +29,12 @@ export const post = (url, body) => export const copy = (text) => { navigator.clipboard.writeText(text); }; + +export function reverseFormat(val, locale) { + let parts = new Intl.NumberFormat(locale).formatToParts(1111.1); + let group = parts.find((part) => part.type === 'group').value; + let decimal = parts.find((part) => part.type === 'decimal').value; + let reversedVal = val.replace(new RegExp('\\' + group, 'g'), ''); + reversedVal = reversedVal.replace(new RegExp('\\' + decimal, 'g'), '.'); + return Number.isNaN(reversedVal) ? 0 : +reversedVal; +} |
