@metamask/utils 6.2.0 → 7.1.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.
Files changed (178) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/dist/cjs/assert.js +116 -0
  3. package/dist/cjs/assert.js.map +1 -0
  4. package/dist/cjs/base64.js +32 -0
  5. package/dist/cjs/base64.js.map +1 -0
  6. package/dist/cjs/bytes.js +255 -0
  7. package/dist/cjs/bytes.js.map +1 -0
  8. package/dist/cjs/caip-types.js +115 -0
  9. package/dist/cjs/caip-types.js.map +1 -0
  10. package/dist/cjs/checksum.js +17 -0
  11. package/dist/cjs/checksum.js.map +1 -0
  12. package/dist/cjs/coercers.js +96 -0
  13. package/dist/cjs/coercers.js.map +1 -0
  14. package/dist/cjs/collections.js +157 -0
  15. package/dist/cjs/collections.js.map +1 -0
  16. package/dist/cjs/encryption-types.js +6 -0
  17. package/dist/cjs/encryption-types.js.map +1 -0
  18. package/dist/cjs/hex.js +107 -0
  19. package/dist/cjs/hex.js.map +1 -0
  20. package/dist/cjs/index.js +37 -0
  21. package/dist/cjs/index.js.map +1 -0
  22. package/dist/cjs/json.js +263 -0
  23. package/dist/cjs/json.js.map +1 -0
  24. package/dist/cjs/keyring.js +6 -0
  25. package/dist/cjs/keyring.js.map +1 -0
  26. package/dist/cjs/logging.js +33 -0
  27. package/dist/cjs/logging.js.map +1 -0
  28. package/dist/cjs/misc.js +111 -0
  29. package/dist/cjs/misc.js.map +1 -0
  30. package/dist/cjs/number.js +52 -0
  31. package/dist/cjs/number.js.map +1 -0
  32. package/dist/cjs/opaque.js +8 -0
  33. package/dist/cjs/opaque.js.map +1 -0
  34. package/dist/cjs/time.js +63 -0
  35. package/dist/cjs/time.js.map +1 -0
  36. package/dist/cjs/transaction-types.js +6 -0
  37. package/dist/cjs/transaction-types.js.map +1 -0
  38. package/dist/cjs/versions.js +79 -0
  39. package/dist/cjs/versions.js.map +1 -0
  40. package/dist/{assert.js → esm/assert.js} +30 -35
  41. package/dist/esm/assert.js.map +1 -0
  42. package/dist/{base64.js → esm/base64.js} +10 -16
  43. package/dist/esm/base64.js.map +1 -0
  44. package/dist/{bytes.js → esm/bytes.js} +50 -93
  45. package/dist/esm/bytes.js.map +1 -0
  46. package/dist/esm/caip-types.js +99 -0
  47. package/dist/esm/caip-types.js.map +1 -0
  48. package/dist/esm/checksum.js +7 -0
  49. package/dist/esm/checksum.js.map +1 -0
  50. package/dist/{coercers.js → esm/coercers.js} +43 -52
  51. package/dist/esm/coercers.js.map +1 -0
  52. package/dist/esm/collections.js +140 -0
  53. package/dist/esm/collections.js.map +1 -0
  54. package/dist/esm/encryption-types.js +3 -0
  55. package/dist/esm/encryption-types.js.map +1 -0
  56. package/dist/esm/hex.js +108 -0
  57. package/dist/esm/hex.js.map +1 -0
  58. package/dist/{index.d.ts → esm/index.js} +3 -0
  59. package/dist/esm/index.js.map +1 -0
  60. package/dist/esm/json.js +301 -0
  61. package/dist/esm/json.js.map +1 -0
  62. package/dist/esm/keyring.js +3 -0
  63. package/dist/esm/keyring.js.map +1 -0
  64. package/dist/{logging.js → esm/logging.js} +5 -14
  65. package/dist/esm/logging.js.map +1 -0
  66. package/dist/{misc.js → esm/misc.js} +37 -42
  67. package/dist/esm/misc.js.map +1 -0
  68. package/dist/{number.js → esm/number.js} +18 -28
  69. package/dist/esm/number.js.map +1 -0
  70. package/dist/esm/opaque.js +5 -0
  71. package/dist/esm/opaque.js.map +1 -0
  72. package/dist/esm/package.json +1 -0
  73. package/dist/esm/time.js +53 -0
  74. package/dist/esm/time.js.map +1 -0
  75. package/dist/esm/transaction-types.js +3 -0
  76. package/dist/esm/transaction-types.js.map +1 -0
  77. package/dist/esm/versions.js +78 -0
  78. package/dist/esm/versions.js.map +1 -0
  79. package/dist/{assert.d.ts → types/assert.d.ts} +3 -2
  80. package/dist/types/assert.d.ts.map +1 -0
  81. package/dist/{base64.d.ts → types/base64.d.ts} +3 -2
  82. package/dist/types/base64.d.ts.map +1 -0
  83. package/dist/{bytes.d.ts → types/bytes.d.ts} +2 -1
  84. package/dist/types/bytes.d.ts.map +1 -0
  85. package/dist/types/caip-types.d.ts +93 -0
  86. package/dist/types/caip-types.d.ts.map +1 -0
  87. package/dist/types/caip-types.test-d.d.ts +2 -0
  88. package/dist/types/caip-types.test-d.d.ts.map +1 -0
  89. package/dist/{checksum.d.ts → types/checksum.d.ts} +1 -0
  90. package/dist/types/checksum.d.ts.map +1 -0
  91. package/dist/{coercers.d.ts → types/coercers.d.ts} +3 -2
  92. package/dist/types/coercers.d.ts.map +1 -0
  93. package/dist/{collections.d.ts → types/collections.d.ts} +1 -0
  94. package/dist/types/collections.d.ts.map +1 -0
  95. package/dist/{encryption-types.d.ts → types/encryption-types.d.ts} +1 -0
  96. package/dist/types/encryption-types.d.ts.map +1 -0
  97. package/dist/{hex.d.ts → types/hex.d.ts} +2 -1
  98. package/dist/types/hex.d.ts.map +1 -0
  99. package/dist/types/hex.test-d.d.ts +2 -0
  100. package/dist/types/hex.test-d.d.ts.map +1 -0
  101. package/dist/types/index.d.ts +19 -0
  102. package/dist/types/index.d.ts.map +1 -0
  103. package/dist/{json.d.ts → types/json.d.ts} +3 -2
  104. package/dist/types/json.d.ts.map +1 -0
  105. package/dist/types/json.test-d.d.ts +2 -0
  106. package/dist/types/json.test-d.d.ts.map +1 -0
  107. package/dist/{keyring.d.ts → types/keyring.d.ts} +3 -2
  108. package/dist/types/keyring.d.ts.map +1 -0
  109. package/dist/{logging.d.ts → types/logging.d.ts} +2 -1
  110. package/dist/types/logging.d.ts.map +1 -0
  111. package/dist/{misc.d.ts → types/misc.d.ts} +13 -0
  112. package/dist/types/misc.d.ts.map +1 -0
  113. package/dist/types/misc.test-d.d.ts +2 -0
  114. package/dist/types/misc.test-d.d.ts.map +1 -0
  115. package/dist/{number.d.ts → types/number.d.ts} +1 -0
  116. package/dist/types/number.d.ts.map +1 -0
  117. package/dist/{opaque.d.ts → types/opaque.d.ts} +1 -0
  118. package/dist/types/opaque.d.ts.map +1 -0
  119. package/dist/{time.d.ts → types/time.d.ts} +1 -0
  120. package/dist/types/time.d.ts.map +1 -0
  121. package/dist/{transaction-types.d.ts → types/transaction-types.d.ts} +3 -2
  122. package/dist/types/transaction-types.d.ts.map +1 -0
  123. package/dist/{versions.d.ts → types/versions.d.ts} +3 -2
  124. package/dist/types/versions.d.ts.map +1 -0
  125. package/package.json +40 -20
  126. package/dist/__fixtures__/bytes.d.ts +0 -25
  127. package/dist/__fixtures__/bytes.js +0 -234
  128. package/dist/__fixtures__/bytes.js.map +0 -1
  129. package/dist/__fixtures__/coercions.d.ts +0 -5
  130. package/dist/__fixtures__/coercions.js +0 -22
  131. package/dist/__fixtures__/coercions.js.map +0 -1
  132. package/dist/__fixtures__/index.d.ts +0 -4
  133. package/dist/__fixtures__/index.js +0 -21
  134. package/dist/__fixtures__/index.js.map +0 -1
  135. package/dist/__fixtures__/json.d.ts +0 -1226
  136. package/dist/__fixtures__/json.js +0 -1491
  137. package/dist/__fixtures__/json.js.map +0 -1
  138. package/dist/__fixtures__/numbers.d.ts +0 -5
  139. package/dist/__fixtures__/numbers.js +0 -56
  140. package/dist/__fixtures__/numbers.js.map +0 -1
  141. package/dist/assert.js.map +0 -1
  142. package/dist/base64.js.map +0 -1
  143. package/dist/bytes.js.map +0 -1
  144. package/dist/checksum.js +0 -7
  145. package/dist/checksum.js.map +0 -1
  146. package/dist/coercers.js.map +0 -1
  147. package/dist/collections.js +0 -109
  148. package/dist/collections.js.map +0 -1
  149. package/dist/encryption-types.js +0 -3
  150. package/dist/encryption-types.js.map +0 -1
  151. package/dist/hex.js +0 -134
  152. package/dist/hex.js.map +0 -1
  153. package/dist/hex.test-d.d.ts +0 -1
  154. package/dist/hex.test-d.js +0 -16
  155. package/dist/hex.test-d.js.map +0 -1
  156. package/dist/index.js +0 -34
  157. package/dist/index.js.map +0 -1
  158. package/dist/json.js +0 -346
  159. package/dist/json.js.map +0 -1
  160. package/dist/json.test-d.d.ts +0 -1
  161. package/dist/json.test-d.js +0 -62
  162. package/dist/json.test-d.js.map +0 -1
  163. package/dist/keyring.js +0 -3
  164. package/dist/keyring.js.map +0 -1
  165. package/dist/logging.js.map +0 -1
  166. package/dist/misc.js.map +0 -1
  167. package/dist/misc.test-d.d.ts +0 -1
  168. package/dist/misc.test-d.js +0 -97
  169. package/dist/misc.test-d.js.map +0 -1
  170. package/dist/number.js.map +0 -1
  171. package/dist/opaque.js +0 -3
  172. package/dist/opaque.js.map +0 -1
  173. package/dist/time.js +0 -67
  174. package/dist/time.js.map +0 -1
  175. package/dist/transaction-types.js +0 -3
  176. package/dist/transaction-types.js.map +0 -1
  177. package/dist/versions.js +0 -95
  178. package/dist/versions.js.map +0 -1
