mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-17 21:40:39 -07:00
feat!: drop TagImplOptions in favor of Tag classes (#839)
Remove tag-options-adapter and the registerTag object-literal overload. Custom tags must extend Tag. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { throwIntendedError, rejectIntendedError } from './util'
|
||||
import { Tag } from '../../src/template/tag'
|
||||
import type { TagToken, TopLevelToken } from '../../src/tokens'
|
||||
import type { Liquid } from '../../src/liquid'
|
||||
|
||||
export class ThrowingTag extends Tag {
|
||||
render () {
|
||||
throwIntendedError()
|
||||
}
|
||||
}
|
||||
|
||||
export class RejectingTag extends Tag {
|
||||
async render () {
|
||||
await rejectIntendedError()
|
||||
}
|
||||
}
|
||||
|
||||
export class ThrowsOnParseTag extends Tag {
|
||||
constructor (token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid) {
|
||||
super(token, remainTokens, liquid)
|
||||
throwIntendedError()
|
||||
}
|
||||
render () {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
export class IntendedRenderErrorTag extends Tag {
|
||||
render () {
|
||||
throw new Error('intended render error')
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user