26 lines
796 B
TypeScript
26 lines
796 B
TypeScript
import * as formatters from "./formatters";
|
|
import createTemplateBuilder from "./builder";
|
|
|
|
export const smart = createTemplateBuilder(formatters.smart);
|
|
export const statement = createTemplateBuilder(formatters.statement);
|
|
export const statements = createTemplateBuilder(formatters.statements);
|
|
export const expression = createTemplateBuilder(formatters.expression);
|
|
export const program = createTemplateBuilder(formatters.program);
|
|
|
|
type DefaultTemplateBuilder = typeof smart & {
|
|
smart: typeof smart;
|
|
statement: typeof statement;
|
|
statements: typeof statements;
|
|
expression: typeof expression;
|
|
program: typeof program;
|
|
};
|
|
|
|
export default Object.assign(smart.bind(undefined) as DefaultTemplateBuilder, {
|
|
smart,
|
|
statement,
|
|
statements,
|
|
expression,
|
|
program,
|
|
ast: smart.ast,
|
|
});
|