Skip to content

Commit 0925237

Browse files
committed
fix: bin — more robust flaghandler and log not showing on class-based
1 parent caf110e commit 0925237

File tree

2 files changed

+43
-12
lines changed

2 files changed

+43
-12
lines changed

bin/ewTools.class.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class Configuration {
88
}
99

1010
static get(key) {
11+
Configuration.load()
1112
return process.env[key]
1213
}
1314
}
@@ -31,18 +32,33 @@ class Logger {
3132
class FlagsProcessor {
3233
static formatFlagsString(args) {
3334
if (!Array.isArray(args) || args.length === 0) return ""
35+
let lastIsAttr = false
36+
let isPreviousDump = false
3437

35-
return args.map((token, index) =>
36-
index === args.length - 1 ? token : index % 2 === 0 ? `${token}` : `${token}+`
37-
).join("")
38+
return args.map((token, index) => {
39+
if (index === 0) return token
40+
if (token.startsWith("-") || isPreviousDump) {
41+
lastIsAttr = true
42+
if (token.includes("dump")) { isPreviousDump = true } else { isPreviousDump = false }
43+
return "+" + token
44+
}
45+
46+
lastIsAttr = false
47+
return ";" + token
48+
}).join("")
3849
}
3950

4051
static parseFlags(flags) {
4152
const paramWithValue = flags.split("+")
4253
const flagsObject = {}
4354
paramWithValue.forEach(token => {
44-
const [attr, value] = token.split("")
45-
flagsObject[attr] = value
55+
let [attr, value] = token.split(";")
56+
if (!value) value = true
57+
if (attr.startsWith("--")) {
58+
flagsObject[attr.slice(2)] = value
59+
} else {
60+
flagsObject[attr.slice(1)] = value
61+
}
4662
})
4763
return flagsObject
4864
}
@@ -160,8 +176,9 @@ class Ewtools {
160176
this.validateArgs()
161177
Logger.log(this.args, Logger.Types.INFO)
162178
Logger.log(this.flags, Logger.Types.INFO)
179+
Logger.log(FlagsProcessor.formatFlagsString(this.restArgs), Logger.Types.INFO)
163180

164-
switch (this.action) {
181+
if (!this.flags.dump && !this.flags.dp) switch (this.action) {
165182
case FileHandler.ActionTypes.MAKE:
166183
this.handleMake()
167184
break
@@ -201,7 +218,6 @@ class Ewtools {
201218
}
202219
}
203220

204-
Configuration.load()
205221
const args = process.argv.slice(2)
206222

207223
if (args.length <= 0) {

bin/ewTools.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,33 @@ const Logger = (text, type = LoggerType.EMPTY) => {
2222

2323
const formatFlagsString = (args) => {
2424
if (!Array.isArray(args) || args.length === 0) return "";
25+
let lastIsAttr = false
26+
let isPreviousDump = false
2527

2628
return args.map((token, index) => {
27-
if (index === args.length - 1) return token;
28-
return (index % 2 == 0) ? `${token};` : `${token}+`
29+
if (index === 0) return token
30+
if (token.startsWith("-") || isPreviousDump) {
31+
lastIsAttr = true
32+
if (token.includes("dump")) { isPreviousDump = true } else { isPreviousDump = false }
33+
return "+" + token
34+
}
35+
36+
lastIsAttr = false
37+
return ";" + token
2938
}).join("")
3039
}
3140

3241
const flagsHandler = (flags) => {
3342
const paramWithValue = flags.split("+")
3443
const flagsObject = new Object();
3544
paramWithValue.forEach(token => {
36-
const [attr, value] = token.split(";")
37-
flagsObject[attr[1]] = value
45+
let [attr, value] = token.split(";")
46+
if (!value) value = true
47+
if (attr.startsWith("--")) {
48+
flagsObject[attr.slice(2)] = value
49+
} else {
50+
flagsObject[attr.slice(1)] = value
51+
}
3852
})
3953
return flagsObject
4054
}
@@ -50,6 +64,7 @@ const formattedFlags = formatFlagsString(restArgs)
5064
const flagsObject = flagsHandler(formattedFlags)
5165
Logger(args, LoggerType.INFO)
5266
Logger(flagsObject, LoggerType.INFO)
67+
Logger(formattedFlags, LoggerType.INFO)
5368

5469
const ActionTypes = Object.freeze({
5570
MAKE: "make",
@@ -172,7 +187,7 @@ const handleDelete = (type, title) => {
172187
}
173188
}
174189

175-
switch (action) {
190+
if (!flagsObject.dump && !flagsObject.dp) switch (action) {
176191
case ActionTypes.MAKE:
177192
handleMake(type, title)
178193
break

0 commit comments

Comments
 (0)