zmvc-server
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

zmvc-server

Installation

npm install zmvc-server

Basic Usage

const zmvc = require('zmvc-server');

// instantiate server and get MVC object
const server = new zmvc.ZMVCServer();
const mvc = server.mvc;

// create model with promise-based handler
// should return a promise with data
// data can be an output from database or any other API
mvc.model.add('model1', {
    handler: (req) => {
        return Promise.resolve([
            { info: 'someinfo1' },
            { info: 'someinfo2' },
        ]);
    }
});

// create view with data handler
// should return a array or object of data
// data will be the output of model
mvc.view.add('view1', {
    handler: (data, req) => {
        return data.map(value => {
            return value.info;
        });
    }
})

// create controller with route=/info
// and gather data from model1 and serializer from view1
mvc.controller.get('/info', 'model1', 'view1');

// add route with midleware
const ctrl = mvc.controller.get('/mid', 'model1');
ctrl.middlewares.add({
    handler: (req, res, next) => {
        const param = req.query ? req.query['param'] : false;
        if (param) {
            next();
        } else {
            res.sendJSON(404, 'param not found');
        }
    }
});

// start server on port 3000
server.listen(3000, (err) => {
    if (err) {
        console.log('Error: ', err);
    } else {
        console.log('Server started on ', 'http://localhost:3000');
    }
});

Readme

Keywords

Package Sidebar

Install

npm i zmvc-server

Weekly Downloads

1

Version

0.0.2

License

MIT

Unpacked Size

46.3 kB

Total Files

18

Last publish

Collaborators

  • deberson.paula