Some checks failed
Build and Release / Create Release (push) Successful in 0s
Trigger Vault Plugin Rebuild / Trigger Vault Rebuild (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 2m48s
Build and Release / Lint (push) Failing after 5m2s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Has been skipped
Build and Release / Unit Tests (push) Successful in 5m37s
Go's semantic import versioning requires v2+ modules to include the major version in the module path. This enables using proper version tags (v3.x.x) instead of pseudo-versions. Updated module path: code.gitcaddy.com/server/v3
72 lines
1.5 KiB
Go
72 lines
1.5 KiB
Go
// Copyright 2023 The Gitea Authors and MarketAlly. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package templates
|
|
|
|
import (
|
|
"fmt"
|
|
"html/template"
|
|
"strings"
|
|
|
|
"code.gitcaddy.com/server/v3/modules/util"
|
|
)
|
|
|
|
type StringUtils struct{}
|
|
|
|
var stringUtils = StringUtils{}
|
|
|
|
func NewStringUtils() *StringUtils {
|
|
return &stringUtils
|
|
}
|
|
|
|
func (su *StringUtils) ToString(v any) string {
|
|
switch v := v.(type) {
|
|
case string:
|
|
return v
|
|
case template.HTML:
|
|
return string(v)
|
|
case fmt.Stringer:
|
|
return v.String()
|
|
default:
|
|
return fmt.Sprint(v)
|
|
}
|
|
}
|
|
|
|
func (su *StringUtils) HasPrefix(s, prefix string) bool {
|
|
return strings.HasPrefix(s, prefix)
|
|
}
|
|
func (su *StringUtils) HasSuffix(s, suffix string) bool { return strings.HasSuffix(s, suffix) }
|
|
|
|
func (su *StringUtils) Contains(s, substr string) bool {
|
|
return strings.Contains(s, substr)
|
|
}
|
|
|
|
func (su *StringUtils) Split(s, sep string) []string {
|
|
return strings.Split(s, sep)
|
|
}
|
|
|
|
func (su *StringUtils) Join(a []string, sep string) string {
|
|
return strings.Join(a, sep)
|
|
}
|
|
|
|
func (su *StringUtils) Cut(s, sep string) []any {
|
|
before, after, found := strings.Cut(s, sep)
|
|
return []any{before, after, found}
|
|
}
|
|
|
|
func (su *StringUtils) EllipsisString(s string, maxLength int) string {
|
|
return util.EllipsisDisplayString(s, maxLength)
|
|
}
|
|
|
|
func (su *StringUtils) ToUpper(s string) string {
|
|
return strings.ToUpper(s)
|
|
}
|
|
|
|
func (su *StringUtils) ToLower(s string) string {
|
|
return strings.ToLower(s)
|
|
}
|
|
|
|
func (su *StringUtils) TrimPrefix(s, prefix string) string {
|
|
return strings.TrimPrefix(s, prefix)
|
|
}
|