Allow arrays as second arg to Networks.get
This commit is contained in:
parent
6df5113c9c
commit
4f4b2b93fb
|
@ -22,16 +22,19 @@ Network.prototype.toString = function toString() {
|
||||||
* @member Networks#get
|
* @member Networks#get
|
||||||
* Retrieves the network associated with a magic number or string.
|
* Retrieves the network associated with a magic number or string.
|
||||||
* @param {string|number|Network} arg
|
* @param {string|number|Network} arg
|
||||||
* @param {string} key - if set, only check if the magic number associated with this name matches
|
* @param {string|Array} keys - if set, only check if the magic number associated with this name matches
|
||||||
* @return Network
|
* @return Network
|
||||||
*/
|
*/
|
||||||
function getNetwork(arg, key) {
|
function getNetwork(arg, keys) {
|
||||||
if (~networks.indexOf(arg)) {
|
if (~networks.indexOf(arg)) {
|
||||||
return arg;
|
return arg;
|
||||||
}
|
}
|
||||||
if (key) {
|
if (keys) {
|
||||||
|
if (!_.isArray(keys)) {
|
||||||
|
keys = [keys];
|
||||||
|
}
|
||||||
for (var index in networks) {
|
for (var index in networks) {
|
||||||
if (networks[index][key] === arg) {
|
if (_.any(keys, function(key) { return networks[index][key] === arg; })) {
|
||||||
return networks[index];
|
return networks[index];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,6 +83,12 @@ describe('Networks', function() {
|
||||||
expect(networks.get(0x6f, 'privatekey')).to.equal(undefined);
|
expect(networks.get(0x6f, 'privatekey')).to.equal(undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('can test for multiple keys', function() {
|
||||||
|
expect(networks.get(0x6f, ['pubkeyhash', 'scripthash'])).to.equal(networks.testnet);
|
||||||
|
expect(networks.get(0xc4, ['pubkeyhash', 'scripthash'])).to.equal(networks.testnet);
|
||||||
|
expect(networks.get(0x6f, ['privatekey', 'port'])).to.equal(undefined);
|
||||||
|
});
|
||||||
|
|
||||||
it('converts to string using the "name" property', function() {
|
it('converts to string using the "name" property', function() {
|
||||||
networks.livenet.toString().should.equal('livenet');
|
networks.livenet.toString().should.equal('livenet');
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue