Added method to register boolean filters (#160)

* added method to register boolean filters

* parametrised negative filter name

* Update Extension.swift

* Update CHANGELOG.md

* renamed registerBooleanFilter to registerFilter

* updated docs
This commit is contained in:
Ilya Puchka
2018-09-25 23:29:21 +01:00
committed by GitHub
parent f7bda226e8
commit fce3dc5e48
4 changed files with 41 additions and 0 deletions

View File

@@ -18,6 +18,15 @@ open class Extension {
return SimpleNode(token: token, handler: handler)
})
}
/// Registers boolean filter with it's negative counterpart
public func registerFilter(name: String, negativeFilterName: String, filter: @escaping (Any?) throws -> Bool?) {
filters[name] = .simple(filter)
filters[negativeFilterName] = .simple {
guard let result = try filter($0) else { return nil }
return !result
}
}
/// Registers a template filter with the given name
public func registerFilter(_ name: String, filter: @escaping (Any?) throws -> Any?) {