Adding upstream version 3.10.8.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
37e9b6d587
commit
03bfe4079e
356 changed files with 28857 additions and 0 deletions
45
forges/filesystem/tree.go
Normal file
45
forges/filesystem/tree.go
Normal file
|
@ -0,0 +1,45 @@
|
|||
// Copyright Earl Warren <contact@earl-warren.org>
|
||||
// Copyright Loïc Dachary <loic@dachary.org>
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package filesystem
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
filesystem_options "code.forgejo.org/f3/gof3/v3/forges/filesystem/options"
|
||||
"code.forgejo.org/f3/gof3/v3/kind"
|
||||
f3_tree "code.forgejo.org/f3/gof3/v3/tree/f3"
|
||||
"code.forgejo.org/f3/gof3/v3/tree/generic"
|
||||
)
|
||||
|
||||
type treeDriver struct {
|
||||
generic.NullTreeDriver
|
||||
|
||||
options *filesystem_options.Options
|
||||
}
|
||||
|
||||
func newTreeDriver(tree generic.TreeInterface, anyOptions any) generic.TreeDriverInterface {
|
||||
driver := &treeDriver{
|
||||
options: anyOptions.(*filesystem_options.Options),
|
||||
}
|
||||
driver.SetTree(tree)
|
||||
driver.Init()
|
||||
return driver
|
||||
}
|
||||
|
||||
func (o *treeDriver) AllocateID() bool { return false }
|
||||
|
||||
func (o *treeDriver) Factory(ctx context.Context, k kind.Kind) generic.NodeDriverInterface {
|
||||
content := o.GetTree().(f3_tree.TreeInterface).NewFormat(k)
|
||||
switch k {
|
||||
case f3_tree.KindRepository:
|
||||
return newRepositoryDriver(content)
|
||||
case f3_tree.KindAsset:
|
||||
return newAssetDriver(content)
|
||||
case f3_tree.KindPullRequest:
|
||||
return newPullRequestDriver(ctx, content)
|
||||
default:
|
||||
return newNodeDriver(content)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue