Size
696 B
| URL | https://gw.tape.network/object/D8vXgMgRiRJtCktxpRrvskJhuWZ3YZNuyV1Rvdg41Qgz |
|---|---|
| Owner | EbTWn...sQfJe ↗ |
| Bucket | 2FxPm...jt6ZV |
| Track | D8vXg...41Qgz |
| ETag | D9vws...PTwJK |
| Content-Type | text/plain |
| Size | 696 B |
| Spool Group | 5 |
| Solana TX | 2cpHW...dNM1t ↗ |
| Created | Slot 477,575,520 |
00000000 70 61 63 6b 61 67 65 20 6d 61 69 6e 0a 0a 69 6d |package main..im|
00000010 70 6f 72 74 20 28 0a 09 22 62 79 74 65 73 22 0a |port (.."bytes".|
00000020 09 22 65 6e 63 6f 64 69 6e 67 2f 6a 73 6f 6e 22 |."encoding/json"|
00000030 0a 09 22 66 6d 74 22 0a 09 22 69 6f 22 0a 09 22 |.."fmt".."io".."|
00000040 6f 73 22 0a 29 0a 0a 2f 2f 20 50 72 65 74 74 79 |os".)..// Pretty|
00000050 20 76 61 6c 69 64 61 74 65 73 20 4a 53 4f 4e 20 | validates JSON |
00000060 61 6e 64 20 66 6f 72 6d 61 74 73 20 69 74 20 77 |and formats it w|
00000070 69 74 68 20 74 77 6f 2d 73 70 61 63 65 20 69 6e |ith two-space in|
00000080 64 65 6e 74 61 74 69 6f 6e 2e 0a 66 75 6e 63 20 |dentation..func |
00000090 50 72 65 74 74 79 28 73 72 63 20 5b 5d 62 79 74 |Pretty(src []byt|
000000a0 65 29 20 28 5b 5d 62 79 74 65 2c 20 65 72 72 6f |e) ([]byte, erro|
000000b0 72 29 20 7b 0a 09 76 61 72 20 6f 75 74 20 62 79 |r) {..var out by|
000000c0 74 65 73 2e 42 75 66 66 65 72 0a 09 69 66 20 65 |tes.Buffer..if e|
000000d0 72 72 20 3a 3d 20 6a 73 6f 6e 2e 49 6e 64 65 6e |rr := json.Inden|
000000e0 74 28 26 6f 75 74 2c 20 62 79 74 65 73 2e 54 72 |t(&out, bytes.Tr|
000000f0 69 6d 53 70 61 63 65 28 73 72 63 29 2c 20 22 22 |imSpace(src), ""|
00000100 2c 20 22 20 20 22 29 3b 20 65 72 72 20 21 3d 20 |, " "); err != |
00000110 6e 69 6c 20 7b 0a 09 09 72 65 74 75 72 6e 20 6e |nil {...return n|
00000120 69 6c 2c 20 65 72 72 0a 09 7d 0a 09 6f 75 74 2e |il, err..}..out.|
00000130 57 72 69 74 65 42 79 74 65 28 27 5c 6e 27 29 0a |WriteByte('\n').|
00000140 09 72 65 74 75 72 6e 20 6f 75 74 2e 42 79 74 65 |.return out.Byte|
00000150 73 28 29 2c 20 6e 69 6c 0a 7d 0a 0a 66 75 6e 63 |s(), nil.}..func|
00000160 20 6d 61 69 6e 28 29 20 7b 0a 09 73 72 63 2c 20 | main() {..src, |
00000170 65 72 72 20 3a 3d 20 69 6f 2e 52 65 61 64 41 6c |err := io.ReadAl|
00000180 6c 28 6f 73 2e 53 74 64 69 6e 29 0a 09 69 66 20 |l(os.Stdin)..if |
00000190 65 72 72 20 21 3d 20 6e 69 6c 20 7b 0a 09 09 66 |err != nil {...f|
000001a0 6d 74 2e 46 70 72 69 6e 74 6c 6e 28 6f 73 2e 53 |mt.Fprintln(os.S|
000001b0 74 64 65 72 72 2c 20 22 72 65 61 64 3a 22 2c 20 |tderr, "read:", |
000001c0 65 72 72 29 0a 09 09 6f 73 2e 45 78 69 74 28 31 |err)...os.Exit(1|
000001d0 29 0a 09 7d 0a 0a 09 66 6f 72 6d 61 74 74 65 64 |)..}...formatted|
000001e0 2c 20 65 72 72 20 3a 3d 20 50 72 65 74 74 79 28 |, err := Pretty(|
000001f0 73 72 63 29 0a 09 69 66 20 65 72 72 20 21 3d 20 |src)..if err != |
00000200 6e 69 6c 20 7b 0a 09 09 66 6d 74 2e 46 70 72 69 |nil {...fmt.Fpri|
00000210 6e 74 6c 6e 28 6f 73 2e 53 74 64 65 72 72 2c 20 |ntln(os.Stderr, |
00000220 22 69 6e 76 61 6c 69 64 20 4a 53 4f 4e 3a 22 2c |"invalid JSON:",|
00000230 20 65 72 72 29 0a 09 09 6f 73 2e 45 78 69 74 28 | err)...os.Exit(|
00000240 31 29 0a 09 7d 0a 0a 09 69 66 20 5f 2c 20 65 72 |1)..}...if _, er|
00000250 72 20 3a 3d 20 6f 73 2e 53 74 64 6f 75 74 2e 57 |r := os.Stdout.W|
00000260 72 69 74 65 28 66 6f 72 6d 61 74 74 65 64 29 3b |rite(formatted);|
00000270 20 65 72 72 20 21 3d 20 6e 69 6c 20 7b 0a 09 09 | err != nil {...|
00000280 66 6d 74 2e 46 70 72 69 6e 74 6c 6e 28 6f 73 2e |fmt.Fprintln(os.|
00000290 53 74 64 65 72 72 2c 20 22 77 72 69 74 65 3a 22 |Stderr, "write:"|
000002a0 2c 20 65 72 72 29 0a 09 09 6f 73 2e 45 78 69 74 |, err)...os.Exit|
000002b0 28 31 29 0a 09 7d 0a 7d |(1)..}.}|