0.1.1 • Published 5 years ago

d-transformer v0.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

Quick start

Transformer is an express middleware to unify response. In order to use the middleware, just use the middleware before routes

 
 const transformer = require('transformer').middleware;

 // some others middlewares...

 app.use(transformer);

 // some routes....

and then to use it, first you need a create a transformer.

this is user-client.transformer.js

  const AbstractTransformer = require('transformer').AbstractTransformer;
  const Client = require('path/to/client.model');
  const User = require('path/to/user.model');
  
  class UserClientTransformer extends AbstractTransformer {
  
      constructor() {
          super(null);
          this.availableIncludes = ['client'];
      }
  
      transform([user,client]) {
          return {
              name: `My name is ${user.name}`,
          }
      }
  
      async includeClient([auth,client]) {
          return {
              client: client.clientId,
          };
      }
  }
  
  module.exports = UserClientTransformer;

Then on the controller or route:

  
  app.get('/test', function(req, res) {
     res.transformer.item([myuser, myclient], new UserClientTransformer()).dispatch();
  });