UNPKG

resedit-cli

Version:

Command-line tool for editing Windows Resource data in executable binaries

37 lines (36 loc) 1.24 kB
import parseIcons from './icons.js'; import parseRawResource from './rawResource.js'; import parseVersion from './version.js'; import parseSignDefinition from './sign.js'; export default function parseDefinitionData(data) { if (typeof data !== 'object' || !data) { throw new Error('Invalid data: not an object'); } const ret = {}; Object.keys(data).forEach((key) => { const value = data[key]; switch (key) { case 'lang': if (typeof value !== 'number') { throw new Error("Invalid data: invalid 'lang' value"); } ret.lang = value; break; case 'icons': ret.icons = parseIcons(value); break; case 'version': ret.version = parseVersion(value); break; case 'raw': ret.raw = parseRawResource(value); break; case 'sign': ret.sign = parseSignDefinition(value); break; default: throw new Error(`Invalid data: unknown property '${key}'`); } }); return ret; }