| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- /*!
 
-  * define-property <https://github.com/jonschlinkert/define-property>
 
-  *
 
-  * Copyright (c) 2015-2018, Jon Schlinkert.
 
-  * Released under the MIT License.
 
-  */
 
- 'use strict';
 
- var isobject = require('isobject');
 
- var isDescriptor = require('is-descriptor');
 
- var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty)
 
-   ? Reflect.defineProperty
 
-   : Object.defineProperty;
 
- module.exports = function defineProperty(obj, key, val) {
 
-   if (!isobject(obj) && typeof obj !== 'function' && !Array.isArray(obj)) {
 
-     throw new TypeError('expected an object, function, or array');
 
-   }
 
-   if (typeof key !== 'string') {
 
-     throw new TypeError('expected "key" to be a string');
 
-   }
 
-   if (isDescriptor(val)) {
 
-     define(obj, key, val);
 
-     return obj;
 
-   }
 
-   define(obj, key, {
 
-     configurable: true,
 
-     enumerable: false,
 
-     writable: true,
 
-     value: val
 
-   });
 
-   return obj;
 
- };
 
 
  |