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
28 lines
846 B
TypeScript
28 lines
846 B
TypeScript
import { writeVarString, writeVarUint } from "lib0/encoding";
|
|
import { writeAuthentication } from "@hocuspocus/common";
|
|
import type { OutgoingMessageArguments } from "../types.ts";
|
|
import { MessageType } from "../types.ts";
|
|
import { OutgoingMessage } from "../OutgoingMessage.ts";
|
|
import { version } from "../version.ts";
|
|
|
|
export class AuthenticationMessage extends OutgoingMessage {
|
|
type = MessageType.Auth;
|
|
|
|
description = "Authentication";
|
|
|
|
get(args: Partial<OutgoingMessageArguments>) {
|
|
if (typeof args.token === "undefined") {
|
|
throw new Error(
|
|
"The authentication message requires `token` as an argument.",
|
|
);
|
|
}
|
|
|
|
writeVarString(this.encoder, args.documentName!);
|
|
writeVarUint(this.encoder, this.type);
|
|
writeAuthentication(this.encoder, args.token);
|
|
writeVarString(this.encoder, version);
|
|
|
|
return this.encoder;
|
|
}
|
|
}
|