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

Function validateClassBuilder

class.go:300–326  ·  view source on GitHub ↗

============================================================================= CLASS CREATION IMPLEMENTATION - MODIFIED FOR SCHEME C ============================================================================= validateClassBuilder validates ClassBuilder configuration - unchanged

(builder *ClassBuilder)

Source from the content-addressed store, hash-verified

298
299// validateClassBuilder validates ClassBuilder configuration - unchanged
300func validateClassBuilder(builder *ClassBuilder) error {
301 if builder == nil {
302 return errors.New("class builder is required")
303 }
304 if builder.name == "" {
305 return errors.New("class name is required")
306 }
307 if builder.constructor == nil {
308 return errors.New("constructor function is required")
309 }
310 for _, method := range builder.methods {
311 if method.Func == nil {
312 return fmt.Errorf("method function is required: %s", method.Name)
313 }
314 }
315 for _, accessor := range builder.accessors {
316 if accessor.Getter == nil && accessor.Setter == nil {
317 return fmt.Errorf("accessor requires getter or setter: %s", accessor.Name)
318 }
319 }
320 for _, property := range builder.properties {
321 if property.Spec == nil {
322 return fmt.Errorf("property value is required: %s", property.Name)
323 }
324 }
325 return nil
326}
327
328func cloneClassBuilder(builder *ClassBuilder) *ClassBuilder {
329 if builder == nil {

Callers 1

createClassFunction · 0.85

Calls 1

NewMethod · 0.80

Tested by

no test coverage detected