mirror of
https://github.com/ipfs/kubo.git
synced 2025-10-25 10:27:01 +08:00
init docs: go generated welcome dir + files
updated sharness hashes
This commit is contained in:
38
unixfs/io/dirbuilder.go
Normal file
38
unixfs/io/dirbuilder.go
Normal file
@ -0,0 +1,38 @@
|
||||
package io
|
||||
|
||||
import (
|
||||
mdag "github.com/jbenet/go-ipfs/merkledag"
|
||||
format "github.com/jbenet/go-ipfs/unixfs"
|
||||
u "github.com/jbenet/go-ipfs/util"
|
||||
)
|
||||
|
||||
type directoryBuilder struct {
|
||||
dserv mdag.DAGService
|
||||
dirnode *mdag.Node
|
||||
}
|
||||
|
||||
func NewDirectory(dserv mdag.DAGService) *directoryBuilder {
|
||||
db := new(directoryBuilder)
|
||||
db.dserv = dserv
|
||||
db.dirnode = new(mdag.Node)
|
||||
db.dirnode.Data = format.FolderPBData()
|
||||
return db
|
||||
}
|
||||
|
||||
func (d *directoryBuilder) AddChild(name string, k u.Key) error {
|
||||
cnode, err := d.dserv.Get(k)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = d.dirnode.AddNodeLinkClean(name, cnode)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *directoryBuilder) GetNode() *mdag.Node {
|
||||
return d.dirnode
|
||||
}
|
||||
Reference in New Issue
Block a user