mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			31 lines
		
	
	
		
			815 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			815 B
		
	
	
	
		
			TypeScript
		
	
	
| import { exists, isArray } from './misc.js'
 | |
| import { FollowState } from '@peertube/peertube-models'
 | |
| 
 | |
| function isFollowStateValid (value: FollowState) {
 | |
|   if (!exists(value)) return false
 | |
| 
 | |
|   return value === 'pending' || value === 'accepted' || value === 'rejected'
 | |
| }
 | |
| 
 | |
| function isRemoteHandleValid (value: string) {
 | |
|   if (!exists(value)) return false
 | |
|   if (typeof value !== 'string') return false
 | |
| 
 | |
|   return value.includes('@')
 | |
| }
 | |
| 
 | |
| function isEachUniqueHandleValid (handles: string[]) {
 | |
|   return isArray(handles) &&
 | |
|     handles.every(handle => {
 | |
|       return isRemoteHandleValid(handle) && handles.indexOf(handle) === handles.lastIndexOf(handle)
 | |
|     })
 | |
| }
 | |
| 
 | |
| // ---------------------------------------------------------------------------
 | |
| 
 | |
| export {
 | |
|   isFollowStateValid,
 | |
|   isRemoteHandleValid,
 | |
|   isEachUniqueHandleValid
 | |
| }
 |