| 1234567891011121314151617181920212223242526272829303132 | /*! * unset-value <https://github.com/jonschlinkert/unset-value> * * Copyright (c) 2015, 2017, Jon Schlinkert. * Released under the MIT License. */'use strict';var isObject = require('isobject');var has = require('has-value');module.exports = function unset(obj, prop) {  if (!isObject(obj)) {    throw new TypeError('expected an object.');  }  if (obj.hasOwnProperty(prop)) {    delete obj[prop];    return true;  }  if (has(obj, prop)) {    var segs = prop.split('.');    var last = segs.pop();    while (segs.length && segs[segs.length - 1].slice(-1) === '\\') {      last = segs.pop().slice(0, -1) + '.' + last;    }    while (segs.length) obj = obj[prop = segs.shift()];    return (delete obj[last]);  }  return true;};
 |