From 1dff3a17642a9505a626499b5eedbedd40c9f029 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sat, 3 Feb 2024 17:36:17 +0100 Subject: [PATCH] chore(changeset): add --- .changeset/old-jokes-raise.md | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .changeset/old-jokes-raise.md diff --git a/.changeset/old-jokes-raise.md b/.changeset/old-jokes-raise.md new file mode 100644 index 00000000..8c3f29c4 --- /dev/null +++ b/.changeset/old-jokes-raise.md @@ -0,0 +1,46 @@ +--- +"@vue-flow/core": minor +--- + +Add `useNodesData` composable + +## 🧙 Example + +### Single node id + +```ts +const nodeId = '1' + +const data = useNodesData(nodeId) + +console.log(data.value) // '[{ /* ... */ }] +``` + +### Array of node ids +```ts +const nodeIds = ['1', '2', '3'] + +const data = useNodesData(nodeIds) + +console.log(data.value) // '[{ /* ... */ }] +``` + +### Asserting data type +```ts +import type { Node } from '@vue-flow/core' + +interface Data { + foo: string; + bar: string; +} + +type MyNode = Node + +const nodeId = '1' + +const data = useNodesData([nodeId], (node): node is MyNode => { + return 'foo' in node.data && 'bar' in node.data +}) + +console.log(data.value) // '[{ /* foo: string; bar: string */ }] +```