emsifa / validasaur

Deno validation library
MIT License
45 stars 9 forks source link

Need isIPv6 rule #15

Closed emsifa closed 4 years ago

emsifa commented 4 years ago

Usage example:

const inputs = { value: 'anyvalue' };
const [ passes, errors ] = await validate(inputs, {
  value: isIPv6
});

This rule should be valid with following values:

[
    '2001:db8::7',
    'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210',
    'FEDC:BA98:7654:3210:FEDC:BA98:7654:3210',
    '1080:0:0:0:8:800:200C:417A',
    '::1:2:3:4:5:6:7',
    '::1:2:3:4:5:6',
    '1::1:2:3:4:5:6',
    '::1:2:3:4:5',
    '1::1:2:3:4:5',
    '2:1::1:2:3:4:5',
    '::1:2:3:4',
    '1::1:2:3:4',
    '2:1::1:2:3:4',
    '3:2:1::1:2:3:4',
    '::1:2:3',
    '1::1:2:3',
    '2:1::1:2:3',
    '3:2:1::1:2:3',
    '4:3:2:1::1:2:3',
    '::1:2',
    '1::1:2',
    '2:1::1:2',
    '3:2:1::1:2',
    '4:3:2:1::1:2',
    '5:4:3:2:1::1:2',
    '::1',
    '1::1',
    '2:1::1',
    '3:2:1::1',
    '4:3:2:1::1',
    '5:4:3:2:1::1',
    '6:5:4:3:2:1::1',
    '::',
    '1::',
    '2:1::',
    '3:2:1::',
    '4:3:2:1::',
    '5:4:3:2:1::',
    '6:5:4:3:2:1::',
    '7:6:5:4:3:2:1::',
]

And invalid with following values:

[
    '2001:af40:::',
    '2001:af40:::1234',
    '2001::af40::1234',
    '1080:0:0:0:8:800:200C:417G',
]