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   1416 use base qw(Number::Phone::StubCountry);
  2         6  
  2         271  
21              
22 2     2   18 use strict;
  2         5  
  2         58  
23 2     2   12 use warnings;
  2         5  
  2         140  
24 2     2   17 use utf8;
  2         4  
  2         25  
25             our $VERSION = 1.20230307181417;
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} = {"67320", "Brunei\ Muara",
66             "67359", "Temburong",
67             "673226", "Brunei\ Muara",
68             "67327", "Brunei\ Muara",
69             "673224", "Brunei\ Muara",
70             "673220", "Brunei\ Muara",
71             "67328", "Brunei\ Muara",
72             "67356", "Temburong",
73             "67325", "Brunei\ Muara",
74             "67321", "Brunei\ Muara",
75             "6734", "Tutong",
76             "67351", "Temburong",
77             "67352", "Temburong",
78             "67355", "Temburong",
79             "67358", "Temburong",
80             "673221", "Brunei\ Muara",
81             "67326", "Brunei\ Muara",
82             "67323", "Brunei\ Muara",
83             "673222", "Brunei\ Muara",
84             "673227", "Brunei\ Muara",
85             "67357", "Temburong",
86             "673223", "Brunei\ Muara",
87             "67329", "Brunei\ Muara",
88             "6733", "Beliat",
89             "673225", "Brunei\ Muara",
90             "67324", "Brunei\ Muara",
91             "67350", "Temburong",};
92              
93             sub new {
94 10     10 1 29 my $class = shift;
95 10         19 my $number = shift;
96 10         56 $number =~ s/(^\+673|\D)//g;
97 10         54 my $self = bless({ country_code => '673', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
98 10 100       44 return $self->is_valid() ? $self : undef;
99             }
100             1;