1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/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()
- }())
|