Skip to content

Commit 4e0bc48

Browse files
committed
Add support for Buffer in payloads and outputs
1 parent b590a31 commit 4e0bc48

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

.changeset/healthy-donkeys-grab.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@trigger.dev/core": patch
3+
---
4+
5+
Add support for Buffer in payloads and outputs

packages/core/src/v3/utils/ioSerialization.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,18 @@ function getPacketExtension(outputType: string): string {
366366
}
367367

368368
async function loadSuperJSON() {
369-
return await import("superjson");
369+
const superjson = await import("superjson");
370+
371+
superjson.registerCustom<Buffer, number[]>(
372+
{
373+
isApplicable: (v): v is Buffer => v instanceof Buffer,
374+
serialize: (v) => [...v],
375+
deserialize: (v) => Buffer.from(v),
376+
},
377+
"buffer"
378+
);
379+
380+
return superjson;
370381
}
371382

372383
function safeJsonParse(value: string): any {

references/v3-catalog/src/trigger/superjson.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export const superParentTask = task({
66
const result = await superChildTask.triggerAndWait({
77
foo: "bar",
88
whenToDo: new Date(),
9+
buffer: Buffer.from("foo"),
910
});
1011

1112
if (result.ok) {
@@ -24,10 +25,11 @@ export const superParentTask = task({
2425

2526
export const superChildTask = task({
2627
id: "super-child-task",
27-
run: async (payload: { whenToDo: Date; foo: string }) => {
28+
run: async (payload: { whenToDo: Date; foo: string; buffer: Buffer }) => {
2829
logger.log("super-child-task payload: ", { payload });
2930
logger.log(`typeof payload.whenToDo = ${typeof payload.whenToDo}`);
3031
logger.log(`typeof payload.foo = ${typeof payload.foo}`);
32+
logger.log(`typeof payload.buffer = ${payload.buffer.toString("utf-8")}`);
3133

3234
return {
3335
date: new Date(),

0 commit comments

Comments
 (0)