28 lines
884 B
JavaScript
28 lines
884 B
JavaScript
import fs from "fs";
|
|
import grabDBDir from "./grab-db-dir";
|
|
function stripExportExtension(name) {
|
|
const lower = name.toLowerCase();
|
|
if (lower.endsWith(".tar.gz"))
|
|
return name.slice(0, -7);
|
|
if (lower.endsWith(".tgz"))
|
|
return name.slice(0, -4);
|
|
if (lower.endsWith(".tar"))
|
|
return name.slice(0, -4);
|
|
if (lower.endsWith(".zip"))
|
|
return name.slice(0, -4);
|
|
return name;
|
|
}
|
|
function exportTimestamp(name) {
|
|
const base = stripExportExtension(name);
|
|
const ts = Number(base.split("-").pop());
|
|
return Number.isFinite(ts) ? ts : 0;
|
|
}
|
|
export default function grabSortedExports({ config }) {
|
|
const { export_dir } = grabDBDir({ config });
|
|
if (!fs.existsSync(export_dir)) {
|
|
return [];
|
|
}
|
|
const exports = fs.readdirSync(export_dir);
|
|
return exports.sort((a, b) => exportTimestamp(b) - exportTimestamp(a));
|
|
}
|