UNPKG

fingerslug

Version:

Fingerslug is a tool to generate a slugged and fingerprinted filename based on an input.

23 lines (16 loc) 577 B
const uuid = require("node-uuid"); const slug = require("slug"); const getExtension = (fileName) => { const ext = fileName.match(/\.([0-9a-z]+)(?:[\?#]|$)/i); return ext; } const generateFingerprint = () => { return `-${uuid.v4().replace(/-/g, "")}`; } const fingerSlug = (fileName) => { const fingerprint = generateFingerprint(); const extension = getExtension(fileName); const fileNameNoExt = fileName.replace(new RegExp(extension[1], "ig"), ""); return slug(fileNameNoExt) + fingerprint + "." + extension[1]; } module.exports = fingerSlug;