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.
Engine_Rebuild/util/fileutils.js

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