fakie
v1.1.0
Published
mock api made easy
Downloads
11
Maintainers
Readme
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())
);