bitcoinjs-lib/src/payments/lazy.js
2019-03-07 12:33:47 +09:00

32 lines
788 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function prop(object, name, f) {
Object.defineProperty(object, name, {
configurable: true,
enumerable: true,
get() {
const _value = f.call(this);
this[name] = _value;
return _value;
},
set(_value) {
Object.defineProperty(this, name, {
configurable: true,
enumerable: true,
value: _value,
writable: true,
});
},
});
}
exports.prop = prop;
function value(f) {
let _value;
return () => {
if (_value !== undefined)
return _value;
_value = f();
return _value;
};
}
exports.value = value;