From 527a4456b1b174a08fb48109bde45970b515c6fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carsten=20G=C3=B6tzinger?= Date: Wed, 19 Apr 2023 19:20:34 +0200 Subject: [PATCH] feat(ipv4-range-expander): changes due to review --- .../ipv4-range-expander.service.ts | 13 ++----- .../ipv4-range-expander.types.ts | 7 ++++ .../ipv4-range-expander.vue | 38 +++++++++++++------ src/tools/ipv4-range-expander/result-row.vue | 4 +- 4 files changed, 38 insertions(+), 24 deletions(-) create mode 100644 src/tools/ipv4-range-expander/ipv4-range-expander.types.ts diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts b/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts index db7681cc..893b1d32 100644 --- a/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts @@ -1,14 +1,7 @@ +import type { Ipv4RangeExpanderResult } from './ipv4-range-expander.types'; import { convertBase } from '../integer-base-converter/integer-base-converter.model'; import { ipv4ToInt } from '../ipv4-address-converter/ipv4-address-converter.service'; -class Ipv4RangeExpanderResult { - oldSize?: number; - newStart?: string; - newEnd?: string; - newCidr?: string; - newSize?: number; -} - -export { calculateCidr, Ipv4RangeExpanderResult }; +export { calculateCidr }; function bits2ip(ipInt: number) { return (ipInt >>> 24) + '.' + ((ipInt >> 16) & 255) + '.' + ((ipInt >> 8) & 255) + '.' + (ipInt & 255); @@ -56,7 +49,7 @@ function calculateCidr({ startIp, endIp }: { startIp: string; endIp: string }) { const cidr = getCidr(start, end); if (cidr != null) { - const result = new Ipv4RangeExpanderResult(); + const result: Ipv4RangeExpanderResult = {}; result.newEnd = bits2ip(parseInt(cidr.end, 2)); result.newStart = bits2ip(parseInt(cidr.start, 2)); result.newCidr = result.newStart + '/' + cidr.mask; diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.types.ts b/src/tools/ipv4-range-expander/ipv4-range-expander.types.ts new file mode 100644 index 00000000..9172fed0 --- /dev/null +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.types.ts @@ -0,0 +1,7 @@ +export type Ipv4RangeExpanderResult = { + oldSize?: number; + newStart?: string; + newEnd?: string; + newCidr?: string; + newSize?: number; +}; diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.vue b/src/tools/ipv4-range-expander/ipv4-range-expander.vue index 76ac5974..9da63b60 100644 --- a/src/tools/ipv4-range-expander/ipv4-range-expander.vue +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.vue @@ -3,10 +3,10 @@
- + - + @@ -29,6 +29,18 @@ /> + + + + The end IPv4 address is lower than the start IPv4 address. This is not valid and no result could be + calculated. In the most cases the solution to solve this problem is to change start and end address. + + + +   Switch start and end IPv4 address + + +
@@ -36,8 +48,10 @@ diff --git a/src/tools/ipv4-range-expander/result-row.vue b/src/tools/ipv4-range-expander/result-row.vue index 0a021ff6..b1782fea 100644 --- a/src/tools/ipv4-range-expander/result-row.vue +++ b/src/tools/ipv4-range-expander/result-row.vue @@ -12,7 +12,7 @@