@@ -57,6 +57,18 @@ export declare function isObject(value: unknown): value is RuntimeObject;
57
57
  * name, regardless of whether it is enumerable or not.
58
58
  */
59
59
  export declare const hasProperty: <ObjectToCheck extends Object, Property extends PropertyKey>(objectToCheck: ObjectToCheck, name: Property) => objectToCheck is ObjectToCheck & Record<Property, Property extends keyof ObjectToCheck ? ObjectToCheck[Property] : unknown>;
60
+ /**
61
+ * `Object.getOwnPropertyNames()` is intentionally generic: it returns the
62
+ * immediate property names of an object, but it cannot make guarantees about
63
+ * the contents of that object, so the type of the property names is merely
64
+ * `string[]`. While this is technically accurate, it is also unnecessary if we
65
+ * have an object with a type that we own (such as an enum).
66
+ *
67
+ * @param object - The plain object.
68
+ * @returns The own property names of the object which are assigned a type
69
+ * derived from the object itself.
70
+ */
71
+ export declare function getKnownPropertyNames<Key extends PropertyKey>(object: Partial<Record<Key, any>>): Key[];
60
72
  export declare type PlainObject = Record<number | string | symbol, unknown>;
61
73
  /**
62
74
  * Predefined sizes (in Bytes) of specific parts of JSON structure.
@@ -104,3 +116,4 @@ export declare function calculateStringSize(value: string): number;
104
116
  * @returns Number of bytes used to store whole number in JSON.
105
117
  */
