@@ -44,42 +44,36 @@ const (
4444)
4545
4646type SerialNumber struct {
47- val int
48- size int
47+ val int
48+ len int
4949}
5050
5151func (sn SerialNumber ) String () string {
52- return utils .StrCode (sn .val , sn .size )
52+ return utils .StrCode (sn .val , sn .len )
5353}
5454
5555func (sn * SerialNumber ) Ints () []int {
5656 if sn == nil {
5757 return nil
5858 }
5959
60- res := make ([]int , sn .size )
61- nums := utils .CodeToInts (sn .val )
62-
63- idx := len (res ) - 1
64- for i := len (nums ) - 1 ; i >= 0 ; i -- {
65- res [idx ] = nums [i ]
66- idx --
67- }
60+ res := make ([]int , sn .len )
61+ utils .FillSlice (utils .CodeToInts (sn .val ), res , len (res )- 1 )
6862
6963 return res
7064}
7165
7266func GenerateSerailNumber (innType INNType ) SerialNumber {
7367 if innType == Physical {
7468 return SerialNumber {
75- val : int (utils .RandomDigits (physicalSerialNumberLength )),
76- size : physicalSerialNumberLength ,
69+ val : int (utils .RandomDigits (physicalSerialNumberLength )),
70+ len : physicalSerialNumberLength ,
7771 }
7872 }
7973
8074 return SerialNumber {
81- val : int (utils .RandomDigits (legalSerialNumberLength )),
82- size : legalSerialNumberLength ,
75+ val : int (utils .RandomDigits (legalSerialNumberLength )),
76+ len : legalSerialNumberLength ,
8377 }
8478}
8579
@@ -148,10 +142,10 @@ func ParseINN(inn string) (*INNStruct, error) {
148142 }
149143
150144 t := Physical
151- snSize := physicalSerialNumberLength
145+ snlen := physicalSerialNumberLength
152146 parseIdx := len (inn ) - 2
153147 if len (inn ) == legalLength {
154- snSize = legalSerialNumberLength
148+ snlen = legalSerialNumberLength
155149 t = Legal
156150 parseIdx = len (inn ) - 1
157151 const foreignLegalStartWith = "9909"
@@ -173,8 +167,8 @@ func ParseINN(inn string) (*INNStruct, error) {
173167 return & INNStruct {
174168 taxRegionCode : taxRegionCode ,
175169 serialNumber : SerialNumber {
176- val : utils .SliceToInt (serialNumberArr ),
177- size : snSize ,
170+ val : utils .SliceToInt (serialNumberArr ),
171+ len : snlen ,
178172 },
179173 checkSums : checkSums ,
180174 t : t ,
0 commit comments