feat(AWS Local Invocation): Support decimal serialization for Python

This commit is contained in:
Shane R. Spencer 2021-11-01 06:05:29 -08:00 committed by GitHub
parent 254e70cd0a
commit 9ef46ba05f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,9 +3,17 @@ import argparse
import json
import logging
import sys
import decimal
from time import strftime, time
from importlib import import_module
def decimal_serializer(o):
if isinstance(o, decimal.Decimal):
f = float(o)
if f.is_integer():
return int(f)
return f
class FakeLambdaContext(object):
def __init__(self, name='Fake', version='LATEST', timeout=6, **kwargs):
self.name = name
@ -84,4 +92,4 @@ if __name__ == '__main__':
context = FakeLambdaContext(**input.get('context', {}))
result = handler(input['event'], context)
sys.stdout.write(json.dumps(result, indent=4))
sys.stdout.write(json.dumps(result, default=decimal_serializer, indent=4))