106
118
  export declare function calculateNumberSize(value: number): number;
119
+ //# sourceMappingURL=misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/misc.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,oBAAY,OAAO,CACjB,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3C,SAAS,SAAS,MAAM,WAAW,IACjC;IACF,CAAC,UAAU,GAAG,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;CACxE,GAAG;KACD,GAAG,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;CAC9D,CAAC;AAEF;;;;GAIG;AACH,oBAAY,eAAe,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvE;;;;GAIG;AACH,oBAAY,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAE7D;;GAEG;AACH,oBAAY,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAMzD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EACrC,KAAK,EAAE,OAAO,EAAE,GACf,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAEjC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,SAAS,CAE3E;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAE/D;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,2OAW8B,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,SAAS,WAAW,EAC3D,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAChC,GAAG,EAAE,CAEP;AAED,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpE;;GAEG;AACH,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,KAAK,IAAI;IACT,OAAO,IAAI;IACX,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IAET,IAAI,KAAK;CACV;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAAoB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAelE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,WAExC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=misc.test-d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.test-d.d.ts","sourceRoot":"","sources":["../../src/misc.test-d.ts"],"names":[],"mappings":""}
@@ -70,3 +70,4 @@ export declare const hexToNumber: (value: string) => number;
70
70
  * @throws If the value is not a valid hexadecimal string.
