1"use strict"; 2 3const ipRegex = require("ip-regex"); 4 5const v4 = ipRegex.v4().source + "\\/(3[0-2]|[12]?[0-9])"; 6const v6 = ipRegex.v6().source + "\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])"; 7 8const cidr = module.exports = opts => opts && opts.exact ? 9 new RegExp(`(?:^${v4}$)|(?:^${v6}$)`) : 10 new RegExp(`(?:${v4})|(?:${v6})`, "g"); 11 12cidr.v4 = opts => opts && opts.exact ? new RegExp(`^${v4}$`) : new RegExp(v4, "g"); 13cidr.v6 = opts => opts && opts.exact ? new RegExp(`^${v6}$`) : new RegExp(v6, "g"); 14