我有一个将存储数据的对象.我有一个UserPrompt
个类型、 node 和边的对象(来自Reactflow库).
我希望UserPrompt
类型的node_id只接受已经存在于我的‘Nodes’对象中的id.这可以在Typescript 中完成吗?
例如:
如果在我的nodes
对象中只有一个id:5的 node ,UserPrompt
将不接受3.
代码:
'use client';
import { Edge, Node, NodeProps, useEdges, useNodes } from 'reactflow';
import { Button } from './ui/button';
type UserPrompt = {
id: number;
text: string;
node_id: NodeProps['id'];
};
type SessionObject = {
nodes: Node<unknown>[];
edges?: Edge<unknown>[];
prompts?: UserPrompt[];
};
export default function SaveSessionButton() {
//TODO: save nodes, edges, user's prompts!
//TODO: don't save single chat node.
const nodes = useNodes();
const edges = useEdges();
function handleOnClick() {
const obj: SessionObject = {} as SessionObject;
obj['nodes'] = nodes;
obj['edges'] = edges;
console.log(obj);
}
return <Button onClick={handleOnClick}>Save session</Button>;
}