1/*
2Package flect is a new inflection engine to replace [https://github.com/markbates/inflect](https://github.com/markbates/inflect) designed to be more modular, more readable, and easier to fix issues on than the original.
3*/
4package flect
5
6import (
7	"strings"
8	"unicode"
9)
10
11var spaces = []rune{'_', ' ', ':', '-', '/'}
12
13func isSpace(c rune) bool {
14	for _, r := range spaces {
15		if r == c {
16			return true
17		}
18	}
19	return unicode.IsSpace(c)
20}
21
22func xappend(a []string, ss ...string) []string {
23	for _, s := range ss {
24		s = strings.TrimSpace(s)
25		for _, x := range spaces {
26			s = strings.Trim(s, string(x))
27		}
28		if _, ok := baseAcronyms[strings.ToUpper(s)]; ok {
29			s = strings.ToUpper(s)
30		}
31		if s != "" {
32			a = append(a, s)
33		}
34	}
35	return a
36}
37
38func abs(x int) int {
39	if x < 0 {
40		return -x
41	}
42	return x
43}
44