Skip to content

Commit e8ee475

Browse files
committed
ref: inn package
1 parent 19c6770 commit e8ee475

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

inn/inn.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ type INN struct {
2424
// Validate check to valid inn from input string.
2525
// example: input format is 7707083893
2626
func Validate(inn string) (bool, error) {
27-
if len(inn) != lengthLegal && len(inn) != lengthPhysical {
27+
if !IsCompany(inn) && !IsEntrepreneur(inn) {
2828
return false, &models.CommonError{
2929
Method: packageName,
3030
Err: models.ErrInvalidLength,
@@ -42,6 +42,25 @@ func Validate(inn string) (bool, error) {
4242
return hash11(innArr) == innArr[len(innArr)-2] && hash12(innArr) == innArr[len(innArr)-1], nil
4343
}
4444

45+
// Generate generate random type inn string value.
46+
func Generate() string {
47+
if utils.RandomDigits(1)%2 == 1 {
48+
return GeneratePhysical()
49+
}
50+
51+
return GenerateLegal()
52+
}
53+
54+
// IsEntrepreneur check inn for Entrepreneur type
55+
func IsEntrepreneur(inn string) bool {
56+
return len(inn) == lengthPhysical
57+
}
58+
59+
// IsCompany check inn for Company type
60+
func IsCompany(inn string) bool {
61+
return len(inn) == lengthLegal
62+
}
63+
4564
// GenerateLegal generate legal type inn string value.
4665
func GenerateLegal() string {
4766
inn := strconv.FormatInt(utils.RandomDigits(9), 10)
@@ -80,25 +99,6 @@ func transformInn(inn string) ([]int, error) {
8099
return innArr, nil
81100
}
82101

83-
// Generate generate random type inn string value.
84-
func Generate() string {
85-
if utils.RandomDigits(1)%2 == 1 {
86-
return GeneratePhysical()
87-
}
88-
89-
return GenerateLegal()
90-
}
91-
92-
// IsEntrepreneur check inn for Entrepreneur type
93-
func IsEntrepreneur(inn string) bool {
94-
return len(inn) == lengthPhysical
95-
}
96-
97-
// IsCompany check inn for Company type
98-
func IsCompany(inn string) bool {
99-
return len(inn) == lengthLegal
100-
}
101-
102102
func hash10(innArr []int) int {
103103
return ((2*innArr[0] + 4*innArr[1] + 10*innArr[2] + 3*innArr[3] +
104104
5*innArr[4] + 9*innArr[5] + 4*innArr[6] + 6*innArr[7] + 8*innArr[8]) % 11) % 10

0 commit comments

Comments
 (0)