Skip to content
This repository was archived by the owner on Jan 25, 2022. It is now read-only.

Commit 961ed40

Browse files
committed
Refactor
1 parent 3ee079c commit 961ed40

File tree

12 files changed

+290
-98
lines changed

12 files changed

+290
-98
lines changed

.idea/workspace.xml

Lines changed: 9 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package helperSystem
2+
3+
import (
4+
"strings"
5+
)
6+
7+
8+
// Usage:
9+
// {{ $str := UserPrompt "Enter something %s:" "here" }}
10+
func HelperUserPrompt(prompt string, args ...interface{}) string {
11+
return UserPrompt(prompt, args...)
12+
}
13+
14+
15+
// Usage:
16+
// {{ $str := UserPromptHidden "Enter something %s:" "here" }}
17+
func HelperUserPromptHidden(prompt string, args ...interface{}) string {
18+
return UserPromptHidden(prompt, args...)
19+
}
20+
21+
22+
// Usage:
23+
// {{ $str := UserPrompt "Enter something %s:" "here" }}
24+
func HelperUserPromptBool(prompt string, args ...interface{}) bool {
25+
var ret bool
26+
27+
for range OnlyOnce {
28+
str := UserPrompt(prompt, args...)
29+
str = strings.TrimSpace(str)
30+
str = strings.ToUpper(str)
31+
switch str {
32+
case "TRUE":
33+
fallthrough
34+
case "YES":
35+
fallthrough
36+
case "Y":
37+
ret = true
38+
}
39+
}
40+
41+
return ret
42+
}

jtc/helpers/helperSystem/pkgreflect.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jtc/helpers/helperSystem/prompt.go

Lines changed: 12 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,26 @@
11
package helperSystem
22

33
import (
4-
"bufio"
54
"fmt"
6-
"golang.org/x/crypto/ssh/terminal"
7-
"os"
8-
"strings"
9-
"syscall"
105
)
116

7+
// @TODO - This is a workaround for the duplicates that appear with pkgreflect.
128

