MCPcopy Create free account
hub / github.com/astercloud/aster / validateValue

Method validateValue

pkg/memory/schema.go:96–122  ·  view source on GitHub ↗

validateValue 验证任意类型的值

(value any)

Source from the content-addressed store, hash-verified

94
95// validateValue 验证任意类型的值
96func (s *JSONSchema) validateValue(value any) error {
97 if s.Type != "" {
98 if err := s.validateType(value); err != nil {
99 return err
100 }
101 }
102
103 // 验证枚举
104 if len(s.Enum) > 0 {
105 found := slices.Contains(s.Enum, value)
106 if !found {
107 return fmt.Errorf("value %v is not in enum: %v", value, s.Enum)
108 }
109 }
110
111 // 验证对象属性
112 if s.Type == "object" {
113 return s.validateObject(value)
114 }
115
116 // 验证数组
117 if s.Type == "array" {
118 return s.validateArray(value)
119 }
120
121 return nil
122}
123
124// validateType 验证值的类型
125func (s *JSONSchema) validateType(value any) error {

Callers 3

ValidateContentMethod · 0.95
validateObjectMethod · 0.80
validateArrayMethod · 0.80

Calls 3

validateTypeMethod · 0.95
validateObjectMethod · 0.95
validateArrayMethod · 0.95

Tested by

no test coverage detected