From 47a3f4cc34c28531526da83241cb608e07ae5c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Floc=E2=80=99hlay?= Date: Thu, 31 Aug 2023 17:30:17 +0200 Subject: [PATCH] Add XAF, XOF and XPF currencies --- Makefile | 2 +- Resources/iso4217.csv | 3 +++ Sources/Money/Currency.swift | 48 ++++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 4b21bda..f667a7f 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ Sources/Money/Currency.swift: Resources/iso4217.csv %.swift: %.swift.gyb - @gyb --line-directive '' -o $@ $< + @./gyb --line-directive '' -o $@ $< .PHONY: clean: diff --git a/Resources/iso4217.csv b/Resources/iso4217.csv index 7460383..302a481 100644 --- a/Resources/iso4217.csv +++ b/Resources/iso4217.csv @@ -155,7 +155,10 @@ VEF,BolĂ­var,2 VND,Dong,0 VUV,Vatu,0 WST,Tala,2 +XAF,CFA franc BEAC,0 XCD,East Caribbean Dollar,2 +XOF,CFA franc BCEAO,0 +XPF,CFP franc (franc Pacifique),0 YER,Yemeni Rial,2 ZAR,Rand,2 ZMW,Zambian Kwacha,2 diff --git a/Sources/Money/Currency.swift b/Sources/Money/Currency.swift index d44ceca..4daa58b 100644 --- a/Sources/Money/Currency.swift +++ b/Sources/Money/Currency.swift @@ -193,7 +193,10 @@ public func iso4217Currency(for code: String) -> CurrencyType.Type? { case "VND": return VND.self case "VUV": return VUV.self case "WST": return WST.self + case "XAF": return XAF.self case "XCD": return XCD.self + case "XOF": return XOF.self + case "XPF": return XPF.self case "YER": return YER.self case "ZAR": return ZAR.self case "ZMW": return ZMW.self @@ -2543,6 +2546,21 @@ public enum WST: CurrencyType { } } +/// CFA franc BEAC (XAF) +public enum XAF: CurrencyType { + public static var code: String { + return "XAF" + } + + public static var name: String { + return "CFA franc BEAC" + } + + public static var minorUnit: Int { + return 0 + } +} + /// East Caribbean Dollar (XCD) public enum XCD: CurrencyType { public static var code: String { @@ -2558,6 +2576,36 @@ public enum XCD: CurrencyType { } } +/// CFA franc BCEAO (XOF) +public enum XOF: CurrencyType { + public static var code: String { + return "XOF" + } + + public static var name: String { + return "CFA franc BCEAO" + } + + public static var minorUnit: Int { + return 0 + } +} + +/// CFP franc (franc Pacifique) (XPF) +public enum XPF: CurrencyType { + public static var code: String { + return "XPF" + } + + public static var name: String { + return "CFP franc (franc Pacifique)" + } + + public static var minorUnit: Int { + return 0 + } +} + /// Yemeni Rial (YER) public enum YER: CurrencyType { public static var code: String {