"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AsyncLazy = exports.Lazy = void 0;
var Lazy = /** @class */ (function () {
    function Lazy(value) {
        this.value = value;
    }
    Lazy.prototype.getValue = function () {
        if (!this._value) {
            this._value = this.value();
        }
        return this._value;
    };
    return Lazy;
}());
exports.Lazy = Lazy;
var AsyncLazy = /** @class */ (function () {
    function AsyncLazy(value) {
        this.value = value;
    }
    AsyncLazy.prototype.getValueAsync = function () {
        if (!this._value) {
            this._value = this.value();
        }
        return this._value;
    };
    return AsyncLazy;
}());
exports.AsyncLazy = AsyncLazy;
//# sourceMappingURL=lazy.js.map