0.0.12 • Published 7 years ago

cham v0.0.12

Weekly downloads
3
License
Apache-2.0
Repository
github
Last release
7 years ago

NPM

cham

cham is a presentation and transformation layer for complex REST APIs build in JS. It's inspirated by Fractal.

Installation

Via NPM:

npm i --save cham

Via Yarn:

yarn add cham

Usage

Creating transformers

import { TransformerAbstract } from 'cham'
import CommentTransformer from './CommentTransformer'

export default class UserTransformer extends TransformerAbstract {
  includes = [
    'comments',
  ]

  transform(object) {
    return {
      name: object.name,
      fullName: `${object.name} ${object.lastName}`
    }
  }

  includeComments(object) {
    return this.collection(object.comments, new CommentTransformer);
  }
}

Transform

import { Manager, Resource } from 'cham'
import UserTransformer from './Transformers/UserTransformer'

var manager = new Manager()

var users = new Resource.Collection(usersFromDB, new UserTransformer)

// Transformed users ready for API output
manager.createData(users)
0.0.12

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago