Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fakie

MOCK API MADE EASY Simple server or fetch mock up API powered by faker.js and express.

npm i -S fakie
  • Need a mock API with random content? templates
  • Wanna use it as a standalone server? FakieServer
  • Wanna use it as a router in express? createRouter
  • Wanna use it as a fetch mock up directly in the client? FakieClient

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())
  );

About

fake API's made easy

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages