Skip to content

Commit 10f5074

Browse files
committed
refactor(core): omit internal properties when using toObject
Signed-off-by: braks <[email protected]>
1 parent c8325ec commit 10f5074

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

packages/core/src/store/actions.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -567,8 +567,28 @@ export function useActions(state: State, getters: ComputedGetters): Actions {
567567
// we have to stringify/parse so objects containing refs (like nodes and edges) can potentially be saved in a storage
568568
return JSON.parse(
569569
JSON.stringify({
570-
nodes: state.nodes,
571-
edges: state.edges,
570+
nodes: state.nodes.map((n) => {
571+
// omit internal properties when exporting
572+
const {
573+
computedPosition: _,
574+
handleBounds: __,
575+
selected: ___,
576+
dimensions: ____,
577+
isParent: _____,
578+
resizing: ______,
579+
dragging: _______,
580+
initialized: ________,
581+
...rest
582+
} = n
583+
584+
return rest
585+
}),
586+
edges: state.edges.map((e) => {
587+
// omit internal properties when exporting
588+
const { selected: _, sourceNode: __, targetNode: ___, ...rest } = e
589+
590+
return rest
591+
}),
572592
position: [state.viewport.x, state.viewport.y],
573593
zoom: state.viewport.zoom,
574594
} as FlowExportObject),

packages/core/src/types/flow.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ export enum SelectionMode {
9797
}
9898

9999
export interface FlowExportObject {
100-
nodes: GraphNode[]
101-
edges: GraphEdge[]
100+
nodes: Node[]
101+
edges: Edge[]
102102
position: [number, number]
103103
zoom: number
104104
}

0 commit comments

Comments
 (0)