Files
shanhe-puzzle/scripts/pack-county-maps.cjs
codex-bot 4845826deb
Shanhe source and offline package checks / verify (pull_request) Failing after 5s
feat: sync Shanhe 2.2 source and add remote package verification
2026-11-01 17:13:46 +08:00

10 lines
933 B
JavaScript

'use strict';
// Keep editable/auditable maps separate in source, but ship at most two
// same-province stages per classic script to meet the 200-file ZIP limit.
module.exports=function packCountyMaps(index,readStage){
const levels=index.levels.map(meta=>({...meta})),provinces=new Map(),files=new Map(),seen=new Set();
for(const meta of levels){if(!/^\d{6}$/.test(meta.id)||!/^\d{6}$/.test(meta.province)||seen.has(meta.id))throw Error('Invalid county catalog');seen.add(meta.id);if(!provinces.has(meta.province))provinces.set(meta.province,[]);provinces.get(meta.province).push(meta);}
for(const entries of provinces.values()){entries.sort((a,b)=>a.id.localeCompare(b.id));for(let i=0;i<entries.length;i+=2){const group=entries.slice(i,i+2),file='county/'+group[0].id+'.js';for(const meta of group)meta.path='./'+file;files.set(file,group.map(meta=>readStage(meta.id)).join('\n'));}}
return {index:{...index,levels},files};
};