Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
kardolus
GitHub Repository: kardolus/chatgpt-cli
Path: blob/main/vendor/github.com/spf13/afero/mem/dir.go
2880 views
1
// Copyright © 2014 Steve Francia <[email protected]>.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13
14
package mem
15
16
type Dir interface {
17
Len() int
18
Names() []string
19
Files() []*FileData
20
Add(*FileData)
21
Remove(*FileData)
22
}
23
24
func RemoveFromMemDir(dir *FileData, f *FileData) {
25
dir.memDir.Remove(f)
26
}
27
28
func AddToMemDir(dir *FileData, f *FileData) {
29
dir.memDir.Add(f)
30
}
31
32
func InitializeDir(d *FileData) {
33
if d.memDir == nil {
34
d.dir = true
35
d.memDir = &DirMap{}
36
}
37
}
38
39