Datasourceforcryptocurrency-4
/
node_modules
/fast-check
/lib
/check
/arbitrary
/definition
/Value.js
| ; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.Value = void 0; | |
| const symbols_1 = require("../../symbols"); | |
| const safeObjectDefineProperty = Object.defineProperty; | |
| class Value { | |
| constructor(value_, context, customGetValue = undefined) { | |
| this.value_ = value_; | |
| this.context = context; | |
| this.hasToBeCloned = customGetValue !== undefined || (0, symbols_1.hasCloneMethod)(value_); | |
| this.readOnce = false; | |
| if (this.hasToBeCloned) { | |
| safeObjectDefineProperty(this, 'value', { get: customGetValue !== undefined ? customGetValue : this.getValue }); | |
| } | |
| else { | |
| this.value = value_; | |
| } | |
| } | |
| getValue() { | |
| if (this.hasToBeCloned) { | |
| if (!this.readOnce) { | |
| this.readOnce = true; | |
| return this.value_; | |
| } | |
| return this.value_[symbols_1.cloneMethod](); | |
| } | |
| return this.value_; | |
| } | |
| } | |
| exports.Value = Value; | |