diff LazyBear/Global functions/ParseJSON.swift @ 338:71a9c0e61783

Implementing SearchView
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Thu, 01 Apr 2021 20:55:09 +0200
parents
children e81c18164afb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LazyBear/Global functions/ParseJSON.swift	Thu Apr 01 20:55:09 2021 +0200
@@ -0,0 +1,32 @@
+//
+//  ParseJSON.swift
+//  LazyBear
+//
+//  Created by Dennis Concepción Martín on 1/4/21.
+//
+
+import Foundation
+
+let companyTags: [CompanyTagsModel] = parseJSON("companyTags.json")
+
+func parseJSON<T: Decodable>(_ filename: String) -> T {
+    let data: Data
+    
+    guard let file = Bundle.main.url(forResource: filename, withExtension: nil)
+        else {
+            fatalError("Couldn't find \(filename) in main bundle.")
+    }
+    
+    do {
+        data = try Data(contentsOf: file)
+    } catch {
+        fatalError("Couldn't load \(filename) from main bundle:\n\(error)")
+    }
+    
+    do {
+        let decoder = JSONDecoder()
+        return try decoder.decode(T.self, from: data)
+    } catch {
+        fatalError("Couldn't parse \(filename) as \(T.self):\n\(error)")
+    }
+}