chain-able
Version:
interfaces that describe their intentions.
33 lines (31 loc) • 2.35 kB
JavaScript
var ObjectAssign = require('./util/assign')
/**
* @desc default to configurable and enumerable, unless configured otherwise
* @since 4.0.0
*
* @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLmpzIiwic291cmNlcyI6WyJkZWZpbmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgT2JqZWN0QXNzaWduID0gcmVxdWlyZSgnLi91dGlsL2Fzc2lnbicpXG5cbi8qKlxuICogQGRlc2MgZGVmYXVsdCB0byBjb25maWd1cmFibGUgYW5kIGVudW1lcmFibGUsIHVubGVzcyBjb25maWd1cmVkIG90aGVyd2lzZVxuICogQHNpbmNlIDQuMC4wXG4gKlxuICogQHBhcmFtICB7T2JqZWN0fSBvYmogb2JqZWN0IHRvIGRlZmluZSBvblxuICogQHBhcmFtICB7UHJpbWl0aXZlfSBuYW1lIHByb3BlcnR5IG5hbWUgdG8gZGVmaW5lXG4gKiBAcGFyYW0gIHtPYmplY3R9IGRlc2NyaXB0b3Igb2JqZWN0IGRlc2NyaXB0b3JcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKlxuICogQHR1dG9yaWFsIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL09iamVjdC9kZWZpbmVQcm9wZXJ0eVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgJ2VoJywge2dldDogKCkgPT4gY29uc29sZS5sb2coJ2VoJyl9KVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihvYmosIG5hbWUsIGRlc2NyaXB0b3IpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFxuICAgIG9iaixcbiAgICBuYW1lLFxuICAgIE9iamVjdEFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGRlc2NyaXB0b3JcbiAgICApXG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjb25zdCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0I3QyxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7RUFDL0MsTUFBTSxDQUFDLGNBQWM7SUFDbkIsR0FBRztJQUNILElBQUk7SUFDSixZQUFZO01BQ1Y7UUFDRSxZQUFZLEVBQUUsSUFBSTtRQUNsQixVQUFVLEVBQUUsSUFBSTtPQUNqQjtNQUNELFVBQVU7S0FDWDtHQUNGO0NBQ0Y7In0=