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

Method DecodePersistedObject

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

Source from the content-addressed store, hash-verified

346}
347
348func (*GeneratorGroup) DecodePersistedObject(
349 ctx context.Context,
350 dag *dagql.Server,
351 _ uint64,
352 _ *dagql.ResultCall,
353 payload json.RawMessage,
354) (dagql.Typed, error) {
355 var persisted persistedGeneratorGroupPayload
356 if err := json.Unmarshal(payload, &persisted); err != nil {
357 return nil, fmt.Errorf("decode persisted generator group payload: %w", err)
358 }
359 nodes, err := decodePersistedModTree(ctx, dag, persisted.Tree)
360 if err != nil {
361 return nil, err
362 }
363 var node *ModTreeNode
364 if persisted.NodeID != 0 {
365 var ok bool
366 node, ok = nodes[persisted.NodeID]
367 if !ok {
368 return nil, fmt.Errorf("decode persisted generator group: unknown node ID %d", persisted.NodeID)
369 }
370 }
371 generators := make([]*Generator, 0, len(persisted.Generators))
372 for _, generatorPayload := range persisted.Generators {
373 generator, err := decodePersistedGeneratorPayload(ctx, dag, nodes, generatorPayload)
374 if err != nil {
375 return nil, err
376 }
377 generators = append(generators, generator)
378 }
379 return &GeneratorGroup{
380 Node: node,
381 Generators: generators,
382 }, nil
383}
384
385func (gg *GeneratorGroup) AttachDependencyResults(
386 ctx context.Context,

Callers

nothing calls this directly

Calls 3

decodePersistedModTreeFunction · 0.85
UnmarshalMethod · 0.65

Tested by

no test coverage detected