| 12345678910111213141516171819202122232425262728293031 | /*! * define-property <https://github.com/jonschlinkert/define-property> * * Copyright (c) 2015, Jon Schlinkert. * Licensed under the MIT License. */'use strict';var isDescriptor = require('is-descriptor');module.exports = function defineProperty(obj, prop, val) {  if (typeof obj !== 'object' && typeof obj !== 'function') {    throw new TypeError('expected an object or function.');  }  if (typeof prop !== 'string') {    throw new TypeError('expected `prop` to be a string.');  }  if (isDescriptor(val) && ('set' in val || 'get' in val)) {    return Object.defineProperty(obj, prop, val);  }  return Object.defineProperty(obj, prop, {    configurable: true,    enumerable: false,    writable: true,    value: val  });};
 |