( ctx context.Context, dag *dagql.Server, _ uint64, _ *dagql.ResultCall, payload json.RawMessage, )
| 346 | } |
| 347 | |
| 348 | func (*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 | |
| 385 | func (gg *GeneratorGroup) AttachDependencyResults( |
| 386 | ctx context.Context, |
nothing calls this directly
no test coverage detected