UNPKG

cdkdx

Version:

Zero-config CLI for aws cdk development

21 lines 3.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TemplateFile = void 0; const file_base_1 = require("./file-base"); class TemplateFile extends file_base_1.FileBase { constructor(project, filePath, { context, template }) { super(project, TemplateFile.replacePlaceholders(filePath, context)); this.template = template; this.context = context; } static replacePlaceholders(template, context) { const keys = Object.keys(context); const func = Function(...keys, 'return `' + template + '`;'); return func(...keys.map((k) => context[k])); } get data() { return TemplateFile.replacePlaceholders(this.template, this.context); } } exports.TemplateFile = TemplateFile; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZW1wbGF0ZXMvdGVtcGxhdGUtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyQ0FBdUM7QUFPdkMsTUFBYSxZQUFhLFNBQVEsb0JBQVE7SUFjeEMsWUFDRSxPQUFnQixFQUNoQixRQUFnQixFQUNoQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQXVCO1FBRTFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFuQk0sTUFBTSxDQUFDLG1CQUFtQixDQUMvQixRQUFnQixFQUNoQixPQUFnQztRQUVoQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLElBQUksRUFBRSxVQUFVLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRTdELE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBYUQsSUFBYyxJQUFJO1FBQ2hCLE9BQU8sWUFBWSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7Q0FDRjtBQTVCRCxvQ0E0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi9wcm9qZWN0JztcbmltcG9ydCB7IEZpbGVCYXNlIH0gZnJvbSAnLi9maWxlLWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBsYXRlRmlsZU9wdGlvbnMge1xuICB0ZW1wbGF0ZTogc3RyaW5nO1xuICBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlRmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVwbGFjZVBsYWNlaG9sZGVycyhcbiAgICB0ZW1wbGF0ZTogc3RyaW5nLFxuICAgIGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb250ZXh0KTtcbiAgICBjb25zdCBmdW5jID0gRnVuY3Rpb24oLi4ua2V5cywgJ3JldHVybiBgJyArIHRlbXBsYXRlICsgJ2A7Jyk7XG5cbiAgICByZXR1cm4gZnVuYyguLi5rZXlzLm1hcCgoaykgPT4gY29udGV4dFtrXSkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogUHJvamVjdCxcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxuICAgIHsgY29udGV4dCwgdGVtcGxhdGUgfTogVGVtcGxhdGVGaWxlT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCwgVGVtcGxhdGVGaWxlLnJlcGxhY2VQbGFjZWhvbGRlcnMoZmlsZVBhdGgsIGNvbnRleHQpKTtcblxuICAgIHRoaXMudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkYXRhKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRlbXBsYXRlRmlsZS5yZXBsYWNlUGxhY2Vob2xkZXJzKHRoaXMudGVtcGxhdGUsIHRoaXMuY29udGV4dCk7XG4gIH1cbn1cbiJdfQ==