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