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

Method EncodePersistedObject

core/module.go:885–968  ·  view source on GitHub ↗
(ctx context.Context, cache dagql.PersistedObjectCache)

Source from the content-addressed store, hash-verified

883}
884
885func (mod *Module) EncodePersistedObject(ctx context.Context, cache dagql.PersistedObjectCache) (dagql.PersistedObjectEncoding, error) {
886 var persisted persistedModulePayload
887 if mod.Source.Valid {
888 sourceID, err := encodePersistedObjectRef(cache, mod.Source.Value, "module source")
889 if err != nil {
890 return dagql.PersistedObjectEncoding{}, err
891 }
892 persisted.SourceResultID = sourceID
893 }
894 if mod.ContextSource.Valid {
895 contextSourceID, err := encodePersistedObjectRef(cache, mod.ContextSource.Value, "module context source")
896 if err != nil {
897 return dagql.PersistedObjectEncoding{}, err
898 }
899 persisted.ContextSourceResultID = contextSourceID
900 }
901 if mod.Runtime.Valid {
902 runtimeID, err := encodePersistedObjectRef(cache, mod.Runtime.Value, "module runtime")
903 if err != nil {
904 return dagql.PersistedObjectEncoding{}, err
905 }
906 persisted.RuntimeResultID = runtimeID
907 }
908
909 persisted.IncludeSelfInDeps = mod.IncludeSelfInDeps
910 if mod.Deps != nil {
911 persisted.DepModuleResultIDs = make([]uint64, 0, len(mod.Deps.Mods()))
912 for _, dep := range mod.Deps.Mods() {
913 depInst := dep.ModuleResult()
914 if depInst.Self() == nil {
915 continue
916 }
917 depResultID, err := encodePersistedObjectRef(cache, depInst, fmt.Sprintf("module dependency %q", dep.Name()))
918 if err != nil {
919 return dagql.PersistedObjectEncoding{}, err
920 }
921 if mod.IncludeSelfInDeps && depInst.Self() == mod {
922 continue
923 }
924 persisted.DepModuleResultIDs = append(persisted.DepModuleResultIDs, depResultID)
925 }
926 }
927
928 persisted.NameField = mod.NameField
929 persisted.OriginalName = mod.OriginalName
930 persisted.SDKConfig = mod.SDKConfig
931 persisted.Description = mod.Description
932 persisted.ObjectDefResultIDs = make([]uint64, 0, len(mod.ObjectDefs))
933 for _, def := range mod.ObjectDefs {
934 defID, err := encodePersistedObjectRef(cache, def, "module object typedef")
935 if err != nil {
936 return dagql.PersistedObjectEncoding{}, err
937 }
938 persisted.ObjectDefResultIDs = append(persisted.ObjectDefResultIDs, defID)
939 }
940 persisted.InterfaceDefResultIDs = make([]uint64, 0, len(mod.InterfaceDefs))
941 for _, def := range mod.InterfaceDefs {
942 defID, err := encodePersistedObjectRef(cache, def, "module interface typedef")

Calls 7

encodePersistedObjectRefFunction · 0.85
ModsMethod · 0.80
SelfMethod · 0.80
ModuleResultMethod · 0.65
NameMethod · 0.65
MarshalMethod · 0.65