@swarmion/serverless-contracts
Version:
Generate and use type-safe contracts between your Serverless services.
11 lines • 778 B
TypeScript
import { SendMessageRequest } from '@aws-sdk/client-sqs';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import { SQSContract } from '../sqsContract';
export type SqsMessageBodyType<Contract extends SQSContract> = Contract['messageBodySchema'] extends JSONSchema ? FromSchema<Contract['messageBodySchema']> : void;
export type SqsMessageAttributesType<Contract extends SQSContract> = Contract['messageAttributesSchema'] extends JSONSchema ? FromSchema<Contract['messageAttributesSchema']> : void;
export type SqsMessage<Contract extends SQSContract> = Omit<SendMessageRequest, 'MessageBody' | 'QueueUrl'> & {
Id?: string;
body: SqsMessageBodyType<Contract>;
messageAttributes?: SqsMessageAttributesType<Contract>;
};
//# sourceMappingURL=common.d.ts.map