@reown/appkit-common-react-native 1.1.0 → 1.2.0

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,9 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
9
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  const NumberUtil = exports.NumberUtil = {
11
11
  bigNumber(value) {
12
+ if (typeof value === 'string') {
13
+ return new BigNumber.BigNumber(value.replace(/,/g, ''));
14
+ }
12
15
  return new BigNumber.BigNumber(value);
13
16
  },
14
17
  /**
@@ -21,13 +24,47 @@ const NumberUtil = exports.NumberUtil = {
21
24
  if (a === undefined || b === undefined) {
22
25
  return BigNumber.BigNumber(0);
23
26
  }
24
- const aBigNumber = new BigNumber.BigNumber(a);
25
- const bBigNumber = new BigNumber.BigNumber(b);
27
+ const aBigNumber = new BigNumber.BigNumber(typeof a === 'string' ? a.replace(/,/gu, '') : a);
28
+ const bBigNumber = new BigNumber.BigNumber(typeof b === 'string' ? b.replace(/,/gu, '') : b);
26
29
  return aBigNumber.multipliedBy(bBigNumber);
27
30
  },
28
31
  roundNumber(number, threshold, fixed) {
29
32
  const roundedNumber = number.toString().length >= threshold ? Number(number).toFixed(fixed) : number;
30
33
  return roundedNumber;
34
+ },
35
+ /**
36
+ * Format the given number or string to human readable numbers with the given number of decimals
37
+ * @param value - The value to format. It could be a number or string. If it's a string, it will be parsed to a float then formatted.
38
+ * @param decimals - number of decimals after dot
39
+ * @returns
40
+ */
41
+ formatNumberToLocalString(value, decimals = 2) {
42
+ if (value === undefined) {
43
+ return '0.00';
44
+ }
45
+ if (typeof value === 'number') {
46
+ return value.toLocaleString('en-US', {
47
+ maximumFractionDigits: decimals,
48
+ minimumFractionDigits: decimals
49
+ });
50
+ }
51
+ return parseFloat(value).toLocaleString('en-US', {
52
+ maximumFractionDigits: decimals,
53
+ minimumFractionDigits: decimals
54
+ });
55
+ },
56
+ /**
57
+ * Parse a formatted local string back to a number
58
+ * @param value - The formatted string to parse
59
+ * @returns
60
+ */
61
+ parseLocalStringToNumber(value) {
62
+ if (value === undefined) {
63
+ return 0;
64
+ }
65
+
66
+ // Remove any commas used as thousand separators and parse the float
67
+ return parseFloat(value.replace(/,/gu, ''));
31
68
  }
32
69
  };
33
70
  //# sourceMappingURL=NumberUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BigNumber","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","NumberUtil","exports","bigNumber","value","multiply","b","undefined","aBigNumber","bBigNumber","multipliedBy","roundNumber","number","threshold","fixed","roundedNumber","toString","length","Number","toFixed"],"sourceRoot":"../../../src","sources":["utils/NumberUtil.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA0C,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEnC,MAAMY,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxBE,SAASA,CAACC,KAAgC,EAAE;IAC1C,OAAO,IAAI3B,SAAS,CAACA,SAAS,CAAC2B,KAAK,CAAC;EACvC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,QAAQA,CAACd,CAAwC,EAAEe,CAAwC,EAAE;IAC3F,IAAIf,CAAC,KAAKgB,SAAS,IAAID,CAAC,KAAKC,SAAS,EAAE;MACtC,OAAO9B,SAAS,CAACA,SAAS,CAAC,CAAC,CAAC;IAC/B;IAEA,MAAM+B,UAAU,GAAG,IAAI/B,SAAS,CAACA,SAAS,CAACc,CAAC,CAAC;IAC7C,MAAMkB,UAAU,GAAG,IAAIhC,SAAS,CAACA,SAAS,CAAC6B,CAAC,CAAC;IAE7C,OAAOE,UAAU,CAACE,YAAY,CAACD,UAAU,CAAC;EAC5C,CAAC;EAEDE,WAAWA,CAACC,MAAc,EAAEC,SAAiB,EAAEC,KAAa,EAAE;IAC5D,MAAMC,aAAa,GACjBH,MAAM,CAACI,QAAQ,CAAC,CAAC,CAACC,MAAM,IAAIJ,SAAS,GAAGK,MAAM,CAACN,MAAM,CAAC,CAACO,OAAO,CAACL,KAAK,CAAC,GAAGF,MAAM;IAEhF,OAAOG,aAAa;EACtB;AACF,CAAC"}
