 
 }
 
+// TODO:
+private enum DeviceType {
+    case iPhone
+    case iPad
+    case Universal
+    case Mac
+    case Watch
+}
+

    var serialized: SerializedAssetAttribute {
        get {
            var s = [SerializedAssetAttributeKeys.Filename: filename, SerializedAssetAttributeKeys.Scale: scale, SerializedAssetAttributeKeys.Idiom: idiom]
            if let size = size { s.updateValue(size, forKey: SerializedAssetAttributeKeys.Size) }
            if let extent = extent { s.updateValue(extent, forKey: SerializedAssetAttributeKeys.Extent) }
            if let subtype = subtype { s.updateValue(subtype, forKey: SerializedAssetAttributeKeys.Subtype) }
            if let orientation = orientation { s.updateValue(orientation, forKey: SerializedAssetAttributeKeys.Orientation) }
            if let minimumSystemVersion = minimumSystemVersion { s.updateValue(minimumSystemVersion, forKey: SerializedAssetAttributeKeys.MinimumSystemVersion) }
            return s
        }
    }
}

// TODO:
private enum DeviceType {
    case iPhone
    case iPad
    case Universal
    case Mac
    case Watch
}

enum AssetType {
    case Image

    static func withAsset(path: Path) -> AssetAttribute {
        let name = path.lastPathComponent
        
        let is2x = name.rangeOfString(GenerationKeywords.PPI2x) != nil
        let is3x = name.rangeOfString(GenerationKeywords.PPI3x) != nil
        let scale = is2x ? "2x" : is3x ? "3x" : "1x"
        
