https://github.com/icebob/moleculer-sidecar-hemera
Moleculer <-> Hemera sidecar/gateway
https://github.com/icebob/moleculer-sidecar-hemera
hemera microservices moleculer sidecar
Last synced: 7 months ago
JSON representation
Moleculer <-> Hemera sidecar/gateway
- Host: GitHub
- URL: https://github.com/icebob/moleculer-sidecar-hemera
- Owner: icebob
- License: mit
- Created: 2018-03-29T11:02:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-29T19:24:25.000Z (over 7 years ago)
- Last Synced: 2025-02-03T23:34:59.760Z (9 months ago)
- Topics: hemera, microservices, moleculer, sidecar
- Language: JavaScript
- Homepage: http://moleculer.services/
- Size: 75.2 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# moleculer-sidecar-hemera [](https://www.npmjs.com/package/moleculer-sidecar-hemera)
[Moleculer](http://moleculer.services/) <-> [Hemera](https://hemerajs.github.io/hemera/) sidecar/gateway.
## Features
- call Hemera service from Moleculer service
- call Moleculer service from Hemera service
- emit Moleculer event from Hemera service
- broadcast Moleculer event from Hemera service## Install
```
npm install moleculer-sidecar-hemera
```## Usage
### Moleculer side
**Call a Hemera service**
```js
broker.call("hemera.act", { topic: "math", cmd: "add", a: 5, b: 3 })
.then(res => broker.logger.info("Result: ", res))
.catch(err => broker.logger.error(err));```
### Hemera side
**Call a Moleculer service**
```js
hemera.act({
topic: "moleculer",
cmd: "call",
action: "greeter.welcome",
params: {
name: "John"
}
}).then(msg => hemera.log.info("Result: ", msg.data))
.catch(err => hemera.log.error(err));
```**Emit a Moleculer event**
```js
hemera.act({
topic: "moleculer",
cmd: "emit",
event: "user.created",
payload: {
id: 5,
name: "John"
}
// groups: []
}).catch(err => hemera.log.error(err));
```**Broadcast a Moleculer event**
```js
hemera.act({
topic: "moleculer",
cmd: "broadcast",
event: "user.created",
payload: {
id: 5,
name: "John"
}
// groups: []
}).catch(err => hemera.log.error(err));
```## Settings
| Property | Type | Default | Description |
| -------- | ---- | ------- | ----------- |
| `natsOptions` | `Object` | `undefined` | NATS `connect` options for Hemera. |
| `hemeraOptions` | `Object` | `{}` | Hemera constructor options. |## Test
```
$ npm test
```In development with watching
```
$ npm run ci
```## Contribution
Please send pull requests improving the usage and fixing bugs, improving documentation and providing better examples, or providing some testing, because these things are important.## License
The project is available under the [MIT license](https://tldrlegal.com/license/mit-license).## Contact
Copyright (c) 2018 MoleculerJS[](https://github.com/moleculerjs) [](https://twitter.com/Icebobcsi)