mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-15 04:10:40 -07:00
21 lines
545 B
TypeScript
21 lines
545 B
TypeScript
import { Emitter, SimpleEmitter } from '../emitters'
|
|
import { Drop } from './drop'
|
|
|
|
export class BlockDrop extends Drop {
|
|
constructor (
|
|
// the block render from layout template
|
|
private superBlockRender: (emitter: Emitter) => IterableIterator<unknown> | string = () => ''
|
|
) {
|
|
super()
|
|
}
|
|
/**
|
|
* Provide parent access in child block by
|
|
* {{ block.super }}
|
|
*/
|
|
public * super (): IterableIterator<unknown> {
|
|
const emitter = new SimpleEmitter()
|
|
yield this.superBlockRender(emitter)
|
|
return emitter.buffer
|
|
}
|
|
}
|