All files / src/utils SaveLoad.ts

0% Statements 0/2
100% Branches 0/0
0% Functions 0/1
0% Lines 0/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19                                     
import {type Edge, type Node } from "@xyflow/react";
 
export type SavedProject = {
  name: string;
  savedASavedProject: string; // ISO timestamp
  nodes: Node[];
  edges: Edge[];
};
 
// Creates a JSON Blob containing the current visual program (nodes + edges)
export function makeProjectBlob(name: string, nodes: Node[], edges: Edge[]): Blob {
  const payload = {
    name,
    savedAt: new Date().toISOString(),
    nodes,
    edges,
  };
  return new Blob([JSON.stringify(payload, null, 2)], { type: "application/json" });
}