Files
opencloud/vendor/github.com/vektah/gqlparser/v2/ast/document.go
dependabot[bot] 51805e710d build(deps): bump github.com/open-policy-agent/opa from 1.4.2 to 1.5.0
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/open-policy-agent/opa/releases)
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.4.2...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/open-policy-agent/opa
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 15:18:43 +00:00

90 lines
2.4 KiB
Go

package ast
type QueryDocument struct {
Operations OperationList
Fragments FragmentDefinitionList
Position *Position `dump:"-" json:"-"`
Comment *CommentGroup
}
type SchemaDocument struct {
Schema SchemaDefinitionList
SchemaExtension SchemaDefinitionList
Directives DirectiveDefinitionList
Definitions DefinitionList
Extensions DefinitionList
Position *Position `dump:"-" json:"-"`
Comment *CommentGroup
}
func (d *SchemaDocument) Merge(other *SchemaDocument) {
d.Schema = append(d.Schema, other.Schema...)
d.SchemaExtension = append(d.SchemaExtension, other.SchemaExtension...)
d.Directives = append(d.Directives, other.Directives...)
d.Definitions = append(d.Definitions, other.Definitions...)
d.Extensions = append(d.Extensions, other.Extensions...)
}
type Schema struct {
Query *Definition
Mutation *Definition
Subscription *Definition
SchemaDirectives DirectiveList
Types map[string]*Definition
Directives map[string]*DirectiveDefinition
PossibleTypes map[string][]*Definition
Implements map[string][]*Definition
Description string
Comment *CommentGroup
}
// AddTypes is the helper to add types definition to the schema
func (s *Schema) AddTypes(defs ...*Definition) {
if s.Types == nil {
s.Types = make(map[string]*Definition)
}
for _, def := range defs {
s.Types[def.Name] = def
}
}
func (s *Schema) AddPossibleType(name string, def *Definition) {
s.PossibleTypes[name] = append(s.PossibleTypes[name], def)
}
// GetPossibleTypes will enumerate all the definitions for a given interface or union
func (s *Schema) GetPossibleTypes(def *Definition) []*Definition {
return s.PossibleTypes[def.Name]
}
func (s *Schema) AddImplements(name string, iface *Definition) {
s.Implements[name] = append(s.Implements[name], iface)
}
// GetImplements returns all the interface and union definitions that the given definition satisfies
func (s *Schema) GetImplements(def *Definition) []*Definition {
return s.Implements[def.Name]
}
type SchemaDefinition struct {
Description string
Directives DirectiveList
OperationTypes OperationTypeDefinitionList
Position *Position `dump:"-" json:"-"`
BeforeDescriptionComment *CommentGroup
AfterDescriptionComment *CommentGroup
EndOfDefinitionComment *CommentGroup
}
type OperationTypeDefinition struct {
Operation Operation
Type string
Position *Position `dump:"-" json:"-"`
Comment *CommentGroup
}