UNPKG

erfan-flmngr-server-fixed

Version:

> Node.js Backend for Flmngr file manager

83 lines 3.04 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Utils = void 0; const fsx = __importStar(require("fs-extra")); class Utils { static getNameWithoutExt(filename) { let ext = Utils.getExt(filename); if (ext == null) return filename; return filename.substring(0, filename.length - ext.length - 1); } static getExt(name) { let i = name.lastIndexOf('.'); if (i > -1) return name.substring(i + 1); return ''; } static getFreeFileName(dir, defaultName, alwaysWithIndex) { let ok; let i = alwaysWithIndex ? 0 : -1; let name; do { i++; if (i === 0) name = defaultName; else name = Utils.getNameWithoutExt(defaultName) + "_" + i + (Utils.getExt(defaultName) != null ? "." + Utils.getExt(defaultName) : ""); let file = dir + name; ok = !fsx.existsSync(file); } while (!ok); return name; } static fixFileName(name) { let newName = ""; for (let i = 0; i < name.length; i++) { let ch = name.substring(i, i + 1); if (Utils.PROHIBITED_SYMBOLS.indexOf(ch) > -1) ch = "_"; newName += ch; } return newName.toString(); } static isFileNameSyntaxOk(name) { if (name.length === 0 || name === "." || name.indexOf("..") > -1) return false; for (let i = 0; i < Utils.PROHIBITED_SYMBOLS.length; i++) if (name.indexOf(Utils.PROHIBITED_SYMBOLS.charAt(i)) > -1) return false; if (name.length > 260) return false; return true; } static isImage(name) { let exts = ["gif", "jpg", "jpeg", "png", "bmp"]; let ext = Utils.getExt(name); for (let i = 0; i < exts.length; i++) if (exts[i] === ext) return true; return false; } } exports.Utils = Utils; Utils.PROHIBITED_SYMBOLS = "/\\?%*:|\"<>"; //# sourceMappingURL=Utils.js.map