99import Foundation
1010
1111/// Represents a metadata option.
12- public typealias MetadataOptions = FSMetadataOptions
12+ public struct MetadataOptions : OptionSet {
13+ /// Size
14+ static let size = MetadataOptions ( rawValue: 1 << 0 )
15+
16+ /// MIME Type
17+ static let mimeType = MetadataOptions ( rawValue: 1 << 1 )
18+
19+ /// Filename
20+ static let fileName = MetadataOptions ( rawValue: 1 << 2 )
21+
22+ /// Width
23+ static let width = MetadataOptions ( rawValue: 1 << 3 )
24+
25+ /// Height
26+ static let height = MetadataOptions ( rawValue: 1 << 4 )
27+
28+ /// Uploaded
29+ static let uploaded = MetadataOptions ( rawValue: 1 << 5 )
30+
31+ /// Writeable
32+ static let writeable = MetadataOptions ( rawValue: 1 << 6 )
33+
34+ /// Cloud
35+ static let cloud = MetadataOptions ( rawValue: 1 << 7 )
36+
37+ /// Source URL
38+ static let sourceURL = MetadataOptions ( rawValue: 1 << 8 )
39+
40+ /// MD5
41+ static let MD5 = MetadataOptions ( rawValue: 1 << 9 )
42+
43+ /// SHA224
44+ static let SHA224 = MetadataOptions ( rawValue: 1 << 10 )
45+
46+ /// SHA256
47+ static let SHA256 = MetadataOptions ( rawValue: 1 << 11 )
48+
49+ /// SHA384
50+ static let SHA384 = MetadataOptions ( rawValue: 1 << 12 )
51+
52+ /// SHA512
53+ static let SHA512 = MetadataOptions ( rawValue: 1 << 13 )
54+
55+ /// Location
56+ static let location = MetadataOptions ( rawValue: 1 << 14 )
57+
58+ /// Path
59+ static let path = MetadataOptions ( rawValue: 1 << 15 )
60+
61+ /// Container
62+ static let container = MetadataOptions ( rawValue: 1 << 16 )
63+
64+ /// Exif
65+ static let exif = MetadataOptions ( rawValue: 1 << 17 )
66+
67+ public let rawValue : Int
68+
69+ public init ( rawValue: Int ) {
70+ self . rawValue = rawValue
71+ }
72+ }
1373
1474// MARK: - Internal Functions
1575
1676extension MetadataOptions {
1777 static func all( ) -> [ MetadataOptions ] {
1878 return [
1979 . size, . mimeType, . fileName, . width, . height, . uploaded, . writeable, . cloud, . sourceURL, . MD5, . SHA224,
20- . SHA256, . SHA384, . SHA512, . location, . path, . container, . exif,
80+ . SHA256, . SHA384, . SHA512, . location, . path, . container, . exif,
2181 ]
2282 }
2383
@@ -37,25 +97,25 @@ extension MetadataOptions {
3797private extension MetadataOptions {
3898 func stringValue( ) -> String ? {
3999 switch self {
40- case MetadataOptions . size: return " size "
41- case MetadataOptions . mimeType: return " mimetype "
42- case MetadataOptions . fileName: return " filename "
43- case MetadataOptions . width: return " width "
44- case MetadataOptions . height: return " height "
45- case MetadataOptions . uploaded: return " uploaded "
46- case MetadataOptions . writeable: return " writeable "
47- case MetadataOptions . cloud: return " cloud "
48- case MetadataOptions . sourceURL: return " source_url "
49- case MetadataOptions . MD5: return " md5 "
50- case MetadataOptions . SHA224: return " sha224 "
51- case MetadataOptions . SHA256: return " sha256 "
52- case MetadataOptions . SHA384: return " sha384 "
53- case MetadataOptions . SHA512: return " sha512 "
54- case MetadataOptions . location: return " location "
55- case MetadataOptions . path: return " path "
56- case MetadataOptions . container: return " container "
57- case MetadataOptions . exif: return " exif "
58- default : return nil
100+ case . size: return " size "
101+ case . mimeType: return " mimetype "
102+ case . fileName: return " filename "
103+ case . width: return " width "
104+ case . height: return " height "
105+ case . uploaded: return " uploaded "
106+ case . writeable: return " writeable "
107+ case . cloud: return " cloud "
108+ case . sourceURL: return " source_url "
109+ case . MD5: return " md5 "
110+ case . SHA224: return " sha224 "
111+ case . SHA256: return " sha256 "
112+ case . SHA384: return " sha384 "
113+ case . SHA512: return " sha512 "
114+ case . location: return " location "
115+ case . path: return " path "
116+ case . container: return " container "
117+ case . exif: return " exif "
118+ default : return nil
59119 }
60120 }
61121}
0 commit comments