0.30.6 • Published 4 years ago

marvelous v0.30.6

Weekly downloads
437
License
-
Repository
-
Last release
4 years ago

marvelous npm Build Status

the marvelous framework - microservices for node.js

microservices

Sample Application

Task Service

This RPC service reads/writes tasks for a to-do list:

Tip: this service is accessible via http://localhost:4000

class TaskService extends Service {
  calls = {
    createTask: CreateTaskCall,
    listTasks: ListTasksCall
  };
}

class CreateTaskCall extends ServiceCall {
  handler: ICreateTaskHandler = async request => {
    const task = {
      ...request,
      id: nextTaskId
    };
    tasks.push(task);
    nextTaskId++;
    return {
      id: task.id
    };
  };
}

class ListTasksCall extends ServiceCall {
  handler: IListTasksHandler = async () => {
    return {
      tasks: tasks.map((task: IListTasksResponseTask) => ({
        id: task.id,
        text: task.text
      }))
    };
  };
}

const taskService = new TaskService({
  url: 'http://localhost:4000'
});
taskService.start();

Public Gateway

This REST gateway exposes the Task Service functionality:

Tip: this service is accessible via http://localhost:3000

class PublicGateway extends Gateway {
  routes = [TasksRoute];
}

class TasksRoute extends GatewayRoute {
  uri = '/tasks';
  methods = {
    get: GetTasksMethod,
    post: PostTasksMethod
  };
}

class GetTasksMethod extends GatewayMethod {
  handler: any = async () => {
    const result = await taskServiceClient.listTasks();
    return {
      status: 200,
      body: result.tasks
    };
  };
}

class PostTasksMethod extends GatewayMethod {
  handler: any = async (req: Request) => {
    const result = await taskServiceClient.createTask({
      text: req.body.text
    });
    return {
      status: 201,
      body: {
        id: result.id
      }
    };
  };
}

const publicGateway = new PublicGateway({
  url: 'http://localhost:3000'
});
publicGateway.start();

API Reference

Gateway

Properties

GatewayError

Properties

GatewayMethod

Properties

GatewayRoute

Properties

Service

Properties

ServiceCall

Properties

ServiceError

Properties

0.30.6

4 years ago

0.30.5

4 years ago

0.30.4

4 years ago

0.30.3

4 years ago

0.30.2

4 years ago

0.30.1

4 years ago

0.30.0

4 years ago

0.29.0

4 years ago

0.28.0

4 years ago

0.27.0

4 years ago

0.26.0

4 years ago

0.25.0

4 years ago

0.24.2

4 years ago

0.24.1

4 years ago

0.24.0

4 years ago

0.23.0

5 years ago

0.22.10

5 years ago

0.22.9

5 years ago

0.22.8

5 years ago

0.22.7

5 years ago

0.22.6

5 years ago

0.22.5

5 years ago

0.22.4

5 years ago

0.22.3

5 years ago

0.22.2

5 years ago

0.22.1

5 years ago

0.22.0

5 years ago

0.21.1

5 years ago

0.21.0

5 years ago

0.20.0

5 years ago

0.19.0

5 years ago

0.18.0

5 years ago

0.17.6

5 years ago

0.17.5

5 years ago

0.17.4

5 years ago

0.17.3

5 years ago

0.17.2

5 years ago

0.17.1

5 years ago

0.17.0

5 years ago

0.16.0

5 years ago

0.15.0

5 years ago

0.14.3

5 years ago

0.14.2

5 years ago

0.14.1

5 years ago

0.14.0

5 years ago

0.13.1

5 years ago

0.13.0

5 years ago

0.12.2

5 years ago

0.12.1

5 years ago

0.12.0

5 years ago

0.11.3

5 years ago

0.11.2

5 years ago

0.11.1

5 years ago

0.10.9

5 years ago

0.10.8

5 years ago

0.10.7

5 years ago

0.10.6

5 years ago

0.10.5

5 years ago

0.10.4

5 years ago

0.10.2

5 years ago

0.10.1

5 years ago

0.10.0

5 years ago

0.9.8

5 years ago

0.9.7

5 years ago

0.9.6

5 years ago

0.9.5

5 years ago

0.9.4

5 years ago

0.9.3

5 years ago

0.9.1

5 years ago

0.9.0

5 years ago

0.8.4

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.8.1

5 years ago

0.8.0

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.8

5 years ago

0.6.7

5 years ago

0.6.6

5 years ago

0.6.5

5 years ago

0.6.4

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago