| 12345678910111213141516171819202122 | import { $isAtNodeEnd } from '@lexical/selection'import type { ElementNode, RangeSelection, TextNode } from 'lexical'export function getSelectedNode(  selection: RangeSelection,): TextNode | ElementNode {  const anchor = selection.anchor  const focus = selection.focus  const anchorNode = selection.anchor.getNode()  const focusNode = selection.focus.getNode()  if (anchorNode === focusNode)    return anchorNode  const isBackward = selection.isBackward()  if (isBackward)    return $isAtNodeEnd(focus) ? anchorNode : focusNode  else    return $isAtNodeEnd(anchor) ? anchorNode : focusNode}export const urlRegExp = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/
 |