typedraft
Version:
TypeDraft is a superset of typescript with built-in support for DSL extension and literate programming.
23 lines (22 loc) • 872 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const src_1 = require("../src");
function MakeTranscriberWithConfig(code, config) {
const transcriber = src_1.MakeDefaultTranscriber(code);
config.DSLs.forEach(({ name, dsl }) => {
transcriber.AddDSL(name, dsl());
});
if (config.DraftPlugins.length !== 0) {
transcriber.m_Plugins = config.DraftPlugins.map(PluginConstructor => Reflect.construct(PluginConstructor, [transcriber]));
}
return transcriber;
}
exports.MakeTranscriberWithConfig = MakeTranscriberWithConfig;
function ComposeFile(code, config) {
const transcriber = config
? MakeTranscriberWithConfig(code, config)
: src_1.MakeDefaultTranscriber(code);
const result = transcriber.Transcribe();
return result;
}
exports.ComposeFile = ComposeFile;