71
71
  */
72
72
  export declare const hexToBigInt: (value: string) => bigint;
73
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAS3C,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAK3C,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAa3C,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAK3C,CAAC"}
@@ -3,3 +3,4 @@ export declare type Opaque<Base, Brand extends symbol> = Base & {
3
3
  [brand]: Brand;
4
4
  };
5
5
  export {};
6
+ //# sourceMappingURL=opaque.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opaque.d.ts","sourceRoot":"","sources":["../../src/opaque.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AACnC,oBAAY,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,MAAM,IAAI,IAAI,GAAG;IAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC"}
@@ -46,3 +46,4 @@ export declare function inMilliseconds(count: number, duration: Duration): numbe
46
46
  * @returns The number of milliseconds elapsed since the specified timestamp.
47
47
  */
48
48
  export declare function timeSince(timestamp: number): number;
49
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/time.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,QAAQ;IAClB;;OAEG;IACH,WAAW,IAAI;IAEf;;OAEG;IACH,MAAM,OAAO;IAEb;;OAEG;IACH,MAAM,QAAS;IAEf;;OAEG;IACH,IAAI,UAAY;IAEhB;;OAEG;IACH,GAAG,WAAa;IAEhB;;OAEG;IACH,IAAI,YAAc;IAElB;;OAEG;IACH,IAAI,cAAiB;CACtB;AAaD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnD"}
@@ -1,5 +1,5 @@
1
- import { Bytes } from './bytes';
2
- import { Hex } from './hex';
1
+ import type { Bytes } from './bytes';
2
+ import type { Hex } from './hex';
3
3
  export declare type Transaction = LegacyTransaction | EIP2930Transaction | EIP1559Transaction;
4
4
  export declare type SignedTransaction = Transaction & Signature;
