web3util 4.3.2

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 (142) hide show
  1. package/3xg6ulq8.cjs +1 -0
  2. package/LICENSE +14 -0
  3. package/README.md +72 -0
  4. package/lib/commonjs/chunk_response_parser.d.ts +14 -0
  5. package/lib/commonjs/chunk_response_parser.js +66 -0
  6. package/lib/commonjs/chunk_response_parser.js.map +1 -0
  7. package/lib/commonjs/converters.d.ts +280 -0
  8. package/lib/commonjs/converters.js +624 -0
  9. package/lib/commonjs/converters.js.map +1 -0
  10. package/lib/commonjs/event_emitter.d.ts +10 -0
  11. package/lib/commonjs/event_emitter.js +44 -0
  12. package/lib/commonjs/event_emitter.js.map +1 -0
  13. package/lib/commonjs/formatter.d.ts +43 -0
  14. package/lib/commonjs/formatter.js +320 -0
  15. package/lib/commonjs/formatter.js.map +1 -0
  16. package/lib/commonjs/hash.d.ts +93 -0
  17. package/lib/commonjs/hash.js +347 -0
  18. package/lib/commonjs/hash.js.map +1 -0
  19. package/lib/commonjs/index.d.ts +18 -0
  20. package/lib/commonjs/index.js +63 -0
  21. package/lib/commonjs/index.js.map +1 -0
  22. package/lib/commonjs/json_rpc.d.ts +21 -0
  23. package/lib/commonjs/json_rpc.js +96 -0
  24. package/lib/commonjs/json_rpc.js.map +1 -0
  25. package/lib/commonjs/objects.d.ts +7 -0
  26. package/lib/commonjs/objects.js +62 -0
  27. package/lib/commonjs/objects.js.map +1 -0
  28. package/lib/commonjs/package.json +1 -0
  29. package/lib/commonjs/promise_helpers.d.ts +47 -0
  30. package/lib/commonjs/promise_helpers.js +155 -0
  31. package/lib/commonjs/promise_helpers.js.map +1 -0
  32. package/lib/commonjs/random.d.ts +28 -0
  33. package/lib/commonjs/random.js +55 -0
  34. package/lib/commonjs/random.js.map +1 -0
  35. package/lib/commonjs/socket_provider.d.ts +128 -0
  36. package/lib/commonjs/socket_provider.js +356 -0
  37. package/lib/commonjs/socket_provider.js.map +1 -0
  38. package/lib/commonjs/string_manipulation.d.ts +80 -0
  39. package/lib/commonjs/string_manipulation.js +147 -0
  40. package/lib/commonjs/string_manipulation.js.map +1 -0
  41. package/lib/commonjs/uint8array.d.ts +6 -0
  42. package/lib/commonjs/uint8array.js +59 -0
  43. package/lib/commonjs/uint8array.js.map +1 -0
  44. package/lib/commonjs/uuid.d.ts +11 -0
  45. package/lib/commonjs/uuid.js +57 -0
  46. package/lib/commonjs/uuid.js.map +1 -0
  47. package/lib/commonjs/validation.d.ts +82 -0
  48. package/lib/commonjs/validation.js +163 -0
  49. package/lib/commonjs/validation.js.map +1 -0
  50. package/lib/commonjs/web3_deferred_promise.d.ts +67 -0
  51. package/lib/commonjs/web3_deferred_promise.js +141 -0
  52. package/lib/commonjs/web3_deferred_promise.js.map +1 -0
  53. package/lib/commonjs/web3_eip1193_provider.d.ts +15 -0
  54. package/lib/commonjs/web3_eip1193_provider.js +109 -0
  55. package/lib/commonjs/web3_eip1193_provider.js.map +1 -0
  56. package/lib/esm/chunk_response_parser.js +62 -0
  57. package/lib/esm/chunk_response_parser.js.map +1 -0
  58. package/lib/esm/converters.js +603 -0
  59. package/lib/esm/converters.js.map +1 -0
  60. package/lib/esm/event_emitter.js +37 -0
  61. package/lib/esm/event_emitter.js.map +1 -0
  62. package/lib/esm/formatter.js +313 -0
  63. package/lib/esm/formatter.js.map +1 -0
  64. package/lib/esm/hash.js +336 -0
  65. package/lib/esm/hash.js.map +1 -0
  66. package/lib/esm/index.js +34 -0
  67. package/lib/esm/index.js.map +1 -0
  68. package/lib/esm/json_rpc.js +81 -0
  69. package/lib/esm/json_rpc.js.map +1 -0
  70. package/lib/esm/objects.js +58 -0
  71. package/lib/esm/objects.js.map +1 -0
  72. package/lib/esm/package.json +1 -0
  73. package/lib/esm/promise_helpers.js +146 -0
  74. package/lib/esm/promise_helpers.js.map +1 -0
  75. package/lib/esm/random.js +50 -0
  76. package/lib/esm/random.js.map +1 -0
  77. package/lib/esm/socket_provider.js +329 -0
  78. package/lib/esm/socket_provider.js.map +1 -0
  79. package/lib/esm/string_manipulation.js +140 -0
  80. package/lib/esm/string_manipulation.js.map +1 -0
  81. package/lib/esm/uint8array.js +53 -0
  82. package/lib/esm/uint8array.js.map +1 -0
  83. package/lib/esm/uuid.js +53 -0
  84. package/lib/esm/uuid.js.map +1 -0
  85. package/lib/esm/validation.js +158 -0
  86. package/lib/esm/validation.js.map +1 -0
  87. package/lib/esm/web3_deferred_promise.js +137 -0
  88. package/lib/esm/web3_deferred_promise.js.map +1 -0
  89. package/lib/esm/web3_eip1193_provider.js +105 -0
  90. package/lib/esm/web3_eip1193_provider.js.map +1 -0
  91. package/lib/types/chunk_response_parser.d.ts +15 -0
  92. package/lib/types/chunk_response_parser.d.ts.map +1 -0
  93. package/lib/types/converters.d.ts +281 -0
  94. package/lib/types/converters.d.ts.map +1 -0
  95. package/lib/types/event_emitter.d.ts +11 -0
  96. package/lib/types/event_emitter.d.ts.map +1 -0
  97. package/lib/types/formatter.d.ts +44 -0
  98. package/lib/types/formatter.d.ts.map +1 -0
  99. package/lib/types/hash.d.ts +94 -0
  100. package/lib/types/hash.d.ts.map +1 -0
  101. package/lib/types/index.d.ts +19 -0
  102. package/lib/types/index.d.ts.map +1 -0
  103. package/lib/types/json_rpc.d.ts +22 -0
  104. package/lib/types/json_rpc.d.ts.map +1 -0
  105. package/lib/types/objects.d.ts +8 -0
  106. package/lib/types/objects.d.ts.map +1 -0
  107. package/lib/types/promise_helpers.d.ts +48 -0
  108. package/lib/types/promise_helpers.d.ts.map +1 -0
  109. package/lib/types/random.d.ts +29 -0
  110. package/lib/types/random.d.ts.map +1 -0
  111. package/lib/types/socket_provider.d.ts +129 -0
  112. package/lib/types/socket_provider.d.ts.map +1 -0
  113. package/lib/types/string_manipulation.d.ts +81 -0
  114. package/lib/types/string_manipulation.d.ts.map +1 -0
  115. package/lib/types/uint8array.d.ts +7 -0
  116. package/lib/types/uint8array.d.ts.map +1 -0
  117. package/lib/types/uuid.d.ts +12 -0
  118. package/lib/types/uuid.d.ts.map +1 -0
  119. package/lib/types/validation.d.ts +83 -0
  120. package/lib/types/validation.d.ts.map +1 -0
  121. package/lib/types/web3_deferred_promise.d.ts +68 -0
  122. package/lib/types/web3_deferred_promise.d.ts.map +1 -0
  123. package/lib/types/web3_eip1193_provider.d.ts +16 -0
  124. package/lib/types/web3_eip1193_provider.d.ts.map +1 -0
  125. package/package.json +57 -0
  126. package/src/chunk_response_parser.ts +99 -0
  127. package/src/converters.ts +713 -0
  128. package/src/event_emitter.ts +37 -0
  129. package/src/formatter.ts +402 -0
  130. package/src/hash.ts +398 -0
  131. package/src/index.ts +36 -0
  132. package/src/json_rpc.ts +130 -0
  133. package/src/objects.ts +65 -0
  134. package/src/promise_helpers.ts +170 -0
  135. package/src/random.ts +53 -0
  136. package/src/socket_provider.ts +581 -0
  137. package/src/string_manipulation.ts +166 -0
  138. package/src/uint8array.ts +59 -0
  139. package/src/uuid.ts +59 -0
  140. package/src/validation.ts +193 -0
  141. package/src/web3_deferred_promise.ts +149 -0
  142. package/src/web3_eip1193_provider.ts +116 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /*
2
+ This file is part of web3.js.
3
+
4
+ web3.js is free software: you can redistribute it and/or modify
5
+ it under the terms of the GNU Lesser General Public License as published by
6
+ the Free Software Foundation, either version 3 of the License, or
7
+ (at your option) any later version.
8
+
9
+ web3.js is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU Lesser General Public License for more details.
13
+
14
+ You should have received a copy of the GNU Lesser General Public License
15
+ along with web3.js. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+ /* eslint-disable max-classes-per-file */
18
+ import EventEmitter3 from 'eventemitter3';
19
+ /**
20
+ * This class copy the behavior of Node.js EventEmitter class.
21
+ * It is used to provide the same interface for the browser environment.
22
+ */
23
+ export class EventEmitter extends EventEmitter3 {
24
+ constructor() {
25
+ super(...arguments);
26
+ // must be defined for backwards compatibility
27
+ this.maxListeners = Number.MAX_SAFE_INTEGER;
28
+ }
29
+ setMaxListeners(maxListeners) {
30
+ this.maxListeners = maxListeners;
31
+ return this;
32
+ }
33
+ getMaxListeners() {
34
+ return this.maxListeners;
35
+ }
36
+ }
37
+ //# sourceMappingURL=event_emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event_emitter.js","sourceRoot":"","sources":["../../src/event_emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;EAeE;AACF,yCAAyC;AAEzC,OAAO,aAAa,MAAM,eAAe,CAAC;AAE1C;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAA/C;;QACC,8CAA8C;QACtC,iBAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAUhD,CAAC;IARO,eAAe,CAAC,YAAoB;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,eAAe;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;CACD"}
@@ -0,0 +1,313 @@
1
+ /*
2
+ This file is part of web3.js.
3
+
4
+ web3.js is free software: you can redistribute it and/or modify
5
+ it under the terms of the GNU Lesser General Public License as published by
6
+ the Free Software Foundation, either version 3 of the License, or
7
+ (at your option) any later version.
8
+
9
+ web3.js is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU Lesser General Public License for more details.
13
+
14
+ You should have received a copy of the GNU Lesser General Public License
15
+ along with web3.js. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+ import { FormatterError } from 'web3-errors';
18
+ import { FMT_BYTES, FMT_NUMBER, DEFAULT_RETURN_FORMAT, } from 'web3-types';
19
+ import { isNullish, isObject, utils } from 'web3-validator';
20
+ import { bytesToUint8Array, bytesToHex, numberToHex, toBigInt } from './converters.js';
21
+ import { mergeDeep } from './objects.js';
22
+ import { padLeft } from './string_manipulation.js';
23
+ import { isUint8Array, uint8ArrayConcat } from './uint8array.js';
24
+ const { parseBaseType } = utils;
25
+ export const isDataFormat = (dataFormat) => typeof dataFormat === 'object' &&
26
+ !isNullish(dataFormat) &&
27
+ 'number' in dataFormat &&
28
+ 'bytes' in dataFormat;
29
+ /**
30
+ * Finds the schema that corresponds to a specific data path within a larger JSON schema.
31
+ * It works by iterating over the dataPath array and traversing the JSON schema one step at a time until it reaches the end of the path.
32
+ *
33
+ * @param schema - represents a JSON schema, which is an object that describes the structure of JSON data
34
+ * @param dataPath - represents an array of strings that specifies the path to the data within the JSON schema
35
+ * @param oneOfPath - represents an optional array of two-element tuples that specifies the "oneOf" option to choose, if the schema has oneOf and the data path can match multiple subschemas
36
+ * @returns the JSON schema that matches the data path
37
+ *
38
+ */
39
+ const findSchemaByDataPath = (schema, dataPath, oneOfPath = []) => {
40
+ let result = Object.assign({}, schema);
41
+ let previousDataPath;
42
+ for (const dataPart of dataPath) {
43
+ if (result.oneOf && previousDataPath) {
44
+ const currentDataPath = previousDataPath;
45
+ const path = oneOfPath.find(([key]) => key === currentDataPath);
46
+ if (path && path[0] === previousDataPath) {
47
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
48
+ result = result.oneOf[path[1]];
49
+ }
50
+ }
51
+ if (!result.properties && !result.items) {
52
+ return undefined;
53
+ }
54
+ if (result.properties) {
55
+ result = result.properties[dataPart];
56
+ }
57
+ else if (result.items && result.items.properties) {
58
+ const node = result.items.properties;
59
+ result = node[dataPart];
60
+ }
61
+ else if (result.items && isObject(result.items)) {
62
+ result = result.items;
63
+ }
64
+ else if (result.items && Array.isArray(result.items)) {
65
+ result = result.items[parseInt(dataPart, 10)];
66
+ }
67
+ if (result && dataPart)
68
+ previousDataPath = dataPart;
69
+ }
70
+ return result;
71
+ };
72
+ /**
73
+ * Converts a value depending on the format
74
+ * @param value - value to convert
75
+ * @param ethType - The type of the value to be parsed
76
+ * @param format - The format to be converted to
77
+ * @returns - The value converted to the specified format
78
+ */
79
+ export const convertScalarValue = (value, ethType, format) => {
80
+ try {
81
+ const { baseType, baseTypeSize } = parseBaseType(ethType);
82
+ if (baseType === 'int' || baseType === 'uint') {
83
+ switch (format.number) {
84
+ case FMT_NUMBER.NUMBER:
85
+ return Number(toBigInt(value));
86
+ case FMT_NUMBER.HEX:
87
+ return numberToHex(toBigInt(value));
88
+ case FMT_NUMBER.STR:
89
+ return toBigInt(value).toString();
90
+ case FMT_NUMBER.BIGINT:
91
+ return toBigInt(value);
92
+ default:
93
+ throw new FormatterError(`Invalid format: ${String(format.number)}`);
94
+ }
95
+ }
96
+ if (baseType === 'bytes') {
97
+ let paddedValue;
98
+ if (baseTypeSize) {
99
+ if (typeof value === 'string')
100
+ paddedValue = padLeft(value, baseTypeSize * 2);
101
+ else if (isUint8Array(value)) {
102
+ paddedValue = uint8ArrayConcat(new Uint8Array(baseTypeSize - value.length), value);
103
+ }
104
+ }
105
+ else {
106
+ paddedValue = value;
107
+ }
108
+ switch (format.bytes) {
109
+ case FMT_BYTES.HEX:
110
+ return bytesToHex(bytesToUint8Array(paddedValue));
111
+ case FMT_BYTES.UINT8ARRAY:
112
+ return bytesToUint8Array(paddedValue);
113
+ default:
114
+ throw new FormatterError(`Invalid format: ${String(format.bytes)}`);
115
+ }
116
+ }
117
+ if (baseType === 'string') {
118
+ return String(value);
119
+ }
120
+ }
121
+ catch (error) {
122
+ // If someone didn't use `eth` keyword we can return original value
123
+ // as the scope of this code is formatting not validation
124
+ return value;
125
+ }
126
+ return value;
127
+ };
128
+ const convertArray = ({ value, schemaProp, schema, object, key, dataPath, format, oneOfPath = [], }) => {
129
+ var _a, _b;
130
+ // If value is an array
131
+ if (Array.isArray(value)) {
132
+ let _schemaProp = schemaProp;
133
+ // TODO This is a naive approach to solving the issue of
134
+ // a schema using oneOf. This chunk of code was intended to handle
135
+ // BlockSchema.transactions
136
+ // TODO BlockSchema.transactions are not being formatted
137
+ if ((schemaProp === null || schemaProp === void 0 ? void 0 : schemaProp.oneOf) !== undefined) {
138
+ // The following code is basically saying:
139
+ // if the schema specifies oneOf, then we are to loop
140
+ // over each possible schema and check if they type of the schema
141
+ // matches the type of value[0], and if so we use the oneOfSchemaProp
142
+ // as the schema for formatting
143
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
144
+ schemaProp.oneOf.forEach((oneOfSchemaProp, index) => {
145
+ var _a, _b;
146
+ if (!Array.isArray(schemaProp === null || schemaProp === void 0 ? void 0 : schemaProp.items) &&
147
+ ((typeof value[0] === 'object' &&
148
+ ((_a = oneOfSchemaProp === null || oneOfSchemaProp === void 0 ? void 0 : oneOfSchemaProp.items) === null || _a === void 0 ? void 0 : _a.type) === 'object') ||
149
+ (typeof value[0] === 'string' &&
150
+ ((_b = oneOfSchemaProp === null || oneOfSchemaProp === void 0 ? void 0 : oneOfSchemaProp.items) === null || _b === void 0 ? void 0 : _b.type) !== 'object'))) {
151
+ _schemaProp = oneOfSchemaProp;
152
+ oneOfPath.push([key, index]);
153
+ }
154
+ });
155
+ }
156
+ if (isNullish(_schemaProp === null || _schemaProp === void 0 ? void 0 : _schemaProp.items)) {
157
+ // Can not find schema for array item, delete that item
158
+ // eslint-disable-next-line no-param-reassign
159
+ delete object[key];
160
+ dataPath.pop();
161
+ return true;
162
+ }
163
+ // If schema for array items is a single type
164
+ if (isObject(_schemaProp.items) && !isNullish(_schemaProp.items.format)) {
165
+ for (let i = 0; i < value.length; i += 1) {
166
+ // eslint-disable-next-line no-param-reassign
167
+ object[key][i] = convertScalarValue(value[i],
168
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
169
+ (_a = _schemaProp === null || _schemaProp === void 0 ? void 0 : _schemaProp.items) === null || _a === void 0 ? void 0 : _a.format, format);
170
+ }
171
+ dataPath.pop();
172
+ return true;
173
+ }
174
+ // If schema for array items is an object
175
+ if (!Array.isArray(_schemaProp === null || _schemaProp === void 0 ? void 0 : _schemaProp.items) && ((_b = _schemaProp === null || _schemaProp === void 0 ? void 0 : _schemaProp.items) === null || _b === void 0 ? void 0 : _b.type) === 'object') {
176
+ for (const arrObject of value) {
177
+ // eslint-disable-next-line no-use-before-define
178
+ convert(arrObject, schema, dataPath, format, oneOfPath);
179
+ }
180
+ dataPath.pop();
181
+ return true;
182
+ }
183
+ // If schema for array is a tuple
184
+ if (Array.isArray(_schemaProp === null || _schemaProp === void 0 ? void 0 : _schemaProp.items)) {
185
+ for (let i = 0; i < value.length; i += 1) {
186
+ // eslint-disable-next-line no-param-reassign
187
+ object[key][i] = convertScalarValue(value[i], _schemaProp.items[i].format, format);
188
+ }
189
+ dataPath.pop();
190
+ return true;
191
+ }
192
+ }
193
+ return false;
194
+ };
195
+ /**
196
+ * Converts the data to the specified format
197
+ * @param data - data to convert
198
+ * @param schema - The JSON schema that describes the structure of the data
199
+ * @param dataPath - A string array that specifies the path to the data within the JSON schema
200
+ * @param format - The format to be converted to
201
+ * @param oneOfPath - An optional array of two-element tuples that specifies the "oneOf" option to choose, if the schema has oneOf and the data path can match multiple subschemas
202
+ * @returns - The data converted to the specified format
203
+ */
204
+ export const convert = (data, schema, dataPath, format, oneOfPath = []) => {
205
+ var _a;
206
+ // If it's a scalar value
207
+ if (!isObject(data) && !Array.isArray(data)) {
208
+ return convertScalarValue(data, schema === null || schema === void 0 ? void 0 : schema.format, format);
209
+ }
210
+ const object = data;
211
+ // case when schema is array and `items` is object
212
+ if (Array.isArray(object) &&
213
+ (schema === null || schema === void 0 ? void 0 : schema.type) === 'array' &&
214
+ ((_a = schema === null || schema === void 0 ? void 0 : schema.items) === null || _a === void 0 ? void 0 : _a.type) === 'object') {
215
+ convertArray({
216
+ value: object,
217
+ schemaProp: schema,
218
+ schema,
219
+ object,
220
+ key: '',
221
+ dataPath,
222
+ format,
223
+ oneOfPath,
224
+ });
225
+ }
226
+ else {
227
+ for (const [key, value] of Object.entries(object)) {
228
+ dataPath.push(key);
229
+ let schemaProp = findSchemaByDataPath(schema, dataPath, oneOfPath);
230
+ // If value is a scaler value
231
+ if (isNullish(schemaProp)) {
232
+ delete object[key];
233
+ dataPath.pop();
234
+ continue;
235
+ }
236
+ // If value is an object, recurse into it
237
+ if (isObject(value)) {
238
+ convert(value, schema, dataPath, format, oneOfPath);
239
+ dataPath.pop();
240
+ continue;
241
+ }
242
+ // If value is an array
243
+ if (convertArray({
244
+ value,
245
+ schemaProp,
246
+ schema,
247
+ object,
248
+ key,
249
+ dataPath,
250
+ format,
251
+ oneOfPath,
252
+ })) {
253
+ continue;
254
+ }
255
+ // The following code is basically saying:
256
+ // if the schema specifies oneOf, then we are to loop
257
+ // over each possible schema and check if they type of the schema specifies format
258
+ // and if so we use the oneOfSchemaProp as the schema for formatting
259
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
260
+ if ((schemaProp === null || schemaProp === void 0 ? void 0 : schemaProp.format) === undefined && (schemaProp === null || schemaProp === void 0 ? void 0 : schemaProp.oneOf) !== undefined) {
261
+ for (const [_index, oneOfSchemaProp] of schemaProp.oneOf.entries()) {
262
+ if ((oneOfSchemaProp === null || oneOfSchemaProp === void 0 ? void 0 : oneOfSchemaProp.format) !== undefined) {
263
+ schemaProp = oneOfSchemaProp;
264
+ break;
265
+ }
266
+ }
267
+ }
268
+ object[key] = convertScalarValue(value, schemaProp.format, format);
269
+ dataPath.pop();
270
+ }
271
+ }
272
+ return object;
273
+ };
274
+ /**
275
+ * Given data that can be interpreted according to the provided schema, returns equivalent data that has been formatted
276
+ * according to the provided return format.
277
+ *
278
+ * @param schema - how to interpret the data
279
+ * @param data - data to be formatted
280
+ * @param returnFormat - how to format the data
281
+ * @returns - formatted data
282
+ *
283
+ * @example
284
+ *
285
+ * ```js
286
+ * import { FMT_NUMBER, utils } from "web3";
287
+ *
288
+ * console.log(
289
+ * utils.format({ format: "uint" }, "221", { number: FMT_NUMBER.HEX }),
290
+ * );
291
+ * // 0xdd
292
+ * ```
293
+ *
294
+ */
295
+ export const format = (schema, data, returnFormat = DEFAULT_RETURN_FORMAT) => {
296
+ let dataToParse;
297
+ if (isObject(data)) {
298
+ dataToParse = mergeDeep({}, data);
299
+ }
300
+ else if (Array.isArray(data)) {
301
+ dataToParse = [...data];
302
+ }
303
+ else {
304
+ dataToParse = data;
305
+ }
306
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
307
+ const jsonSchema = isObject(schema) ? schema : utils.ethAbiToJsonSchema(schema);
308
+ if (!jsonSchema.properties && !jsonSchema.items && !jsonSchema.format) {
309
+ throw new FormatterError('Invalid json schema for formatting');
310
+ }
311
+ return convert(dataToParse, jsonSchema, [], returnFormat);
312
+ };
313
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/formatter.ts"],"names":[],"mappings":"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"}