forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			30 lines
		
	
	
		
			849 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			849 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env ts-node
							 | 
						||
| 
								 | 
							
								/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */
							 | 
						||
| 
								 | 
							
								/* eslint-env node */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import { readFileSync, writeFileSync } from 'fs';
							 | 
						||
| 
								 | 
							
								import { resolve } from 'path';
							 | 
						||
| 
								 | 
							
								import { otorp } from './';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if(!process.argv[2] || process.argv[2] == "-h" || process.argv[2] == "--help") {
							 | 
						||
| 
								 | 
							
									[
							 | 
						||
| 
								 | 
							
										"usage: otorp <path/to/bin> [output/folder]",
							 | 
						||
| 
								 | 
							
										"  if no output folder specified, log all discovered defs",
							 | 
						||
| 
								 | 
							
										"  if output folder specified, attempt to write defs in the folder"
							 | 
						||
| 
								 | 
							
									].map(x => console.error(x));
							 | 
						||
| 
								 | 
							
									process.exit(1);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								var buf = readFileSync(process.argv[2]);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var otorps = otorp(buf);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								otorps.forEach(({name, proto}) => {
							 | 
						||
| 
								 | 
							
									if(!process.argv[3]) {
							 | 
						||
| 
								 | 
							
										console.log(proto);
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										var pth = resolve(process.argv[3] || "./", name.replace(/[/]/g, "$"));
							 | 
						||
| 
								 | 
							
										console.error(`writing ${name} to ${pth}`);
							 | 
						||
| 
								 | 
							
										writeFileSync(pth, proto);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								});
							 |