Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sundowndev
GitHub Repository: sundowndev/phoneinfoga
Path: blob/master/lib/remote/local_scanner.go
988 views
1
package remote
2
3
import (
4
"github.com/sundowndev/phoneinfoga/v2/lib/number"
5
)
6
7
const Local = "local"
8
9
type localScanner struct{}
10
11
type LocalScannerResponse struct {
12
RawLocal string `json:"raw_local,omitempty" console:"Raw local,omitempty"`
13
Local string `json:"local,omitempty" console:"Local,omitempty"`
14
E164 string `json:"e164,omitempty" console:"E164,omitempty"`
15
International string `json:"international,omitempty" console:"International,omitempty"`
16
CountryCode int32 `json:"country_code,omitempty" console:"Country code,omitempty"`
17
Country string `json:"country,omitempty" console:"Country,omitempty"`
18
Carrier string `json:"carrier,omitempty" console:"Carrier,omitempty"`
19
}
20
21
func NewLocalScanner() Scanner {
22
return &localScanner{}
23
}
24
25
func (s *localScanner) Name() string {
26
return Local
27
}
28
29
func (s *localScanner) Description() string {
30
return "Gather offline info about a given phone number."
31
}
32
33
func (s *localScanner) DryRun(_ number.Number, _ ScannerOptions) error {
34
return nil
35
}
36
37
func (s *localScanner) Run(n number.Number, _ ScannerOptions) (interface{}, error) {
38
data := LocalScannerResponse{
39
RawLocal: n.RawLocal,
40
Local: n.Local,
41
E164: n.E164,
42
International: n.International,
43
CountryCode: n.CountryCode,
44
Country: n.Country,
45
Carrier: n.Carrier,
46
}
47
return data, nil
48
}
49
50