12345678910111213141516171819 |
- 'use strict';
- module.exports = (object, propertyName, fn) => {
- const define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true});
- Object.defineProperty(object, propertyName, {
- configurable: true,
- enumerable: true,
- get() {
- const result = fn();
- define(result);
- return result;
- },
- set(value) {
- define(value);
- }
- });
- return object;
- };
|