* feat: allow more 1000 steps to be created at once * refactor: start migrating to typescript * refactor: delete-step to ts * refactor: migrated some helpers * refactor: migrate create-empty-steps * refactor: migrate create-step-between * refactor: finish migrating to TS * refactor: migrate tests * fix: ensure mock.restore is done after each test * fix: prevent double-tscing * fix: repair the tests * chore: use ts-node for scripts We don't need the performance boost of incremental compilation and ts-node is easier to work with * refactor: consolidate tsconfigs * refactor: replace gulp * fix: use ts-node for build-curriculum * fix: allow ts compilation of config * feat: create and use create:config script * fix: add /config to eslint projects * fix: remove gulp script
16 lines
511 B
TypeScript
16 lines
511 B
TypeScript
// Creates an object with the values starting at the third position of argv,
|
|
// ['lorem', 'ipsum', 'one=1', 'two=2', ...] => { one: 1, two: 2, ...}
|
|
function getArgValues(argv: string[] = []): Record<string, string> {
|
|
return argv.slice(2).reduce((argsObj, arg) => {
|
|
const [argument, value] = arg.replace(/\s/g, '').split('=');
|
|
|
|
if (!argument || !value) {
|
|
throw `Invalid argument/value specified: ${arg}`;
|
|
}
|
|
|
|
return { ...argsObj, [argument]: value };
|
|
}, {});
|
|
}
|
|
|
|
export { getArgValues };
|