1
+ {"version":3,"names":["BigNumber","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","NumberUtil","exports","bigNumber","value","replace","multiply","b","undefined","aBigNumber","bBigNumber","multipliedBy","roundNumber","number","threshold","fixed","roundedNumber","toString","length","Number","toFixed","formatNumberToLocalString","decimals","toLocaleString","maximumFractionDigits","minimumFractionDigits","parseFloat","parseLocalStringToNumber"],"sourceRoot":"../../../src","sources":["utils/NumberUtil.ts"],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import * as BigNumber from 'bignumber.js';
2
2
  export const NumberUtil = {
3
3
  bigNumber(value) {
4
+ if (typeof value === 'string') {
5
+ return new BigNumber.BigNumber(value.replace(/,/g, ''));
6
+ }
4
7
  return new BigNumber.BigNumber(value);
5
8
  },
6
9
  /**
@@ -13,13 +16,47 @@ export const NumberUtil = {
13
16
  if (a === undefined || b === undefined) {
14
17
  return BigNumber.BigNumber(0);
15
18
  }
16
- const aBigNumber = new BigNumber.BigNumber(a);
17
- const bBigNumber = new BigNumber.BigNumber(b);
19
+ const aBigNumber = new BigNumber.BigNumber(typeof a === 'string' ? a.replace(/,/gu, '') : a);
20
+ const bBigNumber = new BigNumber.BigNumber(typeof b === 'string' ? b.replace(/,/gu, '') : b);
18
21
  return aBigNumber.multipliedBy(bBigNumber);
19
22
  },
20
23
  roundNumber(number, threshold, fixed) {
21
24
  const roundedNumber = number.toString().length >= threshold ? Number(number).toFixed(fixed) : number;
22
25
  return roundedNumber;
26
+ },
27
+ /**
28
+ * Format the given number or string to human readable numbers with the given number of decimals
29
+ * @param value - The value to format. It could be a number or string. If it's a string, it will be parsed to a float then formatted.
30
+ * @param decimals - number of decimals after dot
31
+ * @returns
32
+ */
33
+ formatNumberToLocalString(value, decimals = 2) {
34
+ if (value === undefined) {
35
+ return '0.00';
36
+ }
37
+ if (typeof value === 'number') {
38
+ return value.toLocaleString('en-US', {
39
+ maximumFractionDigits: decimals,
40
+ minimumFractionDigits: decimals
41
+ });
42
+ }
43
+ return parseFloat(value).toLocaleString('en-US', {
44
+ maximumFractionDigits: decimals,
45
+ minimumFractionDigits: decimals
46
+ });
47
+ },
48
+ /**
49
+ * Parse a formatted local string back to a number
50
+ * @param value - The formatted string to parse
51
+ * @returns
52
+ */
53
+ parseLocalStringToNumber(value) {
54
+ if (value === undefined) {
55
+ return 0;
56
+ }
57
+
58
+ // Remove any commas used as thousand separators and parse the float
59
+ return parseFloat(value.replace(/,/gu, ''));
23
60
  }
24
61
  };
25
62
  //# sourceMappingURL=NumberUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BigNumber","NumberUtil","bigNumber","value","multiply","a","b","undefined","aBigNumber","bBigNumber","multipliedBy","roundNumber","number","threshold","fixed","roundedNumber","toString","length","Number","toFixed"],"sourceRoot":"../../../src","sources":["utils/NumberUtil.ts"],"mappings":"AAAA,OAAO,KAAKA,SAAS,MAAM,cAAc;AAEzC,OAAO,MAAMC,UAAU,GAAG;EACxBC,SAASA,CAACC,KAAgC,EAAE;IAC1C,OAAO,IAAIH,SAAS,CAACA,SAAS,CAACG,KAAK,CAAC;EACvC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,QAAQA,CAACC,CAAwC,EAAEC,CAAwC,EAAE;IAC3F,IAAID,CAAC,KAAKE,SAAS,IAAID,CAAC,KAAKC,SAAS,EAAE;MACtC,OAAOP,SAAS,CAACA,SAAS,CAAC,CAAC,CAAC;IAC/B;IAEA,MAAMQ,UAAU,GAAG,IAAIR,SAAS,CAACA,SAAS,CAACK,CAAC,CAAC;IAC7C,MAAMI,UAAU,GAAG,IAAIT,SAAS,CAACA,SAAS,CAACM,CAAC,CAAC;IAE7C,OAAOE,UAAU,CAACE,YAAY,CAACD,UAAU,CAAC;EAC5C,CAAC;EAEDE,WAAWA,CAACC,MAAc,EAAEC,SAAiB,EAAEC,KAAa,EAAE;IAC5D,MAAMC,aAAa,GACjBH,MAAM,CAACI,QAAQ,CAAC,CAAC,CAACC,MAAM,IAAIJ,SAAS,GAAGK,MAAM,CAACN,MAAM,CAAC,CAACO,OAAO,CAACL,KAAK,CAAC,GAAGF,MAAM;IAEhF,OAAOG,aAAa;EACtB;AACF,CAAC"}
1
+ {"version":3,"names":["BigNumber","NumberUtil","bigNumber","value","replace","multiply","a","b","undefined","aBigNumber","bBigNumber","multipliedBy","roundNumber","number","threshold","fixed","roundedNumber","toString","length","Number","toFixed","formatNumberToLocalString","decimals","toLocaleString","maximumFractionDigits","minimumFractionDigits","parseFloat","parseLocalStringToNumber"],"sourceRoot":"../../../src","sources":["utils/NumberUtil.ts"],"mappings":"AAAA,OAAO,KAAKA,SAAS,MAAM,cAAc;AAEzC,OAAO,MAAMC,UAAU,GAAG;EACxBC,SAASA,CAACC,KAAgC,EAAE;IAC1C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,OAAO,IAAIH,SAAS,CAACA,SAAS,CAACG,KAAK,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD;IAEA,OAAO,IAAIJ,SAAS,CAACA,SAAS,CAACG,KAAK,CAAC;EACvC,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEE,QAAQA,CAACC,CAAwC,EAAEC,CAAwC,EAAE;IAC3F,IAAID,CAAC,KAAKE,SAAS,IAAID,CAAC,KAAKC,SAAS,EAAE;MACtC,OAAOR,SAAS,CAACA,SAAS,CAAC,CAAC,CAAC;IAC/B;IAEA,MAAMS,UAAU,GAAG,IAAIT,SAAS,CAACA,SAAS,CAAC,OAAOM,CAAC,KAAK,QAAQ,GAAGA,CAAC,CAACF,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAGE,CAAC,CAAC;IAC5F,MAAMI,UAAU,GAAG,IAAIV,SAAS,CAACA,SAAS,CAAC,OAAOO,CAAC,KAAK,QAAQ,GAAGA,CAAC,CAACH,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAGG,CAAC,CAAC;IAE5F,OAAOE,UAAU,CAACE,YAAY,CAACD,UAAU,CAAC;EAC5C,CAAC;EAEDE,WAAWA,CAACC,MAAc,EAAEC,SAAiB,EAAEC,KAAa,EAAE;IAC5D,MAAMC,aAAa,GACjBH,MAAM,CAACI,QAAQ,CAAC,CAAC,CAACC,MAAM,IAAIJ,SAAS,GAAGK,MAAM,CAACN,MAAM,CAAC,CAACO,OAAO,CAACL,KAAK,CAAC,GAAGF,MAAM;IAEhF,OAAOG,aAAa;EACtB,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEK,yBAAyBA,CAAClB,KAAkC,EAAEmB,QAAQ,GAAG,CAAC,EAAE;IAC1E,IAAInB,KAAK,KAAKK,SAAS,EAAE;MACvB,OAAO,MAAM;IACf;IAEA,IAAI,OAAOL,KAAK,KAAK,QAAQ,EAAE;MAC7B,OAAOA,KAAK,CAACoB,cAAc,CAAC,OAAO,EAAE;QACnCC,qBAAqB,EAAEF,QAAQ;QAC/BG,qBAAqB,EAAEH;MACzB,CAAC,CAAC;IACJ;IAEA,OAAOI,UAAU,CAACvB,KAAK,CAAC,CAACoB,cAAc,CAAC,OAAO,EAAE;MAC/CC,qBAAqB,EAAEF,QAAQ;MAC/BG,qBAAqB,EAAEH;IACzB,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;AACA;EACEK,wBAAwBA,CAACxB,KAAyB,EAAE;IAClD,IAAIA,KAAK,KAAKK,SAAS,EAAE;MACvB,OAAO,CAAC;IACV;;IAEA;IACA,OAAOkB,UAAU,CAACvB,KAAK,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EAC7C;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=NamesUtil.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NamesUtil.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/NamesUtil.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=NumberUtil.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberUtil.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/NumberUtil.test.ts"],"names":[],"mappings":""}
@@ -9,5 +9,18 @@ export declare const NumberUtil: {
9
9
  */
10
10
  multiply(a: BigNumber.BigNumber.Value | undefined, b: BigNumber.BigNumber.Value | undefined): BigNumber.BigNumber;
11
11
  roundNumber(number: number, threshold: number, fixed: number): string | number;
12
+ /**
13
+ * Format the given number or string to human readable numbers with the given number of decimals
14
+ * @param value - The value to format. It could be a number or string. If it's a string, it will be parsed to a float then formatted.
15
+ * @param decimals - number of decimals after dot
16
+ * @returns
17
+ */
18
+ formatNumberToLocalString(value: string | number | undefined, decimals?: number): string;
19
+ /**
20
+ * Parse a formatted local string back to a number
21
+ * @param value - The formatted string to parse
22
+ * @returns
23
+ */
24
+ parseLocalStringToNumber(value: string | undefined): number;
12
25
  };
