fakie

mock api made easy

  • fakie

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
fakie
001.1.06 years ago6 years agoMinified + gzip package size for fakie in KB

Readme

fakie
MOCK API MADE EASY Simple server or fetch mock up API powered by faker.js and express.
npm i -S fakie

Templates

const { fakie } = require('fakie');

const getAllUsers = fakie({
  users: fakie.array(
    {
      name: 'userName',
      bday: 'past',
      loves: 'abbreviation'
    },
    3, // min entries, defaults to 5
    5, // max entries, defaults to 10
  ),
  id: 'uuid'
});

const getUser = fakie({
  // functions are called with the request object
  username: (request) => request.params.username,
  avatar: 'avatar',
  friends: fakie.array('userName')
});

FakieServer

const { FakieServer } = require('fakie');

const server = new FakieServer({
  // locale: localizes some of the values e.g. the names
  locale: 'de',
  // seed: number other than 0 - enforces to receive always the same results  !!! doesn't work with dates !!!
  seed: 11092323,
  routes: [
    {
      methods: ['GET'],
      path: '/users',
      // handler: template object or function
      handler: getAllUsers,
    },
    {
      methods: ['GET'],
      path: '/user/:username',
      // handler: template object or function
      handler: getUser,
    }
  ]
});

server.listen(/*port*/);

as router

const { FakieServer, FakieClient } = require('fakie');

// via createRouter
const routerA = FakieServer.createRouter(new FakieClient(/*config*/));
// via FakieServer instance
const routerB = new FakieServer(/*config*/).router;

FakieClient

const { FakieClient } = require('fakie');

const client = new FakieClient({
  host: 'http://localhost',
  routes: [
    {
      path: '/users',
      handler: getAllUsers,
    }
  ]
});

client.fetch('http://localhost/users', { method: 'GET' })
  .then(
    response =>
      console.log(response.json())
  );