diff --git a/src/LGraphNode.ts b/src/LGraphNode.ts index 3432d756e4..6b06901ee1 100644 --- a/src/LGraphNode.ts +++ b/src/LGraphNode.ts @@ -777,6 +777,7 @@ export class LGraphNode implements Positionable, IPinnable, IColorable { if (widgets && this.serialize_widgets) { o.widgets_values = [] for (const [i, widget] of widgets.entries()) { + if (widget.serialize === false) continue // @ts-expect-error #595 No-null o.widgets_values[i] = widget ? widget.value : null } diff --git a/src/types/widgets.ts b/src/types/widgets.ts index 0a9c36cd8c..669e71311a 100644 --- a/src/types/widgets.ts +++ b/src/types/widgets.ts @@ -150,6 +150,12 @@ export interface IBaseWidget { type: TWidgetType value?: TWidgetValue + /** + * Whether the widget value should be serialized on node serialization. + * @default true + */ + serialize?: boolean + /** * The computed height of the widget. Used by customized node resize logic. * See scripts/domWidget.ts for more details.