json_filter/tree/node.go

30 lines
1.1 KiB
Go

// Package tree ...
//
// Description : tree ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2023-03-28 18:12
package tree
// Node 节点的数据结构
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:12 2023/3/28
type Node struct {
IsVirtual bool // 是否虚拟节点, 主要应对输入的原始数据为list这一场景
Value interface{} // 节点的值
ValueType string // 数据类型 int64 / float64 / map / list / nil
Key string // 节点的key名称(输入的原始名称)
Show bool // 节点是否可见
ShowKey string // 重新序列化后, 对外输出的Key
AllowEdit bool // 当前key是否允许编辑
AllowChangeType bool // 在允许编辑的情况下, 是否允许修改数据类型
DefaultValue interface{} // 输入为value为nil时候的默认值
ParentNode *Node // 父节点
PreBrotherNode *Node // 前一个兄弟节点
LastBrotherNode *Node // 下一个兄弟节点
SonNodeList []*Node // 子节点列表
}