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 13 Oct 9:03:41 am GMT
4              
5 21     21   11936 use strict;
  21         57  
  21         662  
6 21     21   118 use warnings;
  21         47  
  21         562  
7 21     21   108 use version;
  21         44  
  21         175  
8              
9             our $VERSION = version->declare('v0.34.2');
10              
11 21     21   2131 use v5.10.1;
  21         78  
12 21     21   119 use mro 'c3';
  21         54  
  21         124  
13 21     21   566 use utf8;
  21         55  
  21         119  
14 21     21   878 use if $^V ge v5.12.0, feature => 'unicode_strings';
  21         59  
  21         281  
15 21     21   2865 use Types::Standard qw( Str Int HashRef ArrayRef CodeRef RegexpRef );
  21         78  
  21         160  
16 21     21   22697 use Moo::Role;
  21         60  
  21         154  
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             SLL => {
325             'digits' => '0',
326             'rounding' => '0',
327             'cashdigits' => '0',
328             'cashrounding' => '0',
329             },
330             SOS => {
331             'digits' => '0',
332             'rounding' => '0',
333             'cashdigits' => '0',
334             'cashrounding' => '0',
335             },
336             STD => {
337             'digits' => '0',
338             'rounding' => '0',
339             'cashdigits' => '0',
340             'cashrounding' => '0',
341             },
342             SYP => {
343             'digits' => '0',
344             'rounding' => '0',
345             'cashdigits' => '0',
346             'cashrounding' => '0',
347             },
348             TMM => {
349             'digits' => '0',
350             'rounding' => '0',
351             'cashdigits' => '0',
352             'cashrounding' => '0',
353             },
354             TND => {
355             'digits' => '3',
356             'rounding' => '0',
357             'cashdigits' => '3',
358             'cashrounding' => '0',
359             },
360             TRL => {
361             'digits' => '0',
362             'rounding' => '0',
363             'cashdigits' => '0',
364             'cashrounding' => '0',
365             },
366             TWD => {
367             'digits' => '2',
368             'rounding' => '0',
369             'cashdigits' => '2',
370             'cashrounding' => '0',
371             },
372             TZS => {
373             'digits' => '2',
374             'rounding' => '0',
375             'cashdigits' => '2',
376             'cashrounding' => '0',
377             },
378             UGX => {
379             'digits' => '0',
380             'rounding' => '0',
381             'cashdigits' => '0',
382             'cashrounding' => '0',
383             },
384             UYI => {
385             'digits' => '0',
386             'rounding' => '0',
387             'cashdigits' => '0',
388             'cashrounding' => '0',
389             },
390             UYW => {
391             'digits' => '4',
392             'rounding' => '0',
393             'cashdigits' => '4',
394             'cashrounding' => '0',
395             },
396             UZS => {
397             'digits' => '2',
398             'rounding' => '0',
399             'cashdigits' => '2',
400             'cashrounding' => '0',
401             },
402             VEF => {
403             'digits' => '2',
404             'rounding' => '0',
405             'cashdigits' => '2',
406             'cashrounding' => '0',
407             },
408             VND => {
409             'digits' => '0',
410             'rounding' => '0',
411             'cashdigits' => '0',
412             'cashrounding' => '0',
413             },
414             VUV => {
415             'digits' => '0',
416             'rounding' => '0',
417             'cashdigits' => '0',
418             'cashrounding' => '0',
419             },
420             XAF => {
421             'digits' => '0',
422             'rounding' => '0',
423             'cashdigits' => '0',
424             'cashrounding' => '0',
425             },
426             XOF => {
427             'digits' => '0',
428             'rounding' => '0',
429             'cashdigits' => '0',
430             'cashrounding' => '0',
431             },
432             XPF => {
433             'digits' => '0',
434             'rounding' => '0',
435             'cashdigits' => '0',
436             'cashrounding' => '0',
437             },
438             YER => {
439             'digits' => '0',
440             'rounding' => '0',
441             'cashdigits' => '0',
442             'cashrounding' => '0',
443             },
444             ZMK => {
445             'digits' => '0',
446             'rounding' => '0',
447             'cashdigits' => '0',
448             'cashrounding' => '0',
449             },
450             ZWD => {
451             'digits' => '0',
452             'rounding' => '0',
453             'cashdigits' => '0',
454             'cashrounding' => '0',
455             },
456             } },
457             );
458              
459             sub currency_fractions {
460 17     17 0 33 my ($self, $currency) = @_;
461            
462 17         55 my $currency_data = $self->_currency_fractions()->{$currency};
463            
464 17 50       91 $currency_data = {
465             digits => 2,
466             cashdigits => 2,
467             rounding => 0,
468             cashrounding => 0,
469             } unless $currency_data;
470            
471 17         47 return $currency_data;
472             }
473              
474             has '_default_currency' => (
475             is => 'ro',
476             isa => HashRef,
477             init_arg => undef,
478             default => sub { {
479              
480             'AC' => 'SHP',
481             'AD' => 'EUR',
482             'AE' => 'AED',
483             'AF' => 'AFN',
484             'AG' => 'XCD',
485             'AI' => 'XCD',
486             'AL' => 'ALL',
487             'AM' => 'AMD',
488             'AO' => 'AOA',
489             'AQ' => 'XXX',
490             'AR' => 'ARS',
491             'AS' => 'USD',
492             'AT' => 'EUR',
493             'AU' => 'AUD',
494             'AW' => 'AWG',
495             'AX' => 'EUR',
496             'AZ' => 'AZN',
497             'BA' => 'BAM',
498             'BB' => 'BBD',
499             'BD' => 'BDT',
500             'BE' => 'EUR',
501             'BF' => 'XOF',
502             'BG' => 'BGN',
503             'BH' => 'BHD',
504             'BI' => 'BIF',
505             'BJ' => 'XOF',
506             'BL' => 'EUR',
507             'BM' => 'BMD',
508             'BN' => 'BND',
509             'BO' => 'BOB',
510             'BQ' => 'USD',
511             'BR' => 'BRL',
512             'BS' => 'BSD',
513             'BT' => 'BTN',
514             'BV' => 'NOK',
515             'BW' => 'BWP',
516             'BY' => 'BYN',
517             'BZ' => 'BZD',
518             'CA' => 'CAD',
519             'CC' => 'AUD',
520             'CD' => 'CDF',
521             'CF' => 'XAF',
522             'CG' => 'XAF',
523             'CH' => 'CHF',
524             'CI' => 'XOF',
525             'CK' => 'NZD',
526             'CL' => 'CLP',
527             'CM' => 'XAF',
528             'CN' => 'CNY',
529             'CO' => 'COP',
530             'CP' => 'XXX',
531             'CR' => 'CRC',
532             'CU' => 'CUP',
533             'CV' => 'CVE',
534             'CW' => 'ANG',
535             'CX' => 'AUD',
536             'CY' => 'EUR',
537             'CZ' => 'CZK',
538             'DE' => 'EUR',
539             'DG' => 'USD',
540             'DJ' => 'DJF',
541             'DK' => 'DKK',
542             'DM' => 'XCD',
543             'DO' => 'DOP',
544             'DZ' => 'DZD',
545             'EA' => 'EUR',
546             'EC' => 'USD',
547             'EE' => 'EUR',
548             'EG' => 'EGP',
549             'EH' => 'MAD',
550             'ER' => 'ERN',
551             'ES' => 'EUR',
552             'ET' => 'ETB',
553             'EU' => 'EUR',
554             'FI' => 'EUR',
555             'FJ' => 'FJD',
556             'FK' => 'FKP',
557             'FM' => 'USD',
558             'FO' => 'DKK',
559             'FR' => 'EUR',
560             'GA' => 'XAF',
561             'GB' => 'GBP',
562             'GD' => 'XCD',
563             'GE' => 'GEL',
564             'GF' => 'EUR',
565             'GG' => 'GBP',
566             'GH' => 'GHS',
567             'GI' => 'GIP',
568             'GL' => 'DKK',
569             'GM' => 'GMD',
570             'GN' => 'GNF',
571             'GP' => 'EUR',
572             'GQ' => 'XAF',
573             'GR' => 'EUR',
574             'GS' => 'GBP',
575             'GT' => 'GTQ',
576             'GU' => 'USD',
577             'GW' => 'XOF',
578             'GY' => 'GYD',
579             'HK' => 'HKD',
580             'HM' => 'AUD',
581             'HN' => 'HNL',
582             'HR' => 'HRK',
583             'HT' => 'HTG',
584             'HU' => 'HUF',
585             'IC' => 'EUR',
586             'ID' => 'IDR',
587             'IE' => 'EUR',
588             'IL' => 'ILS',
589             'IM' => 'GBP',
590             'IN' => 'INR',
591             'IO' => 'USD',
592             'IQ' => 'IQD',
593             'IR' => 'IRR',
594             'IS' => 'ISK',
595             'IT' => 'EUR',
596             'JE' => 'GBP',
597             'JM' => 'JMD',
598             'JO' => 'JOD',
599             'JP' => 'JPY',
600             'KE' => 'KES',
601             'KG' => 'KGS',
602             'KH' => 'KHR',
603             'KI' => 'AUD',
604             'KM' => 'KMF',
605             'KN' => 'XCD',
606             'KP' => 'KPW',
607             'KR' => 'KRW',
608             'KW' => 'KWD',
609             'KY' => 'KYD',
610             'KZ' => 'KZT',
611             'LA' => 'LAK',
612             'LB' => 'LBP',
613             'LC' => 'XCD',
614             'LI' => 'CHF',
615             'LK' => 'LKR',
616             'LR' => 'LRD',
617             'LS' => 'ZAR',
618             'LT' => 'EUR',
619             'LU' => 'EUR',
620             'LV' => 'EUR',
621             'LY' => 'LYD',
622             'MA' => 'MAD',
623             'MC' => 'EUR',
624             'MD' => 'MDL',
625             'ME' => 'EUR',
626             'MF' => 'EUR',
627             'MG' => 'MGA',
628             'MH' => 'USD',
629             'MK' => 'MKD',
630             'ML' => 'XOF',
631             'MM' => 'MMK',
632             'MN' => 'MNT',
633             'MO' => 'MOP',
634             'MP' => 'USD',
635             'MQ' => 'EUR',
636             'MR' => 'MRU',
637             'MS' => 'XCD',
638             'MT' => 'EUR',
639             'MU' => 'MUR',
640             'MV' => 'MVR',
641             'MW' => 'MWK',
642             'MX' => 'MXN',
643             'MY' => 'MYR',
644             'MZ' => 'MZN',
645             'NA' => 'NAD',
646             'NC' => 'XPF',
647             'NE' => 'XOF',
648             'NF' => 'AUD',
649             'NG' => 'NGN',
650             'NI' => 'NIO',
651             'NL' => 'EUR',
652             'NO' => 'NOK',
653             'NP' => 'NPR',
654             'NR' => 'AUD',
655             'NU' => 'NZD',
656             'NZ' => 'NZD',
657             'OM' => 'OMR',
658             'PA' => 'PAB',
659             'PE' => 'PEN',
660             'PF' => 'XPF',
661             'PG' => 'PGK',
662             'PH' => 'PHP',
663             'PK' => 'PKR',
664             'PL' => 'PLN',
665             'PM' => 'EUR',
666             'PN' => 'NZD',
667             'PR' => 'USD',
668             'PS' => 'ILS',
669             'PT' => 'EUR',
670             'PW' => 'USD',
671             'PY' => 'PYG',
672             'QA' => 'QAR',
673             'RE' => 'EUR',
674             'RO' => 'RON',
675             'RS' => 'RSD',
676             'RU' => 'RUB',
677             'RW' => 'RWF',
678             'SA' => 'SAR',
679             'SB' => 'SBD',
680             'SC' => 'SCR',
681             'SD' => 'SDG',
682             'SE' => 'SEK',
683             'SG' => 'SGD',
684             'SH' => 'SHP',
685             'SI' => 'EUR',
686             'SJ' => 'NOK',
687             'SK' => 'EUR',
688             'SL' => 'SLL',
689             'SM' => 'EUR',
690             'SN' => 'XOF',
691             'SO' => 'SOS',
692             'SR' => 'SRD',
693             'SS' => 'SSP',
694             'ST' => 'STN',
695             'SV' => 'USD',
696             'SX' => 'ANG',
697             'SY' => 'SYP',
698             'SZ' => 'SZL',
699             'TA' => 'GBP',
700             'TC' => 'USD',
701             'TD' => 'XAF',
702             'TF' => 'EUR',
703             'TG' => 'XOF',
704             'TH' => 'THB',
705             'TJ' => 'TJS',
706             'TK' => 'NZD',
707             'TL' => 'USD',
708             'TM' => 'TMT',
709             'TN' => 'TND',
710             'TO' => 'TOP',
711             'TR' => 'TRY',
712             'TT' => 'TTD',
713             'TV' => 'AUD',
714             'TW' => 'TWD',
715             'TZ' => 'TZS',
716             'UA' => 'UAH',
717             'UG' => 'UGX',
718             'UM' => 'USD',
719             'US' => 'USD',
720             'UY' => 'UYU',
721             'UZ' => 'UZS',
722             'VA' => 'EUR',
723             'VC' => 'XCD',
724             'VE' => 'VES',
725             'VG' => 'USD',
726             'VI' => 'USD',
727             'VN' => 'VND',
728             'VU' => 'VUV',
729             'WF' => 'XPF',
730             'WS' => 'WST',
731             'XK' => 'EUR',
732             'YE' => 'YER',
733             'YT' => 'EUR',
734             'ZA' => 'ZAR',
735             'ZM' => 'ZMW',
736             'ZW' => 'USD',
737             'ZZ' => 'XAG',
738             } },
739             );
740              
741              
742 21     21   41514 no Moo::Role;
  21         57  
  21         123  
743              
744             1;
745              
746             # vim: tabstop=4