source: trip-planner-front/node_modules/regjsparser/bin/parser@ 571e0df

Last change on this file since 571e0df was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 1.7 KB
RevLine 
[6a3a178]1#!/usr/bin/env node
2(function() {
3
4 var fs = require('fs');
5 var path = require('path');
6 var parse = require('../parser').parse;
7 var jsesc = require('jsesc');
8 var regexes = process.argv.splice(2);
9 var first = regexes[0];
10 var data;
11 var log = console.log;
12 var flags = '';
13 var main = function() {
14 if (/^(?:-h|--help|undefined)$/.test(first)) {
15 log([
16 '\nUsage:\n',
17 '\tregjsparser [regex ...]',
18 '\tregjsparser [-f | --flags] u [regex ...]',
19 '\tregjsparser [-v | --version]',
20 '\tregjsparser [-h | --help]',
21 '\nExamples:\n',
22 '\tregjsparser \'^foo.bar$\'',
23 '\tregjsparser \'[a-zA-Z0-9]\''
24 ].join('\n'));
25 return process.exit(1);
26 }
27
28 if (/^(?:-v|--version)$/.test(first)) {
29 log('v%s', require(path.resolve(__dirname, '../package.json')).version);
30 return process.exit(1);
31 }
32
33 if (/^(?:-f|--flags)$/.test(first)) {
34 flags = regexes[1];
35 regexes = regexes.slice(2);
36 }
37
38 regexes.forEach(function(snippet) {
39 try {
40 result = parse(snippet, flags);
41 log(jsesc(result, {
42 'json': true,
43 'compact': false,
44 'indent': '\t'
45 }));
46 } catch(error) {
47 log(error.message + '\n');
48 log('Error: failed to parse. Make sure the regular expression is valid.');
49 log('If you think this is a bug in regjsparser, please report it:');
50 log('\thttps://github.com/jviereck/regjsparser/issues/new');
51 log('\nStack trace:\n');
52 log(error.stack);
53 return process.exit(1);
54 }
55 });
56 // Return with exit status 0 outside of the `forEach` loop, in case
57 // multiple regular expressions were passed in.
58 return process.exit(0);
59 };
60
61 main();
62
63}());
Note: See TracBrowser for help on using the repository browser.