in statefun-sdk-js/src/egress.ts [106:130]
export function kinesisEgressMessage({typename = "", stream = "", partitionKey = "", hashKey = "", value = null, valueType}: KinesisEgressOpts) {
if (isEmptyOrNull(typename)) {
throw new Error("typename is missing");
}
validateTypeName(typename);
if (isEmptyOrNull(stream)) {
throw new Error("stream is missing");
}
if (isEmptyOrNull(partitionKey)) {
throw new Error("partition key is missing");
}
if (value === undefined || value === null) {
throw new Error("value is missing");
}
const record = new proto.io.statefun.sdk.egress.KinesisEgressRecord();
record.setStream(stream);
record.setPartitionKey(partitionKey);
record.setValueBytes(trySerializerForEgress(valueType, value))
if (!isEmptyOrNull(hashKey)) {
record.setExplicitHashKey(hashKey);
}
const bytes = record.serializeBinary();
const box = TypedValueSupport.toTypedValueRaw("type.googleapis.com/io.statefun.sdk.egress.KinesisEgressRecord", bytes);
return new EgressMessage(typename, box);
}