File Coverage

blib/lib/Number/Phone/StubCountry/BQ.pm
Criterion Covered Total %
statement 17 17 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 25 25 100.0


line stmt bran cond sub pod time code
1             # automatically generated file, don't edit
2              
3              
4              
5             # Copyright 2023 David Cantrell, derived from data from libphonenumber
6             # http://code.google.com/p/libphonenumber/
7             #
8             # Licensed under the Apache License, Version 2.0 (the "License");
9             # you may not use this file except in compliance with the License.
10             # You may obtain a copy of the License at
11             #
12             # http://www.apache.org/licenses/LICENSE-2.0
13             #
14             # Unless required by applicable law or agreed to in writing, software
15             # distributed under the License is distributed on an "AS IS" BASIS,
16             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17             # See the License for the specific language governing permissions and
18             # limitations under the License.
19             package Number::Phone::StubCountry::BQ;
20 4     4   1649 use base qw(Number::Phone::StubCountry);
  4         11  
  4         368  
21              
22 4     4   30 use strict;
  4         10  
  4         80  
23 4     4   21 use warnings;
  4         11  
  4         91  
24 4     4   22 use utf8;
  4         14  
  4         31  
25             our $VERSION = 1.20230307181417;
26              
27             my $formatters = [];
28              
29             my $validators = {
30             'fixed_line' => '
31             (?:
32             318[023]|
33             41(?:
34             6[023]|
35             70
36             )|
37             7(?:
38             1[578]|
39             2[05]|
40             50
41             )\\d
42             )\\d{3}
43             ',
44             'geographic' => '
45             (?:
46             318[023]|
47             41(?:
48             6[023]|
49             70
50             )|
51             7(?:
52             1[578]|
53             2[05]|
54             50
55             )\\d
56             )\\d{3}
57             ',
58             'mobile' => '
59             (?:
60             31(?:
61             8[14-8]|
62             9[14578]
63             )|
64             416[14-9]|
65             7(?:
66             0[01]|
67             7[07]|
68             8\\d|
69             9[056]
70             )\\d
71             )\\d{3}
72             ',
73             'pager' => '',
74             'personal_number' => '',
75             'specialrate' => '',
76             'toll_free' => '',
77             'voip' => ''
78             };
79             my %areanames = ();
80             $areanames{en} = {"5994160", "Saba",
81             "59975", "Bonaire",
82             "59971", "Bonaire",
83             "599417", "Saba",
84             "5994162", "Saba",
85             "59972", "Bonaire",
86             "5994163", "Saba",
87             "5993182", "St\.\ Eustatius",
88             "5993183", "St\.\ Eustatius",
89             "5993180", "St\.\ Eustatius",};
90              
91             sub new {
92 21     21 1 48 my $class = shift;
93 21         31 my $number = shift;
94 21         117 $number =~ s/(^\+599|\D)//g;
95 21         117 my $self = bless({ country_code => '599', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
96 21 100       96 return $self->is_valid() ? $self : undef;
97             }
98             1;