Browse Source

refactor: Refactor loop to list comprehension for performance optimization

pull/12452/head
saif 6 months ago
parent
commit
423cf421f9
  1. 28
      fastapi/encoders.py

28
fastapi/encoders.py

@ -297,22 +297,20 @@ def jsonable_encoder(
encoded_dict[encoded_key] = encoded_value encoded_dict[encoded_key] = encoded_value
return encoded_dict return encoded_dict
if isinstance(obj, (list, set, frozenset, GeneratorType, tuple, deque)): if isinstance(obj, (list, set, frozenset, GeneratorType, tuple, deque)):
encoded_list = [] return [
for item in obj: jsonable_encoder(
encoded_list.append( item,
jsonable_encoder( include=include,
item, exclude=exclude,
include=include, by_alias=by_alias,
exclude=exclude, exclude_unset=exclude_unset,
by_alias=by_alias, exclude_defaults=exclude_defaults,
exclude_unset=exclude_unset, exclude_none=exclude_none,
exclude_defaults=exclude_defaults, custom_encoder=custom_encoder,
exclude_none=exclude_none, sqlalchemy_safe=sqlalchemy_safe,
custom_encoder=custom_encoder,
sqlalchemy_safe=sqlalchemy_safe,
)
) )
return encoded_list for item in obj
]
if type(obj) in ENCODERS_BY_TYPE: if type(obj) in ENCODERS_BY_TYPE:
return ENCODERS_BY_TYPE[type(obj)](obj) return ENCODERS_BY_TYPE[type(obj)](obj)

Loading…
Cancel
Save