13-
// Usage:
14-
// {{ $str := UserPrompt "Enter something %s:" "here" }}
15-
func HelperUserPrompt(prompt string, args ...interface{}) string {
16-
var ret string
9+
type Prompt string
1710

18-
for range OnlyOnce {
19-
fmt.Printf(prompt, args...)
2011

21-
r := bufio.NewReader(os.Stdin)
22-
23-
var err error
24-
ret, err = r.ReadString('\n')
25-
fmt.Printf("\n")
26-
if err != nil {
27-
break
28-
}
29-
30-
ret = strings.TrimSuffix(ret, "\n")
31-
}
32-
33-
return ret
12+
func UserPrompt(prompt string, args ...interface{}) string {
13+
var p Prompt
14+
p.Set(prompt, args)
15+
return p.UserPrompt()
3416
}
35-
36-
37-
// Usage:
38-
// {{ $str := UserPromptHidden "Enter something %s:" "here" }}
39-
func HelperUserPromptHidden(prompt string, args ...interface{}) string {
40-
var ret string
41-
42-
for range OnlyOnce {
43-
fmt.Printf(prompt, args...)
44-
45-
hidden, err := terminal.ReadPassword(syscall.Stdin)
46-
fmt.Printf("\n")
47-
if err != nil {
48-
break
49-
}
50-
51-
ret = strings.TrimSuffix(string(hidden), "\n")
52-
}
53-
54-
return ret
17+
func (me *Prompt) Set(prompt string, args ...interface{}) {
18+
*me = Prompt(fmt.Sprintf(prompt, args...))
5519
}
5620

5721

58-
// Usage:
59-
// {{ $str := UserPrompt "Enter something %s:" "here" }}
60-
func HelperUserPromptBool(prompt string, args ...interface{}) bool {
61-
var ret bool
62-
63-
for range OnlyOnce {
64-
fmt.Printf(prompt, args...)
65-
66-
r := bufio.NewReader(os.Stdin)
67-
68-
str, err := r.ReadString('\n')
69-
fmt.Printf("\n")
70-
if err != nil {
71-
break
72-
}
73-
str = strings.TrimSpace(str)
74-
75-
switch strings.ToUpper(str) {
76-
case "TRUE":
77-
fallthrough
78-
case "YES":
79-
fallthrough
80-
case "Y":
81-
ret = true
82-
}
83-
}
84-
85-
return ret
22+
func UserPromptHidden(prompt string, args ...interface{}) string {
23+
var p Prompt
24+
p.Set(prompt, args)
25+
return p.UserPromptHidden()
8626
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// +build darwin
2+
3+
package helperSystem
4+
5+
import (
6+
"bufio"
7+
"fmt"
8+
"golang.org/x/crypto/ssh/terminal"
9+
"os"
10+
"strings"
11+
"syscall"
12+
)
13+
14+
15+
func (me *Prompt) UserPrompt() string {
16+
var ret string
17+
18+
for range OnlyOnce {
19+
fmt.Printf("%s", *me)
20+
21+
r := bufio.NewReader(os.Stdin)
22+
23+
var err error
24+
ret, err = r.ReadString('\n')
25+
fmt.Printf("\n")
26+
if err != nil {
27+
break
28+
}
29+
30+
ret = strings.TrimSuffix(ret, "\n")
31+
}
32+
33+
return ret
34+
}
35+
36+
37+
func (me *Prompt) UserPromptHidden() string {
38+
var ret string
39+
40+
for range OnlyOnce {
41+
fmt.Printf("%s", *me)
42+
43+
hidden, err := terminal.ReadPassword(syscall.Stdin)
44+
fmt.Printf("\n")
45+
if err != nil {
46+
break
47+
}
48+
49+
ret = strings.TrimSuffix(string(hidden), "\n")
50+
}
51+
52+
return ret
53+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// +build linux
2+
3+
package helperSystem
4+
5+
import (
6+
"bufio"
7+
"fmt"
8+
"golang.org/x/crypto/ssh/terminal"
9+
"os"
10+
"strings"
11+
"syscall"
12+
)
13+
14+
15+
func (me *Prompt) UserPrompt() string {
16+
var ret string
17+
18+
for range OnlyOnce {
19+
fmt.Printf("%s", *me)
20+
21+
r := bufio.NewReader(os.Stdin)
22+
23+
var err error
24+
ret, err = r.ReadString('\n')
25+
fmt.Printf("\n")
26+
if err != nil {
27+
break
28+
}
29+
30+
ret = strings.TrimSuffix(ret, "\n")
31+
}
32+
33+
return ret
34+
}
35+
36+
37+
func (me *Prompt) UserPromptHidden() string {
38+
var ret string
39+
40+
for range OnlyOnce {
41+
fmt.Printf("%s", *me)
42+
43+
hidden, err := terminal.ReadPassword(syscall.Stdin)
44+
fmt.Printf("\n")
45+
if err != nil {
46+
break
47+
}
48+
49+
ret = strings.TrimSuffix(string(hidden), "\n")
50+
}
51+
52+
return ret
53+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// +build windows
2+
3+
package helperSystem
4+
5+
import (
6+
"bufio"
7+
"fmt"
8+
"os"
9+
"strings"
10+
)
11+
12+
13+
func (me *Prompt) UserPrompt() string {
14+
var ret string
15+
16+
for range OnlyOnce {
17+
fmt.Printf("%s", *me)
18+
19+
r := bufio.NewReader(os.Stdin)
20+
21+
var err error
22+
ret, err = r.ReadString('\n')
23+
fmt.Printf("\n")
24+
if err != nil {
25+
break
26+
}
27+
28+
ret = strings.TrimSuffix(ret, "\n")
29+
}
30+
31+
return ret
32+
}
33+
34+
35+
func (me *Prompt) UserPromptHidden() string {
36+
var ret string
37+
38+
for range OnlyOnce {
39+
fmt.Printf("%s", *me)
40+
41+
r := bufio.NewReader(os.Stdin)
42+
43+
var err error
44+
ret, err = r.ReadString('\n')
45+
fmt.Printf("\n")
46+
if err != nil {
47+
break
48+
}
49+
50+
ret = strings.TrimSuffix(ret, "\n")
51+
}
52+
53+
return ret
54+
}

0 commit comments

Comments
 (0)