Skip to content

Commit

Permalink
feat(AWS Local Invocation): Support decimal serialization for Python
Browse files Browse the repository at this point in the history
  • Loading branch information
whardier committed Nov 1, 2021
1 parent 254e70c commit 9ef46ba
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion lib/plugins/aws/invokeLocal/runtimeWrappers/invoke.py
Expand Up @@ -3,9 +3,17 @@
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
Expand Down Expand Up @@ -84,4 +92,4 @@ def log(self):

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))

0 comments on commit 9ef46ba

Please sign in to comment.