tiptap/packages/core/src/helpers/findParentNode.ts
bdbch d70e8a70b6
refactor(core): add jsdocs for utility functions (#5141)
* refactor(core): add jsdocs to utilitiy functions

* refactor(core): add jsdocs to more utility functions
2024-05-13 18:28:53 +02:00

17 lines
638 B
TypeScript

import { Selection } from '@tiptap/pm/state'
import { Predicate } from '../types.js'
import { findParentNodeClosestToPos } from './findParentNodeClosestToPos.js'
/**
* Finds the closest parent node to the current selection that matches a predicate.
* @param predicate The predicate to match
* @returns A command that finds the closest parent node to the current selection that matches the predicate
* @example ```js
* findParentNode(node => node.type.name === 'paragraph')
* ```
*/
export function findParentNode(predicate: Predicate) {
return (selection: Selection) => findParentNodeClosestToPos(selection.$from, predicate)
}