DataURI
A pure Swift parser for Data URIs.
📦 Installation
Update your Package.swift
file.
.package(url: "https://github.com/nodes-vapor/data-uri.git", from: "2.0.0")
🚀
Getting started There are two options for decoding a Data URI. The first is using the String
extension and the second is by using the DataURIParser
directly.
String
method
The This method is by far the easiest to use. All you need to do is call .dataURIDecoded() throws -> (data: Bytes, type: String)
on any Data URI encoded String
.
import Core //just for `Bytes.string`
import DataURI
let uri = "data:,Hello%2C%20World!"
let (data, type) = try uri.dataURIDecoded()
print(data.string) // "Hello, World!"
print(type) // "text/plain;charset=US-ASCII"
DataURIParser
method
The Using the parser is a bit more involved as it returns all of its results as Bytes
.
import Core //just for `Bytes.string`
import DataURI
let uri = "data:text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E"
let (data, type, metadata) = try DataURIParser.parse(uri: uri)
print(data.string) // "<h1>Hello, World!</h1>"
print(type.string) // "text/html"
print(metadata == nil) // "true"
🏆 Credits
This package is developed and maintained by the Vapor team at Nodes. The package owner for this project is Tom.
📄 License
This package is open-sourced software licensed under the MIT license