Passed
Push — master ( 74fcec...dc846b )
by
unknown
02:16
created

server/src/Infrastructure/Common/Validator/IsEmailOrEmpty.ts   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 18
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 18
rs 10
c 0
b 0
f 0
wmc 1
mnd 0
bc 0
fnc 1
bpm 0
cpm 1
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A IsEmailOrEmpty.ts ➔ IsEmailOrEmpty 0 12 1
1
import { buildMessage, isEmail, ValidateBy } from 'class-validator';
2
3
// Don't validate if '' is received.
4
// See: https://github.com/typestack/class-validator/issues/232
5
export function IsEmailOrEmpty(): any {
6
  return ValidateBy({
7
    name: 'isEmailOrEmpty',
8
    validator: {
9
      validate: value => {
10
        return value === '' || isEmail(value);
11
      },
12
      defaultMessage: buildMessage(
13
        eachPrefix => eachPrefix + '$property must be an email'
14
      )
15
    }
16
  });
17
}
18