mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 22:04:26 +00:00

PR-URL: https://github.com/nodejs/node/pull/12480 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
20 lines
532 B
JavaScript
20 lines
532 B
JavaScript
"use strict"
|
|
|
|
function addLazyProperty(object, name, initializer, enumerable) {
|
|
Object.defineProperty(object, name, {
|
|
get: function() {
|
|
var v = initializer.call(this)
|
|
Object.defineProperty(this, name, { value: v, enumerable: !!enumerable, writable: true })
|
|
return v
|
|
},
|
|
set: function(v) {
|
|
Object.defineProperty(this, name, { value: v, enumerable: !!enumerable, writable: true })
|
|
return v
|
|
},
|
|
enumerable: !!enumerable,
|
|
configurable: true
|
|
})
|
|
}
|
|
|
|
module.exports = addLazyProperty
|