Mercurial > public > simoleon
comparison Simoleon/Helpers/ReadJson.swift @ 183:d2398f02e1ce
implement unit currency selector
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 20 Dec 2021 12:28:16 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
182:ba3ebe8cefe5 | 183:d2398f02e1ce |
---|---|
1 // | |
2 // ReadJson.swift | |
3 // Simoleon | |
4 // | |
5 // Created by Dennis Concepción Martín on 8/12/21. | |
6 // | |
7 | |
8 import Foundation | |
9 | |
10 func readJson<T: Decodable>(from filename: String) -> T { | |
11 let data: Data | |
12 | |
13 guard let file = Bundle.main.url(forResource: filename, withExtension: nil) | |
14 else { | |
15 fatalError("Failed to locate \(filename)") | |
16 } | |
17 | |
18 do { | |
19 data = try Data(contentsOf: file) | |
20 } catch { | |
21 fatalError("Failed to load \(filename)") | |
22 } | |
23 | |
24 do { | |
25 let decoder = JSONDecoder() | |
26 return try decoder.decode(T.self, from: data) | |
27 } catch { | |
28 fatalError("Failed to decode \(filename)") | |
29 } | |
30 } |