File Coverage

blib/lib/Locale/CLDR/NumberingSystems.pm
Criterion Covered Total %
statement 40 40 100.0
branch 4 4 100.0
condition 1 2 50.0
subroutine 13 13 100.0
pod 0 1 0.0
total 58 60 96.6


line stmt bran cond sub pod time code
1             package Locale::CLDR::NumberingSystems;
2             # This file auto generated from Data\common\supplemental\numberingSystems.xml
3             # on Fri 13 Oct 9:03:39 am GMT
4              
5 21     21   11552 use strict;
  21         58  
  21         656  
6 21     21   138 use warnings;
  21         59  
  21         521  
7 21     21   112 use version;
  21         63  
  21         142  
8              
9             our $VERSION = version->declare('v0.34.2');
10              
11 21     21   2225 use v5.10.1;
  21         79  
12 21     21   117 use mro 'c3';
  21         47  
  21         157  
13 21     21   696 use utf8;
  21         77  
  21         181  
14 21     21   856 use if $^V ge v5.12.0, feature => 'unicode_strings';
  21         68  
  21         314  
15 21     21   2445 use Types::Standard qw( Str Int HashRef ArrayRef CodeRef RegexpRef );
  21         56  
  21         155  
16 21     21   22939 use Moo::Role;
  21         55  
  21         174  
