Source File
iter.go
Belonging Package
github.com/go-git/go-git/v5/utils/merkletrie
package merkletrie
import (
)
func ( noder.Path) (*Iter, error) {
return newIter(, ) // Path implements Noder
}
func ( noder.Noder, noder.Path) (*Iter, error) {
:= &Iter{
base: ,
}
if == nil {
return , nil
}
, := frame.New()
if != nil {
return nil,
}
.push()
return , nil
}
func ( *Iter) () (*frame.Frame, bool) {
if len(.frameStack) == 0 {
return nil, false
}
:= len(.frameStack) - 1
return .frameStack[], true
}
func ( *Iter) ( *frame.Frame) {
.frameStack = append(.frameStack, )
}
const (
doDescend = true
dontDescend = false
)
if !.hasStarted {
.hasStarted = true
return , nil
}
, := .NumChildren()
if != nil {
return nil,
}
:= != 0 &&
if .Len() == 0 {
:= len(.frameStack) - 1
.frameStack[] = nil
.frameStack = .frameStack[:]
.()
}
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |