commit
4e78500662
@ -3,6 +3,7 @@
|
|||||||
var program = require('commander');
|
var program = require('commander');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var bitcorenode = require('..');
|
var bitcorenode = require('..');
|
||||||
|
var utils = require('../utils');
|
||||||
|
|
||||||
function main(servicesPath, additionalServices) {
|
function main(servicesPath, additionalServices) {
|
||||||
/* jshint maxstatements: 100 */
|
/* jshint maxstatements: 100 */
|
||||||
@ -124,7 +125,8 @@ function main(servicesPath, additionalServices) {
|
|||||||
program
|
program
|
||||||
.command('call <method> [params...]')
|
.command('call <method> [params...]')
|
||||||
.description('Call an API method')
|
.description('Call an API method')
|
||||||
.action(function(method, params) {
|
.action(function(method, paramsArg) {
|
||||||
|
var params = utils.parseParamsWithJSON(paramsArg);
|
||||||
var configInfo = findConfig(process.cwd());
|
var configInfo = findConfig(process.cwd());
|
||||||
if (!configInfo) {
|
if (!configInfo) {
|
||||||
configInfo = defaultConfig();
|
configInfo = defaultConfig();
|
||||||
|
|||||||
13
lib/utils.js
13
lib/utils.js
@ -26,4 +26,17 @@ if (!utils.isAbsolutePath) {
|
|||||||
utils.isAbsolutePath = require('path-is-absolute');
|
utils.isAbsolutePath = require('path-is-absolute');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
utils.parseParamsWithJSON = function parseParamsWithJSON(paramsArg) {
|
||||||
|
var params = paramsArg.map(function(paramArg) {
|
||||||
|
var param;
|
||||||
|
try {
|
||||||
|
param = JSON.parse(paramArg);
|
||||||
|
} catch(err) {
|
||||||
|
param = paramArg;
|
||||||
|
}
|
||||||
|
return param;
|
||||||
|
});
|
||||||
|
return params;
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = utils;
|
module.exports = utils;
|
||||||
|
|||||||
@ -130,4 +130,22 @@ describe('Utils', function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('#parseParamsWithJSON', function() {
|
||||||
|
it('will parse object', function() {
|
||||||
|
var paramsArg = ['3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou', '{"start": 100, "end": 1}'];
|
||||||
|
var params = utils.parseParamsWithJSON(paramsArg);
|
||||||
|
params.should.deep.equal(['3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou', {start: 100, end: 1}]);
|
||||||
|
});
|
||||||
|
it('will parse array', function() {
|
||||||
|
var paramsArg = ['3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou', '[0, 1]'];
|
||||||
|
var params = utils.parseParamsWithJSON(paramsArg);
|
||||||
|
params.should.deep.equal(['3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou', [0, 1]]);
|
||||||
|
});
|
||||||
|
it('will parse numbers', function() {
|
||||||
|
var paramsArg = ['3', 0, 'b', '0', 0x12, '0.0001'];
|
||||||
|
var params = utils.parseParamsWithJSON(paramsArg);
|
||||||
|
params.should.deep.equal([3, 0, 'b', 0, 0x12, 0.0001]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user