-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathselector.js
91 lines (85 loc) · 2.96 KB
/
selector.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const prompts = require('prompts');
prompts.override(require('yargs').argv);
const fs = require('fs')
var dirs = []
var choices
var initialchoices
var response;
function dirsarray(dir){
choices = []
initialchoices = []
fs.readdirSync(dir).forEach((value) => {
if(fs.statSync(dir + '\\' + value).isDirectory()){
dirs.push(value)
var json = {
"title": value,
"value": value
}
choices.push((json))
initialchoices.push(json)
}
})}
dirsarray(__dirname)
initialchoices.push(
{"title": "Current folder", "value": __dirname},
{"title": "Other folder", "value": "other"}
)
module.exports = {
initial: async function initial(){
response = await prompts([
{
type: 'select',
name: 'targetdir',
message: '\n\nchoose which folder do you want to transform',
choices: initialchoices
}
])
if(response.targetdir === 'other'){
response = await prompts([
{
type: 'text',
name: 'targetdir',
message: '\n\nPlease type the exact path of the dir you want to transform'
}
])
}
return response.targetdir
},
direxception: async function direxception(EXCEPTIONdir){
dirsarray(EXCEPTIONdir)
response = await prompts([
{
type: 'select',
name: 'dirconfirmation',
message: '\n\nThere seems to be multiple sub folders inside the targetted folder.\n Enable chain transformation?',
choices: [
{title: 'yes', value: true},
{title: 'no', value: false}
]
}
])
if(response.dirconfirmation){
response = await prompts([
{
type: 'multiselect',
name: 'dirselect',
message: '\n\nChoose which of the folowing folders you which to transform',
choices: (choices)
},
{
type: 'select',
name: 'rchoice',
message: '\n\nDo you want the program to scan every chosen subfolders and\n their contents?',
choices: [
{title: 'yes', value: true},
{title: 'no', value: false}
]
}
])
//console.log(response)
return response
}else{
return response.dirconfirmation
}
}
}