def _preprocess()

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