21 lines
783 B
TypeScript
21 lines
783 B
TypeScript
import { Payload } from '../interfaces';
|
|
/**
|
|
* `PayloadCodec` is an optional step that happens between the wire and the {@link PayloadConverter}:
|
|
*
|
|
* Temporal Server <--> Wire <--> `PayloadCodec` <--> `PayloadConverter` <--> User code
|
|
*
|
|
* Implement this to transform an array of {@link Payload}s to/from the format sent over the wire and stored by Temporal Server.
|
|
* Common transformations are encryption and compression.
|
|
*/
|
|
export interface PayloadCodec {
|
|
/**
|
|
* Encode an array of {@link Payload}s for sending over the wire.
|
|
* @param payloads May have length 0.
|
|
*/
|
|
encode(payloads: Payload[]): Promise<Payload[]>;
|
|
/**
|
|
* Decode an array of {@link Payload}s received from the wire.
|
|
*/
|
|
decode(payloads: Payload[]): Promise<Payload[]>;
|
|
}
|