File Coverage

blib/lib/Number/Phone/StubCountry/BN.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::BN;
20 2     2   1097 use base qw(Number::Phone::StubCountry);
  2         5  
  2         222  
21              
22 2     2   13 use strict;
  2         4  
  2         44  
23 2     2   11 use warnings;
  2         5  
  2         49  
24 2     2   10 use utf8;
  2         4  
  2         14  
25             our $VERSION = 1.20230614174401;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2',
30             'leading_digits' => '[2-578]',
31             'pattern' => '(\\d{3})(\\d{4})'
32             }
33             ];
34              
35             my $validators = {
36             'fixed_line' => '
37             22[0-7]\\d{4}|
38             (?:
39             2[013-9]|
40             [34]\\d|
41             5[0-25-9]
42             )\\d{5}
43             ',
44             'geographic' => '
45             22[0-7]\\d{4}|
46             (?:
47             2[013-9]|
48             [34]\\d|
49             5[0-25-9]
50             )\\d{5}
51             ',
52             'mobile' => '
53             (?:
54             22[89]|
55             [78]\\d\\d
56             )\\d{4}
57             ',
58             'pager' => '',
59             'personal_number' => '',
60             'specialrate' => '',
61             'toll_free' => '',
62             'voip' => '5[34]\\d{5}'
63             };
64             my %areanames = ();
65             $areanames{en} = {"67323", "Brunei\ Muara",
66             "67325", "Brunei\ Muara",
67             "67359", "Temburong",
68             "67326", "Brunei\ Muara",
69             "67324", "Brunei\ Muara",
70             "6733", "Beliat",
71             "673226", "Brunei\ Muara",
72             "67327", "Brunei\ Muara",
73             "67351", "Temburong",
74             "67352", "Temburong",
75             "6734", "Tutong",
76             "67320", "Brunei\ Muara",
77             "67328", "Brunei\ Muara",
78             "673223", "Brunei\ Muara",
79             "67350", "Temburong",
80             "67358", "Temburong",
81             "67357", "Temburong",
82             "67321", "Brunei\ Muara",
83             "673224", "Brunei\ Muara",
84             "673225", "Brunei\ Muara",
85             "673221", "Brunei\ Muara",
86             "673220", "Brunei\ Muara",
87             "67356", "Temburong",
88             "673222", "Brunei\ Muara",
89             "67329", "Brunei\ Muara",
90             "673227", "Brunei\ Muara",
91             "67355", "Temburong",};
92              
93             sub new {
94 10     10 1 21 my $class = shift;
95 10         14 my $number = shift;
96 10         58 $number =~ s/(^\+673|\D)//g;
97 10         53 my $self = bless({ country_code => '673', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
98 10 100       49 return $self->is_valid() ? $self : undef;
99             }
100             1;