MCPcopy Create free account
hub / github.com/ipython/traitlets / validate_elements

Method validate_elements

traitlets/traitlets.py:4018–4041  ·  view source on GitHub ↗
(self, obj: t.Any, value: dict[t.Any, t.Any])

Source from the content-addressed store, hash-verified

4016 return self.validate_elements(obj, value)
4017
4018 def validate_elements(self, obj: t.Any, value: dict[t.Any, t.Any]) -> dict[K, V] | None:
4019 per_key_override = self._per_key_traits or {}
4020 key_trait = self._key_trait
4021 value_trait = self._value_trait
4022 if not (key_trait or value_trait or per_key_override):
4023 return value
4024
4025 validated = {}
4026 for key in value:
4027 v = value[key]
4028 if key_trait:
4029 try:
4030 key = key_trait._validate(obj, key)
4031 except TraitError:
4032 self.element_error(obj, key, key_trait, "Keys")
4033 active_value_trait = per_key_override.get(key, value_trait)
4034 if active_value_trait:
4035 try:
4036 v = active_value_trait._validate(obj, v)
4037 except TraitError:
4038 self.element_error(obj, v, active_value_trait, "Values")
4039 validated[key] = v
4040
4041 return self.klass(validated) # type:ignore[misc,operator]
4042
4043 def class_init(self, cls: type[t.Any], name: str | None) -> None:
4044 if isinstance(self._value_trait, TraitType):

Callers 1

validateMethod · 0.95

Calls 3

element_errorMethod · 0.95
_validateMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected