import { DynamoDBRecord , AttributeValue } from 'aws-lambda' ; import { Converter } from 'aws-sdk/clients/dynamodb' ; import { DynamoDBBaseItem } from '@src/clients/dynamoDB' ; export const newStreamRecord = ( item ) : DynamoDBRecord => ( { awsRegion : 'ap-southeast-2' , eventID : '' , eventName : 'INSERT' , eventSource : '' , eventSourceARN : '' , eventVersion : '' , userIdentity : null , dynamodb : { Keys : { pk : { S : item . pk , } , sk : { S : item . sk , } , } , NewImage : Converter . marshall ( item ) as Record < string , AttributeValue > , } , } ) ; export const duplicateStreamRecord = ( item ) : DynamoDBRecord => ( { awsRegion : 'ap-southeast-2' , eventID : '' , eventName : 'MODIFY' , eventSource : '' , eventSourceARN : '' , eventVersion : '' , userIdentity : null , dynamodb : { Keys : { pk : { S : item . pk , } , sk : { S : item . sk , } , } , NewImage : Converter . marshall ( item ) as Record < string , AttributeValue > , OldImage : Converter . marshall ( item ) as Record < string , AttributeValue > , } , } ) ; export const deleteStreamRecord = ( item ) : DynamoDBRecord => ( { awsRegion : 'ap-southeast-2' , eventID : '' , eventName : 'REMOVE' , eventSource : '' , eventSourceARN : '' , eventVersion : '' , userIdentity : null , dynamodb : { Keys : { pk : { S : item . pk , } , sk : { S : item . sk , } , } , OldImage : Converter . marshall ( item ) as Record < string , AttributeValue > , } , } ) ;