@podlite/schema
Version:
AST tools for Podlite markup language
48 lines (41 loc) • 1.29 kB
TypeScript
import { RuleObject, RuleHandler } from './makeQuery';
/**
* wrap content by open and closed tags
*/
export declare const wrapContent: (pre: any, post: any) => RuleHandler;
/**
* emptyContent - skip any child node
*/
export declare const emptyContent: () => RuleHandler;
/**
* content - process childs as regular content
*/
export declare const content: RuleHandler;
/**
Set hander after call with node
':para':setFn((node,ctx) => (ctx.parents || [] ).includes('head') ? content : wrapContent('<p>','</p>'),
*/
export declare const setFn: (check: any) => RuleHandler;
/**
Set new context for handler
const parents = (ctx.parents || [])
parents.push('head')
const {level} = node
return setContext( { ...ctx, parents }, wrapContent(`<h${level}>`,`</h${level}>`))
*/
export declare const setContext: (ctx: any, fn: any) => RuleHandler;
/**
* Make subset of rules for processing
*
* @param {*} rules
* @param {*} processNode
*/
export declare const subUse: (rules: RuleObject | Array<RuleObject>, processNode: any) => RuleHandler;
/**
* Add support nesting
*
* @param {*} rules
* @param {*} implicitLevel - default level of nesting
*
*/
export declare const handleNested: (defaultHandler: RuleHandler, implicitLevel?: number) => RuleHandler;