make codeclimate a bit more happy
License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Jakub Sztandera committed
Jul 12, 2017 at 23:08 UTC
d6657edf5900c7464f502ea06d834c7240150ae6
1 file changed
+20
-10
core/coredag/dagtransl.go
+20
-10
@@ -9,30 +9,38 @@ import (
9
ipldcbor "gx/ipfs/QmemYymP73eVdTUUMZEiSpiHeZQKNJdT5dP2iuHssZh1sR/go-ipld-cbor"
10
)
11
12
+// DagParser is function used for parsing stream into Node
13
type DagParser func(r io.Reader) ([]node.Node, error)
14
15
+// FormatParsers is used for mapping format descriptors to DagParsers
16
type FormatParsers map[string]DagParser
17
+
18
+// InputEncParsers is used for mapping input encodings to FormatParsers
19
type InputEncParsers map[string]FormatParsers
20
21
+// DefaultInputEncParsers is InputEncParser that is used everywhere
22
var DefaultInputEncParsers = InputEncParsers{
18
- "json": DefaultJsonParsers,
19
- "raw": DefaultRawParsers,
23
+ "json": defaultJsonParsers,
24
+ "raw": defaultRawParsers,
25
}
26
22
-var DefaultJsonParsers = FormatParsers{
23
- "cbor": CborJsonParser,
24
- "dag-cbor": CborJsonParser,
27
+var defaultJsonParsers = FormatParsers{
28
+ "cbor": cborJsonParser,
29
+ "dag-cbor": cborJsonParser,
30
}
31
27
-var DefaultRawParsers = FormatParsers{
28
- "cbor": CborRawParser,
29
- "dag-cbor": CborRawParser,
32
+var defaultRawParsers = FormatParsers{
33
+ "cbor": cborRawParser,
34
+ "dag-cbor": cborRawParser,
35
}
36
37
+// ParseInputs uses DefaultInputEncParsers to parse io.Reader described by
38
+// input encoding and format to an instance of ipld Node
39
func ParseInputs(ienc, format string, r io.Reader) ([]node.Node, error) {
40
return DefaultInputEncParsers.ParseInputs(ienc, format, r)
41
}
42
43
+// AddParser adds DagParser under give input encoding and format
44
func (iep InputEncParsers) AddParser(ienv, format string, f DagParser) {
45
m, ok := iep[ienv]
46
if !ok {
@@ -43,6 +51,8 @@ func (iep InputEncParsers) AddParser(ienv, format string, f DagParser) {
51
m[format] = f
52
}
53
54
+// ParseInputs parses io.Reader described by input encoding and format to
55
+// an instance of ipld Node
56
func (iep InputEncParsers) ParseInputs(ienc, format string, r io.Reader) ([]node.Node, error) {
57
pset, ok := iep[ienc]
58
if !ok {
@@ -57,7 +67,7 @@ func (iep InputEncParsers) ParseInputs(ienc, format string, r io.Reader) ([]node
67
return parser(r)
68
}
69
60
-func CborJsonParser(r io.Reader) ([]node.Node, error) {
70
+func cborJsonParser(r io.Reader) ([]node.Node, error) {
71
nd, err := ipldcbor.FromJson(r)
72
if err != nil {
73
return nil, err
@@ -66,7 +76,7 @@ func CborJsonParser(r io.Reader) ([]node.Node, error) {
76
return []node.Node{nd}, nil
77
}
78
69
-func CborRawParser(r io.Reader) ([]node.Node, error) {
79
+func cborRawParser(r io.Reader) ([]node.Node, error) {
80
data, err := ioutil.ReadAll(r)
81
if err != nil {
82
return nil, err