@amplience/dc-cli
Version:
Dynamic Content CLI Tool
52 lines (51 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileLog = void 0;
exports.setVersion = setVersion;
exports.versionedTitle = versionedTitle;
const archive_log_1 = require("./archive/archive-log");
let version = require('../../package.json').version;
function setVersion(newVersion) {
version = newVersion;
}
function versionedTitle(title) {
return `dc-cli ${version} - ${title}`;
}
function buildTitle(filename) {
if (filename) {
return versionedTitle(filename.replace('<DATE>', Date.now().toString()));
}
else {
return '';
}
}
class FileLog extends archive_log_1.ArchiveLog {
constructor(filename) {
super(buildTitle(filename));
this.filename = filename;
this.openedCount = 0;
if (this.filename != null) {
const timestamp = Date.now().toString();
this.filename = this.filename.replace('<DATE>', timestamp);
}
}
appendLine(text = 'undefined', silent = false) {
if (!silent) {
process.stdout.write(text + '\n');
}
this.addComment(text);
}
open() {
this.openedCount++;
return this;
}
async close(writeIfClosed = true) {
if (--this.openedCount <= 0) {
if (this.filename != null && writeIfClosed) {
await this.writeToFile(this.filename);
}
this.closed = true;
}
}
}
exports.FileLog = FileLog;