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

Method EncodePersistedObject

core/modulesource.go:637–751  ·  view source on GitHub ↗
(ctx context.Context, cache dagql.PersistedObjectCache)

Source from the content-addressed store, hash-verified

635}
636
637func (src *ModuleSource) EncodePersistedObject(ctx context.Context, cache dagql.PersistedObjectCache) (dagql.PersistedObjectEncoding, error) {
638 if src == nil {
639 return dagql.PersistedObjectEncoding{}, fmt.Errorf("encode persisted module source: nil module source")
640 }
641 payload := persistedModuleSourcePayload{
642 ConfigExists: src.ConfigExists,
643 ModuleName: src.ModuleName,
644 ModuleOriginalName: src.ModuleOriginalName,
645 EngineVersion: src.EngineVersion,
646 CodegenConfig: src.CodegenConfig,
647 ModuleConfigUserFields: src.ModuleConfigUserFields,
648 DisableDefaultFunctionCaching: src.DisableDefaultFunctionCaching,
649 SDK: src.SDK,
650 IncludePaths: slices.Clone(src.IncludePaths),
651 RebasedIncludePaths: slices.Clone(src.RebasedIncludePaths),
652 ConfigDependencies: slices.Clone(src.ConfigDependencies),
653 ConfigBlueprint: src.ConfigBlueprint,
654 ConfigToolchains: slices.Clone(src.ConfigToolchains),
655 UserDefaults: src.UserDefaults,
656 ConfigClients: slices.Clone(src.ConfigClients),
657 SourceRootSubpath: src.SourceRootSubpath,
658 SourceSubpath: src.SourceSubpath,
659 OriginalSubpath: src.OriginalSubpath,
660 Kind: src.Kind,
661 Local: src.Local,
662 }
663 if src.SDK != nil {
664 if src.SDKImpl == nil {
665 return dagql.PersistedObjectEncoding{}, fmt.Errorf("encode persisted module source: sdk config is set but sdk impl is not initialized")
666 }
667 _, hasRuntime := src.SDKImpl.AsRuntime()
668 _, hasModuleTypes := src.SDKImpl.AsModuleTypes()
669 _, hasCodeGenerator := src.SDKImpl.AsCodeGenerator()
670 _, hasClientGenerator := src.SDKImpl.AsClientGenerator()
671 selfCallsAlways := false
672 if sc, ok := src.SDKImpl.(selfCallsAlwaysEnabler); ok && sc.AlwaysEnablesSelfCalls() {
673 selfCallsAlways = true
674 }
675 payload.SDKCapabilities = &persistedModuleSourceSDKCapabilities{
676 Runtime: hasRuntime,
677 ModuleTypes: hasModuleTypes,
678 CodeGenerator: hasCodeGenerator,
679 ClientGenerator: hasClientGenerator,
680 SelfCallsAlways: selfCallsAlways,
681 }
682 }
683 if src.ContextDirectory.Self() != nil {
684 contextDirID, err := encodePersistedObjectRef(cache, src.ContextDirectory, "module source context directory")
685 if err != nil {
686 return dagql.PersistedObjectEncoding{}, err
687 }
688 payload.ContextDirectoryResultID = contextDirID
689 }
690 payload.DependencyResultIDs = make([]uint64, 0, len(src.Dependencies))
691 for _, dep := range src.Dependencies {
692 if dep.Self() == nil {
693 continue
694 }

Calls 9

encodePersistedObjectRefFunction · 0.85
SelfMethod · 0.80
CloneMethod · 0.65
AsRuntimeMethod · 0.65
AsModuleTypesMethod · 0.65
AsCodeGeneratorMethod · 0.65
AsClientGeneratorMethod · 0.65