Skip to content

Commit a2aa6da

Browse files
committed
fix: implement missing IP helpers; normalize EOL
1 parent a2e95be commit a2aa6da

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

src/js/standard_calc.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,31 @@ function createBinaryRow(label, decValue) {
181181
.map(octet => {
182182
return parseInt(octet).toString(2).padStart(8, "0");
183183
})
184-
.join('<span class="text-slate-600">.</span>');
184+
.join("<span class=\"text-slate-600\">.</span>");
185185

186186
row.innerHTML = `<span class="text-slate-500 w-20 text-xs">${label}</span> <span class="text-signal-green tracking-widest">${binStr}</span>`;
187187
return row;
188188
}
189+
190+
// Helpers
191+
function getClass(firstOctet) {
192+
if (firstOctet >= 0 && firstOctet <= 127) return "A";
193+
if (firstOctet >= 128 && firstOctet <= 191) return "B";
194+
if (firstOctet >= 192 && firstOctet <= 223) return "C";
195+
if (firstOctet >= 224 && firstOctet <= 239) return "D";
196+
if (firstOctet >= 240 && firstOctet <= 255) return "E";
197+
return "Unknown";
198+
}
199+
200+
function getIPType(octets) {
201+
const first = octets[0];
202+
const second = octets[1];
203+
if (first === 10) return "Private";
204+
if (first === 127) return "Loopback";
205+
if (first === 169 && second === 254) return "Link-local";
206+
if (first === 192 && second === 168) return "Private";
207+
if (first === 172 && second >= 16 && second <= 31) return "Private";
208+
if (first >= 224 && first <= 239) return "Multicast";
209+
if (first === 255) return "Broadcast";
210+
return "Public";
211+
}

0 commit comments

Comments
 (0)