New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

2ldcheck

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

2ldcheck - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

countries/ar.js

74

index.js
'use strict';
const lodash = require('underscore');
let slds = {
ar: require('./countries/ar.js'),
at: require('./countries/at.js'),
au: require('./countries/au.js'),
br: require('./countries/br.js'),
mx: require('./countries/mx.js'),
nz: require('./countries/nz.js'),
sg: require('./countries/sg.js'),
uk: require('./countries/uk.js'),
za: require('./countries/za.js')
};
/**
* This list is not at all exhaustive (yet).
* @type {[[string,string]]}
*/
const secondLevelDomains = [
['ar', 'com'],
['at', 'co'],
['at', 'or'],
['au', 'asn'],
['au', 'com'],
['au', 'edu'],
['au', 'gov'],
['au', 'act'],
['au', 'nsw'],
['au', 'nt'],
['au', 'oz'],
['au', 'qld'],
['au', 'sa'],
['au', 'tas'],
['au', 'vic'],
['au', 'wa'],
['au', 'id'],
['au', 'net'],
['au', 'org'],
['br', 'com'],
// France (.fr)
// Hungary (.hu)
// Israel (.il)
// South Korea (.kr)
['mx', 'com'],
['sg', 'com'],
['nz', 'co'],
['nz', 'net'],
['nz', 'org'],
// Russia (.ru)
// Spain (.es)
// Turkey (.tr)
['uk', 'co'],
['uk', 'ltd'],
['uk', 'me'],
['uk', 'net'],
['uk', 'org'],
['uk', 'plc'],
// US (.us)
['za', 'co']
];
/**
* Check whether a given domain name is a top level domain.

@@ -59,7 +22,12 @@ * @param domain_name {string}

const niamod = domain_name.split('.').reverse().splice(0, 2);
// Probably not the most efficient, but it's only a few elements to iterate over
let is2Ld = false;
secondLevelDomains.forEach(sdl => is2Ld |= lodash.difference(sdl, niamod).length === 0);
return !!is2Ld;
let found = false;
const sld = slds[niamod[0]];
if (sld !== undefined) {
const N = sld.length;
let i = 0;
do {
found = niamod[1] === sld[i++];
} while (!found && i < N);
}
return !!found;
};
{
"name": "2ldcheck",
"version": "0.0.2",
"version": "0.0.3",
"description": "Check whether a domain (a string) is a second level domain",

@@ -5,0 +5,0 @@ "main": "index.js",

# 2ldcheck
This module does a simple check to see whether a domain name, like some.site.com.au, is a second level domain. Second
level domains are of the form '*.co.uk', or '*.com.au'.
level domains are of the form '\*.co.uk', or '\*.com.au'.

@@ -6,0 +6,0 @@ # Usage

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc