MCPcopy
hub / github.com/fastapi/full-stack-fastapi-template / findLastEmail

Function findLastEmail

frontend/tests/utils/mailcatcher.ts:33–62  ·  view source on GitHub ↗
({
  request,
  filter,
  timeout = 5000,
}: {
  request: APIRequestContext
  filter?: (email: Email) => boolean
  timeout?: number
})

Source from the content-addressed store, hash-verified

31}
32
33export function findLastEmail({
34 request,
35 filter,
36 timeout = 5000,
37}: {
38 request: APIRequestContext
39 filter?: (email: Email) => boolean
40 timeout?: number
41}) {
42 const timeoutPromise = new Promise<never>((_, reject) =>
43 setTimeout(
44 () => reject(new Error("Timeout while trying to get latest email")),
45 timeout,
46 ),
47 )
48
49 const checkEmails = async () => {
50 while (true) {
51 const emailData = await findEmail({ request, filter })
52
53 if (emailData) {
54 return emailData
55 }
56 // Wait for 100ms before checking again
57 await new Promise((resolve) => setTimeout(resolve, 100))
58 }
59 }
60
61 return Promise.race([timeoutPromise, checkEmails()])
62}

Callers 1

Calls 1

checkEmailsFunction · 0.85

Tested by

no test coverage detected