UNPKG

light-ning

Version:

(ALPHA) framework without dependecies...

53 lines (41 loc) 1.33 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _isArray = require('../array/isArray'); var _isArray2 = _interopRequireDefault(_isArray); var _isString = require('../string/isString'); var _isString2 = _interopRequireDefault(_isString); var _isObject = require('./isObject'); var _isObject2 = _interopRequireDefault(_isObject); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * * @name omit * @param data {object} * @param rules {string} or {array} * @returns {array} * * @example omit({ user: 'zxc', pass: 'secret' }, 'pass') // returns ['zxc'] * @example omit({ user: 'zxc', pass: 'secret' }, ['pass']) // returns ['zxc'] * * @description if element not found, omit returns @param data * @copyright Vladimir Sentiurin 2017 */ exports.default = function (data, rules) { if ((0, _isObject2.default)(data)) { var keys = Object.keys(data); if ((0, _isArray2.default)(rules)) { for (var i = 0; i < keys.length; i++) { rules.map(function (rule) { return delete data[rule]; }); } } else if ((0, _isString2.default)(rules)) { delete data[rules]; } return data; } else { throw new Error('first argument "' + data + '" must be object in omit function'); } };