summaryrefslogtreecommitdiff
path: root/cmd.go
blob: 4d56ad8001a23f5aa599fbd0b7be990fd01c8dd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package libfastimport

type fiReader interface {
	PeekLine() (string, error)
	ReadLine() (string, error)
}

type fiWriter interface {
	WriteData(string) error
	WriteLine(a ...interface{}) error
}

type cmdClass int

const (
	cmdClassCommand cmdClass = 1 // may be a top-level command
	cmdClassCommit  cmdClass = 2 // may be used within in a commit

	cmdClassComment cmdClass = cmdClassCommand | cmdClassCommit
)

type Cmd interface {
	fiCmdRead(fiReader) (Cmd, error)
	fiCmdWrite(fiWriter) error
	fiCmdClass() cmdClass
}