graph

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2021 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Exclusion

func Exclusion(start *v0.ObjectAndRelation, children ...*v0.RelationTupleTreeNode) *v0.RelationTupleTreeNode

func HasThis

func HasThis(rewrite *v0.UsersetRewrite) bool

HasThis returns true if there exists a `_this` node anywhere within the given rewrite. If the rewrite is nil, returns false.

func Intersection

func Intersection(start *v0.ObjectAndRelation, children ...*v0.RelationTupleTreeNode) *v0.RelationTupleTreeNode

func Leaf

func Leaf(start *v0.ObjectAndRelation, children ...*v0.User) *v0.RelationTupleTreeNode

func Simplify

func Simplify(node *v0.RelationTupleTreeNode) []*v0.User

func SimplifyExclusion

func SimplifyExclusion(children []*v0.RelationTupleTreeNode) []*v0.User

func SimplifyIntersection

func SimplifyIntersection(children []*v0.RelationTupleTreeNode) []*v0.User

func SimplifyUnion

func SimplifyUnion(children []*v0.RelationTupleTreeNode) []*v0.User

func Union

func WalkRewrite

func WalkRewrite(rewrite *v0.UsersetRewrite, handler WalkHandler) interface{}

WalkRewrite walks a userset rewrite tree, invoking the handler found on each node of the tree until the handler returns a non-nil value, which is in turn returned from this function. Returns nil if no valid value was found. If the rewrite is nil, returns nil.

Types

type UserSet

type UserSet map[string]struct{}

func (UserSet) Add

func (us UserSet) Add(users ...*v0.User)

func (UserSet) Contains

func (us UserSet) Contains(usr *v0.User) bool

func (UserSet) Remove

func (us UserSet) Remove(users ...*v0.User)

func (UserSet) ToSlice

func (us UserSet) ToSlice() []*v0.User

type WalkHandler

type WalkHandler func(childOneof *v0.SetOperation_Child) interface{}

WalkHandler is a function invoked for each node in the rewrite tree. If it returns non-nil, that value is returned from the walk. Otherwise, the walk continues.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL