Skip to content

Commit fff62fb

Browse files
committed
Image with data
1 parent e187cbc commit fff62fb

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

SwiftDraw/Image.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ extension DOM.SVG {
9393
let element = try XML.SAXParser.parse(contentsOf: url)
9494
return try parser.parseSVG(element)
9595
}
96+
97+
static func parse(data: Data) throws -> DOM.SVG {
98+
let parser = XMLParser(options: [.skipInvalidElements])
99+
let element = try XML.SAXParser.parse(data: data)
100+
return try parser.parseSVG(element)
101+
}
96102
}
97103

98104
public extension Image {
@@ -112,4 +118,12 @@ public extension Image {
112118

113119
self.init(fileURL: url)
114120
}
121+
122+
convenience init?(data: Data) {
123+
guard let svg = try? DOM.SVG.parse(data: data) else {
124+
return nil
125+
}
126+
127+
self.init(svg: svg)
128+
}
115129
}

0 commit comments

Comments
 (0)