text: "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
  