| 1 | #!/usr/bin/env bash
 | 
| 2 | #
 | 
| 3 | # Survey pretty printing
 | 
| 4 | #
 | 
| 5 | # Usage:
 | 
| 6 | #   demo/survey-pretty-print.sh <function name>
 | 
| 7 | 
 | 
| 8 | set -o nounset
 | 
| 9 | set -o pipefail
 | 
| 10 | set -o errexit
 | 
| 11 | 
 | 
| 12 | pretty() {
 | 
| 13 |   # Python doesn't do pretty printing, but we could try this module
 | 
| 14 |   #
 | 
| 15 |   # https://github.com/tommikaikkonen/prettyprinter
 | 
| 16 | 
 | 
| 17 |   echo 'Python'
 | 
| 18 |   python3 -c '
 | 
| 19 | d = {}
 | 
| 20 | for i in range(20):
 | 
| 21 |   d[i] = i
 | 
| 22 | 
 | 
| 23 | d[0] = []
 | 
| 24 | for i in range(30):
 | 
| 25 |   d[0].append(i)
 | 
| 26 | 
 | 
| 27 | d[9] = lambda x: x
 | 
| 28 | 
 | 
| 29 | print(d)
 | 
| 30 | '
 | 
| 31 | 
 | 
| 32 |   echo 
 | 
| 33 | 
 | 
| 34 |   # node.js does some line wrapping with color, with console.log().  
 | 
| 35 |   # It might be their own REPL, or built into v8.
 | 
| 36 |   echo 'JS'
 | 
| 37 |   nodejs -e '
 | 
| 38 | var d = {}
 | 
| 39 | for (var i = 0; i < 20; ++i) {
 | 
| 40 |   d[i] = i;
 | 
| 41 | }
 | 
| 42 | 
 | 
| 43 | d[0] = [];
 | 
| 44 | for (var i = 0; i < 30; ++i) {
 | 
| 45 |   d[0].push(i);
 | 
| 46 | }
 | 
| 47 | 
 | 
| 48 | d[19] = [];
 | 
| 49 | for (var i = 0; i < 50; ++i) {
 | 
| 50 |   d[19].push(i);
 | 
| 51 | }
 | 
| 52 | 
 | 
| 53 | d[19][12] = {"k": "v"};
 | 
| 54 | 
 | 
| 55 | d[9] = function (x) { return x; }
 | 
| 56 | 
 | 
| 57 | // Causes fancier columns
 | 
| 58 | d[0][8] = function (x) { return x; }
 | 
| 59 | 
 | 
| 60 | console.log(d)
 | 
| 61 | '
 | 
| 62 |   echo 
 | 
| 63 | 
 | 
| 64 |   # - Do Perl and Ruby do any printing?  IRB is Ruby's REPL
 | 
| 65 |   # - Lua and awk don't do any pretty printing AFAIK
 | 
| 66 | }
 | 
| 67 | 
 | 
| 68 | issues() {
 | 
| 69 |   devtools/release-note.sh fetch-issues
 | 
| 70 | }
 | 
| 71 | 
 | 
| 72 | nodejs-issues() {
 | 
| 73 |   cat _tmp/issues.json | nodejs -e \
 | 
| 74 |     'var fs = require("fs"); var stdin = fs.readFileSync(0, "utf-8"); console.log(JSON.parse(stdin));'
 | 
| 75 | }
 | 
| 76 | 
 | 
| 77 | jq-issues() {
 | 
| 78 |   cat _tmp/issues.json | jq .
 | 
| 79 | }
 | 
| 80 | 
 | 
| 81 | "$@"
 |