foop
Version:
interfaces that describe their intentions.
34 lines (32 loc) • 2.38 kB
JavaScript
var ObjectAssign = require('./assign')
/**
* @desc default to configurable and enumerable, unless configured otherwise
* @since 4.0.0
* @memberOf util
*
* @param {Object} obj object to define on
* @param {Primitive} name property name to define
* @param {Object} descriptor object descriptor
* @return {void}
*
* @tutorial https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
*
* @example
*
* var desc = Object.getOwnPropertyDescriptor(obj, 'eh', {get: () => console.log('eh')})
*
*/
module.exports = function(obj, name, descriptor) {
Object.defineProperty(
obj,
name,
ObjectAssign(
{
configurable: true,
enumerable: true,
},
descriptor
)
)
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLmpzIiwic291cmNlcyI6WyJkZWZpbmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgT2JqZWN0QXNzaWduID0gcmVxdWlyZSgnLi9hc3NpZ24nKVxuXG4vKipcbiAqIEBkZXNjIGRlZmF1bHQgdG8gY29uZmlndXJhYmxlIGFuZCBlbnVtZXJhYmxlLCB1bmxlc3MgY29uZmlndXJlZCBvdGhlcndpc2VcbiAqIEBzaW5jZSA0LjAuMFxuICogQG1lbWJlck9mIHV0aWxcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIG9iamVjdCB0byBkZWZpbmUgb25cbiAqIEBwYXJhbSB7UHJpbWl0aXZlfSBuYW1lIHByb3BlcnR5IG5hbWUgdG8gZGVmaW5lXG4gKiBAcGFyYW0ge09iamVjdH0gZGVzY3JpcHRvciBvYmplY3QgZGVzY3JpcHRvclxuICogQHJldHVybiB7dm9pZH1cbiAqXG4gKiBAdHV0b3JpYWwgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2RlZmluZVByb3BlcnR5XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAnZWgnLCB7Z2V0OiAoKSA9PiBjb25zb2xlLmxvZygnZWgnKX0pXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG9iaiwgbmFtZSwgZGVzY3JpcHRvcikge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gICAgb2JqLFxuICAgIG5hbWUsXG4gICAgT2JqZWN0QXNzaWduKFxuICAgICAge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRvclxuICAgIClcbiAgKVxufVxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJ4QyxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7RUFDL0MsTUFBTSxDQUFDLGNBQWM7SUFDbkIsR0FBRztJQUNILElBQUk7SUFDSixZQUFZO01BQ1Y7UUFDRSxZQUFZLEVBQUUsSUFBSTtRQUNsQixVQUFVLEVBQUUsSUFBSTtPQUNqQjtNQUNELFVBQVU7S0FDWDtHQUNGO0NBQ0Y7In0=