# Class PlatformBuilder
Class platformModule | import { PlatformBuilder } from "@tsed/common" |
---|---|
Source | /packages/platform/common/src/types/builder/PlatformBuilder.ts |
# Overview
class PlatformBuilder<App = TsED.Application> {
#private;
static adapter: Type<PlatformAdapter<any>>;
readonly name: string;
protected startedAt: Date;
protected current: Date;
protected constructor(adapter: Type<PlatformAdapter<App>> | undefined, module: Type, settings: Partial<TsED.Configuration>);
get injector(): InjectorService;
get rootModule(): any;
get app(): PlatformApplication<App>;
get platform(): Platform;
get adapter(): PlatformAdapter<App>;
get <span class="token function">settings</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">import</span><span class="token punctuation">(</span>"@tsed/di"<span class="token punctuation">)</span>.<a href="/api/di/types/common/services/DIConfiguration.html"><span class="token">DIConfiguration</span></a><span class="token punctuation">;</span>
get <span class="token function">logger</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">import</span><span class="token punctuation">(</span>"@tsed/di"<span class="token punctuation">)</span>.<a href="/api/di/types/common/interfaces/DILogger.html"><span class="token">DILogger</span></a><span class="token punctuation">;</span>
get <span class="token function">disableBootstrapLog</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
<span class="token keyword">static</span> create<App<span class="token punctuation"> = </span>TsED.Application><span class="token punctuation">(</span>module<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">,</span> settings<span class="token punctuation">:</span> <a href="/api/platform/common/types/services/PlatformBuilderSettings.html"><span class="token">PlatformBuilderSettings</span></a><App><span class="token punctuation">)</span><span class="token punctuation">:</span> PlatformBuilder<App><span class="token punctuation">;</span>
<span class="token keyword">static</span> build<App<span class="token punctuation"> = </span>TsED.Application><span class="token punctuation">(</span>module<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">,</span> <span class="token punctuation">{</span> adapter<span class="token punctuation">,</span> ...settings <span class="token punctuation">}</span><span class="token punctuation">:</span> <a href="/api/platform/common/types/services/PlatformBuilderSettings.html"><span class="token">PlatformBuilderSettings</span></a><App><span class="token punctuation">)</span><span class="token punctuation">:</span> PlatformBuilder<App><span class="token punctuation">;</span>
<span class="token keyword">static</span> bootstrap<App<span class="token punctuation"> = </span>TsED.Application><span class="token punctuation">(</span>module<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">,</span> settings<span class="token punctuation">:</span> <a href="/api/platform/common/types/services/PlatformBuilderSettings.html"><span class="token">PlatformBuilderSettings</span></a><App><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<PlatformBuilder<App>><span class="token punctuation">;</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token punctuation">(</span>req<span class="token punctuation">:</span> IncomingMessage<span class="token punctuation">,</span> res<span class="token punctuation">:</span> ServerResponse<span class="token punctuation">)</span> => <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token function">callback</span><span class="token punctuation">(</span>req<span class="token punctuation">:</span> IncomingMessage<span class="token punctuation">,</span> res<span class="token punctuation">:</span> ServerResponse<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token function">log</span><span class="token punctuation">(</span>...data<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
<span class="token function">addComponents</span><span class="token punctuation">(</span>classes<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a> | <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>
<span class="token function">addControllers</span><span class="token punctuation">(</span>endpoint<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> controllers<span class="token punctuation">:</span> <a href="/api/di/types/common/interfaces/TokenProvider.html"><span class="token">TokenProvider</span></a> | <a href="/api/di/types/common/interfaces/TokenProvider.html"><span class="token">TokenProvider</span></a><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token function">runLifecycle</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<this><span class="token punctuation">;</span>
<span class="token function">loadInjector</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token function">listen</span><span class="token punctuation">(</span>network?<span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token function">stop</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token function">ready</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token function">callHook</span><span class="token punctuation">(</span>hook<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> ...args<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token function">loadStatics</span><span class="token punctuation">(</span>hook<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token function">useProvider</span><span class="token punctuation">(</span>token<span class="token punctuation">:</span> <a href="/api/core/types/domain/Type.html"><span class="token">Type</span></a><<span class="token keyword">any</span>><span class="token punctuation">,</span> settings?<span class="token punctuation">:</span> <a href="/api/specs/schema/types/decorators/operations/Partial.html"><span class="token">Partial</span></a><<a href="/api/di/types/common/interfaces/ProviderOpts.html"><span class="token">ProviderOpts</span></a>><span class="token punctuation">)</span><span class="token punctuation">:</span> this<span class="token punctuation">;</span>
<span class="token function">bootstrap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<this><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">loadRoutes</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">mapRouters</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">diff</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">loadMiddlewaresFor</span><span class="token punctuation">(</span>hook<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">createHttpServers</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">listenServers</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">logRoutes</span><span class="token punctuation">(</span>layers<span class="token punctuation">:</span> <a href="/api/platform/platform-router/types/domain/PlatformLayer.html"><span class="token">PlatformLayer</span></a><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token keyword">protected</span> <span class="token function">mapTokenMiddlewares</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
}
# Members
#private;
static adapter: Type<PlatformAdapter<any>>;
readonly name: string;
protected startedAt: Date;
protected current: Date;
get injector(): InjectorService;
get rootModule(): any;
get app(): PlatformApplication<App>;
get platform(): Platform;
get adapter(): PlatformAdapter<App>;
get settings(): import("@tsed/di").DIConfiguration;
Return the settings configured by the decorator
@Configuration({
port: 8000,
httpsPort: 8080,
mount: {
"/rest": "${rootDir}/controllers/**/*.js"
}
})
export class Server {
$onInit(){
console.log(this.settings); // {rootDir, port, httpsPort,...}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
get logger(): import("@tsed/di").DILogger;
get disableBootstrapLog(): any;
static create<App = TsED.Application>(module: Type<any>, settings: PlatformBuilderSettings<App>): PlatformBuilder<App>;
static build<App = TsED.Application>(module: Type<any>, { adapter, ...settings }: PlatformBuilderSettings<App>): PlatformBuilder<App>;
static bootstrap<App = TsED.Application>(module: Type<any>, settings: PlatformBuilderSettings<App>): Promise<PlatformBuilder<App>>;
Bootstrap a server application
callback(): (req: IncomingMessage, res: ServerResponse) => void;
callback(req: IncomingMessage, res: ServerResponse): void;
log(...data: any[]): any;
addControllers(endpoint: string, controllers: TokenProvider | TokenProvider[]): void;
Add classes decorated by
# Example
@Controller('/ctrl')
class MyController{
}
platform.addControllers('/rest', [MyController])
1
2
3
4
5
2
3
4
5
TIP
If the MyController class isn't decorated, the class will be ignored.
:::
runLifecycle(): Promise<this>;
loadInjector(): Promise<void>;
listen(network?: boolean): Promise<void>;
stop(): Promise<void>;
ready(): Promise<void>;
callHook(hook: string, ...args: any[]): Promise<void>;
loadStatics(hook: string): void;
useProvider(token: Type<any>, settings?: Partial<ProviderOpts>): this;
bootstrap(): Promise<this>;
protected loadRoutes(): Promise<void>;
protected mapRouters(): Promise<void>;
protected diff(): string;
protected loadMiddlewaresFor(hook: string): void;
Load middlewares from configuration for the given hook
protected createHttpServers(): void;
protected listenServers(): Promise<void>;
protected logRoutes(layers: PlatformLayer[]): Promise<void>;
protected mapTokenMiddlewares(): Promise<void>;