light-ning
Version:
(ALPHA) framework without dependecies...
53 lines (41 loc) • 1.33 kB
JavaScript
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');
}
};
;