/
rule.go
44 lines (34 loc) · 1.21 KB
/
rule.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package main
var definitions = map[string]Rule{
"lowercase": new(RuleLowercase).Init(),
"regex": new(RuleRegex).Init(),
"camelcase": new(RuleCamelCase).Init(),
"pascalcase": new(RulePascalCase).Init(),
"snakecase": new(RuleSnakeCase).Init(),
"screamingsnakecase": new(RuleScreamingSnakeCase).Init(),
"kebabcase": new(RuleKebabCase).Init(),
"pointcase": new(RulePointCase).Init(),
}
var rules = map[string]Rule{
"lowercase": definitions["lowercase"],
"regex": definitions["regex"],
"camelcase": definitions["camelcase"],
"camelCase": definitions["camelcase"],
"pascalcase": definitions["pascalcase"],
"PascalCase": definitions["pascalcase"],
"snakecase": definitions["snakecase"],
"snake_case": definitions["snakecase"],
"screamingsnakecase": definitions["screamingsnakecase"],
"SCREAMING_SNAKE_CASE": definitions["screamingsnakecase"],
"kebabcase": definitions["kebabcase"],
"kebab-case": definitions["kebabcase"],
"pointcase": definitions["pointcase"],
"point.case": definitions["pointcase"],
}
type Rule interface {
Init() Rule
GetName() string
SetParameters(params []string) error
Validate(value string) (bool, error)
GetErrorMessage() string
}