0001 public class Namespace{ 0002 public typealias TagParser
Parser.swift:22 private let namespace: NamespaceParser.swift:24 public init(tokens: [Token], namespace: Namespace) {Template.swift:39 public func render(context: Context? = nil, namespace: Namespace? = nil) throws -> String {Template.swift:40 let parser = TokenParser(tokens: tokens, namespace: namespace ?? Namespace())= (TokenParser, Token) throws -> NodeType 0003 0004 var tags
Namespace.swift:4 var tags = [String: TagParser]()Namespace.swift:31 public func registerTag(name: String, parser: TagParser) {= [String: TagParser]() 0005 var filters
Namespace.swift:32 tags[name] = parserParser.swift:54 if let parser = namespace.tags[tag] {= [String: Filter]() 0006 0007 public init
Namespace.swift:44 filters[name] = filterParser.swift:81 if let filter = namespace.filters[name] {() { 0008 registerDefaultTags() 0009 registerDefaultFilters() 0010 } 0011 0012 private func registerDefaultTags
Template.swift:40 let parser = TokenParser(tokens: tokens, namespace: namespace ?? Namespace())() { 0013 registerTag("for", parser: ForNode.parse) 0014 registerTag("if", parser: IfNode.parse) 0015 registerTag("ifnot", parser: IfNode.parse_ifnot) 0016 #if !os(Linux) 0017 registerTag("now", parser: NowNode.parse) 0018 #endif 0019 registerTag("include", parser: IncludeNode.parse) 0020 registerTag("extends", parser: ExtendsNode.parse) 0021 registerTag("block", parser: BlockNode.parse) 0022 } 0023 0024 private func registerDefaultFilters
Namespace.swift:8 registerDefaultTags()() { 0025 registerFilter("capitalize", filter: capitalise) 0026 registerFilter("uppercase", filter: uppercase) 0027 registerFilter("lowercase", filter: lowercase) 0028 } 0029 0030 /// Registers a new template tag 0031 public func registerTag
Namespace.swift:9 registerDefaultFilters()(name: String, parser: TagParser) { 0032 tags[name] = parser 0033 } 0034 0035 /// Registers a simple template tag with a name and a handler 0036 public func registerSimpleTag(name: String, handler: Context throws -> String) { 0037 registerTag(name, parser: { parser, token in 0038 return SimpleNode(handler: handler) 0039 }) 0040 } 0041 0042 /// Registers a template filter with the given name 0043 public func registerFilter
Namespace.swift:13 registerTag("for", parser: ForNode.parse)Namespace.swift:14 registerTag("if", parser: IfNode.parse)Namespace.swift:15 registerTag("ifnot", parser: IfNode.parse_ifnot)Namespace.swift:17 registerTag("now", parser: NowNode.parse)Namespace.swift:19 registerTag("include", parser: IncludeNode.parse)Namespace.swift:20 registerTag("extends", parser: ExtendsNode.parse)Namespace.swift:21 registerTag("block", parser: BlockNode.parse)Namespace.swift:37 registerTag(name, parser: { parser, token in(name: String, filter: Filter) { 0044 filters[name] = filter 0045 } 0046 } 0047
Namespace.swift:25 registerFilter("capitalize", filter: capitalise)Namespace.swift:26 registerFilter("uppercase", filter: uppercase)Namespace.swift:27 registerFilter("lowercase", filter: lowercase)