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   1723 use base qw(Number::Phone::StubCountry);
  4         15  
  4         437  
21              
22 4     4   33 use strict;
  4         10  
  4         103  
23 4     4   24 use warnings;
  4         10  
  4         113  
24 4     4   29 use utf8;
  4         11  
  4         33  
25             our $VERSION = 1.20230903131444;
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} = {"59971", "Bonaire",
81             "5994163", "Saba",
82             "599417", "Saba",
83             "59972", "Bonaire",
84             "5994160", "Saba",
85             "5993182", "St\.\ Eustatius",
86             "5993180", "St\.\ Eustatius",
87             "5994162", "Saba",
88             "59975", "Bonaire",
89             "5993183", "St\.\ Eustatius",};
90              
91             sub new {
92 21     21 1 51 my $class = shift;
93 21         36 my $number = shift;
94 21         121 $number =~ s/(^\+599|\D)//g;
95 21         169 my $self = bless({ country_code => '599', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
96 21 100       118 return $self->is_valid() ? $self : undef;
97             }
98             1;