@mixio-pro/kalaasetu-mcp
Version:
A powerful Model Context Protocol server providing AI tools for content generation and analysis
39 lines (32 loc) • 1.04 kB
text/typescript
import * as path from "path";
/**
* Generate a timestamped filename to avoid conflicts
* Format: YYYYMMDD_HHmmss_filename.ext
* Preserves directory structure if present in the input path
*/
export function generateTimestampedFilename(filePath: string): string {
const now = new Date();
const timestamp = now
.toISOString()
.replace(/[-:]/g, "")
.replace(/\.\d{3}Z$/, "")
.replace("T", "_");
// Split into directory and filename
const dir = path.dirname(filePath);
const basename = path.basename(filePath);
// Extract extension if present
const lastDot = basename.lastIndexOf(".");
let timestampedFilename: string;
if (lastDot > 0) {
const name = basename.substring(0, lastDot);
const ext = basename.substring(lastDot);
timestampedFilename = `${timestamp}_${name}${ext}`;
} else {
timestampedFilename = `${timestamp}_${basename}`;
}
// Reconstruct the full path
if (dir === ".") {
return timestampedFilename;
}
return path.join(dir, timestampedFilename);
}