mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-30 18:33:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			852 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			852 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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
 | |
| }
 | |
| 
 | |
| // eslint-disable-next-line sonarjs/empty-string-repetition
 | |
| export const urlRegExp = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/
 | 
