1 | import { isValidationOptions } from '../ValidationOptions';
|
2 | import { buildMessage, ValidateBy } from '../common/ValidateBy';
|
3 | import isMacAddressValidator from 'validator/lib/isMACAddress';
|
4 | export const IS_MAC_ADDRESS = 'isMacAddress';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | export function isMACAddress(value, options) {
|
10 | return typeof value === 'string' && isMacAddressValidator(value, options);
|
11 | }
|
12 | export function IsMACAddress(optionsOrValidationOptionsArg, validationOptionsArg) {
|
13 | const options = !isValidationOptions(optionsOrValidationOptionsArg) ? optionsOrValidationOptionsArg : undefined;
|
14 | const validationOptions = isValidationOptions(optionsOrValidationOptionsArg)
|
15 | ? optionsOrValidationOptionsArg
|
16 | : validationOptionsArg;
|
17 | return ValidateBy({
|
18 | name: IS_MAC_ADDRESS,
|
19 | constraints: [options],
|
20 | validator: {
|
21 | validate: (value, args) => isMACAddress(value, options),
|
22 | defaultMessage: buildMessage(eachPrefix => eachPrefix + '$property must be a MAC Address', validationOptions),
|
23 | },
|
24 | }, validationOptions);
|
25 | }
|
26 |
|
\ | No newline at end of file |