35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
import { app } from "../../scripts/app.js";
|
|
|
|
var initialized = false;
|
|
|
|
app.registerExtension({
|
|
name:"quadmoonsNodes.clipTextEncoder",
|
|
nodeCreated(node)
|
|
{
|
|
for (const w of node.widgets || []) {
|
|
let widgetValue = w.value;
|
|
|
|
// Store the original descriptor if it exists
|
|
let originalDescriptor = Object.getOwnPropertyDescriptor(w, 'value');
|
|
Object.defineProperty(w, 'value', {
|
|
get() {
|
|
// If there's an original getter, use it. Otherwise, return widgetValue.
|
|
let valueToReturn = originalDescriptor && originalDescriptor.get
|
|
? originalDescriptor.get.call(w)
|
|
: widgetValue;
|
|
|
|
return valueToReturn;
|
|
},
|
|
set(newVal) {
|
|
// If there's an original setter, use it. Otherwise, set widgetValue.
|
|
if (originalDescriptor && originalDescriptor.set) {
|
|
originalDescriptor.set.call(w, newVal);
|
|
} else {
|
|
widgetValue = newVal;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
setTimeout(() => { initialized = true; }, 500);
|
|
}
|
|
}); |