Sha256: 145093316e7f0ad6ecf28adf47b8dbb7b61ed53bdc70ddc07a1c6c902dd4c436
Contents?: true
Size: 998 Bytes
Versions: 62
Compression:
Stored size: 998 Bytes
Contents
/* */ var $ = require('./$'), has = require('./$.has'), $def = require('./$.def'), createDesc = require('./$.property-desc'), anObject = require('./$.an-object'), isObject = require('./$.is-object'); function set(target, propertyKey, V) { var receiver = arguments.length < 4 ? target : arguments[3], ownDesc = $.getDesc(anObject(target), propertyKey), existingDescriptor, proto; if (!ownDesc) { if (isObject(proto = $.getProto(target))) { return set(proto, propertyKey, V, receiver); } ownDesc = createDesc(0); } if (has(ownDesc, 'value')) { if (ownDesc.writable === false || !isObject(receiver)) return false; existingDescriptor = $.getDesc(receiver, propertyKey) || createDesc(0); existingDescriptor.value = V; $.setDesc(receiver, propertyKey, existingDescriptor); return true; } return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); } $def($def.S, 'Reflect', {set: set});
Version data entries
62 entries across 31 versions & 1 rubygems