Skip to content

Commit 2905542

Browse files
committed
main, README.md: add a --prefix option
1 parent 660f572 commit 2905542

2 files changed

Lines changed: 27 additions & 5 deletions

File tree

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ puff --bytes 32
5757
puff -n 2 --delimiter ","
5858
d4bc48da024a728fee985a6257e88611,63100951b7ff67de3f7e9c1d0b98101d
5959

60+
# Print hex-encoded values with custom prefix
61+
puff -n 2 --compact --prefix "0x"
62+
0x74003a413c368fd99434e42824973694
63+
0x27751047cd3e1314500210ce1477b9ec
64+
6065
# Print hex-encoded values with a custom suffix
6166
puff -n 2 --suffix ".png"
6267
2259c58f9a774fe171720349cd715bed.png
@@ -111,7 +116,11 @@ YPjRDxaUYFkurRAhz0MUzzl8Hh3Y0Z79DZcrJX5R/4g=
111116
puff base64 --url-safe
112117
7KtUKGFAvVHoDdsQDIuRtQ
113118

114-
# Print a URL-safe base64-encoded with custom suffix
119+
# Print a URL-safe base64-encoded value with custom prefix
120+
puff base64 --url-safe --prefix "bucket-x-"
121+
bucket-x-tyIADpZWmW5W04QlCK9TPQ
122+
123+
# Print a URL-safe base64-encoded value with custom suffix
115124
puff base64 --url-safe --suffix ".png"
116125
BvOqihvrdg2kmtPQaxKx6A.png
117126
```

main.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ const (
3333
delimiterParam = "delimiter"
3434
numParam = "num"
3535
outputParam = "output"
36+
prefixParam = "prefix"
3637
suffixParam = "suffix"
3738
timeParam = "time"
3839
urlSafeParam = "url-safe"
@@ -117,6 +118,7 @@ func printError(w io.Writer, err error) {
117118
// delimiter, except the final value.
118119
func generateHex(c *cli.Context) error {
119120
iterations := c.Int(numParam)
121+
prefix := c.String(prefixParam)
120122
suffix := c.String(suffixParam)
121123

122124
if iterations <= 0 {
@@ -141,7 +143,7 @@ func generateHex(c *cli.Context) error {
141143
delimiter = defaultDelimiter
142144
}
143145

144-
fmt.Printf("%s%s%s", hex.EncodeToString(src), suffix, delimiter)
146+
fmt.Printf("%s%s%s%s", prefix, hex.EncodeToString(src), suffix, delimiter)
145147
}
146148

147149
return nil
@@ -153,6 +155,7 @@ func generateUUID(c *cli.Context) error {
153155
version := c.Int(uuidVersionParam)
154156
compact := c.Bool(compactParam)
155157
iterations := c.Int(numParam)
158+
prefix := c.String(prefixParam)
156159
suffix := c.String(suffixParam)
157160

158161
if version != uuidV4 && version != uuidV7 {
@@ -195,7 +198,7 @@ func generateUUID(c *cli.Context) error {
195198
delimiter = defaultDelimiter
196199
}
197200

198-
fmt.Printf("%s%s%s", line, suffix, delimiter)
201+
fmt.Printf("%s%s%s%s", prefix, line, suffix, delimiter)
199202
}
200203

201204
return nil
@@ -208,6 +211,7 @@ func generateBase64(c *cli.Context) error {
208211
iterations := c.Int(numParam)
209212
delimiter := resolveDelimiter(c.String(delimiterParam))
210213
urlSafe := c.Bool(urlSafeParam)
214+
prefix := c.String(prefixParam)
211215
suffix := c.String(suffixParam)
212216

213217
if len(delimiter) == 0 {
@@ -226,9 +230,9 @@ func generateBase64(c *cli.Context) error {
226230
}
227231

228232
if urlSafe {
229-
fmt.Printf("%s%s%s", base64.RawURLEncoding.EncodeToString(src), suffix, delimiter)
233+
fmt.Printf("%s%s%s%s", prefix, base64.RawURLEncoding.EncodeToString(src), suffix, delimiter)
230234
} else {
231-
fmt.Printf("%s%s%s", base64.StdEncoding.EncodeToString(src), suffix, delimiter)
235+
fmt.Printf("%s%s%s%s", prefix, base64.StdEncoding.EncodeToString(src), suffix, delimiter)
232236
}
233237
}
234238

@@ -310,6 +314,12 @@ func main() {
310314
Value: defaultDelimiter,
311315
}
312316

317+
prefixFlag := &cli.StringFlag{
318+
Name: "prefix",
319+
Aliases: []string{"p"},
320+
Usage: "optional value to prepend to the values",
321+
}
322+
313323
suffixFlag := &cli.StringFlag{
314324
Name: "suffix",
315325
Aliases: []string{"s"},
@@ -330,6 +340,7 @@ func main() {
330340
Value: 1,
331341
},
332342
delimiterFlag,
343+
prefixFlag,
333344
suffixFlag,
334345
}
335346

@@ -376,6 +387,7 @@ func main() {
376387
Usage: "timestamp for UUID v7 (iso8601 or unix timestamp)",
377388
},
378389
delimiterFlag,
390+
prefixFlag,
379391
suffixFlag,
380392
},
381393
},
@@ -401,6 +413,7 @@ func main() {
401413
Usage: "use url-safe encoding",
402414
},
403415
delimiterFlag,
416+
prefixFlag,
404417
suffixFlag,
405418
},
406419
},

0 commit comments

Comments
 (0)