Shared components for Five Bells projects.
npm install five-bells-shared[npm-image]: https://img.shields.io/npm/v/five-bells-shared.svg?style=flat
[npm-url]: https://npmjs.org/package/five-bells-shared
[circle-image]: https://circleci.com/gh/interledgerjs/five-bells-shared.svg?style=shield
[circle-url]: https://circleci.com/gh/interledgerjs/five-bells-shared
[codecov-image]: https://codecov.io/gh/interledgerjs/five-bells-shared/branch/master/graph/badge.svg
[codecov-url]: https://codecov.io/gh/interledgerjs/five-bells-shared
> Shared module among Five Bells Node.js apps
`` sh`
npm install --save five-bells-shared
This module contains a schema validator.
The log service uses mag and a custom formatter to generate pretty logs like this:
Set up the logger somewhere in your top-level app:
` js
const hub = require('mag-hub')
const mag = require('mag')
const log = require('five-bells-shared/lib/log')
module.exports = log(mag, hub)
`
Then use it from anywhere using require('mag'):
` js
const log = require('mag')('transfers')
log.debug('very boring information')
log.info('somewhat useful information')
log.warn('sort of important information')
log.error('super-important information')
`
If you're using mag in a module which is npm linked, it will receive its own instance of mag and messages will not be formatted correctly. To solve this problem, you can install the mag module globally and link it in all of your local modules:
` sh`
sudo npm install -g mag
npm link mag # in each module directory
The log helper is useful in tests to mute the log output of tests and print it if the test fails.
` js
const logHelper = require('five-bells-shared/testHelpers/log');
describe('Transfers', function () {
logHelper();
// ...
});
``