Spaces:
Sleeping
Sleeping
File size: 429 Bytes
d4f5807 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
export default function defineLazyProperty(object, propertyName, valueGetter) {
const define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true});
Object.defineProperty(object, propertyName, {
configurable: true,
enumerable: true,
get() {
const result = valueGetter();
define(result);
return result;
},
set(value) {
define(value);
}
});
return object;
}
|