time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

index.js (429B)


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