mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-12-23 22:11:10 +02:00
32 lines
501 B
Go
32 lines
501 B
Go
package svgparser
|
|
|
|
import (
|
|
"bufio"
|
|
"io"
|
|
)
|
|
|
|
type Document struct {
|
|
Node
|
|
}
|
|
|
|
func NewDocument(r io.ReadSeeker) (*Document, error) {
|
|
doc := &Document{}
|
|
if err := doc.readFrom(r); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return doc, nil
|
|
}
|
|
|
|
func (doc *Document) WriteTo(w io.Writer) (int64, error) {
|
|
wc := writeCounter{Writer: w}
|
|
bw := bufio.NewWriter(&wc)
|
|
if err := doc.writeChildrenTo(bw); err != nil {
|
|
return 0, err
|
|
}
|
|
if err := bw.Flush(); err != nil {
|
|
return 0, err
|
|
}
|
|
return wc.Count, nil
|
|
}
|