@methodus/server
Version:
Server components for @methodus workflow
73 lines (52 loc) • 2.23 kB
Markdown
### ConfiguredServer
This should be the base class for any methodus server instance.
> [!NOTE]
> An alert of type 'note' using global style 'callout'.
```typescript
import { ConfiguredServer } from '@methodus/server';
export class Xserver extends ConfiguredServer {
constructor() {
super(Xserver);
}
}
```
> ConfiguredServer can be decorated using
* [@ServerConfiguration](#serverconfiguration)
* [@PluginConfiguration](#pluginconfiguration)
* [@RouterConfiguration](#routerconfiguration)
* [@ClientConfiguration](#clientconfiguration)
* [@ModuleConfiguration](#moduleconfiguration)
### @ServerConfiguration
> Used to bind a server instance to the process. The server behaviour is all up to it.
```typescript
import { ServerConfiguration, RouterConfiguration, ConfiguredServer, BuiltInServers } from '@methodus/server';
import { DataController } from './controller';
```
### @PluginConfiguration
> Additional applications can be added to the initiated server instance and serve as plugins
```typescript
```
### RouterConfiguration
> Bind a Controller to a server *InBound* function
```typescript
import { ServerConfiguration, RouterConfiguration, ConfiguredServer, BuiltInServers } from '@methodus/server';
import { LocalController } from './controller';
```
### ClientConfiguration
> Bind a Controller to a server *OutBound* function
```typescript
import { ServerConfiguration, RouterConfiguration, ConfiguredServer, BuiltInServers } from '@methodus/server';
import { RemoteController } from './controller';
```
### ModuleConfiguration
> Bundle a group of servers, clients, routes and plugins in a single reusable module.
```typescript
import { ServerConfiguration, RouterConfiguration, ConfiguredServer, BuiltInServers } from '@methodus/server';
import { ModuleClass } from './moduleClass';
```