]>
Commit | Line | Data |
---|---|---|
4d029ef8 | 1 | import { exists, isArray } from './misc' |
b8f4167f C |
2 | import { FollowState } from '@shared/models' |
3 | ||
4 | function isFollowStateValid (value: FollowState) { | |
5 | if (!exists(value)) return false | |
6 | ||
7 | return value === 'pending' || value === 'accepted' | |
8 | } | |
9 | ||
4d029ef8 C |
10 | function isRemoteHandleValid (value: string) { |
11 | if (!exists(value)) return false | |
12 | if (typeof value !== 'string') return false | |
13 | ||
14 | return value.includes('@') | |
15 | } | |
16 | ||
17 | function isEachUniqueHandleValid (handles: string[]) { | |
18 | return isArray(handles) && | |
19 | handles.every(handle => { | |
20 | return isRemoteHandleValid(handle) && handles.indexOf(handle) === handles.lastIndexOf(handle) | |
21 | }) | |
22 | } | |
23 | ||
b8f4167f C |
24 | // --------------------------------------------------------------------------- |
25 | ||
26 | export { | |
4d029ef8 C |
27 | isFollowStateValid, |
28 | isRemoteHandleValid, | |
29 | isEachUniqueHandleValid | |
b8f4167f | 30 | } |