OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / vendor / github.com / ipfs / go-ipfs-files / slicedirectory.go
diff --git a/vendor/github.com/ipfs/go-ipfs-files/slicedirectory.go b/vendor/github.com/ipfs/go-ipfs-files/slicedirectory.go
deleted file mode 100644 (file)
index d116562..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-package files
-
-import "sort"
-
-type fileEntry struct {
-       name string
-       file Node
-}
-
-func (e fileEntry) Name() string {
-       return e.name
-}
-
-func (e fileEntry) Node() Node {
-       return e.file
-}
-
-func FileEntry(name string, file Node) DirEntry {
-       return fileEntry{
-               name: name,
-               file: file,
-       }
-}
-
-type sliceIterator struct {
-       files []DirEntry
-       n     int
-}
-
-func (it *sliceIterator) Name() string {
-       return it.files[it.n].Name()
-}
-
-func (it *sliceIterator) Node() Node {
-       return it.files[it.n].Node()
-}
-
-func (it *sliceIterator) Next() bool {
-       it.n++
-       return it.n < len(it.files)
-}
-
-func (it *sliceIterator) Err() error {
-       return nil
-}
-
-// SliceFile implements Node, and provides simple directory handling.
-// It contains children files, and is created from a `[]Node`.
-// SliceFiles are always directories, and can't be read from or closed.
-type SliceFile struct {
-       files []DirEntry
-}
-
-func NewMapDirectory(f map[string]Node) Directory {
-       ents := make([]DirEntry, 0, len(f))
-       for name, nd := range f {
-               ents = append(ents, FileEntry(name, nd))
-       }
-       sort.Slice(ents, func(i, j int) bool {
-               return ents[i].Name() < ents[j].Name()
-       })
-
-       return NewSliceDirectory(ents)
-}
-
-func NewSliceDirectory(files []DirEntry) Directory {
-       return &SliceFile{files}
-}
-
-func (f *SliceFile) Entries() DirIterator {
-       return &sliceIterator{files: f.files, n: -1}
-}
-
-func (f *SliceFile) Close() error {
-       return nil
-}
-
-func (f *SliceFile) Length() int {
-       return len(f.files)
-}
-
-func (f *SliceFile) Size() (int64, error) {
-       var size int64
-
-       for _, file := range f.files {
-               s, err := file.Node().Size()
-               if err != nil {
-                       return 0, err
-               }
-               size += s
-       }
-
-       return size, nil
-}
-
-var _ Directory = &SliceFile{}
-var _ DirEntry = fileEntry{}