const fs = require('fs')
const path = require('path');
const folderPath = "./configs"
const props = ["id", "name"]
function jsonToPhp(jsonObj, indent = '', linefeed = '\n') {
    return Object.values(jsonObj).map(item => {
        return `array(${props.map(e => `'${e}'=>${typeof (v = item[e]) == 'string' ? `'${v}'` : v}`).join(",")})`
    }).join(",\n")
}
const start = () => {
    const files = fs.readdirSync(folderPath);

    // 过滤出所有的 JSON 文件
    const jsonFiles = files.filter(file => path.extname(file) === '.json').filter(file => ["StdItems"].map(e => `${e}.json`).includes(file));
    fs.access("./gm", fs.constants.F_OK, err => {
        if (err) {
            fs.mkdirSync("./gm")
        }
    })
    jsonFiles.forEach(file => {
        const json = JSON.parse(fs.readFileSync(path.join(folderPath, file), 'utf8'))
        const filename = path.basename(file, path.extname(file));
        const luaConfig = `<?php\n $items=array(\n${jsonToPhp(json)}\n);`
        fs.writeFileSync(`./gm/${filename}.php`, luaConfig);
    });
}
start()