Versions in this module Expand all Collapse all v0 v0.7.0 Feb 8, 2026 v0.6.7 Feb 3, 2026 Changes in this version + var ComputeRelationClosure = schema.ComputeRelationClosure + func BuildAnalysisLookup(analyses []RelationAnalysis) map[string]map[string]*RelationAnalysis + type AnchorPathStep struct + AllTargetTypes []string + LinkingRelation string + RecursiveTypes []string + SubjectRelation string + SubjectType string + TargetRelation string + TargetType string + Type string + type ClosureRow = schema.ClosureRow + type GenerationCapabilities struct + CheckAllowed bool + CheckReason string + ListAllowed bool + ListReason string + type IndirectAnchorInfo struct + AnchorRelation string + AnchorType string + Path []AnchorPathStep + type IntersectionGroup = schema.IntersectionGroup + type IntersectionGroupInfo struct + Parts []IntersectionPart + type IntersectionPart struct + ExcludedRelation string + HasWildcard bool + IsExcludedSimple bool + IsSimple bool + IsThis bool + ParentRelation *ParentRelationInfo + Relation string + type ListStrategy int + const ListStrategyComposed + const ListStrategyDepthExceeded + const ListStrategyDirect + const ListStrategyIntersection + const ListStrategyRecursive + const ListStrategySelfRefUserset + const ListStrategyUserset + func DetermineListStrategy(a RelationAnalysis) ListStrategy + func (s ListStrategy) String() string + type ParentRelationCheck = schema.ParentRelationCheck + type ParentRelationInfo struct + AllowedLinkingTypes []string + LinkingRelation string + Relation string + SourceRelation string + type RelationAnalysis struct + AllowedSubjectTypes []string + Capabilities GenerationCapabilities + ClosureExcludedRelations []string + ClosureParentRelations []ParentRelationInfo + ClosureUsersetPatterns []UsersetPattern + ComplexClosureRelations []string + ComplexExcludedRelations []string + DirectSubjectTypes []string + ExceedsDepthLimit bool + ExcludedIntersectionGroups []IntersectionGroupInfo + ExcludedParentRelations []ParentRelationInfo + ExcludedRelations []string + Features RelationFeatures + HasComplexUsersetPatterns bool + HasSelfReferentialUserset bool + IndirectAnchor *IndirectAnchorInfo + IntersectionClosureRelations []string + IntersectionGroups []IntersectionGroupInfo + ListStrategy ListStrategy + MaxUsersetDepth int + ObjectType string + ParentRelations []ParentRelationInfo + Relation string + SatisfyingRelations []string + SelfReferentialUsersets []UsersetPattern + SimpleClosureRelations []string + SimpleExcludedRelations []string + UsersetPatterns []UsersetPattern + func AnalyzeRelations(types []TypeDefinition, closure []ClosureRow) []RelationAnalysis + func ComputeCanGenerate(analyses []RelationAnalysis) []RelationAnalysis + type RelationDefinition = schema.RelationDefinition + type RelationFeatures struct + HasDirect bool + HasExclusion bool + HasImplied bool + HasIntersection bool + HasRecursive bool + HasUserset bool + HasWildcard bool + func (f RelationFeatures) CanGenerate() bool + func (f RelationFeatures) IsClosureCompatible() bool + func (f RelationFeatures) IsSimplyResolvable() bool + func (f RelationFeatures) NeedsCycleDetection() bool + func (f RelationFeatures) NeedsPLpgSQL() bool + func (f RelationFeatures) String() string + type SubjectTypeRef = schema.SubjectTypeRef + type TypeDefinition = schema.TypeDefinition + type UsersetPattern struct + HasWildcard bool + IsComplex bool + SatisfyingRelations []string + SourceRelation string + SubjectRelation string + SubjectType string