From b6970e78da868ea5c9f49368e88401d5b4cae765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claud=C3=A9ric=20Demers?= Date: Thu, 9 Jun 2022 13:56:58 -0400 Subject: [PATCH] Add `Active` and `Over` in `hasSortableData` type guard --- .changeset/sortable-type-guard.md | 5 +++++ packages/sortable/src/types/type-guard.ts | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 .changeset/sortable-type-guard.md diff --git a/.changeset/sortable-type-guard.md b/.changeset/sortable-type-guard.md new file mode 100644 index 00000000..9a3fc4de --- /dev/null +++ b/.changeset/sortable-type-guard.md @@ -0,0 +1,5 @@ +--- +'@dnd-kit/sortable': patch +--- + +The `hasSortableData` type-guard that is exported by @dnd-kit/sortable has been updated to also accept the `Active` and `Over` interfaces so it can be used in events such as `onDragStart`, `onDragOver`, and `onDragEnd`. diff --git a/packages/sortable/src/types/type-guard.ts b/packages/sortable/src/types/type-guard.ts index f010434f..9352a18a 100644 --- a/packages/sortable/src/types/type-guard.ts +++ b/packages/sortable/src/types/type-guard.ts @@ -1,8 +1,16 @@ -import type {Data, DroppableContainer, DraggableNode} from '@dnd-kit/core'; +import type { + Active, + Data, + DroppableContainer, + DraggableNode, + Over, +} from '@dnd-kit/core'; import type {SortableData} from './data'; -export function hasSortableData( +export function hasSortableData< + T extends Active | Over | DraggableNode | DroppableContainer +>( entry: T | null | undefined ): entry is T & {data: {current: Data}} { if (!entry) {