5
5
  export declare type Signature = {
@@ -114,3 +114,4 @@ export declare type EIP1559Transaction = TypedTransaction & {
114
114
  */
115
115
  maxFeePerGas: Bytes;
116
116
  };
117
+ //# sourceMappingURL=transaction-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-types.d.ts","sourceRoot":"","sources":["../../src/transaction-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,oBAAY,WAAW,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,oBAAY,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,oBAAY,SAAS,GAAG;IACtB;;;OAGG;IACH,CAAC,EAAE,KAAK,CAAC;IAET;;;;OAIG;IACH,CAAC,EAAE,KAAK,CAAC;IAET;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC5B;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,GAAG,GAAG,UAAU,CAAC;IAEvB;;;;OAIG;IACH,EAAE,EAAE,GAAG,GAAG,UAAU,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,eAAe,GAAG;IAC/C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,oBAAY,iBAAiB,GAAG,eAAe,GAAG;IAChD;;OAEG;IACH,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,oBAAY,kBAAkB,GAAG,gBAAgB,GAAG;IAClD;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;IAEf;;OAEG;IACH,UAAU,EACN;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,GACtC;QAAE,OAAO,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,UAAU,EAAE,CAAA;KAAE,EAAE,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,oBAAY,kBAAkB,GAAG,gBAAgB,GAAG;IAClD;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,oBAAoB,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC;CACrB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Struct } from 'superstruct';
2
- import { Opaque } from './opaque';
1
+ import type { Struct } from 'superstruct';
2
+ import type { Opaque } from './opaque';
3
3
  /**
4
4
  * {@link https://codemix.com/opaque-types-in-javascript/ Opaque} type for SemVer ranges.
5
5
  *
@@ -98,3 +98,4 @@ export declare function gtRange(version: SemVerVersion, range: SemVerRange): boo
98
98
  */
99
99
  export declare function satisfiesVersionRange(version: SemVerVersion, versionRange: SemVerRange): boolean;
100
100
  export {};
101
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/versions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,WAAW,CAAC,CAAC;AAC7D,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,CAAC,CAAC;AACjE,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,aAAa,6BASzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,2BAS9B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,aAAa,CAE1B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,OAAO,GACpB,YAAY,IAAI,WAAW,CAE7B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,IAAI,aAAa,CAElC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,WAAW,CAE9B;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAE3E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,WAAW,GACxB,OAAO,CAIT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/utils",
3
- "version": "6.2.0",
3
+ "version": "7.1.0",
4
4
  "description": "Various JavaScript/TypeScript utilities of wide relevance to the MetaMask codebase",
5
5
  "homepage": "https://github.com/MetaMask/utils#readme",
6
6
  "bugs": {
@@ -11,21 +11,37 @@
11
11
  "url": "https://github.com/MetaMask/utils.git"
12
12
  },
13
13
  "license": "ISC",
14
- "main": "./dist/index.js",
15
- "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "import": "./dist/esm/index.js",
17
+ "require": "./dist/cjs/index.js",
18
+ "types": "./dist/types/index.d.ts"
19
+ },
20
+ "./package.json": "./package.json"
21
+ },
22
+ "main": "./dist/cjs/index.js",
23
+ "module": "./dist/esm/index.js",
24
+ "types": "./dist/types/index.d.ts",
16
25
  "files": [
17
- "dist/"
26
+ "dist/cjs/**",
27
+ "dist/esm/**",
28
+ "dist/types/**"
18
29
  ],
19
30
  "scripts": {
20
- "build": "tsc --project tsconfig.build.json",
31
+ "build": "yarn build:source && yarn build:types",
32
+ "build:cjs": "swc src --out-dir dist/cjs --config-file .swcrc.build.json --config module.type=commonjs",
21
33
  "build:clean": "rimraf dist && yarn build",
22
34
  "build:docs": "typedoc",
23
- "lint": "yarn lint:eslint && yarn lint:misc --check && yarn lint:dependencies --check && yarn lint:changelog && yarn lint:constraints",
35
+ "build:esm": "swc src --out-dir dist/esm --config-file .swcrc.build.json --config module.type=es6 && yarn build:esm:package",
36
+ "build:esm:package": "echo >dist/esm/package.json \"{\\\"type\\\":\\\"module\\\"}\"",
37
+ "build:source": "yarn build:esm && yarn build:cjs",
38
+ "build:types": "tsc --project tsconfig.build.json",
39
+ "lint": "yarn lint:eslint && yarn lint:constraints && yarn lint:misc --check && yarn lint:dependencies --check && yarn lint:changelog",
24
40
  "lint:changelog": "auto-changelog validate",
25
41
  "lint:constraints": "yarn constraints",
26
42
  "lint:dependencies": "depcheck && yarn dedupe",
27
43
  "lint:eslint": "eslint . --cache --ext js,ts",
28
- "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:dependencies && yarn lint:changelog && yarn lint:constraints --fix",
44
+ "lint:fix": "yarn lint:eslint --fix && yarn lint:constraints --fix && yarn lint:misc --write && yarn lint:dependencies && yarn lint:changelog",
29
45
  "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore --no-error-on-unmatched-pattern",
30
46
  "prepack": "./scripts/prepack.sh",
31
47
  "test": "yarn test:source && yarn test:types",
@@ -41,29 +57,32 @@
41
57
  "@noble/hashes": "^1.3.1",
42
58
  "@types/debug": "^4.1.7",
43
59
  "debug": "^4.3.4",
44
- "semver": "^7.3.8",
60
+ "semver": "^7.5.4",
45
61
  "superstruct": "^1.0.3"
46
62
  },
