UNPKG

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
"use strict"; 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