diff --git a/public/litegraph.d.ts b/public/litegraph.d.ts index 7f3c74751f..eaa1f8191a 100644 --- a/public/litegraph.d.ts +++ b/public/litegraph.d.ts @@ -584,7 +584,7 @@ export declare class LGraph { /** Destroys a link */ removeLink(link_id: number): void; /** Creates a Object containing all the info about this graph, it can be serialized */ - serialize(): T; + serialize(option?: { sortNodes: boolean }): T; /** * Configure a graph from a JSON string * @param data configure a graph from a JSON string diff --git a/src/litegraph.js b/src/litegraph.js index 3b7b1904e7..b623a5936f 100755 --- a/src/litegraph.js +++ b/src/litegraph.js @@ -2042,9 +2042,13 @@ const globalExport = {}; * @method serialize * @return {Object} value of the node */ - serialize() { + serialize(option = { sortNodes: false }) { var nodes_info = []; - nodes_info = [...this._nodes].sort((a, b) => a.id - b.id).map(node => node.serialize()); + nodes_info = ( + option?.sortNodes ? + [...this._nodes].sort((a, b) => a.id - b.id) : + this._nodes + ).map(node => node.serialize()); //pack link info into a non-verbose format var links = [];