@temporalio/common
Version:
Common library for code that's used across the Client, Worker, and/or Workflow
21 lines (20 loc) • 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[]>;
}