subnet-overlap
v1.1.0
Published
Check if subnet overlapped.
Readme
subnet-overlap
Check if subnets overlap with existing subnets. Works in both Node.js and browser environments.
Installation
npm
npm install subnet-overlapGitHub Packages
npm install @SangHakLee/subnet-overlap --registry=https://npm.pkg.github.comUsage
Node.js
const subnetOverlap = require('subnet-overlap')
// Check if subnet overlaps with existing subnets
subnetOverlap(['172.22.2.0/24'], '172.22.2.0/24') // true
subnetOverlap(['172.22.1.0/24'], '172.22.2.0/24') // false
// Check against multiple existing subnets
subnetOverlap(
['10.0.0.0/24', '172.16.0.0/24', '192.168.0.0/24'],
'172.16.0.128/25'
) // trueTypeScript
import subnetOverlap from 'subnet-overlap'
const hasOverlap: boolean = subnetOverlap(['10.0.0.0/16'], '10.0.1.0/24')Browser
<!-- unpkg -->
<script src="https://unpkg.com/subnet-overlap@latest/dist/browser/subnetOverlap.min.js"></script>
<!-- jsdelivr -->
<script src="https://cdn.jsdelivr.net/npm/subnet-overlap@latest/dist/browser/subnetOverlap.min.js"></script>
<script>
console.log(subnetOverlap(['172.22.2.0/24'], '172.22.2.0/24')) // true
console.log(subnetOverlap(['172.22.1.0/24'], '172.22.2.0/24')) // false
</script>API
subnetOverlap(existedCidrs, nowCidr)
Returns true if nowCidr overlaps with any subnet in existedCidrs, false otherwise.
Parameters
- existedCidrs
Array<string>- Array of existing subnet CIDR notations - nowCidr
string- The subnet CIDR notation to check
Returns
boolean - true if there is an overlap, false otherwise
Throws
TypeError- IfexistedCidrsis not an array ornowCidris not a string
Documentation
Full API documentation is available at GitHub Pages.
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Build browser bundle
npm run build:browser
# Run tests
npm test
# Run tests with coverage
npm run coverage
# Run ESLint
npm run lint
# Generate documentation
npm run typedocLicense
MIT © SangHakLee

