-import { exists } from './misc'
+import { exists, isArray } from './misc'
import { FollowState } from '@shared/models'
function isFollowStateValid (value: FollowState) {
if (!exists(value)) return false
- return value === 'pending' || value === 'accepted'
+ 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
+ isFollowStateValid,
+ isRemoteHandleValid,
+ isEachUniqueHandleValid
}