Initial commit

This commit is contained in:
Brian McGonagill 2026-03-18 09:02:21 -05:00
commit b3a51a4115
10336 changed files with 2381973 additions and 0 deletions

View file

@ -0,0 +1,26 @@
import { cloneMethod, hasCloneMethod } from '../../symbols.js';
const safeObjectDefineProperty = Object.defineProperty;
export class Value {
constructor(value_, context, customGetValue = undefined) {
this.value_ = value_;
this.context = context;
this.hasToBeCloned = customGetValue !== undefined || 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_[cloneMethod]();
}
return this.value_;
}
}