aboutsummaryrefslogtreecommitdiff
path: root/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.models.ts
blob: 7a515cae53dd82772ab4b4912edbcad955fa7358 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
export { getIPClass };

function getIPClass({ ip }: { ip: string }) {
  const [firstOctet] = ip.split('.').map(Number);

  if (firstOctet < 128) {
    return 'A';
  }
  if (firstOctet > 127 && firstOctet < 192) {
    return 'B';
  }
  if (firstOctet > 191 && firstOctet < 224) {
    return 'C';
  }
  if (firstOctet > 223 && firstOctet < 240) {
    return 'D';
  }
  if (firstOctet > 239 && firstOctet < 256) {
    return 'E';
  }

  return undefined;
}