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
33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import type { ExecutionContext } from "ava";
|
|
import {
|
|
HocuspocusProvider,
|
|
type HocuspocusProviderConfiguration,
|
|
type HocuspocusProviderWebsocket,
|
|
type HocuspocusProviderWebsocketConfiguration,
|
|
} from "@hocuspocus/provider";
|
|
import type { Hocuspocus } from "@hocuspocus/server";
|
|
import { newHocuspocusProviderWebsocket } from "./newHocuspocusProviderWebsocket.ts";
|
|
|
|
export const newHocuspocusProvider = (
|
|
t: ExecutionContext,
|
|
server: Hocuspocus,
|
|
options: Partial<HocuspocusProviderConfiguration> = {},
|
|
websocketOptions: Partial<HocuspocusProviderWebsocketConfiguration> = {},
|
|
websocketProvider?: HocuspocusProviderWebsocket,
|
|
): HocuspocusProvider => {
|
|
const provider = new HocuspocusProvider({
|
|
websocketProvider:
|
|
websocketProvider ??
|
|
newHocuspocusProviderWebsocket(t, server, websocketOptions),
|
|
// Just use a generic document name for all tests.
|
|
name: "hocuspocus-test",
|
|
// Add or overwrite settings, depending on the test case.
|
|
...options,
|
|
});
|
|
provider.attach();
|
|
|
|
t.teardown(() => provider.destroy());
|
|
|
|
return provider;
|
|
};
|