is-domain-loose.js 515 B

1234567891011121314151617181920212223
  1. const { parse } = require('tldts');
  2. module.exports.isDomainLoose = (domain) => {
  3. const { isIcann, isPrivate, isIp } = parse(domain, { allowPrivateDomains: true });
  4. return !!(!isIp && (isIcann || isPrivate));
  5. };
  6. module.exports.normalizeDomain = (domain) => {
  7. if (domain == null) {
  8. return null;
  9. }
  10. const { isIcann, isPrivate, hostname, isIp } = parse(domain, { allowPrivateDomains: true });
  11. if (isIp) {
  12. return null;
  13. }
  14. if (isIcann || isPrivate) {
  15. return hostname;
  16. };
  17. return null;
  18. }