@@ -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.
118119func 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