(ctxLogger telemetry.Logger, phoneNumber string)
| 32 | } |
| 33 | |
| 34 | func (service *service) getFormattedNumber(ctxLogger telemetry.Logger, phoneNumber string) string { |
| 35 | matched, err := regexp.MatchString("^\\+?[1-9]\\d{9,14}$", phoneNumber) |
| 36 | if err != nil { |
| 37 | ctxLogger.Error(stacktrace.Propagate(err, fmt.Sprintf("error while matching phoneNumber [%s] with regex [%s]", phoneNumber, "^\\+?[1-9]\\d{10,14}$"))) |
| 38 | return phoneNumber |
| 39 | } |
| 40 | if !matched { |
| 41 | return phoneNumber |
| 42 | } |
| 43 | |
| 44 | number, err := phonenumbers.Parse(phoneNumber, phonenumbers.UNKNOWN_REGION) |
| 45 | if err != nil { |
| 46 | ctxLogger.Error(stacktrace.Propagate(err, fmt.Sprintf("cannot parse number [%s]", phoneNumber))) |
| 47 | return phoneNumber |
| 48 | } |
| 49 | |
| 50 | return phonenumbers.Format(number, phonenumbers.INTERNATIONAL) |
| 51 | } |
no test coverage detected