#!/usr/bin/env node (function() { var fs = require('fs'); var parse = require('../parser').parse; var jsesc = require('jsesc'); var regexes = process.argv.splice(2); var first = regexes[0]; var data; var log = console.log; var main = function() { if (/^(?:-h|--help|undefined)$/.test(first)) { log([ '\nUsage:\n', '\tregjsparser [regex ...]', '\tregjsparser [-h | --help]', '\nExamples:\n', '\tregjsparser \'^foo.bar$\'', '\tregjsparser \'[a-zA-Z0-9]\'' ].join('\n')); return process.exit(1); } regexes.forEach(function(snippet) { var result; try { result = parse(snippet); log(jsesc(result, { 'json': true, 'compact': false, 'indent': '\t' })); } catch(error) { log(error.message + '\n'); log('Error: failed to parse. Make sure the regular expression is valid.'); log('If you think this is a bug in regjsparser, please report it:'); log('\thttps://github.com/jviereck/regjsparser/issues/new'); log('\nStack trace:\n'); log(error.stack); return process.exit(1); } }); // Return with exit status 0 outside of the `forEach` loop, in case // multiple regular expressions were passed in. return process.exit(0); }; main(); }());