SkillAgentSearch skills...

Talt

Template functions to generate TypeScript AST node object

Install / Use

/learn @Quramy/Talt
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Talt

github actions npm version GitHub license

Template functions to generate TypeScript AST, inspired from @babel/template .

Install

$ npm i talt typescript

Usage

import ts from "typescript";
import { template } from "talt";

const typeNode = template.typeNode("{ readonly hoge: string }")();

// You can use `template` as tag function.
const typeNodeUsingTagFn = template.typeNode`
  {
    readonly hoge: string;
  }
`();

// The following returns ts.BinaryExpression
const binaryExpression = template.expression<ts.BinaryExpression>("60 * 1000")();

// You can use identifier placeholder.
const compiledFn = template.expression`
  60 * SOME_PLACEHOLDER_KEY
`;
const generatedAst = compiledFn({
  SOME_PLACEHOLDER_KEY: binaryExpression,
}); // returns expression node, `60 * 60 * 1000`

const generetedOtherNode = compiledFn({
  SOME_PLACEHOLDER_KEY: ts.factory.createNumericLiteral("200"),
}); // returns expression node, `60 * 200`

// You can use any function which returns ts.Node instead of identifier placeholder.
const altCompiledFn = template.expression`
  60 * ${() => binaryExpression}
`; // returns expression node, `60 * 60 * 1000`

API

template has the following tag functions. Each tag function compiles and provides corresponding type AST.

  • template.typeNode
  • template.expression
  • template.statement
  • template.sourceFile
  • template.jsxAttribute

License

MIT

Related Skills

View on GitHub
GitHub Stars34
CategoryDevelopment
Updated11h ago
Forks1

Languages

TypeScript

Security Score

95/100

Audited on Apr 8, 2026

No findings