0001 import Foundation 0002 0003 let resourceDir: String = "Resources" 0004 0005 enum RendererError
Renderer.swift:18 return resourceDir + "/" + fileName: ErrorType { 0006 case InvalidPath
Renderer.swift:34 throw RendererError.InvalidPathRenderer.swift:38 throw RendererError.ParseError0007 case ParseError
Renderer.swift:34 throw RendererError.InvalidPath0008 } 0009 0010 public protocol Renderer
Renderer.swift:38 throw RendererError.ParseError{ 0011 0012 func render
Application.swift:12 private var renderers: [String: Renderer]Application.swift:180 public func use(renderer renderer: Renderer, ext: String) {Application.swift:249 public func rendererForFile(filename: String) -> Renderer? {Renderer.swift:15 extension Renderer {Renderer.swift:45 class HTMLRenderer: Renderer {Response.swift:8 func rendererForFile(filename: String) -> Renderer?(path: String, data: [String: Any]?) throws -> String 0013 } 0014 0015 extension Renderer { 0016 0017 private func resourcePath
Renderer.swift:23 let body = try render(resourcePath(path), data: data)(fileName: String) -> String { 0018 return resourceDir + "/" + fileName 0019 } 0020 0021 func renderToBytes
Renderer.swift:23 let body = try render(resourcePath(path), data: data)(path: String, data: [String: Any]?) throws -> [UInt8] { 0022 0023 let body = try render(resourcePath(path), data: data) 0024 0025 return convertToBytes(body) 0026 } 0027 0028 private func convertToBytes
Response.swift:232 body = try renderer.renderToBytes(path, data: data)(data: String) -> [UInt8] { 0029 return [UInt8](data.utf8) 0030 } 0031 0032 public func stringFromFile
Renderer.swift:25 return convertToBytes(body)(path: String) throws -> String { 0033 guard let fileBody = NSData(contentsOfFile: path) else { 0034 throw RendererError.InvalidPath 0035 } 0036 0037 guard let body = String(data: fileBody, encoding: NSUTF8StringEncoding) else { 0038 throw RendererError.ParseError 0039 } 0040 0041 return body 0042 } 0043 } 0044 0045 class HTMLRenderer
Renderer.swift:49 return try stringFromFile(path): Renderer { 0046 0047 func render(path: String, data: [String: Any]? = nil) throws -> String { 0048 0049 return try stringFromFile(path) 0050 } 0051 0052 } 0053
Application.swift:31 renderers[".html"] = HTMLRenderer()