本文整理匯總了TypeScript中web3-utils._.isArray方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript _.isArray方法的具體用法?TypeScript _.isArray怎麽用?TypeScript _.isArray使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類web3-utils._
的用法示例。
在下文中一共展示了_.isArray方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: sendAsync
public sendAsync(payload: any, callback: any) {
if (!ThorAPIMapping[payload.method]) {
return callback(new Error("Method not supported!"), {
id: payload.id || 0,
jsonrpc: payload.jsonrpc || "2.0",
result: null,
});
}
let ret = ThorAPIMapping[payload.method].ret;
// non-objects does't need isThorified property since thorify just overwritten 3 formatters
// which all accept object as input
if (web3Utils._.isObject(ret)) {
// tricks for fast deep copy since I defined ThorAPIMapping
ret = JSON.parse(JSON.stringify(ret));
Object.defineProperty(ret, "reqBody", { get: () => payload, set: () => null });
Object.defineProperty(ret, "isThorified", { get: () => true, set: () => null });
}
if (web3Utils._.isArray(ret)) {
ret = ret.map((i) => {
i = JSON.parse(JSON.stringify(i));
Object.defineProperty(i, "reqBody", { get: () => payload, set: () => null });
Object.defineProperty(i, "isThorified", { get: () => true, set: () => null });
return i;
});
}
callback(null, {
id: payload.id || 0,
jsonrpc: payload.jsonrpc || "2.0",
result: ret,
});
}
示例2: callback
request.onreadystatechange = () => {
if (request.readyState === 4) {
if (request.status !== 200) {
return callback(new Error("[thorify-provider-http] Invalid response code from provider: " + request.status + (request.responseText ? ", response: " + request.responseText : "")), {
id: payload.id || 0,
jsonrpc: payload.jsonrpc || "2.0",
result: null,
});
}
let result = request.responseText;
let error = null;
try {
result = JSON.parse(result);
} catch (e) {
error = invalidResponseError(e);
return callback(error, {
id: payload.id || 0,
jsonrpc: payload.jsonrpc || "2.0",
result: null,
});
}
debug("result: %O", result);
result = preparation.ResFormatter(result);
// tricks for compatible with original web3 instance
// non-objects or non-arrays does't need isThorified property since thorify just overwritten 3 formatters
// which all accept object as input
if (web3Utils._.isObject(result) && !web3Utils._.isArray(result)) {
Object.defineProperty(result, "isThorified", { get: () => true});
}
if (web3Utils._.isArray(result)) {
result = result.map((item: any) => {
Object.defineProperty(item, "isThorified", { get: () => true});
return item;
});
}
callback(error, {
id: payload.id || 0,
jsonrpc: payload.jsonrpc || "2.0",
result,
});
}
};
示例3: function
web3.extend.formatters.outputTransactionReceiptFormatter = function(receipt: any) {
if (receipt && receipt.isThorified) {
debug("outputTransactionReceiptFormatter");
if (receipt.hasOwnProperty("transactionIndex")) {
delete receipt.transactionIndex;
}
if (receipt.hasOwnProperty("cumulativeGasUsed")) {
delete receipt.cumulativeGasUsed;
}
receipt.gasUsed = web3Utils.hexToNumber(receipt.gasUsed);
if (receipt.gasPayer) {
receipt.gasPayer = web3Utils.toChecksumAddress(receipt.gasPayer);
}
if (receipt.meta && receipt.meta.txOrigin) {
receipt.meta.txOrigin = web3Utils.toChecksumAddress(receipt.meta.txOrigin);
}
for (const output of receipt.outputs) {
if (web3Utils._.isArray(output.events)) {
output.events = output.events.map((event: any) => {
if (!event.isThorified) {
Object.defineProperty(event, "isThorified", { get: () => true});
}
return web3.extend.formatters.outputLogFormatter(event);
});
}
if (output.contractAddress) {
output.contractAddress = web3Utils.toChecksumAddress(output.contractAddress);
}
}
return receipt;
} else {
return outputTransactionReceiptFormatter(receipt);
}
};