minimost
Version:
Like minimist but flags are converted to camelCase
27 lines (22 loc) • 723 B
JavaScript
;
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var minimist = _interopDefault(require('minimist'));
const kebab2camel = (input) => {
return input.replace(/([a-z])-([a-z])/g, (_, p1, p2) => {
return p1 + p2.toUpperCase();
});
};
function index (argv, options) {
const parsed = minimist(argv, Object.assign({
'--': true
}, options));
const input = parsed._;
delete parsed._;
const flags = {};
// eslint-disable-next-line guard-for-in
for (const key in parsed) {
flags[kebab2camel(key)] = parsed[key];
}
return { input, flags };
}
module.exports = index;