Templating package for Yellicode - an extensible code generator.
npm install @yellicode/templatingts
import { Generator, TextWriter } from '@yellicode/templating';
Generator.generate({outputFile: './my-file.txt'}, (writer: TextWriter) => {
writer.writeLine('File generated at '+new Date().toISOString());
});
`
$3
When generating code from a code model, you should at least install the Model package (@yellicode/model). The template structure should be as follows:
`ts
import { Generator, TextWriter } from '@yellicode/templating';
import * as model from '@yellicode/model';
Generator.generateFromModel({outputFile: './my-file.txt'}, (writer: TextWriter, model: model.Package) => {
// Enumerate classes
model.getAllClasses().forEach((c) => {
// Write a class definition here...
// Enumerate attributes
c.ownedAttributes.forEach(att => {
// Write the attribute definition here...
});
})
});
`
$3
`ts
import { Generator, TextWriter } from '@yellicode/templating';
import * as model from '@yellicode/model';
Generator.getModel().then((model: model.Model) => {
// Generate a file for each class in the model
model.getAllClasses().forEach((c) => {
Generator.generate({ outputFile: ${c.name}.txt }, (writer: TextWriter) => {
writer.writeLine(/ This file contains the code for class '${c.name}'. /);
});
});
})
``