{"version":3,"file":"index.mjs","names":["Commands.listCommandForType","Commands.extractCommandForType","Commands.picInfoCommand","Commands.picRenderCommand","Commands.picVideoCommand","Commands.picJSONCommand","Commands.viewInfoCommand","Commands.viewRenderCommand","Commands.showFontCommand","Commands.showCursorCommand"],"sources":["../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command, Option } from 'commander';\n\nimport { ResourceTypes } from '@4bitlabs/sci0';\nimport * as Commands from './commands/index.js';\nimport { cmdPathParser } from './commands/cmd-path-parser.js';\n\nconst program = new Command();\n\nconst applySubCommands = (\n  cmd: Command,\n  ...subCommands: ((root: Command) => void)[]\n) => {\n  subCommands.forEach((fn) => {\n    fn(cmd);\n  });\n};\n\nprogram\n  .version(require('../package.json').version)\n  .option('-r, --root <path>', '', cmdPathParser, '.')\n  .addOption(\n    new Option('-e --engine <version>', 'sci engine version')\n      .default('sci0')\n      .choices(['sci0', 'sci01']),\n  );\n\napplySubCommands(\n  program.command('pic').description('\"pic\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.PIC_TYPE),\n  Commands.extractCommandForType(ResourceTypes.PIC_TYPE),\n  Commands.picInfoCommand,\n  Commands.picRenderCommand,\n  Commands.picVideoCommand,\n  Commands.picJSONCommand,\n);\n\napplySubCommands(\n  program.command('view').description('\"view\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.VIEW_TYPE),\n  Commands.extractCommandForType(ResourceTypes.VIEW_TYPE),\n  Commands.viewInfoCommand,\n  Commands.viewRenderCommand,\n);\n\napplySubCommands(\n  program.command('script').description('\"script\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.SCRIPT_TYPE),\n  Commands.extractCommandForType(ResourceTypes.SCRIPT_TYPE),\n);\n\napplySubCommands(\n  program.command('text').description('\"text\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.TEXT_TYPE),\n  Commands.extractCommandForType(ResourceTypes.TEXT_TYPE),\n);\n\napplySubCommands(\n  program.command('sound').description('\"sound\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.SOUND_TYPE),\n  Commands.extractCommandForType(ResourceTypes.SOUND_TYPE),\n);\n\napplySubCommands(\n  program.command('memory').description('\"memory\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.MEMORY_TYPE),\n  Commands.extractCommandForType(ResourceTypes.MEMORY_TYPE),\n);\n\napplySubCommands(\n  program.command('vocab').description('\"vocab\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.VOCAB_TYPE),\n  Commands.extractCommandForType(ResourceTypes.VOCAB_TYPE),\n);\n\napplySubCommands(\n  program.command('font').description('\"font\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.FONT_TYPE),\n  Commands.extractCommandForType(ResourceTypes.FONT_TYPE),\n  Commands.showFontCommand,\n);\n\napplySubCommands(\n  program.command('cursor').description('\"cursor\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.CURSOR_TYPE),\n  Commands.extractCommandForType(ResourceTypes.CURSOR_TYPE),\n  Commands.showCursorCommand,\n);\n\napplySubCommands(\n  program.command('patch').description('\"patch\" resource commands'),\n  Commands.listCommandForType(ResourceTypes.PATCH_TYPE),\n  Commands.extractCommandForType(ResourceTypes.PATCH_TYPE),\n);\n\nprogram.parseAsync().catch((err: unknown) => {\n  console.error(\n    err\n      ? err instanceof Error\n        ? `error: ${err.message}`\n        : typeof err === 'string'\n          ? err\n          : 'error: unknown'\n      : 'error: unknown',\n  );\n});\n"],"mappings":";;;;;;;;;;;;;;;;;AAOA,MAAM,UAAU,IAAI,QAAQ;AAE5B,MAAM,oBACJ,KACA,GAAG,gBACA;CACH,YAAY,SAAS,OAAO;EAC1B,GAAG,GAAG;CACR,CAAC;AACH;AAEA,QACG,QAAA,gBAAA,CAAA,CAAmC,OAAO,CAAC,CAC3C,OAAO,qBAAqB,IAAI,eAAe,GAAG,CAAC,CACnD,UACC,IAAI,OAAO,yBAAyB,oBAAoB,CAAC,CACtD,QAAQ,MAAM,CAAC,CACf,QAAQ,CAAC,QAAQ,OAAO,CAAC,CAC9B;AAEF,iBACE,QAAQ,QAAQ,KAAK,CAAC,CAAC,YAAY,2BAAyB,GAC5DA,mBAA4B,cAAc,QAAQ,GAClDC,sBAA+B,cAAc,QAAQ,GACrDC,gBACAC,kBACAC,iBACAC,cACF;AAEA,iBACE,QAAQ,QAAQ,MAAM,CAAC,CAAC,YAAY,4BAA0B,GAC9DL,mBAA4B,cAAc,SAAS,GACnDC,sBAA+B,cAAc,SAAS,GACtDK,iBACAC,iBACF;AAEA,iBACE,QAAQ,QAAQ,QAAQ,CAAC,CAAC,YAAY,8BAA4B,GAClEP,mBAA4B,cAAc,WAAW,GACrDC,sBAA+B,cAAc,WAAW,CAC1D;AAEA,iBACE,QAAQ,QAAQ,MAAM,CAAC,CAAC,YAAY,4BAA0B,GAC9DD,mBAA4B,cAAc,SAAS,GACnDC,sBAA+B,cAAc,SAAS,CACxD;AAEA,iBACE,QAAQ,QAAQ,OAAO,CAAC,CAAC,YAAY,6BAA2B,GAChED,mBAA4B,cAAc,UAAU,GACpDC,sBAA+B,cAAc,UAAU,CACzD;AAEA,iBACE,QAAQ,QAAQ,QAAQ,CAAC,CAAC,YAAY,8BAA4B,GAClED,mBAA4B,cAAc,WAAW,GACrDC,sBAA+B,cAAc,WAAW,CAC1D;AAEA,iBACE,QAAQ,QAAQ,OAAO,CAAC,CAAC,YAAY,6BAA2B,GAChED,mBAA4B,cAAc,UAAU,GACpDC,sBAA+B,cAAc,UAAU,CACzD;AAEA,iBACE,QAAQ,QAAQ,MAAM,CAAC,CAAC,YAAY,4BAA0B,GAC9DD,mBAA4B,cAAc,SAAS,GACnDC,sBAA+B,cAAc,SAAS,GACtDO,eACF;AAEA,iBACE,QAAQ,QAAQ,QAAQ,CAAC,CAAC,YAAY,8BAA4B,GAClER,mBAA4B,cAAc,WAAW,GACrDC,sBAA+B,cAAc,WAAW,GACxDQ,iBACF;AAEA,iBACE,QAAQ,QAAQ,OAAO,CAAC,CAAC,YAAY,6BAA2B,GAChET,mBAA4B,cAAc,UAAU,GACpDC,sBAA+B,cAAc,UAAU,CACzD;AAEA,QAAQ,WAAW,CAAC,CAAC,OAAO,QAAiB;CAC3C,QAAQ,MACN,MACI,eAAe,QACb,UAAU,IAAI,YACd,OAAO,QAAQ,WACb,MACA,mBACJ,gBACN;AACF,CAAC"}