chore: update liquid options to match raw filters

This commit is contained in:
Jun Yang
2022-12-12 02:32:50 +08:00
parent e6db371519
commit 5ac3765612
+7 -10
View File
@@ -3,7 +3,8 @@ import { LRU, LiquidCache } from './cache'
import { FS } from './fs/fs' import { FS } from './fs/fs'
import * as fs from './fs/node' import * as fs from './fs/node'
import { defaultOperators, Operators } from './render' import { defaultOperators, Operators } from './render'
import { filters } from './filters' import { json } from './filters/misc'
import { escape } from './filters/html'
type OutputEscape = (value: any) => string type OutputEscape = (value: any) => string
type OutputEscapeOption = 'escape' | 'json' | OutputEscape type OutputEscapeOption = 'escape' | 'json' | OutputEscape
@@ -182,15 +183,11 @@ export function normalize (options: LiquidOptions): NormalizedFullOptions {
return options as NormalizedFullOptions return options as NormalizedFullOptions
} }
function getOutputEscapeFunction (nameOrFunction: OutputEscapeOption) { function getOutputEscapeFunction (nameOrFunction: OutputEscapeOption): OutputEscape {
if (isString(nameOrFunction)) { if (nameOrFunction === 'escape') return escape
const filterImpl = filters[nameOrFunction] if (nameOrFunction === 'json') return json
assert(isFunction(filterImpl), `filter "${nameOrFunction}" not found`) assert(isFunction(nameOrFunction), '`outputEscape` need to be of type string or function')
return filterImpl return nameOrFunction
} else {
assert(isFunction(nameOrFunction), '`outputEscape` need to be of type string or function')
return nameOrFunction
}
} }
export function normalizeDirectoryList (value: any): string[] { export function normalizeDirectoryList (value: any): string[] {