1 | function _set(object, property, value, receiver) {
|
2 | var desc = Object.getOwnPropertyDescriptor(object, property);
|
3 |
|
4 | if (desc === undefined) {
|
5 | var parent = Object.getPrototypeOf(object);
|
6 |
|
7 | if (parent !== null) {
|
8 | _set(parent, property, value, receiver);
|
9 | }
|
10 | } else if ("value" in desc && desc.writable) {
|
11 | desc.value = value;
|
12 | } else {
|
13 | var setter = desc.set;
|
14 |
|
15 | if (setter !== undefined) {
|
16 | setter.call(receiver, value);
|
17 | }
|
18 | }
|
19 |
|
20 | return value;
|
21 | }
|
22 |
|
23 | module.exports = _set; |
\ | No newline at end of file |