mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const exit = require('./exit');
|
|
const columns = require('./columns');
|
|
|
|
module.exports.root = (dir, fn) => {
|
|
if (typeof dir !== 'string')
|
|
throw Error('dir should be a string');
|
|
|
|
if (dir === '/')
|
|
return;
|
|
|
|
const fs = require('fs');
|
|
|
|
fs.stat(dir, (error) => {
|
|
if (error)
|
|
return exit('cloudcmd --root: %s', error.message);
|
|
|
|
if (typeof fn === 'function')
|
|
fn('root:', dir);
|
|
});
|
|
};
|
|
|
|
module.exports.editor = (name) => {
|
|
const reg = /^(dword|edward|deepword)$/;
|
|
|
|
if (!reg.test(name))
|
|
exit('cloudcmd --editor: could be "dword", "edward" or "deepword" only');
|
|
};
|
|
|
|
module.exports.packer = (name) => {
|
|
const reg = /^(tar|zip)$/;
|
|
|
|
if (!reg.test(name))
|
|
exit('cloudcmd --packer: could be "tar" or "zip" only');
|
|
};
|
|
|
|
module.exports.columns = (type) => {
|
|
const addQuotes = (a) => `"${a}"`;
|
|
const all = Object
|
|
.keys(columns)
|
|
.concat('');
|
|
|
|
const names = all
|
|
.filter(Boolean)
|
|
.map(addQuotes)
|
|
.join(', ');
|
|
|
|
if (!~all.indexOf(type))
|
|
exit(`cloudcmd --columns: can be only one of: ${names}`);
|
|
};
|
|
|