New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@propero/typescript-transformer-source-templates

Package Overview
Dependencies
Maintainers
2
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@propero/typescript-transformer-source-templates

Generate fresh ASTs from source strings

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
2
Created
Source

@propero/typescript-transformer-source-templates

Maintainability Test Coverage Build Status

Generate fresh ASTs from source strings

npm i @propero/typescript-transformer-source-templates

Example Usage

import { template } from "@propero/typescript-transformer-source-templates";

const aggregationTemplate = template(`
let VARIABLE = control.getAggregation("AGGREGATION");
if (!Array.isArray(VARIABLE)) VARIABLE = VARIABLE == null ? [] : [VARIABLE];
VARIABLE.forEach(it => rm.renderControl(it));
`);
const headerNodes = aggregationTemplate.statements({ AGGREGATION: 'header', VARIABLE: "_header" });
const contentNodes = aggregationTemplate.statements({ AGGREGATION: 'content', VARIABLE: () => "_content" });
const footerNodes = aggregationTemplate.statements({ AGGREGATION: 'footer' });

Casting and member templates

import { template } from "@propero/typescript-transformer-source-templates";
import { MethodDeclaration } from "typescript";

const methodTemplate = template("render() {RENDER_CODE}");
const render = methodTemplate.objectMember<MethodDeclaration>({ RENDER_CODE: "return 'hello world';" });

FAQs

Package last updated on 27 Feb 2020

Related posts