mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2026-03-18 20:02:25 +00:00
40 lines
1014 B
Swift
40 lines
1014 B
Swift
//
|
|
// YamsExtensions.swift
|
|
// XcodeGenKit
|
|
//
|
|
// Created by Yonas Kolb on 29/9/17.
|
|
//
|
|
|
|
import Foundation
|
|
import Yams
|
|
import PathKit
|
|
|
|
func loadYamlDictionary(path: Path) throws -> [String: Any] {
|
|
let string: String = try path.read()
|
|
if string == "" {
|
|
return [:]
|
|
}
|
|
guard let yaml = try Yams.load(yaml: string) else {
|
|
return [:]
|
|
}
|
|
return filterNull(yaml) as! [String: Any]
|
|
}
|
|
|
|
fileprivate func filterNull(_ object: Any) -> Any {
|
|
var returnedValue: Any = object
|
|
if let dict = object as? [String: Any] {
|
|
var mutabledic: [String: Any] = [:]
|
|
for (key, value) in dict {
|
|
mutabledic[key] = filterNull(value)
|
|
}
|
|
returnedValue = mutabledic
|
|
} else if let array = object as? [Any] {
|
|
var mutableArray: [Any] = array
|
|
for (index, value) in array.enumerated() {
|
|
mutableArray[index] = filterNull(value)
|
|
}
|
|
returnedValue = mutableArray
|
|
}
|
|
return (object is NSNull) ? "" : returnedValue
|
|
}
|