add deduplication window

This commit is contained in:
2025-07-14 17:25:32 -03:00
parent 6588a21c5b
commit 743fd57baf
11 changed files with 125 additions and 18 deletions

View File

@@ -1,6 +1,9 @@
import decimal
import json
import math
import dictdiffer
from arnparse import arnparse
from aws_lambda_powertools.shared.json_encoder import Encoder
def table_from_arn(arn: str) -> str:
@@ -20,8 +23,18 @@ def diff(first: dict, second: dict) -> list[str]:
return changed
class JSONEncoder(Encoder):
def default(self, obj):
if isinstance(obj, set):
return list(obj)
return super(__class__, self).default(obj)
class JSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, decimal.Decimal):
if o.is_nan():
return math.nan
if o % 1 != 0:
return float(o.quantize(decimal.Decimal('0.00')))
return int(o)
if isinstance(o, set):
return list(o)
return super().default(o)