mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 08:19:52 +03:00
initial commit
This commit is contained in:
4
interface/src/validators/index.ts
Normal file
4
interface/src/validators/index.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export { default as isHostname } from './isHostname';
|
||||
export { default as isIP } from './isIP';
|
||||
export { default as optional } from './optional';
|
||||
export { default as or } from './or';
|
||||
6
interface/src/validators/isHostname.ts
Normal file
6
interface/src/validators/isHostname.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
const hostnameLengthRegex = /^.{0,32}$/
|
||||
const hostnamePatternRegex = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/
|
||||
|
||||
export default function isHostname(hostname: string) {
|
||||
return hostnameLengthRegex.test(hostname) && hostnamePatternRegex.test(hostname);
|
||||
}
|
||||
5
interface/src/validators/isIP.ts
Normal file
5
interface/src/validators/isIP.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
const ipAddressRegexp = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
|
||||
|
||||
export default function isIp(ipAddress: string) {
|
||||
return ipAddressRegexp.test(ipAddress);
|
||||
}
|
||||
1
interface/src/validators/optional.ts
Normal file
1
interface/src/validators/optional.ts
Normal file
@@ -0,0 +1 @@
|
||||
export default (validator: (value: any) => boolean) => (value: any) => !value || validator(value);
|
||||
3
interface/src/validators/or.ts
Normal file
3
interface/src/validators/or.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export default (validator1: (value: any) => boolean, validator2: (value: any) => boolean) => {
|
||||
return (value: any) => validator1(value) || validator2(value);
|
||||
}
|
||||
Reference in New Issue
Block a user