Completed
Push — main ( 7be41d...c0f764 )
by Serhii
15s queued 13s
created

rules.go   A

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 14
eloc 24
dl 0
loc 31
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
F timeago.getRules 0 23 14
1
package timeago
2
3
type rule struct {
4
	Single  bool
5
	Plural  bool
6
	Special bool
7
}
8
9
func getRules(number, lastDigit int) map[string]rule {
10
	return map[string]rule{
11
		"en": {
12
			Single: number == 1,
13
			Plural: number > 1 || number == 0,
14
		},
15
		"ru": {
16
			Special: (number >= 5 && number <= 20) || lastDigit == 0 || (lastDigit >= 5 && lastDigit <= 9),
17
			Single:  lastDigit == 1,
18
			Plural:  lastDigit >= 2 && lastDigit < 5,
19
		},
20
		"uk": {
21
			Special: (number >= 5 && number <= 20) || lastDigit == 0 || (lastDigit >= 5 && lastDigit <= 9),
22
			Single:  lastDigit == 1,
23
			Plural:  lastDigit >= 2 && lastDigit < 5,
24
		},
25
		"nl": {
26
			Single: number == 1,
27
			Plural: number > 1 || number == 0,
28
		},
29
		"de": {
30
			Single: number == 1,
31
			Plural: number > 1 || number == 0,
32
		},
33
	}
34
}
35