You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.FileUtils = exports.Configurator = void 0;
|
|
let path = require('path');
|
|
let fs = require('fs');
|
|
let fileExtensionToImage;
|
|
class Configurator {
|
|
constructor() {
|
|
this.fileutils = new FileUtils();
|
|
}
|
|
getFileExtensionToImageMap() {
|
|
if (!fileExtensionToImage) {
|
|
fileExtensionToImage = this.loadConfigMap("file-extensions.json");
|
|
}
|
|
return fileExtensionToImage;
|
|
}
|
|
;
|
|
loadConfigMap(fileName) {
|
|
let filePath = this.fileutils.getPathToConfig(fileName);
|
|
let fileBuffer = fs.readFileSync(filePath);
|
|
let content = fileBuffer.toString('utf8');
|
|
return JSON.parse(content);
|
|
}
|
|
}
|
|
exports.Configurator = Configurator;
|
|
class FileUtils {
|
|
getPathToView(templateName) {
|
|
return path.join(this.getPathToAssets(), "views", templateName + ".html");
|
|
}
|
|
getPathToImage(imageName) {
|
|
return path.join(this.getPathToAssets(), "images", imageName);
|
|
}
|
|
getPathToDocument(documentName) {
|
|
return path.join(this.getPathToAssets(), "documents", documentName);
|
|
}
|
|
getPathToConfig(documentName) {
|
|
return path.join(this.getPathToAssets(), "conf", documentName);
|
|
}
|
|
getPathToAssets() {
|
|
return path.join(__dirname, "..", "assets");
|
|
}
|
|
getFileExtension(fileName) {
|
|
return fileName.substr(fileName.lastIndexOf(".") + 1);
|
|
}
|
|
}
|
|
exports.FileUtils = FileUtils;
|
|
//# sourceMappingURL=fileutils.js.map
|