13
26
  //# sourceMappingURL=NumberUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/NumberUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,UAAU;qBACJ,mBAAmB,CAAC,KAAK;IAI1C;;;;;OAKG;gBACS,mBAAmB,CAAC,KAAK,GAAG,SAAS,KAAK,mBAAmB,CAAC,KAAK,GAAG,SAAS;wBAWvE,MAAM,aAAa,MAAM,SAAS,MAAM;CAM7D,CAAC"}
1
+ {"version":3,"file":"NumberUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/NumberUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,eAAO,MAAM,UAAU;qBACJ,mBAAmB,CAAC,KAAK;IAQ1C;;;;;OAKG;gBACS,mBAAmB,CAAC,KAAK,GAAG,SAAS,KAAK,mBAAmB,CAAC,KAAK,GAAG,SAAS;wBAWvE,MAAM,aAAa,MAAM,SAAS,MAAM;IAO5D;;;;;OAKG;qCAC8B,MAAM,GAAG,MAAM,GAAG,SAAS;IAiB5D;;;;OAIG;oCAC6B,MAAM,GAAG,SAAS;CAQnD,CAAC"}
@@ -75,5 +75,9 @@ export interface TransactionQuantity {
75
75
  numeric: string;
76
76
  }
77
77
  export type SocialProvider = 'apple' | 'x' | 'discord' | 'farcaster';
