MCPcopy Create free account
hub / github.com/ccxt/ccxt / unpack

Function unpack

js/src/static_dependencies/ethers/coders/array.js:56–102  ·  view source on GitHub ↗
(reader, coders)

Source from the content-addressed store, hash-verified

54 * @_ignore
55 */
56export function unpack(reader, coders) {
57 let values = [];
58 let keys = [];
59 // A reader anchored to this base
60 let baseReader = reader.subReader(0);
61 coders.forEach((coder) => {
62 let value = null;
63 if (coder.dynamic) {
64 let offset = reader.readIndex();
65 let offsetReader = baseReader.subReader(offset);
66 try {
67 value = coder.decode(offsetReader);
68 }
69 catch (error) {
70 // Cannot recover from this
71 if (isError(error, "BUFFER_OVERRUN")) {
72 throw error;
73 }
74 value = error;
75 value.baseType = coder.name;
76 value.name = coder.localName;
77 value.type = coder.type;
78 }
79 }
80 else {
81 try {
82 value = coder.decode(reader);
83 }
84 catch (error) {
85 // Cannot recover from this
86 if (isError(error, "BUFFER_OVERRUN")) {
87 throw error;
88 }
89 value = error;
90 value.baseType = coder.name;
91 value.name = coder.localName;
92 value.type = coder.type;
93 }
94 }
95 if (value == undefined) {
96 throw new Error("investigate");
97 }
98 values.push(value);
99 keys.push(coder.localName || null);
100 });
101 return Result.fromItems(values, keys);
102}
103/**
104 * @_ignore
105 */

Callers 3

decodeMethod · 0.90
decodeMethod · 0.90
decodeMethod · 0.70

Calls 7

isErrorFunction · 0.90
pushMethod · 0.80
subReaderMethod · 0.45
forEachMethod · 0.45
readIndexMethod · 0.45
decodeMethod · 0.45
fromItemsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…