effects-as-data-generate
Advanced tools
Comparing version
76
index.js
@@ -1,63 +0,31 @@ | ||
const prompt = require('prompt') | ||
const fs = require('fs') | ||
const { snake, pascal } = require('case') | ||
const program = require('commander'); | ||
const fxns = require('./effects'); | ||
const chalk = require('chalk'); | ||
const {failure, isFailure} = require('effects-as-data'); | ||
function fnTemplate (name) { | ||
return `function * ${name} () { | ||
program.version('0.0.1').command('init').action(function() { | ||
fxns.init().then(printResult).catch(printFailure); | ||
}); | ||
} | ||
program.version('0.0.1').command('fn').action(function(fn) { | ||
fxns.newFn(fn).then(printResult).catch(printFailure); | ||
}); | ||
module.exports = { | ||
${name} | ||
function printResult(result) { | ||
if (isFailure(result)) printFailure(result); | ||
else printSuccess(result); | ||
} | ||
` | ||
} | ||
function specTemplate (name) { | ||
const fileName = snake(name) | ||
const nameCapitalized = pascal(name) | ||
return `const { testIt } = require('effects-as-data/test') | ||
const { ${name} } = require('./${fileName}') | ||
const test${nameCapitalized} = testIt(${name}) | ||
describe('${fileName}.js', () => { | ||
describe('${name}()', () => { | ||
it('should...', test${nameCapitalized}(() => { | ||
return [ | ||
[] | ||
] | ||
})) | ||
}) | ||
}) | ||
` | ||
function printSuccess(result) { | ||
console.error(chalk.green(result.payload.message)); | ||
} | ||
prompt.start() | ||
prompt.get(['Enter the function name'], function (err, result) { | ||
if (err) { | ||
console.error(err) | ||
process.exit(1) | ||
function printFailure(result) { | ||
const f = failure(result); | ||
console.error(chalk.red(f.error.message)); | ||
if (f.error.stack) { | ||
console.error(f.error.stack); | ||
} | ||
} | ||
const name = result['Enter the function name'] | ||
const fileName = snake(name) | ||
if (!name) { | ||
console.error('A function name is required!') | ||
process.exit(1) | ||
} | ||
if (fs.existsSync(`${fileName}.js`)) { | ||
console.error(`${fileName}.js already exists.`) | ||
process.exit(1) | ||
} | ||
fs.writeFileSync(`${fileName}.js`, fnTemplate(name)) | ||
if (fs.existsSync(`${fileName}.spec.js`)) { | ||
console.error(`${fileName}.spec.js already exists.`) | ||
process.exit(1) | ||
} | ||
fs.writeFileSync(`${fileName}.spec.js`, specTemplate(name)) | ||
}) | ||
program.parse(process.argv); |
{ | ||
"name": "effects-as-data-generate", | ||
"version": "1.1.0", | ||
"version": "2.0.0", | ||
"description": "", | ||
@@ -13,3 +13,9 @@ "main": "index.js", | ||
"case": "^1.5.2", | ||
"prompt": "^1.0.0" | ||
"chalk": "^1.1.3", | ||
"commander": "^2.9.0", | ||
"effects-as-data": "^1.14.1", | ||
"ncp": "^2.0.0", | ||
"prompt": "^1.0.0", | ||
"ramda": "^0.23.0", | ||
"safe-errors": "^0.7.0" | ||
}, | ||
@@ -16,0 +22,0 @@ "bin": { |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
10363
307.83%21
425%268
405.66%8
300%1
Infinity%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added