Skip to content

@waylis/core


@waylis/core / AppServer

Class: AppServer

Defined in: src/server/server.ts:60

Main application server.

This class encapsulates the initialization and lifecycle management of the server, including database, file storage, configuration, and logging.

Constructors

Constructor

ts
new AppServer(params?: AppServerParams): AppServer;

Defined in: src/server/server.ts:80

Create a new application server instance.

Parameters

params?

AppServerParams

Optional initialization parameters used to configure the server. If omitted, defaults will be applied.

Returns

AppServer

Properties

PropertyModifierTypeDefined in
chatManagerprotectedChatManagersrc/server/server.ts:65
configprotectedServerConfigsrc/server/server.ts:61
connectionsprotectedMap<string, ServerResponse<IncomingMessage>>src/server/server.ts:72
databaseprotectedDatabasesrc/server/server.ts:62
engineprotectedSceneEnginesrc/server/server.ts:70
eventBusprotectedEventBusClasssrc/server/server.ts:71
fileManagerprotectedFileManagersrc/server/server.ts:64
fileStorageprotectedFileStoragesrc/server/server.ts:63
loggerprotectedLoggersrc/server/server.ts:68
messageManagerprotectedMessageManagersrc/server/server.ts:66
stepManagerprotectedStepManagersrc/server/server.ts:67

Methods

addScene()

ts
addScene<Steps>(command: Command, scene: {
  handler: (responses: SceneResponsesMap<Steps>) => Promise<
     | SystemMessageBody
    | SystemMessageBody[]>;
  steps: [...Steps[]];
}): void;

Defined in: src/server/server.ts:222

Add a new scene to the application.

A scene represents a sequence of steps that the engine will execute when the specified command is triggered.

Type Parameters

Steps

Steps extends readonly SceneStep<any, any>[]

A tuple of SceneStep definitions representing the ordered steps of the scene.

Parameters

command

Command

The command that will trigger this scene.

scene

The actual scene.

handler

(responses: SceneResponsesMap<Steps>) => Promise< | SystemMessageBody | SystemMessageBody[]>

steps

[...Steps[]]

Returns

void


getFileManager()

ts
getFileManager(): Promise<FileManager>;

Defined in: src/server/server.ts:237

Get the FileManager instance for managing files.

Returns

Promise<FileManager>

A promise that resolves to the FileManager instance.


start()

ts
start(): Promise<(callback?: (err?: Error) => void) => this>;

Defined in: src/server/server.ts:182

Start the application server.

Returns

Promise<(callback?: (err?: Error) => void) => this>

A function that, when called, closes the server and triggers cleanup.

Released under the MIT License.