MCPcopy Create free account
hub / github.com/dagger/dagger / DecodePersistedObject

Method DecodePersistedObject

core/module.go:970–1062  ·  view source on GitHub ↗
(ctx context.Context, dag *dagql.Server, _ uint64, _ *dagql.ResultCall, payload json.RawMessage)

Source from the content-addressed store, hash-verified

968}
969
970func (*Module) DecodePersistedObject(ctx context.Context, dag *dagql.Server, _ uint64, _ *dagql.ResultCall, payload json.RawMessage) (dagql.Typed, error) {
971 var persisted persistedModulePayload
972 if err := json.Unmarshal(payload, &persisted); err != nil {
973 return nil, fmt.Errorf("decode persisted module payload: %w", err)
974 }
975
976 sourceRes, err := loadPersistedObjectResultByResultID[*ModuleSource](ctx, dag, persisted.SourceResultID, "module source")
977 if err != nil {
978 return nil, err
979 }
980 contextSourceRes, err := loadPersistedObjectResultByResultID[*ModuleSource](ctx, dag, persisted.ContextSourceResultID, "module context source")
981 if err != nil {
982 return nil, err
983 }
984 runtimeRes, err := loadPersistedObjectResultByResultID[*Container](ctx, dag, persisted.RuntimeResultID, "module runtime")
985 if err != nil {
986 return nil, err
987 }
988
989 query, err := persistedDecodeQuery(dag)
990 if err != nil {
991 return nil, fmt.Errorf("decode persisted module query: %w", err)
992 }
993 deps, err := query.DefaultDeps(ctx)
994 if err != nil {
995 return nil, fmt.Errorf("decode persisted module default deps: %w", err)
996 }
997
998 for _, depID := range persisted.DepModuleResultIDs {
999 depRes, err := loadPersistedObjectResultByResultID[*Module](ctx, dag, depID, "module dependency")
1000 if err != nil {
1001 return nil, err
1002 }
1003 deps = deps.Append(NewUserMod(depRes))
1004 }
1005
1006 objectDefs := make(dagql.ObjectResultArray[*TypeDef], 0, len(persisted.ObjectDefResultIDs))
1007 for _, defID := range persisted.ObjectDefResultIDs {
1008 def, err := loadPersistedObjectResultByResultID[*TypeDef](ctx, dag, defID, "module object typedef")
1009 if err != nil {
1010 return nil, err
1011 }
1012 objectDefs = append(objectDefs, def)
1013 }
1014 interfaceDefs := make(dagql.ObjectResultArray[*TypeDef], 0, len(persisted.InterfaceDefResultIDs))
1015 for _, defID := range persisted.InterfaceDefResultIDs {
1016 def, err := loadPersistedObjectResultByResultID[*TypeDef](ctx, dag, defID, "module interface typedef")
1017 if err != nil {
1018 return nil, err
1019 }
1020 interfaceDefs = append(interfaceDefs, def)
1021 }
1022 enumDefs := make(dagql.ObjectResultArray[*TypeDef], 0, len(persisted.EnumDefResultIDs))
1023 for _, defID := range persisted.EnumDefResultIDs {
1024 def, err := loadPersistedObjectResultByResultID[*TypeDef](ctx, dag, defID, "module enum typedef")
1025 if err != nil {
1026 return nil, err
1027 }

Callers

nothing calls this directly

Calls 7

NonNullFunction · 0.92
persistedDecodeQueryFunction · 0.85
NewUserModFunction · 0.85
SelfMethod · 0.80
UnmarshalMethod · 0.65
DefaultDepsMethod · 0.65
AppendMethod · 0.45

Tested by

no test coverage detected