78
+ export type ThemeMode = 'dark' | 'light';
79
+ export interface ThemeVariables {
80
+ accent?: string;
81
+ }
78
82
  export {};
79
83
  //# sourceMappingURL=TypeUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/TypeUtil.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"TypeUtil.d.ts","sourceRoot":"","sources":["../../../src/utils/TypeUtil.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-common-react-native",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "main": "lib/commonjs/index.js",
5
5
  "types": "lib/typescript/index.d.ts",
6
6
  "module": "lib/module/index.js",
@@ -0,0 +1,24 @@
1
+ import { ConstantsUtil, NamesUtil } from '../index';
2
+
3
+ describe('NamesUtil', () => {
4
+ describe('isReownName', () => {
5
+ test('returns true for names ending with legacy suffix', () => {
6
+ const legacyName = `testname${ConstantsUtil.WC_NAME_SUFFIX_LEGACY}`;
7
+ expect(NamesUtil.isReownName(legacyName)).toBe(true);
8
+ });
9
+
10
+ test('returns true for names ending with current suffix', () => {
11
+ const currentName = `testname${ConstantsUtil.WC_NAME_SUFFIX}`;
12
+ expect(NamesUtil.isReownName(currentName)).toBe(true);
13
+ });
14
+
15
+ test('returns false for names not ending with either suffix', () => {
16
+ expect(NamesUtil.isReownName('testname')).toBe(false);
17
+ expect(NamesUtil.isReownName('testname.com')).toBe(false);
18
+ });
19
+
20
+ test('returns false for empty string', () => {
21
+ expect(NamesUtil.isReownName('')).toBe(false);
22
+ });
23
+ });
24
+ });
@@ -0,0 +1,46 @@
1
+ import { NumberUtil } from '../utils/NumberUtil';
2
+
3
+ // -- Tests --------------------------------------------------------------------
4
+ describe('NumberUtil', () => {
5
+ it('should return isGreaterThan as expected', () => {
6
+ const isGreaterThan = NumberUtil.bigNumber('6.348').isGreaterThan('0');
7
+ expect(isGreaterThan).toBe(true);
8
+ });
9
+ });
10
+
11
+ describe('NumberUtil.parseLocalStringToNumber', () => {
12
+ it('should return 0 when value is undefined', () => {
13
+ const result = NumberUtil.parseLocalStringToNumber(undefined);
14
+ expect(result).toBe(0);
15
+ });
16
+
17
+ it('should return the number when value is a string', () => {
18
+ const result = NumberUtil.parseLocalStringToNumber('123.45');
19
+ expect(result).toBe(123.45);
20
+ });
21
+
22
+ it('should return the number when value is a string with a lot of decimals', () => {
23
+ const result = NumberUtil.parseLocalStringToNumber('123.4567890123456789');
24
+ expect(result).toBe(123.4567890123456789);
25
+ });
26
+
27
+ it('should return the number when value is a string with zero and a lot of decimals', () => {
28
+ const result = NumberUtil.parseLocalStringToNumber('0.000000000000000001');
29
+ expect(result).toBe(0.000000000000000001);
30
+ });
31
+
32
+ it('should return the number when value is a string with a negative sign', () => {
33
+ const result = NumberUtil.parseLocalStringToNumber('-123.45');
34
+ expect(result).toBe(-123.45);
35
+ });
36
+
37
+ it('should return the number when value is a string with commas', () => {
38
+ const result = NumberUtil.parseLocalStringToNumber('123,456.78');
39
+ expect(result).toBe(123456.78);
40
+ });
41
+
42
+ it('should return the number when value is a string with a lot of commas', () => {
43
+ const result = NumberUtil.parseLocalStringToNumber('123,456,789.123,456,789');
44
+ expect(result).toBe(123456789.123456789);
45
+ });
46
+ });
@@ -2,6 +2,10 @@ import * as BigNumber from 'bignumber.js';
2
2
 