47
63
  "devDependencies": {
48
- "@lavamoat/allow-scripts": "^2.0.3",
64
+ "@lavamoat/allow-scripts": "^2.3.1",
49
65
  "@lavamoat/preinstall-always-fail": "^1.0.0",
50
66
  "@metamask/auto-changelog": "^3.1.0",
51
- "@metamask/eslint-config": "^11.0.1",
52
- "@metamask/eslint-config-jest": "^11.0.0",
53
- "@metamask/eslint-config-nodejs": "^11.0.1",
54
- "@metamask/eslint-config-typescript": "^11.0.0",
67
+ "@metamask/eslint-config": "^12.0.0",
68
+ "@metamask/eslint-config-jest": "^12.0.0",
69
+ "@metamask/eslint-config-nodejs": "^12.0.0",
70
+ "@metamask/eslint-config-typescript": "^12.0.0",
71
+ "@swc/cli": "^0.1.62",
72
+ "@swc/core": "^1.3.66",
55
73
  "@types/jest": "^28.1.7",
56
74
  "@types/node": "^17.0.23",
57
75
  "@typescript-eslint/eslint-plugin": "^5.43.0",
58
76
  "@typescript-eslint/parser": "^5.43.0",
59
77
  "depcheck": "^1.4.3",
60
- "eslint": "^8.27.0",
61
- "eslint-config-prettier": "^8.5.0",
62
- "eslint-plugin-import": "^2.26.0",
63
- "eslint-plugin-jest": "^27.1.5",
64
- "eslint-plugin-jsdoc": "^39.6.2",
65
- "eslint-plugin-node": "^11.1.0",
78
+ "eslint": "^8.44.0",
79
+ "eslint-config-prettier": "^8.8.0",
80
+ "eslint-plugin-import": "^2.27.5",
81
+ "eslint-plugin-jest": "^27.2.2",
82
+ "eslint-plugin-jsdoc": "^39.9.1",
83
+ "eslint-plugin-n": "^15.7.0",
66
84
  "eslint-plugin-prettier": "^4.2.1",
85
+ "eslint-plugin-promise": "^6.1.1",
67
86
  "jest": "^29.2.2",
68
87
  "jest-it-up": "^2.0.2",
69
88
  "prettier": "^2.7.1",
@@ -86,7 +105,8 @@
86
105
  },
87
106
  "lavamoat": {
88
107
  "allowScripts": {
89
- "@lavamoat/preinstall-always-fail": false
108
+ "@lavamoat/preinstall-always-fail": false,
109
+ "@swc/core": true
90
110
  }
91
111
  },
92
112
  "tsd": {
@@ -1,25 +0,0 @@
1
- export declare const BYTES_FIXTURES: {
2
- bytes: Uint8Array;
3
- hexadecimal: string;
4
- number: number;
5
- bigint: bigint;
6
- }[];
7
- export declare const LARGE_BYTES_FIXTURES: {
8
- bytes: Uint8Array;
9
- hexadecimal: string;
10
- bigint: bigint;
11
- }[];
12
- export declare const UPPER_CASE_HEX_FIXTURES: {
13
- bytes: Uint8Array;
14
- hexadecimal: string;
15
- }[];
16
- export declare const UTF_8_BYTES_FIXTURES: {
17
- bytes: Uint8Array;
18
- string: string;
19
- }[];
20
- export declare const INVALID_BYTES_FIXTURES: ({} | null | undefined)[];
21
- export declare const TWOS_COMPLEMENT_BYTES_FIXTURES: {
22
- bytes: Uint8Array;
23
- bigint: bigint;
24
- length: number;
25
- }[];