Build Status Coverage

@midgar/service

Système de services avec injection de dépendance pour Midgar

Installation

$ npm i @midgar/service

Si tout s'est bien passé, un message de confirmation s'affiche:

#midgar-cli
@midgar/service added to plugins.json !

Fonctionnement

Ce plugin ajoute un type de module midgar-service contenu dans le dossier ./services/.

Module service

Fonction:

export default {
  // Nom du service
  name: 'namespace:monService',

  // Le service s'initialiseras avant le service mid:express
  before: ['mid:express']

  // Service a injecter
  dependencies: [
    'mid:mongo'
  ],
  // Service
  service: (mid, mongoService) => {
    ....
    return service
  }
}

Class:

// Nom du service
const name = 'namespace:monService'

// Le service s'initialiseras avant le service mid:express
const before = ['mid:express']

// Service a injecter
const dependencies: [
    'mid:mongo'
  ]

// Service
class MyService {
  constructor(mid, mongoService) {}

  init () {
    ...
  }
}

export default {
  name
  before,
  dependencies,
  service: MyService,
}

La methode init est appelé automatique lors de la création de l'instance du service.

Get service

const serviceInstance = mid.getService('namespace:monService')

documentation Api.