forgejo/services/f3/driver/container.go
2024-02-03 12:18:45 +01:00

43 lines
973 B
Go

// Copyright Earl Warren <contact@earl-warren.org>
// Copyright Loïc Dachary <loic@dachary.org>
// SPDX-License-Identifier: MIT
package driver
import (
"context"
"lab.forgefriends.org/friendlyforgeformat/gof3/f3"
f3_tree "lab.forgefriends.org/friendlyforgeformat/gof3/tree/f3"
"lab.forgefriends.org/friendlyforgeformat/gof3/tree/generic"
)
type container struct {
common
}
func (o *container) NewFormat() f3.Interface {
node := o.GetNode()
return node.GetTree().(f3_tree.TreeInterface).NewFormat(node.GetKind())
}
func (o *container) ToFormat() f3.Interface {
return o.NewFormat()
}
func (o *container) FromFormat(content f3.Interface) {
}
func (o *container) Get(context.Context) bool { return true }
func (o *container) Put(ctx context.Context) generic.NodeID {
return o.upsert(ctx)
}
func (o *container) Patch(ctx context.Context) {
o.upsert(ctx)
}
func (o *container) upsert(context.Context) generic.NodeID {
return generic.NodeID(o.getKind())
}