UNPKG

tooner

Version:

Token-efficient serialization for LLMs - Convert JSON/YAML/TOML to TOON format

3 lines 1.92 kB
#!/usr/bin/env node import {Command}from'commander';import {readFileSync,writeFileSync}from'fs';import {resolve}from'path';var n=new Command;n.name("tooner").description("Convert between JSON/YAML/TOML and TOON format").version("0.1.0");n.command("encode").description("Encode input file to TOON format").argument("<input>","Input file path").option("-o, --output <file>","Output file (default: stdout)").option("-f, --format <type>","Input format (json/yaml/toml)","json").action(async(s,t)=>{try{let r=resolve(s),a=readFileSync(r,"utf-8"),o;switch(t.format.toLowerCase()){case "json":{let{encode:e}=await import('../dist/json.js');o=e(a);break}case "yaml":case "yml":{let{encode:e}=await import('../dist/yaml.js');o=e(a);break}case "toml":{let{encode:e}=await import('../dist/toml.js');o=e(a);break}default:console.error(`Unsupported format: ${t.format}`),process.exit(1);}t.output?(writeFileSync(t.output,o),console.log(`\u2713 Encoded to ${t.output}`)):console.log(o);}catch(r){console.error("Error:",r.message),process.exit(1);}});n.command("decode").description("Decode TOON file to specified format").argument("<input>","TOON input file path").option("-o, --output <file>","Output file (default: stdout)").option("-f, --format <type>","Output format (json/yaml/toml)","json").action(async(s,t)=>{try{let r=resolve(s),a=readFileSync(r,"utf-8"),o;switch(t.format.toLowerCase()){case "json":{let{decode:e}=await import('../dist/json.js');o=e(a);break}case "yaml":case "yml":{let{decode:e}=await import('../dist/yaml.js');o=e(a);break}case "toml":{let{decode:e}=await import('../dist/toml.js');o=e(a);break}default:console.error(`Unsupported format: ${t.format}`),process.exit(1);}t.output?(writeFileSync(t.output,o),console.log(`\u2713 Decoded to ${t.output}`)):console.log(o);}catch(r){console.error("Error:",r.message),process.exit(1);}});n.parse();//# sourceMappingURL=cli.js.map //# sourceMappingURL=cli.js.map