Skip to content

SendouQ · Modules

1 module · 8 exports · 2 repositories · 16 e2e tests · 9 routes

Who imports who · hover a node
Depends onSendouQ modulesUsed bySeasonsmmrSendouQMatchsendouq-matchSendouQ.server8 exportsLoaders5 filesActions6 filesRoutes1 fileRejoinVotesendouq-matchUserActivity.serveruser…Components1 fileRoutines2 filesOther7 files

SendouQ

serverapp/features/sendouq/core/SendouQ.server.ts

No overview comment at the top of the file.

Imports
SeasonsSendouQMatch
Used by
5 loaders6 actions1 route2 modules1 component2 routines7 other

Types

type

SQUncensoredGroup

no JSDoc:43
export type SQUncensoredGroup = SerializeFrom<
	(typeof SendouQClass.prototype.groups)[number]
>;
type

SQGroup

no JSDoc:46
export type SQGroup = SerializeFrom<
	ReturnType<SendouQClass["lookingGroups"]>[number]
>;
type

SQOwnGroup

no JSDoc:49
export type SQOwnGroup = SerializeFrom<
	NonNullable<ReturnType<SendouQClass["findOwnGroup"]>>
>;
type

SQMatch

no JSDoc:52
export type SQMatch = SerializeFrom<ReturnType<SendouQClass["mapMatch"]>>;
type

SQGroupMember

no JSDoc:53
export type SQGroupMember = NonNullable<SQGroup["members"]>[number];

Functions & values

const

SendouQ

:601

Global SendouQ manager: all active groups and matchmaking state.

export let SendouQ = await freshSendouQInstance();
Unit tests (53)
function

refreshSendouQInstance

:606

Reloads the global SendouQ instance from the database; call after any change to groups or matches. Notifies the groups whose received likes count changed, e.g. a liker left the looking pool or went stale since the last reload.

export async function refreshSendouQInstance()
function

sqRedirectIfNeeded

:646

Throws a redirect when the user loads a page other than the one their SendouQ group status puts them on.

export async function sqRedirectIfNeeded({
	ownGroup,
	currentLocation,
}: {
	ownGroup?: SQOwnGroup;
	currentLocation: "default" | "preparing" | "looking" | "ready" | "match";
})