foop
Version:
interfaces that describe their intentions.
23 lines (21 loc) • 2.21 kB
JavaScript
var isObjNotNull = require('../is/objNotNull')
var isArray = require('../is/array')
var curry = require('./curry')
/**
* @desc removes from object or array using `.splice` or `delete`
* @name remove
* @since 5.0.0-beta.5
* @memberOf fp
* @curried 2
*
* @param {Object | Array | *} obj object
* @param {Primitive | *} key index/property/key to delete from obj
* @return {void} only deletes
*
* @TODO remove with index, or with value
*/
module.exports = curry(2, function removeFromArrayOrObj(obj, key) {
if (isArray(obj)) { obj.splice(key, 1) }
else if (isObjNotNull(obj)) { delete obj[key] }
})
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLmpzIiwic291cmNlcyI6WyJyZW1vdmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNPYmpOb3ROdWxsID0gcmVxdWlyZSgnLi4vaXMvb2JqTm90TnVsbCcpXG5jb25zdCBpc0FycmF5ID0gcmVxdWlyZSgnLi4vaXMvYXJyYXknKVxuY29uc3QgY3VycnkgPSByZXF1aXJlKCcuL2N1cnJ5JylcblxuLyoqXG4gKiBAZGVzYyByZW1vdmVzIGZyb20gb2JqZWN0IG9yIGFycmF5IHVzaW5nIGAuc3BsaWNlYCBvciBgZGVsZXRlYFxuICogQG5hbWUgcmVtb3ZlXG4gKiBAc2luY2UgNS4wLjAtYmV0YS41XG4gKiBAbWVtYmVyT2YgZnBcbiAqIEBjdXJyaWVkIDJcbiAqXG4gKiBAcGFyYW0ge09iamVjdCB8IEFycmF5IHwgKn0gb2JqIG9iamVjdFxuICogQHBhcmFtIHtQcmltaXRpdmUgfCAqfSBrZXkgaW5kZXgvcHJvcGVydHkva2V5IHRvIGRlbGV0ZSBmcm9tIG9ialxuICogQHJldHVybiB7dm9pZH0gb25seSBkZWxldGVzXG4gKlxuICogQFRPRE8gcmVtb3ZlIHdpdGggaW5kZXgsIG9yIHdpdGggdmFsdWVcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBjdXJyeSgyLCBmdW5jdGlvbiByZW1vdmVGcm9tQXJyYXlPck9iaihvYmosIGtleSkge1xuICBpZiAoaXNBcnJheShvYmopKSBvYmouc3BsaWNlKGtleSwgMSlcbiAgZWxzZSBpZiAoaXNPYmpOb3ROdWxsKG9iaikpIGRlbGV0ZSBvYmpba2V5XVxufSlcbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0FBQ2hEQSxHQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDdENBLEdBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBZWhDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDaEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBQSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQTtPQUMvQixJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFBLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFBO0NBQzVDLENBQUM7In0=