File Coverage

blib/lib/Locale/CLDR/Currencies.pm
Criterion Covered Total %
statement 33 33 100.0
branch 1 2 50.0
condition n/a
subroutine 11 11 100.0
pod 0 1 0.0
total 45 47 95.7


line stmt bran cond sub pod time code
1             # This file auto generated from Data.xml
2             # on Mon 11 Apr 5:22:54 pm GMT
3              
4             use strict;
5 21     21   9650 use warnings;
  21         44  
  21         484  
6 21     21   79 use version;
  21         31  
  21         389  
7 21     21   74  
  21         34  
  21         98  
8             our $VERSION = version->declare('v0.34.1');
9              
10             use v5.10.1;
11 21     21   1678 use mro 'c3';
  21         58  
12 21     21   96 use utf8;
  21         33  
  21         110  
13 21     21   462 use if $^V ge v5.12.0, feature => 'unicode_strings';
  21         40  
  21         122  
14 21     21   657 use Types::Standard qw( Str Int HashRef ArrayRef CodeRef RegexpRef );
  21         31  
  21         231  
15 21     21   2009 use Moo::Role;
  21         39  
  21         151  
16 21     21   16962  
  21         39  
  21         121  
17             has '_currency_fractions' => (
18             is => 'ro',
19             isa => HashRef,
20             init_arg => undef,
21             default => sub { {
22              
23             ADP => {
24             'digits' => '0',
25             'rounding' => '0',
26             'cashdigits' => '0',
27             'cashrounding' => '0',
28             },
29             AFN => {
30             'digits' => '0',
31             'rounding' => '0',
32             'cashdigits' => '0',
33             'cashrounding' => '0',
34             },
35             ALL => {
36             'digits' => '0',
37             'rounding' => '0',
38             'cashdigits' => '0',
39             'cashrounding' => '0',
40             },
41             AMD => {
42             'digits' => '2',
43             'rounding' => '0',
44             'cashdigits' => '2',
45             'cashrounding' => '0',
46             },
47             BHD => {
48             'digits' => '3',
49             'rounding' => '0',
50             'cashdigits' => '3',
51             'cashrounding' => '0',
52             },
53             BIF => {
54             'digits' => '0',
55             'rounding' => '0',
56             'cashdigits' => '0',
57             'cashrounding' => '0',
58             },
59             BYN => {
60             'digits' => '2',
61             'rounding' => '0',
62             'cashdigits' => '2',
63             'cashrounding' => '0',
64             },
65             BYR => {
66             'digits' => '0',
67             'rounding' => '0',
68             'cashdigits' => '0',
69             'cashrounding' => '0',
70             },
71             CAD => {
72             'digits' => '2',
73             'rounding' => '0',
74             'cashdigits' => '2',
75             'cashrounding' => '5',
76             },
77             CHF => {
78             'digits' => '2',
79             'rounding' => '0',
80             'cashdigits' => '2',
81             'cashrounding' => '5',
82             },
83             CLF => {
84             'digits' => '4',
85             'rounding' => '0',
86             'cashdigits' => '4',
87             'cashrounding' => '0',
88             },
89             CLP => {
90             'digits' => '0',
91             'rounding' => '0',
92             'cashdigits' => '0',
93             'cashrounding' => '0',
94             },
95             COP => {
96             'digits' => '2',
97             'rounding' => '0',
98             'cashdigits' => '2',
99             'cashrounding' => '0',
100             },
101             CRC => {
102             'digits' => '2',
103             'rounding' => '0',
104             'cashdigits' => '2',
105             'cashrounding' => '0',
106             },
107             CZK => {
108             'digits' => '2',
109             'rounding' => '0',
110             'cashdigits' => '2',
111             'cashrounding' => '0',
112             },
113             DEFAULT => {
114             'digits' => '2',
115             'rounding' => '0',
116             'cashdigits' => '2',
117             'cashrounding' => '0',
118             },
119             DJF => {
120             'digits' => '0',
121             'rounding' => '0',
122             'cashdigits' => '0',
123             'cashrounding' => '0',
124             },
125             DKK => {
126             'digits' => '2',
127             'rounding' => '0',
128             'cashdigits' => '2',
129             'cashrounding' => '50',
130             },
131             ESP => {
132             'digits' => '0',
133             'rounding' => '0',
134             'cashdigits' => '0',
135             'cashrounding' => '0',
136             },
137             GNF => {
138             'digits' => '0',
139             'rounding' => '0',
140             'cashdigits' => '0',
141             'cashrounding' => '0',
142             },
143             GYD => {
144             'digits' => '2',
145             'rounding' => '0',
146             'cashdigits' => '2',
147             'cashrounding' => '0',
148             },
149             HUF => {
150             'digits' => '2',
151             'rounding' => '0',
152             'cashdigits' => '2',
153             'cashrounding' => '0',
154             },
155             IDR => {
156             'digits' => '2',
157             'rounding' => '0',
158             'cashdigits' => '2',
159             'cashrounding' => '0',
160             },
161             IQD => {
162             'digits' => '0',
163             'rounding' => '0',
164             'cashdigits' => '0',
165             'cashrounding' => '0',
166             },
167             IRR => {
168             'digits' => '0',
169             'rounding' => '0',
170             'cashdigits' => '0',
171             'cashrounding' => '0',
172             },
173             ISK => {
174             'digits' => '0',
175             'rounding' => '0',
176             'cashdigits' => '0',
177             'cashrounding' => '0',
178             },
179             ITL => {
180             'digits' => '0',
181             'rounding' => '0',
182             'cashdigits' => '0',
183             'cashrounding' => '0',
184             },
185             JOD => {
186             'digits' => '3',
187             'rounding' => '0',
188             'cashdigits' => '3',
189             'cashrounding' => '0',
190             },
191             JPY => {
192             'digits' => '0',
193             'rounding' => '0',
194             'cashdigits' => '0',
195             'cashrounding' => '0',
196             },
197             KMF => {
198             'digits' => '0',
199             'rounding' => '0',
200             'cashdigits' => '0',
201             'cashrounding' => '0',
202             },
203             KPW => {
204             'digits' => '0',
205             'rounding' => '0',
206             'cashdigits' => '0',
207             'cashrounding' => '0',
208             },
209             KRW => {
210             'digits' => '0',
211             'rounding' => '0',
212             'cashdigits' => '0',
213             'cashrounding' => '0',
214             },
215             KWD => {
216             'digits' => '3',
217             'rounding' => '0',
218             'cashdigits' => '3',
219             'cashrounding' => '0',
220             },
221             LAK => {
222             'digits' => '0',
223             'rounding' => '0',
224             'cashdigits' => '0',
225             'cashrounding' => '0',
226             },
227             LBP => {
228             'digits' => '0',
229             'rounding' => '0',
230             'cashdigits' => '0',
231             'cashrounding' => '0',
232             },
233             LUF => {
234             'digits' => '0',
235             'rounding' => '0',
236             'cashdigits' => '0',
237             'cashrounding' => '0',
238             },
239             LYD => {
240             'digits' => '3',
241             'rounding' => '0',
242             'cashdigits' => '3',
243             'cashrounding' => '0',
244             },
245             MGA => {
246             'digits' => '0',
247             'rounding' => '0',
248             'cashdigits' => '0',
249             'cashrounding' => '0',
250             },
251             MGF => {
252             'digits' => '0',
253             'rounding' => '0',
254             'cashdigits' => '0',
255             'cashrounding' => '0',
256             },
257             MMK => {
258             'digits' => '0',
259             'rounding' => '0',
260             'cashdigits' => '0',
261             'cashrounding' => '0',
262             },
263             MNT => {
264             'digits' => '2',
265             'rounding' => '0',
266             'cashdigits' => '2',
267             'cashrounding' => '0',
268             },
269             MRO => {
270             'digits' => '0',
271             'rounding' => '0',
272             'cashdigits' => '0',
273             'cashrounding' => '0',
274             },
275             MUR => {
276             'digits' => '2',
277             'rounding' => '0',
278             'cashdigits' => '2',
279             'cashrounding' => '0',
280             },
281             NOK => {
282             'digits' => '2',
283             'rounding' => '0',
284             'cashdigits' => '2',
285             'cashrounding' => '0',
286             },
287             OMR => {
288             'digits' => '3',
289             'rounding' => '0',
290             'cashdigits' => '3',
291             'cashrounding' => '0',
292             },
293             PKR => {
294             'digits' => '2',
295             'rounding' => '0',
296             'cashdigits' => '2',
297             'cashrounding' => '0',
298             },
299             PYG => {
300             'digits' => '0',
301             'rounding' => '0',
302             'cashdigits' => '0',
303             'cashrounding' => '0',
304             },
305             RSD => {
306             'digits' => '0',
307             'rounding' => '0',
308             'cashdigits' => '0',
309             'cashrounding' => '0',
310             },
311             RWF => {
312             'digits' => '0',
313             'rounding' => '0',
314             'cashdigits' => '0',
315             'cashrounding' => '0',
316             },
317             SEK => {
318             'digits' => '2',
319             'rounding' => '0',
320             'cashdigits' => '2',
321             'cashrounding' => '0',
322             },
323             SLL => {
324             'digits' => '0',
325             'rounding' => '0',
326             'cashdigits' => '0',
327             'cashrounding' => '0',
328             },
329             SOS => {
330             'digits' => '0',
331             'rounding' => '0',
332             'cashdigits' => '0',
333             'cashrounding' => '0',
334             },
335             STD => {
336             'digits' => '0',
337             'rounding' => '0',
338             'cashdigits' => '0',
339             'cashrounding' => '0',
340             },
341             SYP => {
342             'digits' => '0',
343             'rounding' => '0',
344             'cashdigits' => '0',
345             'cashrounding' => '0',
346             },
347             TMM => {
348             'digits' => '0',
349             'rounding' => '0',
350             'cashdigits' => '0',
351             'cashrounding' => '0',
352             },
353             TND => {
354             'digits' => '3',
355             'rounding' => '0',
356             'cashdigits' => '3',
357             'cashrounding' => '0',
358             },
359             TRL => {
360             'digits' => '0',
361             'rounding' => '0',
362             'cashdigits' => '0',
363             'cashrounding' => '0',
364             },
365             TWD => {
366             'digits' => '2',
367             'rounding' => '0',
368             'cashdigits' => '2',
369             'cashrounding' => '0',
370             },
371             TZS => {
372             'digits' => '2',
373             'rounding' => '0',
374             'cashdigits' => '2',
375             'cashrounding' => '0',
376             },
377             UGX => {
378             'digits' => '0',
379             'rounding' => '0',
380             'cashdigits' => '0',
381             'cashrounding' => '0',
382             },
383             UYI => {
384             'digits' => '0',
385             'rounding' => '0',
386             'cashdigits' => '0',
387             'cashrounding' => '0',
388             },
389             UYW => {
390             'digits' => '4',
391             'rounding' => '0',
392             'cashdigits' => '4',
393             'cashrounding' => '0',
394             },
395             UZS => {
396             'digits' => '2',
397             'rounding' => '0',
398             'cashdigits' => '2',
399             'cashrounding' => '0',
400             },
401             VEF => {
402             'digits' => '2',
403             'rounding' => '0',
404             'cashdigits' => '2',
405             'cashrounding' => '0',
406             },
407             VND => {
408             'digits' => '0',
409             'rounding' => '0',
410             'cashdigits' => '0',
411             'cashrounding' => '0',
412             },
413             VUV => {
414             'digits' => '0',
415             'rounding' => '0',
416             'cashdigits' => '0',
417             'cashrounding' => '0',
418             },
419             XAF => {
420             'digits' => '0',
421             'rounding' => '0',
422             'cashdigits' => '0',
423             'cashrounding' => '0',
424             },
425             XOF => {
426             'digits' => '0',
427             'rounding' => '0',
428             'cashdigits' => '0',
429             'cashrounding' => '0',
430             },
431             XPF => {
432             'digits' => '0',
433             'rounding' => '0',
434             'cashdigits' => '0',
435             'cashrounding' => '0',
436             },
437             YER => {
438             'digits' => '0',
439             'rounding' => '0',
440             'cashdigits' => '0',
441             'cashrounding' => '0',
442             },
443             ZMK => {
444             'digits' => '0',
445             'rounding' => '0',
446             'cashdigits' => '0',
447             'cashrounding' => '0',
448             },
449             ZWD => {
450             'digits' => '0',
451             'rounding' => '0',
452             'cashdigits' => '0',
453             'cashrounding' => '0',
454             },
455             } },
456             );
457              
458             my ($self, $currency) = @_;
459            
460 17     17 0 63 my $currency_data = $self->_currency_fractions()->{$currency};
461            
462 17         76 $currency_data = {
463             digits => 2,
464 17 50       112 cashdigits => 2,
465             rounding => 0,
466             cashrounding => 0,
467             } unless $currency_data;
468            
469             return $currency_data;
470             }
471 17         40  
472             has '_default_currency' => (
473             is => 'ro',
474             isa => HashRef,
475             init_arg => undef,
476             default => sub { {
477              
478             'AC' => 'SHP',
479             'AD' => 'EUR',
480             'AE' => 'AED',
481             'AF' => 'AFN',
482             'AG' => 'XCD',
483             'AI' => 'XCD',
484             'AL' => 'ALL',
485             'AM' => 'AMD',
486             'AO' => 'AOA',
487             'AQ' => 'XXX',
488             'AR' => 'ARS',
489             'AS' => 'USD',
490             'AT' => 'EUR',
491             'AU' => 'AUD',
492             'AW' => 'AWG',
493             'AX' => 'EUR',
494             'AZ' => 'AZN',
495             'BA' => 'BAM',
496             'BB' => 'BBD',
497             'BD' => 'BDT',
498             'BE' => 'EUR',
499             'BF' => 'XOF',
500             'BG' => 'BGN',
501             'BH' => 'BHD',
502             'BI' => 'BIF',
503             'BJ' => 'XOF',
504             'BL' => 'EUR',
505             'BM' => 'BMD',
506             'BN' => 'BND',
507             'BO' => 'BOB',
508             'BQ' => 'USD',
509             'BR' => 'BRL',
510             'BS' => 'BSD',
511             'BT' => 'BTN',
512             'BV' => 'NOK',
513             'BW' => 'BWP',
514             'BY' => 'BYN',
515             'BZ' => 'BZD',
516             'CA' => 'CAD',
517             'CC' => 'AUD',
518             'CD' => 'CDF',
519             'CF' => 'XAF',
520             'CG' => 'XAF',
521             'CH' => 'CHF',
522             'CI' => 'XOF',
523             'CK' => 'NZD',
524             'CL' => 'CLP',
525             'CM' => 'XAF',
526             'CN' => 'CNY',
527             'CO' => 'COP',
528             'CP' => 'XXX',
529             'CR' => 'CRC',
530             'CU' => 'CUP',
531             'CV' => 'CVE',
532             'CW' => 'ANG',
533             'CX' => 'AUD',
534             'CY' => 'EUR',
535             'CZ' => 'CZK',
536             'DE' => 'EUR',
537             'DG' => 'USD',
538             'DJ' => 'DJF',
539             'DK' => 'DKK',
540             'DM' => 'XCD',
541             'DO' => 'DOP',
542             'DZ' => 'DZD',
543             'EA' => 'EUR',
544             'EC' => 'USD',
545             'EE' => 'EUR',
546             'EG' => 'EGP',
547             'EH' => 'MAD',
548             'ER' => 'ERN',
549             'ES' => 'EUR',
550             'ET' => 'ETB',
551             'EU' => 'EUR',
552             'FI' => 'EUR',
553             'FJ' => 'FJD',
554             'FK' => 'FKP',
555             'FM' => 'USD',
556             'FO' => 'DKK',
557             'FR' => 'EUR',
558             'GA' => 'XAF',
559             'GB' => 'GBP',
560             'GD' => 'XCD',
561             'GE' => 'GEL',
562             'GF' => 'EUR',
563             'GG' => 'GBP',
564             'GH' => 'GHS',
565             'GI' => 'GIP',
566             'GL' => 'DKK',
567             'GM' => 'GMD',
568             'GN' => 'GNF',
569             'GP' => 'EUR',
570             'GQ' => 'XAF',
571             'GR' => 'EUR',
572             'GS' => 'GBP',
573             'GT' => 'GTQ',
574             'GU' => 'USD',
575             'GW' => 'XOF',
576             'GY' => 'GYD',
577             'HK' => 'HKD',
578             'HM' => 'AUD',
579             'HN' => 'HNL',
580             'HR' => 'HRK',
581             'HT' => 'HTG',
582             'HU' => 'HUF',
583             'IC' => 'EUR',
584             'ID' => 'IDR',
585             'IE' => 'EUR',
586             'IL' => 'ILS',
587             'IM' => 'GBP',
588             'IN' => 'INR',
589             'IO' => 'USD',
590             'IQ' => 'IQD',
591             'IR' => 'IRR',
592             'IS' => 'ISK',
593             'IT' => 'EUR',
594             'JE' => 'GBP',
595             'JM' => 'JMD',
596             'JO' => 'JOD',
597             'JP' => 'JPY',
598             'KE' => 'KES',
599             'KG' => 'KGS',
600             'KH' => 'KHR',
601             'KI' => 'AUD',
602             'KM' => 'KMF',
603             'KN' => 'XCD',
604             'KP' => 'KPW',
605             'KR' => 'KRW',
606             'KW' => 'KWD',
607             'KY' => 'KYD',
608             'KZ' => 'KZT',
609             'LA' => 'LAK',
610             'LB' => 'LBP',
611             'LC' => 'XCD',
612             'LI' => 'CHF',
613             'LK' => 'LKR',
614             'LR' => 'LRD',
615             'LS' => 'ZAR',
616             'LT' => 'EUR',
617             'LU' => 'EUR',
618             'LV' => 'EUR',
619             'LY' => 'LYD',
620             'MA' => 'MAD',
621             'MC' => 'EUR',
622             'MD' => 'MDL',
623             'ME' => 'EUR',
624             'MF' => 'EUR',
625             'MG' => 'MGA',
626             'MH' => 'USD',
627             'MK' => 'MKD',
628             'ML' => 'XOF',
629             'MM' => 'MMK',
630             'MN' => 'MNT',
631             'MO' => 'MOP',
632             'MP' => 'USD',
633             'MQ' => 'EUR',
634             'MR' => 'MRU',
635             'MS' => 'XCD',
636             'MT' => 'EUR',
637             'MU' => 'MUR',
638             'MV' => 'MVR',
639             'MW' => 'MWK',
640             'MX' => 'MXN',
641             'MY' => 'MYR',
642             'MZ' => 'MZN',
643             'NA' => 'NAD',
644             'NC' => 'XPF',
645             'NE' => 'XOF',
646             'NF' => 'AUD',
647             'NG' => 'NGN',
648             'NI' => 'NIO',
649             'NL' => 'EUR',
650             'NO' => 'NOK',
651             'NP' => 'NPR',
652             'NR' => 'AUD',
653             'NU' => 'NZD',
654             'NZ' => 'NZD',
655             'OM' => 'OMR',
656             'PA' => 'PAB',
657             'PE' => 'PEN',
658             'PF' => 'XPF',
659             'PG' => 'PGK',
660             'PH' => 'PHP',
661             'PK' => 'PKR',
662             'PL' => 'PLN',
663             'PM' => 'EUR',
664             'PN' => 'NZD',
665             'PR' => 'USD',
666             'PS' => 'ILS',
667             'PT' => 'EUR',
668             'PW' => 'USD',
669             'PY' => 'PYG',
670             'QA' => 'QAR',
671             'RE' => 'EUR',
672             'RO' => 'RON',
673             'RS' => 'RSD',
674             'RU' => 'RUB',
675             'RW' => 'RWF',
676             'SA' => 'SAR',
677             'SB' => 'SBD',
678             'SC' => 'SCR',
679             'SD' => 'SDG',
680             'SE' => 'SEK',
681             'SG' => 'SGD',
682             'SH' => 'SHP',
683             'SI' => 'EUR',
684             'SJ' => 'NOK',
685             'SK' => 'EUR',
686             'SL' => 'SLL',
687             'SM' => 'EUR',
688             'SN' => 'XOF',
689             'SO' => 'SOS',
690             'SR' => 'SRD',
691             'SS' => 'SSP',
692             'ST' => 'STN',
693             'SV' => 'USD',
694             'SX' => 'ANG',
695             'SY' => 'SYP',
696             'SZ' => 'SZL',
697             'TA' => 'GBP',
698             'TC' => 'USD',
699             'TD' => 'XAF',
700             'TF' => 'EUR',
701             'TG' => 'XOF',
702             'TH' => 'THB',
703             'TJ' => 'TJS',
704             'TK' => 'NZD',
705             'TL' => 'USD',
706             'TM' => 'TMT',
707             'TN' => 'TND',
708             'TO' => 'TOP',
709             'TR' => 'TRY',
710             'TT' => 'TTD',
711             'TV' => 'AUD',
712             'TW' => 'TWD',
713             'TZ' => 'TZS',
714             'UA' => 'UAH',
715             'UG' => 'UGX',
716             'UM' => 'USD',
717             'US' => 'USD',
718             'UY' => 'UYU',
719             'UZ' => 'UZS',
720             'VA' => 'EUR',
721             'VC' => 'XCD',
722             'VE' => 'VES',
723             'VG' => 'USD',
724             'VI' => 'USD',
725             'VN' => 'VND',
726             'VU' => 'VUV',
727             'WF' => 'XPF',
728             'WS' => 'WST',
729             'XK' => 'EUR',
730             'YE' => 'YER',
731             'YT' => 'EUR',
732             'ZA' => 'ZAR',
733             'ZM' => 'ZMW',
734             'ZW' => 'USD',
735             'ZZ' => 'XAG',
736             } },
737             );
738              
739              
740             no Moo::Role;
741              
742 21     21   30222 1;
  21         53  
  21         111  
743              
744             # vim: tabstop=4