3
3
  export const NumberUtil = {
4
4
  bigNumber(value: BigNumber.BigNumber.Value) {
5
+ if (typeof value === 'string') {
6
+ return new BigNumber.BigNumber(value.replace(/,/g, ''));
7
+ }
8
+
5
9
  return new BigNumber.BigNumber(value);
6
10
  },
7
11
 
@@ -16,8 +20,8 @@ export const NumberUtil = {
16
20
  return BigNumber.BigNumber(0);
17
21
  }
18
22
 
19
- const aBigNumber = new BigNumber.BigNumber(a);
20
- const bBigNumber = new BigNumber.BigNumber(b);
23
+ const aBigNumber = new BigNumber.BigNumber(typeof a === 'string' ? a.replace(/,/gu, '') : a);
24
+ const bBigNumber = new BigNumber.BigNumber(typeof b === 'string' ? b.replace(/,/gu, '') : b);
21
25
 
22
26
  return aBigNumber.multipliedBy(bBigNumber);
23
27
  },
@@ -27,5 +31,42 @@ export const NumberUtil = {
27
31
  number.toString().length >= threshold ? Number(number).toFixed(fixed) : number;
28
32
 
29
33
  return roundedNumber;
34
+ },
35
+
36
+ /**
37
+ * Format the given number or string to human readable numbers with the given number of decimals
38
+ * @param value - The value to format. It could be a number or string. If it's a string, it will be parsed to a float then formatted.
39
+ * @param decimals - number of decimals after dot
40
+ * @returns
41
+ */
42
+ formatNumberToLocalString(value: string | number | undefined, decimals = 2) {
43
+ if (value === undefined) {
44
+ return '0.00';
45
+ }
46
+
47
+ if (typeof value === 'number') {
48
+ return value.toLocaleString('en-US', {
49
+ maximumFractionDigits: decimals,
50
+ minimumFractionDigits: decimals
51
+ });
52
+ }
53
+
54
+ return parseFloat(value).toLocaleString('en-US', {
55
+ maximumFractionDigits: decimals,
56
+ minimumFractionDigits: decimals
57
+ });
58
+ },
59
+ /**
60
+ * Parse a formatted local string back to a number
61
+ * @param value - The formatted string to parse
62
+ * @returns
63
+ */
64
+ parseLocalStringToNumber(value: string | undefined) {
65
+ if (value === undefined) {
66
+ return 0;
67
+ }
68
+
69
+ // Remove any commas used as thousand separators and parse the float
70
+ return parseFloat(value.replace(/,/gu, ''));
30
71
  }
31
72
  };
@@ -87,3 +87,9 @@ export interface TransactionQuantity {
87
87
  }
88
88
 
89
89
  export type SocialProvider = 'apple' | 'x' | 'discord' | 'farcaster';
90
+
91
+ export type ThemeMode = 'dark' | 'light';
92
+
93
+ export interface ThemeVariables {
94
+ accent?: string;
95
+ }