0.16.0 • Published 7 months ago
anatomic v0.16.0
anatomic
A (very) minimal dependency injection library.
This is a fork of systemic, with changes for enhanced minimalism.
tl;dr
Define the system
// system.js
const System = require('anatomic');
const config = require('./components/config');
const logger = require('./components/logger');
const postgres = require('./components/postgres');
module.exports = () => System({
config: { init: config() },
logger: { init: logger(), dependsOn: 'config' },
postgres: {
primary: { init: postgres(), dependsOn: ['config', 'logger'] },
secondary: { init: postgres(), dependsOn: ['config', 'logger']}
}
});
Run the system
const System = require('./system');
const events = { SIGTERM: 0, SIGINT: 0, unhandledRejection: 1, error: 1 };
async function main() {
const system = System();
const { config, postgres, logger } = await system.start();
console.log('System has started. Press CTRL+C to stop');
Object.keys(events).forEach((name) => {
process.on(name, async () => {
await system.stop();
console.log('System has stopped');
process.exit(events[name]);
});
});
}
main();
0.15.0
8 months ago
0.16.0
7 months ago
0.14.0
8 months ago
0.12.0
8 months ago
0.13.0
8 months ago
0.13.1
8 months ago
0.11.1
9 months ago
0.10.0
10 months ago
0.11.0
10 months ago
0.10.1
10 months ago
0.9.0
10 months ago
0.7.2
10 months ago
0.8.0
10 months ago
0.7.1
10 months ago
0.5.0
10 months ago
0.7.0
10 months ago
0.6.0
10 months ago
0.3.0
2 years ago
0.4.0
2 years ago
0.2.0
3 years ago
0.1.0
3 years ago
0.0.0
3 years ago