11import { afterEach , beforeEach , describe , expect , it , vi } from "vitest" ;
2+ import { createDeferred } from "../../../shared/deferred.js" ;
23import { DEFAULT_SEND_GAP_MS , enqueueSend } from "./send-queue.js" ;
34
4- function deferred < T > ( ) {
5- let resolve ! : ( value : T | PromiseLike < T > ) => void ;
6- let reject ! : ( reason ?: unknown ) => void ;
7- const promise = new Promise < T > ( ( res , rej ) => {
8- resolve = res ;
9- reject = rej ;
10- } ) ;
11- return { promise, resolve, reject } ;
12- }
13-
145describe ( "enqueueSend" , ( ) => {
156 beforeEach ( ( ) => {
167 vi . useFakeTimers ( ) ;
@@ -21,7 +12,7 @@ describe("enqueueSend", () => {
2112 } ) ;
2213
2314 it ( "serializes sends per room" , async ( ) => {
24- const gate = deferred < void > ( ) ;
15+ const gate = createDeferred < void > ( ) ;
2516 const events : string [ ] = [ ] ;
2617
2718 const first = enqueueSend ( "!room:example.org" , async ( ) => {
@@ -91,7 +82,7 @@ describe("enqueueSend", () => {
9182 } ) ;
9283
9384 it ( "continues queued work when the head task fails" , async ( ) => {
94- const gate = deferred < void > ( ) ;
85+ const gate = createDeferred < void > ( ) ;
9586 const events : string [ ] = [ ] ;
9687
9788 const first = enqueueSend ( "!room:example.org" , async ( ) => {
0 commit comments