Skip to content

Commit d210cf1

Browse files
authored
feat(amber): expose serialize_custom_iterable method of AmberDataSerializer (#788)
1 parent f4bc845 commit d210cf1

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/syrupy/extensions/amber/serializer.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ def serialize_iterable(
286286
open_paren, close_paren = ("[", "]")
287287

288288
values = list(data)
289-
return cls.__serialize_iterable(
289+
return cls.serialize_custom_iterable(
290290
data=data,
291291
resolve_entries=(range(len(values)), item_getter, None),
292292
open_paren=open_paren,
@@ -296,7 +296,7 @@ def serialize_iterable(
296296

297297
@classmethod
298298
def serialize_set(cls, data: Set["SerializableData"], **kwargs: Any) -> str:
299-
return cls.__serialize_iterable(
299+
return cls.serialize_custom_iterable(
300300
data=data,
301301
resolve_entries=(cls.sort(data), lambda _, p: p, None),
302302
open_paren="{",
@@ -306,7 +306,7 @@ def serialize_set(cls, data: Set["SerializableData"], **kwargs: Any) -> str:
306306

307307
@classmethod
308308
def serialize_namedtuple(cls, data: NamedTuple, **kwargs: Any) -> str:
309-
return cls.__serialize_iterable(
309+
return cls.serialize_custom_iterable(
310310
data=data,
311311
resolve_entries=(cls.sort(data._fields), attr_getter, None),
312312
separator="=",
@@ -321,7 +321,7 @@ def serialize_dict(
321321
data.keys() if isinstance(data, (OrderedDict,)) else cls.sort(data.keys())
322322
)
323323

324-
return cls.__serialize_iterable(
324+
return cls.serialize_custom_iterable(
325325
data=data,
326326
resolve_entries=(keys, item_getter, None),
327327
open_paren="{",
@@ -336,7 +336,7 @@ def serialize_unknown(cls, data: Any, *, depth: int = 0, **kwargs: Any) -> str:
336336
if data.__class__.__repr__ != object.__repr__:
337337
return cls.__serialize_plain(data=data, depth=depth)
338338

339-
return cls.__serialize_iterable(
339+
return cls.serialize_custom_iterable(
340340
data=data,
341341
resolve_entries=(
342342
(name for name in cls.sort(dir(data)) if not name.startswith("_")),
@@ -379,7 +379,7 @@ def __serialize_plain(
379379
return cls.with_indent(repr(data), depth)
380380

381381
@classmethod
382-
def __serialize_iterable(
382+
def serialize_custom_iterable(
383383
cls,
384384
*,
385385
data: "SerializableData",
@@ -393,6 +393,9 @@ def __serialize_iterable(
393393
serialize_key: bool = False,
394394
**kwargs: Any,
395395
) -> str:
396+
"""
397+
Utility to serialize a custom iterable.
398+
"""
396399
kwargs["depth"] = depth + 1
397400

398401
keys, get_value, include_value = resolve_entries

0 commit comments

Comments
 (0)