diff --git a/fstree/fstree.go b/fstree/fstree.go index 6ba46a1..4fccdea 100644 --- a/fstree/fstree.go +++ b/fstree/fstree.go @@ -38,21 +38,11 @@ func (n *FsNode) FileName() string { } // ==================== FsNode definition ==================== - -// ==================== FsTree definition ==================== -type FsTree interface { - CreateNode(parent *FsNode, name string, nodeType FsNodeType) error - DeleteNode(node *FsNode) error - ToggleExpand(node *FsNode) error -} - -// reminder: a bit redundant but I this above shows what funcs are there at a glace -// so I still like to use this pattern ( 30Dec25) -type FsTreeImpl struct { +type FsTree struct { root *FsNode } -func NewFsTree(rootPath string) *FsTreeImpl { +func NewFsTree(rootPath string) *FsTree { root := &FsNode{ nodeType: FolderNode, path: rootPath, @@ -61,12 +51,12 @@ func NewFsTree(rootPath string) *FsTreeImpl { } walkFileSystemAndBuildTree(rootPath, root) - return &FsTreeImpl{ + return &FsTree{ root: root, } } -func (t *FsTreeImpl) CreateNode(parent *FsNode, name string, nodeType FsNodeType) error { +func (t *FsTree) CreateNode(parent *FsNode, name string, nodeType FsNodeType) error { if parent == nil { return errors.New("parent node cannot be nil") } @@ -89,7 +79,7 @@ func (t *FsTreeImpl) CreateNode(parent *FsNode, name string, nodeType FsNodeType return nil } -func (t *FsTreeImpl) DeleteNode(node *FsNode) error { +func (t *FsTree) DeleteNode(node *FsNode) error { if node == nil { return errors.New("node to delete cannot be nil") } @@ -103,7 +93,7 @@ func (t *FsTreeImpl) DeleteNode(node *FsNode) error { } // ToggleExpand toggles the expanded state of a node -func (t *FsTreeImpl) ToggleExpand(node *FsNode) error { +func (t *FsTree) ToggleExpand(node *FsNode) error { if node == nil { return errors.New("node cannot be nil") } @@ -114,5 +104,3 @@ func (t *FsTreeImpl) ToggleExpand(node *FsNode) error { node.expanded = !node.expanded return nil } - -// ==================== FsTree definition ==================== diff --git a/main.go b/main.go index f585dfd..58c2dce 100644 --- a/main.go +++ b/main.go @@ -38,7 +38,7 @@ this data in msg when returned to the update func is used to update the model type model struct { width int - tree *fs.FsTreeImpl + tree *fs.FsTree // spinner needs to be state as I need to update the spinner on // each tick in update func spinner spinner.Model @@ -63,7 +63,7 @@ func createModel() model { // these need to be on the "model" ( duck typing "implements" interface ) type treeLoadedMsg struct { - tree *fs.FsTreeImpl + tree *fs.FsTree } func loadTreeCmd() tea.Msg {