17              
18             has 'numbering_system' => (
19             is => 'ro',
20             isa => HashRef,
21             init_arg => undef,
22             default => sub { return {
23             'adlm' => {
24             type => 'numeric',
25             data => [qw(𞥐 𞥑 𞥒 𞥓 𞥔 𞥕 𞥖 𞥗 𞥘 𞥙)],
26             },
27             'ahom' => {
28             type => 'numeric',
29             data => [qw(𑜰 𑜱 𑜲 𑜳 𑜴 𑜵 𑜶 𑜷 𑜸 𑜹)],
30             },
31             'arab' => {
32             type => 'numeric',
33             data => [qw(٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩)],
34             },
35             'arabext' => {
36             type => 'numeric',
37             data => [qw(۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹)],
38             },
39             'armn' => {
40             type => 'algorithmic',
41             data => 'armenian-upper',
42             },
43             'armnlow' => {
44             type => 'algorithmic',
45             data => 'armenian-lower',
46             },
47             'bali' => {
48             type => 'numeric',
49             data => [qw(᭐ ᭑ ᭒ ᭓ ᭔ ᭕ ᭖ ᭗ ᭘ ᭙)],
50             },
51             'beng' => {
52             type => 'numeric',
53             data => [qw(০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯)],
54             },
55             'bhks' => {
56             type => 'numeric',
57             data => [qw(𑱐 𑱑 𑱒 𑱓 𑱔 𑱕 𑱖 𑱗 𑱘 𑱙)],
58             },
59             'brah' => {
60             type => 'numeric',
61             data => [qw(𑁦 𑁧 𑁨 𑁩 𑁪 𑁫 𑁬 𑁭 𑁮 𑁯)],
62             },
63             'cakm' => {
64             type => 'numeric',
65             data => [qw(𑄶 𑄷 𑄸 𑄹 𑄺 𑄻 𑄼 𑄽 𑄾 𑄿)],
66             },
67             'cham' => {
68             type => 'numeric',
69             data => [qw(꩐ ꩑ ꩒ ꩓ ꩔ ꩕ ꩖ ꩗ ꩘ ꩙)],
70             },
71             'cyrl' => {
72             type => 'algorithmic',
73             data => 'cyrillic-lower',
74             },
75             'deva' => {
76             type => 'numeric',
77             data => [qw(० १ २ ३ ४ ५ ६ ७ ८ ९)],
78             },
79             'ethi' => {
80             type => 'algorithmic',
81             data => 'ethiopic',
82             },
83             'fullwide' => {
84             type => 'numeric',
85             data => [qw(0 1 2 3 4 5 6 7 8 9)],
86             },
87             'geor' => {
88             type => 'algorithmic',
89             data => 'georgian',
90             },
91             'gong' => {
92             type => 'numeric',
93             data => [qw(𑶠 𑶡 𑶢 𑶣 𑶤 𑶥 𑶦 𑶧 𑶨 𑶩)],
94             },
95             'gonm' => {
96             type => 'numeric',
97             data => [qw(𑵐 𑵑 𑵒 𑵓 𑵔 𑵕 𑵖 𑵗 𑵘 𑵙)],
98             },
99             'grek' => {
100             type => 'algorithmic',
101             data => 'greek-upper',
102             },
103             'greklow' => {
104             type => 'algorithmic',
105             data => 'greek-lower',
106             },
107             'gujr' => {
108             type => 'numeric',
109             data => [qw(૦ ૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯)],
110             },
111             'guru' => {
112             type => 'numeric',
113             data => [qw(੦ ੧ ੨ ੩ ੪ ੫ ੬ ੭ ੮ ੯)],
114             },
115             'hanidays' => {
116             type => 'algorithmic',
117             data => 'zh/SpelloutRules/spellout-numbering-days',
118             },
119             'hanidec' => {
120             type => 'numeric',
121             data => [qw(〇 一 二 三 四 五 六 七 八 九)],
122             },
123             'hans' => {
124             type => 'algorithmic',
125             data => 'zh/SpelloutRules/spellout-cardinal',
126             },
127             'hansfin' => {
128             type => 'algorithmic',
129             data => 'zh/SpelloutRules/spellout-cardinal-financial',
130             },
131             'hant' => {
132             type => 'algorithmic',
133             data => 'zh_Hant/SpelloutRules/spellout-cardinal',
134             },
135             'hantfin' => {
136             type => 'algorithmic',
137             data => 'zh_Hant/SpelloutRules/spellout-cardinal-financial',
138             },
139             'hebr' => {
140             type => 'algorithmic',
141             data => 'hebrew',
142             },
143             'hmng' => {
144             type => 'numeric',
145             data => [qw(𖭐 𖭑 𖭒 𖭓 𖭔 𖭕 𖭖 𖭗 𖭘 𖭙)],
146             },
147             'java' => {
148             type => 'numeric',
149             data => [qw(꧐ ꧑ ꧒ ꧓ ꧔ ꧕ ꧖ ꧗ ꧘ ꧙)],
150             },
151             'jpan' => {
152             type => 'algorithmic',
153             data => 'ja/SpelloutRules/spellout-cardinal',
154             },
155             'jpanfin' => {
156             type => 'algorithmic',
157             data => 'ja/SpelloutRules/spellout-cardinal-financial',
158             },
159             'kali' => {
160             type => 'numeric',
161             data => [qw(꤀ ꤁ ꤂ ꤃ ꤄ ꤅ ꤆ ꤇ ꤈ ꤉)],
162             },
163             'khmr' => {
164             type => 'numeric',
165             data => [qw(០ ១ ២ ៣ ៤ ៥ ៦ ៧ ៨ ៩)],
166             },
167             'knda' => {
168             type => 'numeric',
169             data => [qw(೦ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ ೯)],
170             },
171             'lana' => {
172             type => 'numeric',
173             data => [qw(᪀ ᪁ ᪂ ᪃ ᪄ ᪅ ᪆ ᪇ ᪈ ᪉)],
174             },
175             'lanatham' => {
176             type => 'numeric',
177             data => [qw(᪐ ᪑ ᪒ ᪓ ᪔ ᪕ ᪖ ᪗ ᪘ ᪙)],
178             },
179             'laoo' => {
180             type => 'numeric',
181             data => [qw(໐ ໑ ໒ ໓ ໔ ໕ ໖ ໗ ໘ ໙)],
182             },
183             'latn' => {
184             type => 'numeric',
185             data => [qw(0 1 2 3 4 5 6 7 8 9)],
186             },
187             'lepc' => {
188             type => 'numeric',
189             data => [qw(᱀ ᱁ ᱂ ᱃ ᱄ ᱅ ᱆ ᱇ ᱈ ᱉)],
190             },
191             'limb' => {
192             type => 'numeric',
193             data => [qw(᥆ ᥇ ᥈ ᥉ ᥊ ᥋ ᥌ ᥍ ᥎ ᥏)],
194             },
195             'mathbold' => {
196             type => 'numeric',
197             data => [qw(𝟎 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 𝟗)],
198             },
199             'mathdbl' => {
200             type => 'numeric',
201             data => [qw(𝟘 𝟙 𝟚 𝟛 𝟜 𝟝 𝟞 𝟟 𝟠 𝟡)],
202             },
203             'mathmono' => {
204             type => 'numeric',
205             data => [qw(𝟶 𝟷 𝟸 𝟹 𝟺 𝟻 𝟼 𝟽 𝟾 𝟿)],
206             },
207             'mathsanb' => {
208             type => 'numeric',
209             data => [qw(𝟬 𝟭 𝟮 𝟯 𝟰 𝟱 𝟲 𝟳 𝟴 𝟵)],
210             },
211             'mathsans' => {
212             type => 'numeric',
213             data => [qw(𝟢 𝟣 𝟤 𝟥 𝟦 𝟧 𝟨 𝟩 𝟪 𝟫)],
214             },
215             'mlym' => {
216             type => 'numeric',
217             data => [qw(൦ ൧ ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯)],
218             },
219             'modi' => {
220             type => 'numeric',
221             data => [qw(𑙐 𑙑 𑙒 𑙓 𑙔 𑙕 𑙖 𑙗 𑙘 𑙙)],
222             },
223             'mong' => {
224             type => 'numeric',
225             data => [qw(᠐ ᠑ ᠒ ᠓ ᠔ ᠕ ᠖ ᠗ ᠘ ᠙)],
226             },
227             'mroo' => {
228             type => 'numeric',
229             data => [qw(𖩠 𖩡 𖩢 𖩣 𖩤 𖩥 𖩦 𖩧 𖩨 𖩩)],
230             },
231             'mtei' => {
232             type => 'numeric',
233             data => [qw(꯰ ꯱ ꯲ ꯳ ꯴ ꯵ ꯶ ꯷ ꯸ ꯹)],
234             },
235             'mymr' => {
236             type => 'numeric',
237             data => [qw(၀ ၁ ၂ ၃ ၄ ၅ ၆ ၇ ၈ ၉)],
238             },
239             'mymrshan' => {
240             type => 'numeric',
241             data => [qw(႐ ႑ ႒ ႓ ႔ ႕ ႖ ႗ ႘ ႙)],
242             },
243             'mymrtlng' => {
244             type => 'numeric',
245             data => [qw(꧰ ꧱ ꧲ ꧳ ꧴ ꧵ ꧶ ꧷ ꧸ ꧹)],
246             },
247             'newa' => {
248             type => 'numeric',
249             data => [qw(𑑐 𑑑 𑑒 𑑓 𑑔 𑑕 𑑖 𑑗 𑑘 𑑙)],
250             },
251             'nkoo' => {
252             type => 'numeric',
253             data => [qw(߀ ߁ ߂ ߃ ߄ ߅ ߆ ߇ ߈ ߉)],
254             },
255             'olck' => {
256             type => 'numeric',
257             data => [qw(᱐ ᱑ ᱒ ᱓ ᱔ ᱕ ᱖ ᱗ ᱘ ᱙)],
258             },
259             'orya' => {
260             type => 'numeric',
261             data => [qw(୦ ୧ ୨ ୩ ୪ ୫ ୬ ୭ ୮ ୯)],
262             },
263             'osma' => {
264             type => 'numeric',
265             data => [qw(𐒠 𐒡 𐒢 𐒣 𐒤 𐒥 𐒦 𐒧 𐒨 𐒩)],
266             },
267             'rohg' => {
268             type => 'numeric',
269             data => [qw(𐴰 𐴱 𐴲 𐴳 𐴴 𐴵 𐴶 𐴷 𐴸 𐴹)],
270             },
271             'roman' => {
272             type => 'algorithmic',
273             data => 'roman-upper',
274             },
275             'romanlow' => {
276             type => 'algorithmic',
277             data => 'roman-lower',
278             },
279             'saur' => {
280             type => 'numeric',
281             data => [qw(꣐ ꣑ ꣒ ꣓ ꣔ ꣕ ꣖ ꣗ ꣘ ꣙)],
282             },
283             'shrd' => {
284             type => 'numeric',
285             data => [qw(𑇐 𑇑 𑇒 𑇓 𑇔 𑇕 𑇖 𑇗 𑇘 𑇙)],
286             },
287             'sind' => {
288             type => 'numeric',
289             data => [qw(𑋰 𑋱 𑋲 𑋳 𑋴 𑋵 𑋶 𑋷 𑋸 𑋹)],
290             },
291             'sinh' => {
292             type => 'numeric',
293             data => [qw(෦ ෧ ෨ ෩ ෪ ෫ ෬ ෭ ෮ ෯)],
294             },
295             'sora' => {
296             type => 'numeric',
297             data => [qw(𑃰 𑃱 𑃲 𑃳 𑃴 𑃵 𑃶 𑃷 𑃸 𑃹)],
298             },
299             'sund' => {
300             type => 'numeric',
301             data => [qw(᮰ ᮱ ᮲ ᮳ ᮴ ᮵ ᮶ ᮷ ᮸ ᮹)],
302             },
303             'takr' => {
304             type => 'numeric',
305             data => [qw(𑛀 𑛁 𑛂 𑛃 𑛄 𑛅 𑛆 𑛇 𑛈 𑛉)],
306             },
307             'talu' => {
308             type => 'numeric',
309             data => [qw(᧐ ᧑ ᧒ ᧓ ᧔ ᧕ ᧖ ᧗ ᧘ ᧙)],
310             },
311             'taml' => {
312             type => 'algorithmic',
313             data => 'tamil',
314             },
315             'tamldec' => {
316             type => 'numeric',
317             data => [qw(௦ ௧ ௨ ௩ ௪ ௫ ௬ ௭ ௮ ௯)],
318             },
319             'telu' => {
320             type => 'numeric',
321             data => [qw(౦ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯)],
322             },
323             'thai' => {
324             type => 'numeric',
325             data => [qw(๐ ๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙)],
326             },
327             'tibt' => {
328             type => 'numeric',
329             data => [qw(༠ ༡ ༢ ༣ ༤ ༥ ༦ ༧ ༨ ༩)],
330             },
331             'tirh' => {
332             type => 'numeric',
333             data => [qw(𑓐 𑓑 𑓒 𑓓 𑓔 𑓕 𑓖 𑓗 𑓘 𑓙)],
334             },
335             'vaii' => {
336             type => 'numeric',
337             data => [qw(꘠ ꘡ ꘢ ꘣ ꘤ ꘥ ꘦ ꘧ ꘨ ꘩)],
338             },
339             'wara' => {
340             type => 'numeric',
341             data => [qw(𑣠 𑣡 𑣢 𑣣 𑣤 𑣥 𑣦 𑣧 𑣨 𑣩)],
342             },
343             }},
344             );
345              
346             has '_default_numbering_system' => (
347             is => 'ro',
348             isa => Str,
349             init_arg => undef,
350             default => '',
351             clearer => '_clear_default_nu',
352             writer => '_set_default_numbering_system',
353             );
354              
355             sub _set_default_nu {
356 10     10   43 my ($self, $system) = @_;
357 10   50     82 my $default = $self->_default_numbering_system // '';
358 10         254 $self->_set_default_numbering_system("$default$system");
359             }
360              
361             sub _test_default_nu {
362 2354     2354   3427 my $self = shift;
363 2354 100       7956 return length $self->_default_numbering_system ? 1 : 0;
364             }
365              
366             sub default_numbering_system {
367 2354     2354 0 4116 my $self = shift;
368            
369 2354 100       4661 if($self->_test_default_nu) {
370 2344         7315 return $self->_default_numbering_system;
371             }
372             else {
373 10         52 my $numbering_system = $self->_find_bundle('default_numbering_system')->default_numbering_system;
374 10         173 $self->_set_default_nu($numbering_system);
375 10         539 return $numbering_system
376             }
377             }
378              
379 21     21   33413 no Moo::Role;
  21         53  
  21         114  
380              
381             1;
382              
383             # vim: tabstop=4