in modular_sdk/models/pynamodb_extension/pynamodb_to_pymongo_adapter.py [0:0]
def _preprocess(val: T) -> T:
"""
Convert some values that are not accepted by mongodb:
- decimal.Decimal
Changes the given collection in place but also returns it
"""
if isinstance(val, dict):
for k, v in val.items():
val[k] = _PynamoDBExpressionsConverter._preprocess(v)
return val
if isinstance(val, list):
for i, v in enumerate(val):
val[i] = _PynamoDBExpressionsConverter._preprocess(v)
return val
if isinstance(val, decimal.Decimal):
return float(val)
return val