UNPKG

light-ning

Version:

(ALPHA) framework without dependecies...

101 lines (74 loc) 3.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseController = exports.Response = exports.Router = undefined; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _Router = require('./Router'); var _Router2 = _interopRequireDefault(_Router); var _Response = require('./Response'); var _Response2 = _interopRequireDefault(_Response); var _Controller = require('./Controller'); var _Controller2 = _interopRequireDefault(_Controller); var _http = require('http'); var _http2 = _interopRequireDefault(_http); var _logger = require('./logger'); var _logger2 = _interopRequireDefault(_logger); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } exports.Router = _Router2.default; exports.Response = _Response2.default; exports.BaseController = _Controller2.default; var App = function () { function App() { _classCallCheck(this, App); this.port = 6060; this.prefix = ''; this.portMessage = true; } _createClass(App, [{ key: 'run', value: function run() { var controllers = void 0; var base = this.base = process.cwd() + '/' + this.prefix; controllers = base + '/controllers'; try { require(base + '/routes/index.js'); } catch (e) { throw new Error('cannot find ' + base + '/routes, or routes contains fatal error'); } try { this.config = require(base + '/config'); if (this.config) this.port = this.config.port; } catch (e) { console.warn('Config file not found. If you want to use light-ning preferences, create config beside file where are you use "app.run()".'); } _Router2.default.setControllersPath(controllers); _Router2.default.setGuardian(this.guardian); if (this.portMessage) { this.portMessage = false; console.info(''); console.info('PORT: ' + this.port); console.info(''); } return _http2.default.createServer(function (req, res) { (0, _logger2.default)(req, res); res.setHeader('Content-Type', 'application/json'); _Router2.default.route(req, res); }).listen(this.port); } }, { key: 'set', value: function set(key, val) { this[key] = val; } }, { key: 'get', value: function get(key) { if (this[key]) return this[key];else return undefined; } }]); return App; }(); App.displayName = 'App'; exports.default = new App();