gettosin4me / datran

NodeJS API Data Transformer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Datran

This library is inspired by the REST APIS Best practices & the Fractal library.

Use Case: API Response Formatter

** NOTE ** This is a work in Progress

Quick Example

const express = require('app')
const datran = require('datran')

let app = express()

app.get('/user', async function(req, res) {
  let resource = datran.item(await User.find(1))

  let data = await datran.create(resource, new UserTransformer()).toObject()

  res.status(200).json(data)
})
const { Transformer } = require('datran')

const UserTransformer = Transformer.create({
  transform(user) {
    return {
      id: user.get('_id'),
      full_name: user.get('fullName')
    }
  }
})

or

const { Transformer } = require('datran')

class UserTransformer extends Transformer {
  transform(user) {
    return {
      // formatted user data
    }
  }
}

Embedded Resources

TODO Docs

Resource Types

TODO Docs

Custom Data Serializer

TODO Docs

Custom Fields Parser

TODO Docs

About

NodeJS API Data Transformer


Languages

Language:JavaScript 100.0%