exporter initial skeleton
This commit is contained in:
parent
0c3757d48e
commit
85a1bbdf0e
1 changed files with 49 additions and 0 deletions
49
exporter/exporter.go
Normal file
49
exporter/exporter.go
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
package exporter
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
"encoding/json"
|
||||||
|
|
||||||
|
"github.com/google/cayley/graph"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Exporter struct {
|
||||||
|
wr io.Writer
|
||||||
|
qstore graph.QuadStore
|
||||||
|
err error
|
||||||
|
count int32
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewExporter(writer io.Writer, qstore graph.QuadStore) *Exporter {
|
||||||
|
return &Exporter{wr: writer, qstore: qstore}
|
||||||
|
}
|
||||||
|
|
||||||
|
// number of records
|
||||||
|
func (exp *Exporter) Count() int32 {
|
||||||
|
return exp.count
|
||||||
|
}
|
||||||
|
|
||||||
|
//print out the string quoted, escaped
|
||||||
|
func (exp *Exporter) WriteEscString(str string) {
|
||||||
|
var esc []byte
|
||||||
|
|
||||||
|
if exp.err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
esc, exp.err = json.Marshal(str)
|
||||||
|
if exp.err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, exp.err = exp.wr.Write(esc)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (exp *Exporter) Write(str string) {
|
||||||
|
if exp.err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, exp.err = exp.wr.Write([]byte(str))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (exp *Exporter) Err() error {
|
||||||
|
return exp.err
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue