import fs from "fs"; import generate from "./generate"; import { Holiday } from '../src/holidays/arrangement'; const data = generate(); // 反向映射 Holiday 枚举 const holidayMap: Record = Object.fromEntries( Object.entries(Holiday).map(([key, value]) => [value, key as keyof typeof Holiday]) ); const mapToEnum = (obj: Record): Record => { const result: Record = {}; for (const [key, value] of Object.entries(obj)) { if (holidayMap[value]) { result[key] = `Holiday.${holidayMap[value]}`; } else { result[key] = `${value}`; } } return result; }; // 转换数据 const holidays = mapToEnum(data.holidays); const workdays = mapToEnum(data.workdays); const inLieuDays = mapToEnum(data.inLieuDays); const formatObjectString = (obj: Record): string => { const entries = Object.entries(obj).map(([key, value]) => ` "${key}": ${value}`); return `{\n${entries.join(",\n")}\n}`; }; const tsContent = `import { Holiday } from "./arrangement"; export const holidays: Record = ${formatObjectString(holidays)}; export const workdays: Record = ${formatObjectString(workdays)}; export const inLieuDays: Record = ${formatObjectString(inLieuDays)}; `; // 保存到 constants.ts 文件 fs.writeFile('./src/holidays/constants.ts', tsContent, (err) => { if (err) throw err; console.log('The file has been saved!'); });