mirror of
https://github.com/status-im/web3.js.git
synced 2025-02-23 19:48:13 +00:00
utils cleanup
This commit is contained in:
parent
a88be00cef
commit
501e3bc56e
69
dist/web3-light.js
vendored
69
dist/web3-light.js
vendored
@ -817,36 +817,8 @@ var getConstructor = function (abi, numberOfArgs) {
|
||||
})[0];
|
||||
};
|
||||
|
||||
/**
|
||||
* Filters all functions from input abi
|
||||
*
|
||||
* @method filterFunctions
|
||||
* @param {Array} abi
|
||||
* @returns {Array} abi array with filtered objects of type 'function'
|
||||
*/
|
||||
var filterFunctions = function (json) {
|
||||
return json.filter(function (current) {
|
||||
return current.type === 'function';
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Filters all events from input abi
|
||||
*
|
||||
* @method filterEvents
|
||||
* @param {Array} abi
|
||||
* @returns {Array} abi array with filtered objects of type 'event'
|
||||
*/
|
||||
var filterEvents = function (json) {
|
||||
return json.filter(function (current) {
|
||||
return current.type === 'event';
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getConstructor: getConstructor,
|
||||
filterFunctions: filterFunctions,
|
||||
filterEvents: filterEvents
|
||||
getConstructor: getConstructor
|
||||
};
|
||||
|
||||
|
||||
@ -950,9 +922,9 @@ module.exports = {
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with ethereum.js. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/** @file utils.js
|
||||
* @authors:
|
||||
* Marek Kotewicz <marek@ethdev.com>
|
||||
/**
|
||||
* @file utils.js
|
||||
* @author Marek Kotewicz <marek@ethdev.com>
|
||||
* @date 2015
|
||||
*/
|
||||
|
||||
@ -1078,6 +1050,22 @@ var fromAscii = function(str, pad) {
|
||||
return "0x" + hex;
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be used to create full function/event name from json abi
|
||||
*
|
||||
* @method transformToFullName
|
||||
* @param {Object} json-abi
|
||||
* @return {String} full fnction/event name
|
||||
*/
|
||||
var transformToFullName = function (json) {
|
||||
if (json.name.indexOf('(') !== -1) {
|
||||
return json.name;
|
||||
}
|
||||
|
||||
var typeName = json.inputs.map(function(i){return i.type; }).join();
|
||||
return json.name + '(' + typeName + ')';
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be called to get display name of contract function
|
||||
*
|
||||
@ -1390,6 +1378,7 @@ module.exports = {
|
||||
fromDecimal: fromDecimal,
|
||||
toAscii: toAscii,
|
||||
fromAscii: fromAscii,
|
||||
transformToFullName: transformToFullName,
|
||||
extractDisplayName: extractDisplayName,
|
||||
extractTypeName: extractTypeName,
|
||||
toWei: toWei,
|
||||
@ -1660,18 +1649,6 @@ var contract = function (abi) {
|
||||
|
||||
var Contract = function (abi, options) {
|
||||
|
||||
// workaround for invalid assumption that method.name is the full anonymous prototype of the method.
|
||||
// it's not. it's just the name. the rest of the code assumes it's actually the anonymous
|
||||
// prototype, so we make it so as a workaround.
|
||||
// TODO: we may not want to modify input params, maybe use copy instead?
|
||||
abi.forEach(function (method) {
|
||||
if (method.name.indexOf('(') === -1) {
|
||||
var displayName = method.name;
|
||||
var typeName = method.inputs.map(function(i){return i.type; }).join();
|
||||
method.name = displayName + '(' + typeName + ')';
|
||||
}
|
||||
});
|
||||
|
||||
this.address = '';
|
||||
this._isTransaction = null;
|
||||
this._options = {};
|
||||
@ -2091,7 +2068,7 @@ var web3 = require('../web3');
|
||||
*/
|
||||
var SolidityEvent = function (json, address) {
|
||||
this._params = json.inputs;
|
||||
this._name = json.name;
|
||||
this._name = utils.transformToFullName(json);
|
||||
this._address = address;
|
||||
};
|
||||
|
||||
@ -2633,7 +2610,7 @@ var SolidityFunction = function (json) {
|
||||
return i.type;
|
||||
});
|
||||
this._constant = json.constant;
|
||||
this._name = json.name;
|
||||
this._name = utils.transformToFullName(json);
|
||||
};
|
||||
|
||||
/**
|
||||
|
12
dist/web3-light.js.map
vendored
12
dist/web3-light.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/web3-light.min.js
vendored
4
dist/web3-light.min.js
vendored
File diff suppressed because one or more lines are too long
69
dist/web3.js
vendored
69
dist/web3.js
vendored
@ -817,36 +817,8 @@ var getConstructor = function (abi, numberOfArgs) {
|
||||
})[0];
|
||||
};
|
||||
|
||||
/**
|
||||
* Filters all functions from input abi
|
||||
*
|
||||
* @method filterFunctions
|
||||
* @param {Array} abi
|
||||
* @returns {Array} abi array with filtered objects of type 'function'
|
||||
*/
|
||||
var filterFunctions = function (json) {
|
||||
return json.filter(function (current) {
|
||||
return current.type === 'function';
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Filters all events from input abi
|
||||
*
|
||||
* @method filterEvents
|
||||
* @param {Array} abi
|
||||
* @returns {Array} abi array with filtered objects of type 'event'
|
||||
*/
|
||||
var filterEvents = function (json) {
|
||||
return json.filter(function (current) {
|
||||
return current.type === 'event';
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getConstructor: getConstructor,
|
||||
filterFunctions: filterFunctions,
|
||||
filterEvents: filterEvents
|
||||
getConstructor: getConstructor
|
||||
};
|
||||
|
||||
|
||||
@ -950,9 +922,9 @@ module.exports = {
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with ethereum.js. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/** @file utils.js
|
||||
* @authors:
|
||||
* Marek Kotewicz <marek@ethdev.com>
|
||||
/**
|
||||
* @file utils.js
|
||||
* @author Marek Kotewicz <marek@ethdev.com>
|
||||
* @date 2015
|
||||
*/
|
||||
|
||||
@ -1078,6 +1050,22 @@ var fromAscii = function(str, pad) {
|
||||
return "0x" + hex;
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be used to create full function/event name from json abi
|
||||
*
|
||||
* @method transformToFullName
|
||||
* @param {Object} json-abi
|
||||
* @return {String} full fnction/event name
|
||||
*/
|
||||
var transformToFullName = function (json) {
|
||||
if (json.name.indexOf('(') !== -1) {
|
||||
return json.name;
|
||||
}
|
||||
|
||||
var typeName = json.inputs.map(function(i){return i.type; }).join();
|
||||
return json.name + '(' + typeName + ')';
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be called to get display name of contract function
|
||||
*
|
||||
@ -1390,6 +1378,7 @@ module.exports = {
|
||||
fromDecimal: fromDecimal,
|
||||
toAscii: toAscii,
|
||||
fromAscii: fromAscii,
|
||||
transformToFullName: transformToFullName,
|
||||
extractDisplayName: extractDisplayName,
|
||||
extractTypeName: extractTypeName,
|
||||
toWei: toWei,
|
||||
@ -1660,18 +1649,6 @@ var contract = function (abi) {
|
||||
|
||||
var Contract = function (abi, options) {
|
||||
|
||||
// workaround for invalid assumption that method.name is the full anonymous prototype of the method.
|
||||
// it's not. it's just the name. the rest of the code assumes it's actually the anonymous
|
||||
// prototype, so we make it so as a workaround.
|
||||
// TODO: we may not want to modify input params, maybe use copy instead?
|
||||
abi.forEach(function (method) {
|
||||
if (method.name.indexOf('(') === -1) {
|
||||
var displayName = method.name;
|
||||
var typeName = method.inputs.map(function(i){return i.type; }).join();
|
||||
method.name = displayName + '(' + typeName + ')';
|
||||
}
|
||||
});
|
||||
|
||||
this.address = '';
|
||||
this._isTransaction = null;
|
||||
this._options = {};
|
||||
@ -2091,7 +2068,7 @@ var web3 = require('../web3');
|
||||
*/
|
||||
var SolidityEvent = function (json, address) {
|
||||
this._params = json.inputs;
|
||||
this._name = json.name;
|
||||
this._name = utils.transformToFullName(json);
|
||||
this._address = address;
|
||||
};
|
||||
|
||||
@ -2633,7 +2610,7 @@ var SolidityFunction = function (json) {
|
||||
return i.type;
|
||||
});
|
||||
this._constant = json.constant;
|
||||
this._name = json.name;
|
||||
this._name = utils.transformToFullName(json);
|
||||
};
|
||||
|
||||
/**
|
||||
|
12
dist/web3.js.map
vendored
12
dist/web3.js.map
vendored
File diff suppressed because one or more lines are too long
5
dist/web3.min.js
vendored
5
dist/web3.min.js
vendored
File diff suppressed because one or more lines are too long
@ -34,35 +34,7 @@ var getConstructor = function (abi, numberOfArgs) {
|
||||
})[0];
|
||||
};
|
||||
|
||||
/**
|
||||
* Filters all functions from input abi
|
||||
*
|
||||
* @method filterFunctions
|
||||
* @param {Array} abi
|
||||
* @returns {Array} abi array with filtered objects of type 'function'
|
||||
*/
|
||||
var filterFunctions = function (json) {
|
||||
return json.filter(function (current) {
|
||||
return current.type === 'function';
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Filters all events from input abi
|
||||
*
|
||||
* @method filterEvents
|
||||
* @param {Array} abi
|
||||
* @returns {Array} abi array with filtered objects of type 'event'
|
||||
*/
|
||||
var filterEvents = function (json) {
|
||||
return json.filter(function (current) {
|
||||
return current.type === 'event';
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getConstructor: getConstructor,
|
||||
filterFunctions: filterFunctions,
|
||||
filterEvents: filterEvents
|
||||
getConstructor: getConstructor
|
||||
};
|
||||
|
||||
|
@ -14,9 +14,9 @@
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with ethereum.js. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/** @file utils.js
|
||||
* @authors:
|
||||
* Marek Kotewicz <marek@ethdev.com>
|
||||
/**
|
||||
* @file utils.js
|
||||
* @author Marek Kotewicz <marek@ethdev.com>
|
||||
* @date 2015
|
||||
*/
|
||||
|
||||
@ -142,6 +142,22 @@ var fromAscii = function(str, pad) {
|
||||
return "0x" + hex;
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be used to create full function/event name from json abi
|
||||
*
|
||||
* @method transformToFullName
|
||||
* @param {Object} json-abi
|
||||
* @return {String} full fnction/event name
|
||||
*/
|
||||
var transformToFullName = function (json) {
|
||||
if (json.name.indexOf('(') !== -1) {
|
||||
return json.name;
|
||||
}
|
||||
|
||||
var typeName = json.inputs.map(function(i){return i.type; }).join();
|
||||
return json.name + '(' + typeName + ')';
|
||||
};
|
||||
|
||||
/**
|
||||
* Should be called to get display name of contract function
|
||||
*
|
||||
@ -454,6 +470,7 @@ module.exports = {
|
||||
fromDecimal: fromDecimal,
|
||||
toAscii: toAscii,
|
||||
fromAscii: fromAscii,
|
||||
transformToFullName: transformToFullName,
|
||||
extractDisplayName: extractDisplayName,
|
||||
extractTypeName: extractTypeName,
|
||||
toWei: toWei,
|
||||
|
@ -76,18 +76,6 @@ var contract = function (abi) {
|
||||
|
||||
var Contract = function (abi, options) {
|
||||
|
||||
// workaround for invalid assumption that method.name is the full anonymous prototype of the method.
|
||||
// it's not. it's just the name. the rest of the code assumes it's actually the anonymous
|
||||
// prototype, so we make it so as a workaround.
|
||||
// TODO: we may not want to modify input params, maybe use copy instead?
|
||||
abi.forEach(function (method) {
|
||||
if (method.name.indexOf('(') === -1) {
|
||||
var displayName = method.name;
|
||||
var typeName = method.inputs.map(function(i){return i.type; }).join();
|
||||
method.name = displayName + '(' + typeName + ')';
|
||||
}
|
||||
});
|
||||
|
||||
this.address = '';
|
||||
this._isTransaction = null;
|
||||
this._options = {};
|
||||
|
@ -29,7 +29,7 @@ var web3 = require('../web3');
|
||||
*/
|
||||
var SolidityEvent = function (json, address) {
|
||||
this._params = json.inputs;
|
||||
this._name = json.name;
|
||||
this._name = utils.transformToFullName(json);
|
||||
this._address = address;
|
||||
};
|
||||
|
||||
|
@ -35,7 +35,7 @@ var SolidityFunction = function (json) {
|
||||
return i.type;
|
||||
});
|
||||
this._constant = json.constant;
|
||||
this._name = json.name;
|
||||
this._name = utils.transformToFullName(json);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1,49 +0,0 @@
|
||||
var assert = require('assert');
|
||||
var utils = require('../lib/solidity/utils');
|
||||
|
||||
describe('lib/utils/utils', function() {
|
||||
it('should filter functions and events from input array properly', function () {
|
||||
|
||||
// given
|
||||
var description = [{
|
||||
"name": "test",
|
||||
"type": "function",
|
||||
"inputs": [{
|
||||
"name": "a",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "d",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
}, {
|
||||
"name": "test2",
|
||||
"type": "event",
|
||||
"inputs": [{
|
||||
"name": "a",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "d",
|
||||
"type": "uint256"
|
||||
}
|
||||
]
|
||||
}];
|
||||
|
||||
// when
|
||||
var events = utils.filterEvents(description);
|
||||
var functions = utils.filterFunctions(description);
|
||||
|
||||
// then
|
||||
assert.equal(events.length, 1);
|
||||
assert.equal(events[0].name, 'test2');
|
||||
assert.equal(functions.length, 1);
|
||||
assert.equal(functions[0].name, 'test');
|
||||
|
||||
});
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user