From 9accb7de92aa27316af1b41bc9bbc421521a4219 Mon Sep 17 00:00:00 2001 From: Emilio Heinzmann Date: Fri, 6 Jun 2025 10:02:57 -0300 Subject: [PATCH] refactor: remove deprecated usage of render async --- src/batch/batch.ts | 10 +++++----- src/broadcasts/broadcasts.ts | 10 +++++----- src/emails/emails.ts | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/batch/batch.ts b/src/batch/batch.ts index 18829170..0af23598 100644 --- a/src/batch/batch.ts +++ b/src/batch/batch.ts @@ -10,7 +10,7 @@ import type { } from './interfaces/create-batch-options.interface'; export class Batch { - private renderAsync?: (component: React.ReactElement) => Promise; + private render?: (component: React.ReactElement) => Promise; constructor(private readonly resend: Resend) {} async send( @@ -28,10 +28,10 @@ export class Batch { for (const email of payload) { if (email.react) { - if (!this.renderAsync) { + if (!this.render) { try { - const { renderAsync } = await import('@react-email/render'); - this.renderAsync = renderAsync; + const { render } = await import('@react-email/render'); + this.render = render; } catch (error) { throw new Error( 'Failed to render React component. Make sure to install `@react-email/render`', @@ -39,7 +39,7 @@ export class Batch { } } - email.html = await this.renderAsync(email.react as React.ReactElement); + email.html = await this.render(email.react as React.ReactElement); email.react = undefined; } diff --git a/src/broadcasts/broadcasts.ts b/src/broadcasts/broadcasts.ts index 90323b06..f2d4554c 100644 --- a/src/broadcasts/broadcasts.ts +++ b/src/broadcasts/broadcasts.ts @@ -28,7 +28,7 @@ import type { } from './interfaces/update-broadcast.interface'; export class Broadcasts { - private renderAsync?: (component: React.ReactElement) => Promise; + private render?: (component: React.ReactElement) => Promise; constructor(private readonly resend: Resend) {} async create( @@ -36,10 +36,10 @@ export class Broadcasts { options: CreateBroadcastRequestOptions = {}, ): Promise { if (payload.react) { - if (!this.renderAsync) { + if (!this.render) { try { - const { renderAsync } = await import('@react-email/render'); - this.renderAsync = renderAsync; + const { render } = await import('@react-email/render'); + this.render = render; } catch (error) { throw new Error( 'Failed to render React component. Make sure to install `@react-email/render`', @@ -47,7 +47,7 @@ export class Broadcasts { } } - payload.html = await this.renderAsync( + payload.html = await this.render( payload.react as React.ReactElement, ); } diff --git a/src/emails/emails.ts b/src/emails/emails.ts index 23c13b0c..abe93b8b 100644 --- a/src/emails/emails.ts +++ b/src/emails/emails.ts @@ -22,7 +22,7 @@ import type { } from './interfaces/update-email-options.interface'; export class Emails { - private renderAsync?: (component: React.ReactElement) => Promise; + private render?: (component: React.ReactElement) => Promise; constructor(private readonly resend: Resend) {} async send( @@ -37,10 +37,10 @@ export class Emails { options: CreateEmailRequestOptions = {}, ): Promise { if (payload.react) { - if (!this.renderAsync) { + if (!this.render) { try { - const { renderAsync } = await import('@react-email/render'); - this.renderAsync = renderAsync; + const { render } = await import('@react-email/render'); + this.render = render; } catch (error) { throw new Error( 'Failed to render React component. Make sure to install `@react-email/render`', @@ -48,7 +48,7 @@ export class Emails { } } - payload.html = await this.renderAsync( + payload.html = await this.render( payload.react as React.ReactElement, ); }