123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/usr/bin/env node
- const flat = require('.')
- const fs = require('fs')
- const path = require('path')
- const readline = require('readline')
- if (process.stdin.isTTY) {
- // Read from file
- const file = path.resolve(process.cwd(), process.argv.slice(2)[0])
- if (!file) usage()
- if (!fs.existsSync(file)) usage()
- out(require(file))
- } else {
- // Read from newline-delimited STDIN
- const lines = []
- readline.createInterface({
- input: process.stdin,
- output: process.stdout,
- terminal: false
- })
- .on('line', line => lines.push(line))
- .on('close', () => out(JSON.parse(lines.join('\n'))))
- }
- function out (data) {
- process.stdout.write(JSON.stringify(flat(data), null, 2))
- }
- function usage () {
- console.log(`
- Usage:
- flat foo.json
- cat foo.json | flat
- `)
- process.exit()
- }
|