mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 10:53:02 +00:00 
			
		
		
		
	
		
			
	
	
		
			22 lines
		
	
	
		
			792 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			22 lines
		
	
	
		
			792 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 | ||
|  | } | ||
|  | 
 | ||
|  | export const urlRegExp = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/ |