UNPKG

liquidjs

Version:

A simple, expressive and safe Shopify / Github Pages compatible template engine in pure JavaScript.

19 lines (18 loc) 894 B
import { TemplateImpl } from './template-impl'; import type { Emitter } from '../emitters/emitter'; import type { Parser, Tokenizer } from '../parser'; import type { Context } from '../context/context'; import type { TopLevelToken, TagToken } from '../tokens'; import type { Template } from './template'; import type { Liquid } from '../liquid'; export type TagRenderReturn = Generator<unknown, unknown, unknown> | Promise<unknown> | unknown; export declare abstract class Tag extends TemplateImpl<TagToken> implements Template { name: string; liquid: Liquid; protected tokenizer: Tokenizer; constructor(token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid); abstract render(ctx: Context, emitter: Emitter): TagRenderReturn; } export interface TagClass { new (token: TagToken, tokens: TopLevelToken[], liquid: Liquid, parser: Parser): Tag; }