filesrocket
Version:
Filesrocket is a Node.js package that takes care of the file management of any cloud storage service (Local, Cloudinary, Amazon S3)
36 lines • 1.24 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.omitProps = exports.generateRandomFilename = void 0;
const path_1 = require("path");
const uniqid_1 = __importDefault(require("uniqid"));
/**
* Generate a unique filename.
* @param filename Filename.
*/
function generateRandomFilename(filename) {
const { name, ext } = (0, path_1.parse)(filename);
const uniquename = `${name.split(' ').join('-')}-${(0, uniqid_1.default)()}`;
return `${uniquename}${ext}`;
}
exports.generateRandomFilename = generateRandomFilename;
function transform(obj, predicate) {
return Object.keys(obj).reduce((prev, curr) => {
const key = curr;
const memo = prev;
if (predicate(obj, obj[key], key)) {
memo[key] = obj[key];
}
return memo;
}, {});
}
/**
* Omit properties.
* @param obj Entity.
* @param items Properties.
*/
const omitProps = (obj, items) => transform(obj, (entity, value, key) => !items.includes(key));
exports.omitProps = omitProps;
//# sourceMappingURL=utils.js.map
;