@@ -93,67 +93,66 @@ def _render_err_type(indent: str, err: "ErrType") -> str:
9393 UnionErrs )
9494
9595 next_indent_str = indent + (" " * 4 )
96- match err :
97- case PredicateErrs (predicates ):
98- return f"\n { next_indent_str } " .join (
99- ["PredicateErrs(predicates=[" , ] + [
100- f"{ repr (pred )} " ","
101- for pred in predicates
102- ]
103- ) + f"\n { indent } ])"
104- case CoercionErr (compatible_types , dest_type ):
105- return f"\n { next_indent_str } " .join ([
106- "CoercionErr(" ,
107- f"compatible_types={{{ ', ' .join ([repr (ct ) for ct in compatible_types ])} }}," , # noqa: E501
108- f"dest_type={ repr (dest_type )} " ,
109- ]) + f"\n { indent } )"
110- case KeyErrs (keys ):
111- return f"\n { next_indent_str } " .join (
112- ["KeyErrs(keys={" , ] + [
113- f"{ repr (key )} : { _make_invalid_repr (next_indent_str , k_err )} ,"
114- for key , k_err in keys .items ()
115- ]
116- ) + f"\n { indent } }})"
117- case IndexErrs (i_errs ):
118- return f"\n { next_indent_str } " .join (
119- ["IndexErrs(index_errs={" ,] + [
120- f"{ key } : { _make_invalid_repr (next_indent_str , i_err )} ,"
121- for key , i_err in i_errs .items ()
122- ]
123- ) + f"\n { indent } }})"
124- case ContainerErr (child ):
125- return f"\n { next_indent_str } " .join (
126- ["ContainerErr(" ,
127- f"child={ _make_invalid_repr (next_indent_str , child )} " ,]
128- ) + f"\n { indent } )"
129- case ExtraKeysErr (expected_keys ):
130- return f"\n { next_indent_str } " .join (
131- ["ExtraKeysErr(" ,
132- f"expected_keys={{{ ', ' .join (sorted ([repr (k ) for k in expected_keys ]))} }}," "}" ,] # noqa: E501
133- ) + f"\n { indent } )"
134- case MapErr (keys ):
135- return f"\n { next_indent_str } " .join (
136- ["MapErr(keys={" , ] + [
137- f"{ repr (key )} : { _render_key_val_err (next_indent_str , k_err )} ,"
138- for key , k_err in keys .items ()
139- ]
140- ) + f"\n { indent } }})"
141- case SetErrs (item_errs ):
142- return f"\n { next_indent_str } " .join (
143- ["SetErrs(item_errs=[" ,] + [
144- f"{ _make_invalid_repr (next_indent_str , item )} ,"
145- for item in item_errs
146- ]
147- ) + f"\n { indent } ])"
148- case UnionErrs (variants ):
149- return f"\n { next_indent_str } " .join (
150- ["UnionErrs(variants=[" ,] + [
151- f"{ _make_invalid_repr (next_indent_str , variant )} ,"
152- for variant in variants
153- ]
154- ) + f"\n { indent } ])"
155- case _:
156- return repr (err )
96+ if isinstance (err , PredicateErrs ):
97+ return f"\n { next_indent_str } " .join (
98+ ["PredicateErrs(predicates=[" , ] + [
99+ f"{ repr (pred )} " ","
100+ for pred in err .predicates
101+ ]
102+ ) + f"\n { indent } ])"
103+ elif isinstance (err , CoercionErr ):
104+ return f"\n { next_indent_str } " .join ([
105+ "CoercionErr(" ,
106+ f"compatible_types={{{ ', ' .join ([repr (ct ) for ct in err .compatible_types ])} }}," , # noqa: E501
107+ f"dest_type={ repr (err .dest_type )} " ,
108+ ]) + f"\n { indent } )"
109+ elif isinstance (err , KeyErrs ):
110+ return f"\n { next_indent_str } " .join (
111+ ["KeyErrs(keys={" , ] + [
112+ f"{ repr (key )} : { _make_invalid_repr (next_indent_str , k_err )} ,"
113+ for key , k_err in err .keys .items ()
114+ ]
115+ ) + f"\n { indent } }})"
116+ elif isinstance (err , IndexErrs ):
117+ return f"\n { next_indent_str } " .join (
118+ ["IndexErrs(index_errs={" ,] + [
119+ f"{ key } : { _make_invalid_repr (next_indent_str , i_err )} ,"
120+ for key , i_err in err .indexes .items ()
121+ ]
122+ ) + f"\n { indent } }})"
123+ elif isinstance (err , ContainerErr ):
124+ return f"\n { next_indent_str } " .join (
125+ ["ContainerErr(" ,
126+ f"child={ _make_invalid_repr (next_indent_str , err .child )} " ,]
127+ ) + f"\n { indent } )"
128+ elif isinstance (err , ExtraKeysErr ):
129+ return f"\n { next_indent_str } " .join (
130+ ["ExtraKeysErr(" ,
131+ f"expected_keys={{{ ', ' .join (sorted ([repr (k ) for k in err .expected_keys ]))} }}," "}" ,] # noqa: E501
132+ ) + f"\n { indent } )"
133+ elif isinstance (err , MapErr ):
134+ return f"\n { next_indent_str } " .join (
135+ ["MapErr(keys={" , ] + [
136+ f"{ repr (key )} : { _render_key_val_err (next_indent_str , k_err )} ,"
137+ for key , k_err in err .keys .items ()
138+ ]
139+ ) + f"\n { indent } }})"
140+ elif isinstance (err , SetErrs ):
141+ return f"\n { next_indent_str } " .join (
142+ ["SetErrs(item_errs=[" ,] + [
143+ f"{ _make_invalid_repr (next_indent_str , item )} ,"
144+ for item in err .item_errs
145+ ]
146+ ) + f"\n { indent } ])"
147+ elif isinstance (err , UnionErrs ):
148+ return f"\n { next_indent_str } " .join (
149+ ["UnionErrs(variants=[" ,] + [
150+ f"{ _make_invalid_repr (next_indent_str , variant )} ,"
151+ for variant in err .variants
152+ ]
153+ ) + f"\n { indent } ])"
154+ else :
155+ return repr (err )
157156
158157
159158ValidationResult = Union [Valid [A ], Invalid ]
0 commit comments