UNPKG

light-ning

Version:

(ALPHA) framework without dependecies...

70 lines (55 loc) 2.22 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = 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 _lib = require('./lib'); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Controller = function () { function Controller() { _classCallCheck(this, Controller); this.filterMode = 'omit'; } _createClass(Controller, [{ key: 'bindMethods', value: function bindMethods(array) { var _this = this; array.map(function (method) { _this[method] = _this['can'].bind(_this); }); } }, { key: 'filtrate', value: function filtrate(target) { if (!target) return false; if (!(0, _lib.isObject)(target)) { throw new Error('method "filtrate" in "BaseController" gets only object'); } var filter = this.filter, filterMode = this.filterMode; if (!filter) return target; switch (filterMode) { case 'omit': if (target.length > 0) { return target.map(function (target) { return (0, _lib.omit)(target, filter); }); } else { return (0, _lib.omit)(target, filter); } case 'pick': if (target.length > 0) { return target.map(function (target) { return (0, _lib.pick)(target, filter); }); } else { return (0, _lib.pick)(target, filter); } } } }]); return Controller; }(); Controller.displayName = 'Controller'; exports.default = Controller;