♻️ Refactor Timestamp Generator to single function with options
This commit is contained in:
parent
72791d4fac
commit
61a5199699
5 changed files with 113 additions and 67 deletions
|
|
@ -8,7 +8,6 @@ import (
|
|||
"fmt"
|
||||
"hash"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/gosimple/slug"
|
||||
|
|
@ -65,46 +64,6 @@ func UUID() Generator {
|
|||
return uuidGen
|
||||
}
|
||||
|
||||
// FileTimestamp is the default format for WithTimestamp and WithTime
|
||||
const FileTimestamp string = "2006-01-02_03-05-06-0700"
|
||||
|
||||
// Timestamp generates a a date and time for the current time.
|
||||
// It is formatted accourding to FileTimestamp
|
||||
func Timestamp() Generator {
|
||||
return TimestampWithFormat(FileTimestamp)
|
||||
}
|
||||
|
||||
// TimestampWithFormat generates a date and time for the current time with the supplied format.
|
||||
func TimestampWithFormat(f string) Generator {
|
||||
return FormattedTime(time.Now(), FileTimestamp)
|
||||
}
|
||||
|
||||
// Time generates a date and time for the supplied time.
|
||||
// It is formatted accourding to FileTimestamp
|
||||
func Time(t time.Time) Generator {
|
||||
return FormattedTime(t, FileTimestamp)
|
||||
}
|
||||
|
||||
// FormattedTime generates a date and time for the supplied time with the supplied format.
|
||||
func FormattedTime(t time.Time, f string) Generator {
|
||||
return func(*Config) (string, error) {
|
||||
return t.Format(f), nil
|
||||
}
|
||||
}
|
||||
|
||||
// FileTimestampNoTZ is the default format for WithTimestampUTC and WithTimeUTC
|
||||
const FileTimestampNoTZ string = "2006-01-02_03-05-06"
|
||||
|
||||
// TimestampUTC generates a date and time for the current time in UTC without a timezone in the format.
|
||||
func TimestampUTC() Generator {
|
||||
return TimeUTC(time.Now())
|
||||
}
|
||||
|
||||
// TimeUTC generates a date and time for the supplied time in UTC without a timezone in the format.
|
||||
func TimeUTC(t time.Time) Generator {
|
||||
return FormattedTime(t.UTC(), FileTimestampNoTZ)
|
||||
}
|
||||
|
||||
// Incremental generates a name that is a series of integers starting at 0
|
||||
func Incremental() Generator {
|
||||
return IncrementalWithStartAndStep(0, 1)
|
||||
|
|
@ -136,7 +95,6 @@ func IncrementalWithStep(step int) Generator {
|
|||
func IncrementalFormatWithStep(step int, format string) Generator {
|
||||
return IncrementalFormatWithStartAndStep(0, step, format)
|
||||
}
|
||||
|
||||
func incrementalHelper(start, step int, cb func(int) string) Generator {
|
||||
next := start
|
||||
return func(*Config) (string, error) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue