LogoRobo.js
Framework

PortalAPI

Interface: PortalAPI

The Portal API interface. Provides namespace-based access to handlers and controllers.

Extends

Properties

PropertyModifierTypeDescription
isInitializedreadonlybooleanWhether the portal has been initialized
modereadonlystringCurrent runtime mode

Methods

all()

all(): HandlerRecord<unknown, Record<string, unknown>>[]

Get all handler records across all namespaces

Returns

HandlerRecord<unknown, Record<string, unknown>>[]


clearCache()

clearCache(): void

Clear all cached data

Returns

void


ensureRoute()

ensureRoute(namespace, route): Promise<void>

Ensure a route's manifest is loaded

Parameters

ParameterType
namespacestring
routestring

Returns

Promise<void>


getByType()

getByType(type): Record<string, 
  | HandlerRecord<unknown, Record<string, unknown>>
| HandlerRecord<unknown, Record<string, unknown>>[]>

Get handlers by type string (e.g., 'discord:commands')

Parameters

ParameterType
typestring

Returns

Record<string, | HandlerRecord<unknown, Record<string, unknown>> | HandlerRecord<unknown, Record<string, unknown>>[]>


getController()

getController<C>(
   namespace, 
   route, 
   key): C

Get controller for a handler

Type Parameters

Type ParameterDefault type
Cunknown

Parameters

ParameterType
namespacestring
routestring
keystring

Returns

C


getHandler()

getHandler<T>(
   namespace, 
   route, 
key): Promise<HandlerModule<T, Record<string, unknown>>>

Get handler with auto-import

Type Parameters

Type ParameterDefault type
Tunknown

Parameters

ParameterType
namespacestring
routestring
keystring

Returns

Promise<HandlerModule<T, Record<string, unknown>>>


getRecord()

getRecord(
   namespace, 
   route, 
key): HandlerRecord<unknown, Record<string, unknown>>

Get record without importing

Parameters

ParameterType
namespacestring
routestring
keystring

Returns

HandlerRecord<unknown, Record<string, unknown>>


importHandler()

importHandler(
   namespace, 
   route, 
key): Promise<void>

Import a handler lazily

Parameters

ParameterType
namespacestring
routestring
keystring

Returns

Promise<void>


module()

module(name): ModuleController

Get a module controller for cross-cutting enable/disable

Parameters

ParameterType
namestring

Returns

ModuleController


registerController()

registerController(
   namespace, 
   routeName, 
   factory): void

Register a controller factory

Parameters

ParameterType
namespacestring
routeNamestring
factoryControllerFactory<unknown>

Returns

void


registerNamespace()

registerNamespace(namespace, routes): void

Register a namespace with its route names

Parameters

ParameterType
namespacestring
routesstring[]

Returns

void


registerPluginState()

registerPluginState(namespace, state): void

Register plugin state for controller context

Parameters

ParameterType
namespacestring
stateunknown

Returns

void


registerRoute()

registerRoute(
   namespace, 
   routeName, 
   handlers): void

Register a route's handlers

Parameters

ParameterType
namespacestring
routeNamestring
handlersRecord<string, | HandlerRecord<unknown, Record<string, unknown>> | HandlerRecord<unknown, Record<string, unknown>>[]>

Returns

void


reloadHandler()

reloadHandler(
   namespace, 
   route, 
key): Promise<void>

Reload a handler (for HMR)

Parameters

ParameterType
namespacestring
routestring
keystring

Returns

Promise<void>


reloadRoute()

reloadRoute(namespace, route): Promise<void>

Reload all handlers in a route (for HMR)

Parameters

ParameterType
namespacestring
routestring

Returns

Promise<void>

On this page