MCPcopy Index your code
hub / github.com/dagger/dagger / loadTypeDef

Method loadTypeDef

cmd/dagger/module_inspect.go:623–675  ·  view source on GitHub ↗
(typeDef *modTypeDef)

Source from the content-addressed store, hash-verified

621}
622
623func (m *moduleDef) loadTypeDef(typeDef *modTypeDef) error {
624 if typeDef.TypeName == "" {
625 return fmt.Errorf("typedef ref missing canonical name")
626 }
627 canonical := m.typeDefsByName[typeDef.TypeName]
628 if canonical == nil {
629 return fmt.Errorf("typedef %q not found in currentTypeDefs(returnAllTypes: true)", typeDef.TypeName)
630 }
631
632 optional := typeDef.Optional
633 typeDef.TypeName = canonical.TypeName
634 typeDef.Kind = canonical.Kind
635 typeDef.Optional = optional
636 typeDef.AsObject = canonical.AsObject
637 typeDef.AsInterface = canonical.AsInterface
638 typeDef.AsInput = canonical.AsInput
639 typeDef.AsList = canonical.AsList
640 typeDef.AsScalar = canonical.AsScalar
641 typeDef.AsEnum = canonical.AsEnum
642
643 switch typeDef.Kind {
644 case dagger.TypeDefKindStringKind,
645 dagger.TypeDefKindIntegerKind,
646 dagger.TypeDefKindFloatKind,
647 dagger.TypeDefKindBooleanKind,
648 dagger.TypeDefKindVoidKind,
649 dagger.TypeDefKindInputKind,
650 dagger.TypeDefKindEnumKind,
651 dagger.TypeDefKindScalarKind:
652 return nil
653 case dagger.TypeDefKindListKind:
654 if typeDef.AsList == nil || typeDef.AsList.ElementTypeDef == nil {
655 return fmt.Errorf("list typedef %q missing element type", typeDef.TypeName)
656 }
657 return m.LoadTypeDef(typeDef.AsList.ElementTypeDef)
658 case dagger.TypeDefKindObjectKind:
659 if typeDef.AsObject == nil {
660 return fmt.Errorf("object typedef %q missing object payload", typeDef.TypeName)
661 }
662 typeDef.AsObject.owner = m
663 typeDef.AsObject.typeDef = typeDef
664 return nil
665 case dagger.TypeDefKindInterfaceKind:
666 if typeDef.AsInterface == nil {
667 return fmt.Errorf("interface typedef %q missing interface payload", typeDef.TypeName)
668 }
669 typeDef.AsInterface.owner = m
670 typeDef.AsInterface.typeDef = typeDef
671 return nil
672 default:
673 return fmt.Errorf("unsupported typedef kind %s", typeDef.Kind)
674 }
675}
676
677func (m *moduleDef) LoadFunctionTypeDefs(fn *modFunction) error {
678 if fn == nil {

Callers 1

LoadTypeDefMethod · 0.95

Calls 1

LoadTypeDefMethod · 0.95

Tested by

no test coverage detected