MCPcopy Create free account
hub / github.com/buke/quickjs-go / validateModuleBuilder

Function validateModuleBuilder

module.go:84–105  ·  view source on GitHub ↗

============================================================================= MODULE CREATION IMPLEMENTATION ============================================================================= validateModuleBuilder validates ModuleBuilder configuration

(builder *ModuleBuilder)

Source from the content-addressed store, hash-verified

82
83// validateModuleBuilder validates ModuleBuilder configuration
84func validateModuleBuilder(builder *ModuleBuilder) error {
85 if builder.name == "" {
86 return errors.New("module name cannot be empty")
87 }
88
89 // Check for duplicate export names
90 nameSet := make(map[string]bool)
91 for _, export := range builder.exports {
92 if export.Name == "" {
93 return errors.New("export name cannot be empty")
94 }
95 if export.Spec == nil {
96 return fmt.Errorf("export value is required: %s", export.Name)
97 }
98 if nameSet[export.Name] {
99 return fmt.Errorf("duplicate export name: %s", export.Name)
100 }
101 nameSet[export.Name] = true
102 }
103
104 return nil
105}
106
107func cloneModuleBuilder(builder *ModuleBuilder) *ModuleBuilder {
108 if builder == nil {

Callers 1

createModuleFunction · 0.85

Calls 1

NewMethod · 0.80

Tested by

no test coverage detected