chore(TypeScript): refactor objects into classes

fix: `Nil`(null, undefined) now renders as empty string
change: `parser.parseValue()` renamed to `parser.parseOutput`
change: registered tags/filters become static and shared across different liquid instances
This commit is contained in:
harttle
2019-02-17 04:55:30 +08:00
parent b51b0dabca
commit 677e8511e6
134 changed files with 3327 additions and 3858 deletions
+17
View File
@@ -0,0 +1,17 @@
import Value from './value'
import { stringify } from 'src/util/underscore'
import Template from 'src/template/template'
import ITemplate from 'src/template/itemplate'
import Scope from 'src/scope/scope'
export default class Output extends Template implements ITemplate {
value: Value
constructor(token, strict_filters?) {
super(token)
this.value = new Value(token.value, strict_filters)
}
async render(scope: Scope) {
const html = await this.value.value(scope)
return stringify(html)
}
}