// 预设查表:id → 预设数据。 // 预设数据是 ES module 里的模块级常量,返回深拷贝,避免调用方改坏它。 // 注意 id 必须与 project.json 里 combo 选项的 value 一致(见 docs/adr/0001)。 export default class PresetController { constructor(presets) { this.presets = presets; this.currentId = ""; } get ids() { return Object.keys(this.presets); } has(id) { return Boolean(this.presets[id]); } // 未知 id 返回 null,由调用方决定是保持现状还是回退——不在这里悄悄改成别的预设 get(id) { const preset = this.presets[id]; if (!preset) return null; this.currentId = id; return JSON.parse(JSON.stringify(preset)); } }