(data: list)
| 99 | """ |
| 100 | |
| 101 | def serialise(data: list): |
| 102 | output = [] |
| 103 | |
| 104 | for item in data: |
| 105 | if isinstance(item, list): |
| 106 | output.append(serialise(item)) |
| 107 | elif isinstance( |
| 108 | item, |
| 109 | (datetime.datetime, datetime.time, datetime.date, Decimal), |
| 110 | ): |
| 111 | if adapter := ADAPTERS.get(type(item)): |
| 112 | output.append(adapter(item)) |
| 113 | else: |
| 114 | raise ValueError("The adapter wasn't found.") |
| 115 | elif item is None or isinstance(item, (str, int, float, list)): |
| 116 | # We can safely JSON serialise these. |
| 117 | output.append(item) |
| 118 | else: |
| 119 | raise ValueError("We can't currently serialise this value.") |
| 120 | |
| 121 | return output |
| 122 | |
| 123 | return dump_json(serialise(value)) |
| 124 |
no test coverage detected