diff options
Diffstat (limited to 'vendor/github.com/mgutz/str/funcsAO.go')
-rw-r--r-- | vendor/github.com/mgutz/str/funcsAO.go | 337 |
1 files changed, 0 insertions, 337 deletions
diff --git a/vendor/github.com/mgutz/str/funcsAO.go b/vendor/github.com/mgutz/str/funcsAO.go deleted file mode 100644 index fd17c1c12..000000000 --- a/vendor/github.com/mgutz/str/funcsAO.go +++ /dev/null @@ -1,337 +0,0 @@ -package str - -import ( - "fmt" - "html" - //"log" - "regexp" - "strings" -) - -// Verbose flag enables console output for those functions that have -// counterparts in Go's excellent stadard packages. -var Verbose = false -var templateOpen = "{{" -var templateClose = "}}" - -var beginEndSpacesRe = regexp.MustCompile("^\\s+|\\s+$") -var camelizeRe = regexp.MustCompile(`(\-|_|\s)+(.)?`) -var camelizeRe2 = regexp.MustCompile(`(\-|_|\s)+`) -var capitalsRe = regexp.MustCompile("([A-Z])") -var dashSpaceRe = regexp.MustCompile(`[-\s]+`) -var dashesRe = regexp.MustCompile("-+") -var isAlphaNumericRe = regexp.MustCompile(`[^0-9a-z\xC0-\xFF]`) -var isAlphaRe = regexp.MustCompile(`[^a-z\xC0-\xFF]`) -var nWhitespaceRe = regexp.MustCompile(`\s+`) -var notDigitsRe = regexp.MustCompile(`[^0-9]`) -var slugifyRe = regexp.MustCompile(`[^\w\s\-]`) -var spaceUnderscoreRe = regexp.MustCompile("[_\\s]+") -var spacesRe = regexp.MustCompile("[\\s\\xA0]+") -var stripPuncRe = regexp.MustCompile(`[^\w\s]|_`) -var templateRe = regexp.MustCompile(`([\-\[\]()*\s])`) -var templateRe2 = regexp.MustCompile(`\$`) -var underscoreRe = regexp.MustCompile(`([a-z\d])([A-Z]+)`) -var whitespaceRe = regexp.MustCompile(`^[\s\xa0]*$`) - -func min(a, b int) int { - if a < b { - return a - } - return b -} - -func max(a, b int) int { - if a > b { - return a - } - return b -} - -// Between extracts a string between left and right strings. -func Between(s, left, right string) string { - l := len(left) - startPos := strings.Index(s, left) - if startPos < 0 { - return "" - } - endPos := IndexOf(s, right, startPos+l) - //log.Printf("%s: left %s right %s start %d end %d", s, left, right, startPos+l, endPos) - if endPos < 0 { - return "" - } else if right == "" { - return s[endPos:] - } else { - return s[startPos+l : endPos] - } -} - -// BetweenF is the filter form for Between. -func BetweenF(left, right string) func(string) string { - return func(s string) string { - return Between(s, left, right) - } -} - -// Camelize return new string which removes any underscores or dashes and convert a string into camel casing. -func Camelize(s string) string { - return camelizeRe.ReplaceAllStringFunc(s, func(val string) string { - val = strings.ToUpper(val) - val = camelizeRe2.ReplaceAllString(val, "") - return val - }) -} - -// Capitalize uppercases the first char of s and lowercases the rest. -func Capitalize(s string) string { - return strings.ToUpper(s[0:1]) + strings.ToLower(s[1:]) -} - -// CharAt returns a string from the character at the specified position. -func CharAt(s string, index int) string { - l := len(s) - shortcut := index < 0 || index > l-1 || l == 0 - if shortcut { - return "" - } - return s[index : index+1] -} - -// CharAtF is the filter form of CharAt. -func CharAtF(index int) func(string) string { - return func(s string) string { - return CharAt(s, index) - } -} - -// ChompLeft removes prefix at the start of a string. -func ChompLeft(s, prefix string) string { - if strings.HasPrefix(s, prefix) { - return s[len(prefix):] - } - return s -} - -// ChompLeftF is the filter form of ChompLeft. -func ChompLeftF(prefix string) func(string) string { - return func(s string) string { - return ChompLeft(s, prefix) - } -} - -// ChompRight removes suffix from end of s. -func ChompRight(s, suffix string) string { - if strings.HasSuffix(s, suffix) { - return s[:len(s)-len(suffix)] - } - return s -} - -// ChompRightF is the filter form of ChompRight. -func ChompRightF(suffix string) func(string) string { - return func(s string) string { - return ChompRight(s, suffix) - } -} - -// Classify returns a camelized string with the first letter upper cased. -func Classify(s string) string { - return Camelize("-" + s) -} - -// ClassifyF is the filter form of Classify. -func ClassifyF(s string) func(string) string { - return func(s string) string { - return Classify(s) - } -} - -// Clean compresses all adjacent whitespace to a single space and trims s. -func Clean(s string) string { - s = spacesRe.ReplaceAllString(s, " ") - s = beginEndSpacesRe.ReplaceAllString(s, "") - return s -} - -// Dasherize converts a camel cased string into a string delimited by dashes. -func Dasherize(s string) string { - s = strings.TrimSpace(s) - s = spaceUnderscoreRe.ReplaceAllString(s, "-") - s = capitalsRe.ReplaceAllString(s, "-$1") - s = dashesRe.ReplaceAllString(s, "-") - s = strings.ToLower(s) - return s -} - -// EscapeHTML is alias for html.EscapeString. -func EscapeHTML(s string) string { - if Verbose { - fmt.Println("Use html.EscapeString instead of EscapeHTML") - } - return html.EscapeString(s) -} - -// DecodeHTMLEntities decodes HTML entities into their proper string representation. -// DecodeHTMLEntities is an alias for html.UnescapeString -func DecodeHTMLEntities(s string) string { - if Verbose { - fmt.Println("Use html.UnescapeString instead of DecodeHTMLEntities") - } - return html.UnescapeString(s) -} - -// EnsurePrefix ensures s starts with prefix. -func EnsurePrefix(s, prefix string) string { - if strings.HasPrefix(s, prefix) { - return s - } - return prefix + s -} - -// EnsurePrefixF is the filter form of EnsurePrefix. -func EnsurePrefixF(prefix string) func(string) string { - return func(s string) string { - return EnsurePrefix(s, prefix) - } -} - -// EnsureSuffix ensures s ends with suffix. -func EnsureSuffix(s, suffix string) string { - if strings.HasSuffix(s, suffix) { - return s - } - return s + suffix -} - -// EnsureSuffixF is the filter form of EnsureSuffix. -func EnsureSuffixF(suffix string) func(string) string { - return func(s string) string { - return EnsureSuffix(s, suffix) - } -} - -// Humanize transforms s into a human friendly form. -func Humanize(s string) string { - if s == "" { - return s - } - s = Underscore(s) - var humanizeRe = regexp.MustCompile(`_id$`) - s = humanizeRe.ReplaceAllString(s, "") - s = strings.Replace(s, "_", " ", -1) - s = strings.TrimSpace(s) - s = Capitalize(s) - return s -} - -// Iif is short for immediate if. If condition is true return truthy else falsey. -func Iif(condition bool, truthy string, falsey string) string { - if condition { - return truthy - } - return falsey -} - -// IndexOf finds the index of needle in s starting from start. -func IndexOf(s string, needle string, start int) int { - l := len(s) - if needle == "" { - if start < 0 { - return 0 - } else if start < l { - return start - } else { - return l - } - } - if start < 0 || start > l-1 { - return -1 - } - pos := strings.Index(s[start:], needle) - if pos == -1 { - return -1 - } - return start + pos -} - -// IsAlpha returns true if a string contains only letters from ASCII (a-z,A-Z). Other letters from other languages are not supported. -func IsAlpha(s string) bool { - return !isAlphaRe.MatchString(strings.ToLower(s)) -} - -// IsAlphaNumeric returns true if a string contains letters and digits. -func IsAlphaNumeric(s string) bool { - return !isAlphaNumericRe.MatchString(strings.ToLower(s)) -} - -// IsLower returns true if s comprised of all lower case characters. -func IsLower(s string) bool { - return IsAlpha(s) && s == strings.ToLower(s) -} - -// IsNumeric returns true if a string contains only digits from 0-9. Other digits not in Latin (such as Arabic) are not currently supported. -func IsNumeric(s string) bool { - return !notDigitsRe.MatchString(s) -} - -// IsUpper returns true if s contains all upper case chracters. -func IsUpper(s string) bool { - return IsAlpha(s) && s == strings.ToUpper(s) -} - -// IsEmpty returns true if the string is solely composed of whitespace. -func IsEmpty(s string) bool { - if s == "" { - return true - } - return whitespaceRe.MatchString(s) -} - -// Left returns the left substring of length n. -func Left(s string, n int) string { - if n < 0 { - return Right(s, -n) - } - return Substr(s, 0, n) -} - -// LeftF is the filter form of Left. -func LeftF(n int) func(string) string { - return func(s string) string { - return Left(s, n) - } -} - -// LeftOf returns the substring left of needle. -func LeftOf(s string, needle string) string { - return Between(s, "", needle) -} - -// Letters returns an array of runes as strings so it can be indexed into. -func Letters(s string) []string { - result := []string{} - for _, r := range s { - result = append(result, string(r)) - } - return result -} - -// Lines convert windows newlines to unix newlines then convert to an Array of lines. -func Lines(s string) []string { - s = strings.Replace(s, "\r\n", "\n", -1) - return strings.Split(s, "\n") -} - -// Map maps an array's iitem through an iterator. -func Map(arr []string, iterator func(string) string) []string { - r := []string{} - for _, item := range arr { - r = append(r, iterator(item)) - } - return r -} - -// Match returns true if patterns matches the string -func Match(s, pattern string) bool { - r := regexp.MustCompile(pattern) - return r.MatchString(s) -} |