Documentation ¶
Index ¶
- Constants
- Variables
- func ByteToString(b []byte) string
- func ElementInSlice[T comparable](el T, list []T) bool
- func GenerateHMAC(salt, str string) string
- func GenerateSHA1(input []byte) string
- func GetFuncName(fn any) string
- func GetRuntimeStackLine() string
- func IsExistInMap[T any, K comparable](m map[K]T, key K) bool
- func LoadAllFile(path, formatFile string) []byte
- func LoadAllFileFromFS(fileSystem fs.FS, sourcePath, formatFile string) []byte
- func MaskingPasswordURL(stringURL string) string
- func MustParseEnv(target any)
- func ParseDurationExpression(t string) (duration, nextDuration time.Duration, err error)
- func ParseFromQueryParam(query URLQueryGetter, target any) (err error)
- func ParseTimeToString(date time.Time, format string) (res string)
- func ParseToQueryParam(source any) (s string)
- func PrintJSON(data any)
- func PtrToBool(ptr *bool) (b bool)
- func PtrToFloat(ptr *float64) (f float64)
- func PtrToFloat32(ptr *float32) (f float32)
- func PtrToInt(ptr *int) (i int)
- func PtrToString(ptr *string) (s string)
- func PtrToTime(ptr *time.Time) (t time.Time)
- func ReflectTypeUnwrapPtr(f reflect.Type) reflect.Type
- func ReflectValueUnwrapPtr(f reflect.Value) reflect.Value
- func StreamAllBatch[T any, F FilterStreamer](ctx context.Context, totalData int, filter F, ...) error
- func StreamAllBatchDynamic[T any, F FilterStreamer](ctx context.Context, filter F, ...) error
- func StringGreen(str string) string
- func StringInSlice(str string, list []string) bool
- func StringToByte(s string) (b []byte)
- func StringYellow(str string) string
- func TimeRemoveNanosecond(t time.Time) time.Time
- func ToAsiaJakartaTime(t time.Time) time.Time
- func ToBoolPtr(b bool) *bool
- func ToBytes(i any) (b []byte)
- func ToCamelCase(str string) string
- func ToDelimited(s string, delimiter uint8) string
- func ToFloat32Ptr(f float32) *float32
- func ToFloatPtr(f float64) *float64
- func ToInt(val any) (i int)
- func ToIntPtr(i int) *int
- func ToKeyMapSlice[T any, K comparable](mp map[K]T) (list []K)
- func ToMap[T any, K comparable](list []T, keyGetter func(T) K) map[K]T
- func ToString(val any) (str string)
- func ToStringPtr(str string) *string
- func ToTimePtr(t time.Time) *time.Time
- func ToUTC(t time.Time) time.Time
- func TransformSizeToByte(size uint64) string
- func UnwrapPtr[T any](t *T) (res T)
- func WrapPtr[T any](t T) *T
- type FilterStreamer
- type MultiError
- type TryCatch
- type URLQueryGetter
Constants ¶
const ( // TimeZoneAsia constanta TimeZoneAsia = "Asia/Jakarta" // TokenClaimKey const TokenClaimKey = "tokenClaim" // TimeFormatLogger const TimeFormatLogger = "2006/01/02 15:04:05" // V1 const V1 = "/v1" // V2 const V2 = "/v2" // Byte ... Byte uint64 = 1 // KByte ... KByte = Byte * 1024 // MByte ... MByte = KByte * 1024 // GByte ... GByte = MByte * 1024 // TByte ... TByte = GByte * 1024 // WORKDIR const for workdir environment WORKDIR = "WORKDIR" // RepositorySQL unit of work for sql repository RepositorySQL = "repositorySQL" // RepositoryMongo unit of work for mongodb repository RepositoryMongo = "repositoryMongo" // HeaderDisableTrace const HeaderDisableTrace = "X-Disable-Trace" // HeaderXForwardedFor const HeaderXForwardedFor = "X-Forwarded-For" // HeaderXRealIP const HeaderXRealIP = "X-Real-IP" // HeaderContentType const HeaderContentType = "Content-Type" // HeaderAuthorization const HeaderAuthorization = "Authorization" // HeaderCacheControl header const HeaderCacheControl = "Cache-Control" // HeaderExpires header const HeaderExpires = "Expires" // HeaderLastModified header const HeaderLastModified = "Last-Modified" // HeaderIfModifiedSince header const HeaderIfModifiedSince = "If-Modified-Since" // HeaderMIMEApplicationJSON const HeaderMIMEApplicationJSON = "application/json" // HeaderMIMEApplicationXML const HeaderMIMEApplicationXML = "application/xml" // HeaderMIMEApplicationForm const HeaderMIMEApplicationForm = "application/x-www-form-urlencoded" // HeaderMIMEMultipartForm const HeaderMIMEMultipartForm = "multipart/form-data" // HeaderMIMEOctetStream const HeaderMIMEOctetStream = "application/octet-stream" // DateFormatMonday date format DateFormatMonday = "Monday" // DateFormatYYYYMM date format DateFormatYYYYMM = "2006-01" // DateFormatYYYYMMDD date format DateFormatYYYYMMDD = "2006-01-02" // DateFormatYYYYMMDDHHmmss date format DateFormatYYYYMMDDHHmmss = "2006-01-02 15:04:05" // DateFormatYYYYMMDDClean date format DateFormatYYYYMMDDClean = "20060102" // DateFormatHHmmss date format DateFormatHHmm = "15:04" // DateFormatDDMMYYYY date format DateFormatDDMMYYYY = "02-01-2006" )
const ( // OneDay const OneDay = 24 * time.Hour // OneWeek const OneWeek = 7 * OneDay // OneMonth const OneMonth = 30 * OneDay // OneYear const OneYear = 12 * OneMonth // Daily const Daily = "daily" // Weekly const Weekly = "weekly" // Monthly const Monthly = "monthly" // Yearly const Yearly = "yearly" )
Variables ¶
var ( // AsiaJakartaLocalTime location AsiaJakartaLocalTime *time.Location )
Functions ¶
func ByteToString ¶ added in v1.14.0
ByteToString helper with zero allocation
func ElementInSlice ¶ added in v1.17.0
func ElementInSlice[T comparable](el T, list []T) bool
ElementInSlice check element is exist in slice
func GenerateHMAC ¶ added in v1.9.0
GenerateHMAC generate random string
func GenerateSHA1 ¶ added in v1.9.0
GenerateSHA1 generate SHA1
func GetRuntimeStackLine ¶ added in v1.10.4
func GetRuntimeStackLine() string
GetRuntimeStackLine helper
func IsExistInMap ¶ added in v1.16.2
func IsExistInMap[T any, K comparable](m map[K]T, key K) bool
IsExistInMap check key is exist in map
func LoadAllFileFromFS ¶ added in v1.17.9
LoadAllFileFromFS helper for load all file from file system
func MaskingPasswordURL ¶
MaskingPasswordURL for hide plain text password from given URL format
func MustParseEnv ¶
func MustParseEnv(target any)
MustParseEnv must parse env to struct, panic if env from target struct tag is not found
func ParseDurationExpression ¶ added in v1.13.0
ParseDurationExpression with input format HH:mm:ss
func ParseFromQueryParam ¶
func ParseFromQueryParam(query URLQueryGetter, target any) (err error)
ParseFromQueryParam parse url query string to struct target (with multiple data type in struct field), target must in pointer
func ParseTimeToString ¶ added in v1.14.8
ParseTimeToString helper, return empty string if zero time
func ParseToQueryParam ¶
ParseToQueryParam parse struct data to query param
func PrintJSON ¶ added in v1.8.14
func PrintJSON(data any)
PrintJSON for show data in pretty JSON with stack trace
func PtrToFloat32 ¶ added in v1.10.5
PtrToFloat32 helper
func ReflectValueUnwrapPtr ¶ added in v1.17.3
func StreamAllBatch ¶ added in v1.14.11
func StreamAllBatch[T any, F FilterStreamer](ctx context.Context, totalData int, filter F, fetchAllFunc func(context.Context, F) ([]T, error), handleFunc func(idx int, data *T) error) error
StreamAllBatch helper func for stream data
func StreamAllBatchDynamic ¶ added in v1.15.9
func StreamAllBatchDynamic[T any, F FilterStreamer](ctx context.Context, filter F, fetchAllFunc func(context.Context, F) ([]T, error), handleFunc func(idx int, data *T) error) error
StreamAllBatchDynamic helper func for stream data with dynamic source changes
func StringInSlice ¶
StringInSlice function for checking whether string in slice str string searched string list []string slice
func StringToByte ¶ added in v1.14.0
StringToByte helper with zero allocation
func TimeRemoveNanosecond ¶
TimeRemoveNanosecond ...
func ToAsiaJakartaTime ¶
ToAsiaJakartaTime convert only time location to AsiaJakarta local time
func ToDelimited ¶ added in v1.9.0
ToDelimited helper, can use to snake_case or kebab-case
func ToKeyMapSlice ¶ added in v1.16.2
func ToKeyMapSlice[T any, K comparable](mp map[K]T) (list []K)
ToKeyMapSlice transform key of map to slice
func ToMap ¶ added in v1.16.2
func ToMap[T any, K comparable](list []T, keyGetter func(T) K) map[K]T
ToMap transform slice to map
func TransformSizeToByte ¶ added in v1.14.11
TransformSizeToByte helper
Types ¶
type FilterStreamer ¶ added in v1.14.11
FilterStreamer abstract interface
type MultiError ¶
type MultiError interface { Append(key string, err error) MultiError HasError() bool IsNil() bool Clear() ToMap() map[string]string Merge(MultiError) MultiError Error() string }
MultiError abstract interface
type URLQueryGetter ¶ added in v1.13.14
URLQueryGetter abstraction