MCHashtoName/index.js

36 lines
1.0 KiB
JavaScript
Raw Normal View History

2024-05-25 17:40:41 +00:00
import fs from "fs"
import { join } from "path"
process.stdin.setEncoding("utf8");
function readlineSync(msg = "Input") {
return new Promise((resolve, reject) => {
console.log(msg)
process.stdin.resume();
process.stdin.on("data", function (data) {
process.stdin.pause();
resolve(data);
});
});
}
// entry point
async function main() {
let jsonpath = await readlineSync("Input the JSON Path");
let srcpath = await readlineSync("Input the src Path");
let distpath = await readlineSync("Input the dist Path");
let json = JSON.parse(fs.readFileSync(jsonpath, "utf8"));
let objects = json.objects;
Object.keys(objects).forEach(element => {
let hash = objects[element].hash;
let distfilepath = join(distpath, element);
if (!distfilepath) {
fs.mkdirSync(distfilepath, { recursive: true });
}
fs.renameSync(join(srcpath, hash.substring(0, 2), hash), distfilepath);
});
}
main();