Iniciando aplicação

let protonApp = new ProtonApplication();
protonApp
    .withDBConnector(new MyDBConnector())
    .addRouter(new TasksRouter())
    .addMiddleware(new TasksMiddleware())
    .start();

ou

let protonApp = new ProtonApplication();
protonApp
    .withDBConnectorAs(MyDBConnector)
    .addRouterAs(TasksRouter)
    .addMiddlewareAs(TasksMiddleware)
    .start();

Configurações do Start

Middlewares

Adiciona um middleware que atuará em todas as rotas da aplicação.

  • addMiddleware: Adiciona uma instância criada do middleware
let taskMiddleware = new TasksMiddleware();
taskMiddleware.setTaskName("MyTask");
taskMiddleware.setTaskOwner("Bob");

protonApp.addMiddleware(taskMiddleware);
  • addMiddlewareAs: Adiciona o tipo do middleware para ser instanciado pela aplicação
protonApp.addMiddlewareAs(TasksMiddleware);

Routers

Adiciona um Router para que a apicação configure e levante suas rotas.

  • addRouter: Adiciona uma instância criada do Router
protonApp.addRouter(new TasksRouter());
  • addRouterAs: Adiciona o tipo do Router para ser instanciado pela aplicação
protonApp.addRouterAs(TasksRouter);

Database Connectors

Opcional. Informa a aplicação qual módulo de conexão e manipulação de banco de dados usar. Caso não seja informado usará o DBConnector padrão. Ver DBConnectors

  • withDBConnector: Adiciona uma instância criada do DBConnector
protonApp.withDBConnector(new SequelizeDBConnector());
  • withDBConnectorAs: Adiciona o tipo do DBConnector para ser instanciado pela aplicação
protonApp.withDBConnectorAs(SequelizeDBConnector);

Start

O método protonApp.start() inicia a aplicação, suas rotas e middlewares configurados.

Exemplo de uso completo

https://github.com/protontype/protontype-sample