https://github.com/icebob/moleculer-sidecar-hemera
Moleculer <-> Hemera sidecar/gateway
https://github.com/icebob/moleculer-sidecar-hemera
hemera microservices moleculer sidecar
Last synced: about 1 year 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 (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-29T19:24:25.000Z (about 8 years ago)
- Last Synced: 2025-02-03T23:34:59.760Z (over 1 year 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)