device.go 723 B

123456789101112131415161718192021222324252627282930
  1. package uaparser
  2. import "strings"
  3. type Device struct {
  4. Family string
  5. Brand string
  6. Model string
  7. }
  8. func (parser *deviceParser) Match(line string, dvc *Device) {
  9. matches := parser.Reg.FindStringSubmatchIndex(line)
  10. if len(matches) == 0 {
  11. return
  12. }
  13. dvc.Family = string(parser.Reg.ExpandString(nil, parser.DeviceReplacement, line, matches))
  14. dvc.Family = strings.TrimSpace(dvc.Family)
  15. dvc.Brand = string(parser.Reg.ExpandString(nil, parser.BrandReplacement, line, matches))
  16. dvc.Brand = strings.TrimSpace(dvc.Brand)
  17. dvc.Model = string(parser.Reg.ExpandString(nil, parser.ModelReplacement, line, matches))
  18. dvc.Model = strings.TrimSpace(dvc.Model)
  19. }
  20. func (dvc *Device) ToString() string {
  21. return dvc.Family
  22. }