]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/custom-validators/misc.ts
3903884eadbe410de35c289626ea6752c259d1ad
[github/Chocobozzz/PeerTube.git] / server / helpers / custom-validators / misc.ts
1 import * as validator from 'validator'
2
3 function exists (value: any) {
4 return value !== undefined && value !== null
5 }
6
7 function isArray (value: any) {
8 return Array.isArray(value)
9 }
10
11 function isDateValid (value: string) {
12 return exists(value) && validator.isISO8601(value)
13 }
14
15 function isIdValid (value: string) {
16 return exists(value) && validator.isInt('' + value)
17 }
18
19 function isUUIDValid (value: string) {
20 return exists(value) && validator.isUUID('' + value, 4)
21 }
22
23 function isIdOrUUIDValid (value: string) {
24 return isIdValid(value) || isUUIDValid(value)
25 }
26
27 function isBooleanValid (value: string) {
28 return typeof value === 'boolean' || (typeof value === 'string' && validator.isBoolean(value))
29 }
30
31 // ---------------------------------------------------------------------------
32
33 export {
34 exists,
35 isArray,
36 isIdValid,
37 isUUIDValid,
38 isIdOrUUIDValid,
39 isDateValid,
40 isBooleanValid
41 }