Some checks failed
build / lint (22) (push) Failing after 17s
build / test (22) (push) Failing after 8s
build / lint (23) (push) Failing after 2s
build / build (22) (push) Has been skipped
build / build (23) (push) Has been skipped
build / test (23) (push) Failing after 4s
docsearch / docsearch (push) Failing after 1s
23 lines
753 B
TypeScript
23 lines
753 B
TypeScript
import type { ExecutionContext } from "ava";
|
|
import type { HocuspocusProviderWebsocketConfiguration } from "@hocuspocus/provider";
|
|
import { HocuspocusProviderWebsocket } from "@hocuspocus/provider";
|
|
import type { Hocuspocus } from "@hocuspocus/server";
|
|
|
|
export const newHocuspocusProviderWebsocket = (
|
|
t: ExecutionContext,
|
|
hocuspocus: Hocuspocus,
|
|
options: Partial<Omit<HocuspocusProviderWebsocketConfiguration, "url">> = {},
|
|
) => {
|
|
const ws = new HocuspocusProviderWebsocket({
|
|
// We don't need which port the server is running on, but
|
|
// we can get the URL from the passed server instance.
|
|
url: hocuspocus.server!.webSocketURL,
|
|
// Node.js 22+ has native WebSocket support
|
|
...options,
|
|
});
|
|
|
|
t.teardown(() => ws.destroy());
|
|
|
|
return ws;
|
|
};
|