@ancon/wildcat-utils 1.42.9 → 1.42.10

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.
@@ -9,6 +9,21 @@ declare type Options = {
9
9
  * @default true
10
10
  */
11
11
  trimTrailingZeros?: boolean;
12
+ /**
13
+ * Whether or not to show as many decimals as needed. Also see `onlyShowAsManyDecimalsAsNeededWhenZeroInt`.
14
+ * @default false
15
+ */
16
+ showAsManyDecimalsAsNeeded?: boolean;
17
+ /**
18
+ * Maximum number of decimals to show when `showAsManyDecimalsAsNeeded` is true
19
+ * @default 8
20
+ */
21
+ maxAsManyDecimalsAsNeeded?: number;
22
+ /**
23
+ * Whether or not to only show as many decimals as needed when the integer part is zero
24
+ * @default true
25
+ */
26
+ onlyShowAsManyDecimalsAsNeededWhenZeroInt?: boolean;
12
27
  };
13
28
  /**
14
29
  * Formats the given monetary value
@@ -1 +1 @@
1
- "use strict";const b=require("./getFormattedCurrencyPostfix.js");function i(r=0,c="SEK",e=!0){let u=0;const g=typeof e=="object"?{formatPostfix:(e==null?void 0:e.formatPostfix)??!0,trimTrailingZeros:(e==null?void 0:e.trimTrailingZeros)??!0}:{formatPostfix:e,trimTrailingZeros:!0};!r||Number.isNaN(Number(r))?u=0:g.trimTrailingZeros&&Number.isInteger(Number(r))?u=r:u=Number(r).toFixed(2);const N=g.formatPostfix?b(c):c;return`${u} ${N}`}module.exports=i;
1
+ "use strict";const u=require("./getFormattedCurrencyPostfix.js");function h(l=0,N="SEK",e=!0){let d=0;const c=typeof e=="object"?{formatPostfix:(e==null?void 0:e.formatPostfix)??!0,trimTrailingZeros:(e==null?void 0:e.trimTrailingZeros)??!0,showAsManyDecimalsAsNeeded:(e==null?void 0:e.showAsManyDecimalsAsNeeded)??!1,maxAsManyDecimalsAsNeeded:(e==null?void 0:e.maxAsManyDecimalsAsNeeded)??8,onlyShowAsManyDecimalsAsNeededWhenZeroInt:(e==null?void 0:e.onlyShowAsManyDecimalsAsNeededWhenZeroInt)??!0}:{formatPostfix:e,trimTrailingZeros:!0,showAsManyDecimalsAsNeeded:!1,maxAsManyDecimalsAsNeeded:8,onlyShowAsManyDecimalsAsNeededWhenZeroInt:!0};if(!l||Number.isNaN(Number(l)))d=0;else if(c.trimTrailingZeros&&Number.isInteger(Number(l)))d=l;else if(c.showAsManyDecimalsAsNeeded){d=Number(l).toFixed(c.maxAsManyDecimalsAsNeeded);const[s,A]=d.split("."),n=A!=null&&A.length>2?A.replace(/0+$/,""):A;(c.onlyShowAsManyDecimalsAsNeededWhenZeroInt?s==="0":!0)&&s!=null&&n!=null&&n.length>2?d=`${s}.${n}`:d=Number(l).toFixed(2)}else d=Number(l).toFixed(2);const y=c.formatPostfix?u(N):N;return`${d} ${y}`}module.exports=h;
@@ -1,17 +1,32 @@
1
- import c from "./getFormattedCurrencyPostfix.mjs";
2
- function d(r = 0, g = "SEK", e = !0) {
3
- let u = 0;
4
- const N = typeof e == "object" ? {
1
+ import a from "./getFormattedCurrencyPostfix.mjs";
2
+ function m(l = 0, n = "SEK", e = !0) {
3
+ let d = 0;
4
+ const A = typeof e == "object" ? {
5
5
  formatPostfix: (e == null ? void 0 : e.formatPostfix) ?? !0,
6
- trimTrailingZeros: (e == null ? void 0 : e.trimTrailingZeros) ?? !0
6
+ trimTrailingZeros: (e == null ? void 0 : e.trimTrailingZeros) ?? !0,
7
+ showAsManyDecimalsAsNeeded: (e == null ? void 0 : e.showAsManyDecimalsAsNeeded) ?? !1,
8
+ maxAsManyDecimalsAsNeeded: (e == null ? void 0 : e.maxAsManyDecimalsAsNeeded) ?? 8,
9
+ onlyShowAsManyDecimalsAsNeededWhenZeroInt: (e == null ? void 0 : e.onlyShowAsManyDecimalsAsNeededWhenZeroInt) ?? !0
7
10
  } : {
8
11
  formatPostfix: e,
9
- trimTrailingZeros: !0
12
+ trimTrailingZeros: !0,
13
+ showAsManyDecimalsAsNeeded: !1,
14
+ maxAsManyDecimalsAsNeeded: 8,
15
+ onlyShowAsManyDecimalsAsNeededWhenZeroInt: !0
10
16
  };
11
- !r || Number.isNaN(Number(r)) ? u = 0 : N.trimTrailingZeros && Number.isInteger(Number(r)) ? u = r : u = Number(r).toFixed(2);
12
- const b = N.formatPostfix ? c(g) : g;
13
- return `${u} ${b}`;
17
+ if (!l || Number.isNaN(Number(l)))
18
+ d = 0;
19
+ else if (A.trimTrailingZeros && Number.isInteger(Number(l)))
20
+ d = l;
21
+ else if (A.showAsManyDecimalsAsNeeded) {
22
+ d = Number(l).toFixed(A.maxAsManyDecimalsAsNeeded);
23
+ const [s, c] = d.split("."), N = c != null && c.length > 2 ? c.replace(/0+$/, "") : c;
24
+ (A.onlyShowAsManyDecimalsAsNeededWhenZeroInt ? s === "0" : !0) && s != null && N != null && N.length > 2 ? d = `${s}.${N}` : d = Number(l).toFixed(2);
25
+ } else
26
+ d = Number(l).toFixed(2);
27
+ const y = A.formatPostfix ? a(n) : n;
28
+ return `${d} ${y}`;
14
29
  }
15
30
  export {
16
- d as default
31
+ m as default
17
32
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancon/wildcat-utils",
3
- "version": "1.42.9",
3
+ "version": "1.42.10",
4
4
  "private": false,
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",