UNPKG

1.04 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3// repl - explore pickup
4
5const Transform = require('stream').Transform
6const fs = require('fs')
7const http = require('http')
8const https = require('https')
9const pickup = require('./')
10const repl = require('repl')
11const url = require('url')
12const util = require('util')
13
14const ctx = repl.start({
15 ignoreUndefined: true,
16 input: process.stdin,
17 output: process.stdout,
18 prompt: 'pickup> ',
19 useColors: true
20}).context
21
22ctx.file = file
23ctx.get = get
24ctx.read = read
25
26function file (path) {
27 return fs.createReadStream(path).pipe(pickup({ objectMode: true }))
28}
29
30function get (uri) {
31 const urlObj = url.parse(uri)
32 const mod = urlObj.protocol === 'http:' ? http : https
33
34 const parser = pickup({ objectMode: true })
35
36 mod.get(urlObj, (res) => {
37 res.pipe(parser)
38 })
39
40 return parser
41}
42
43function read (stream, prop) {
44 stream.on('readable', () => {
45 const obj = stream.read()
46 if (obj === null) {
47 return
48 }
49 console.log(util.inspect(prop ? obj[prop] : obj, { colors: true }))
50 })
51}