aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/tldts-core/src
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-14 14:46:37 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-14 14:46:37 -0800
commitafa87af01c79a9baa539f2992d32154d2a4739bd (patch)
tree92c7416db734270a2fee1d72ee9cc119379ff8e1 /vanilla/node_modules/tldts-core/src
parent3b927e84d200402281f68181cd4253bc77e5528d (diff)
downloadneko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.gz
neko-afa87af01c79a9baa539f2992d32154d2a4739bd.tar.bz2
neko-afa87af01c79a9baa539f2992d32154d2a4739bd.zip
task: delete vanilla js prototype\n\n- Removed vanilla/ directory and web/dist/vanilla directory\n- Updated Makefile, Dockerfile, and CI workflow to remove vanilla references\n- Cleaned up web/web.go to remove vanilla embed and routes\n- Verified build and tests pass\n\nCloses NK-2tcnmq
Diffstat (limited to 'vanilla/node_modules/tldts-core/src')
-rw-r--r--vanilla/node_modules/tldts-core/src/domain-without-suffix.ts14
-rw-r--r--vanilla/node_modules/tldts-core/src/domain.ts100
-rw-r--r--vanilla/node_modules/tldts-core/src/extract-hostname.ts170
-rw-r--r--vanilla/node_modules/tldts-core/src/factory.ts163
-rw-r--r--vanilla/node_modules/tldts-core/src/is-ip.ts87
-rw-r--r--vanilla/node_modules/tldts-core/src/is-valid.ts79
-rw-r--r--vanilla/node_modules/tldts-core/src/lookup/fast-path.ts80
-rw-r--r--vanilla/node_modules/tldts-core/src/lookup/interface.ts10
-rw-r--r--vanilla/node_modules/tldts-core/src/options.ts39
-rw-r--r--vanilla/node_modules/tldts-core/src/subdomain.ts11
10 files changed, 0 insertions, 753 deletions
diff --git a/vanilla/node_modules/tldts-core/src/domain-without-suffix.ts b/vanilla/node_modules/tldts-core/src/domain-without-suffix.ts
deleted file mode 100644
index 9607d4b..0000000
--- a/vanilla/node_modules/tldts-core/src/domain-without-suffix.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Return the part of domain without suffix.
- *
- * Example: for domain 'foo.com', the result would be 'foo'.
- */
-export default function getDomainWithoutSuffix(
- domain: string,
- suffix: string,
-): string {
- // Note: here `domain` and `suffix` cannot have the same length because in
- // this case we set `domain` to `null` instead. It is thus safe to assume
- // that `suffix` is shorter than `domain`.
- return domain.slice(0, -suffix.length - 1);
-}
diff --git a/vanilla/node_modules/tldts-core/src/domain.ts b/vanilla/node_modules/tldts-core/src/domain.ts
deleted file mode 100644
index 640d33e..0000000
--- a/vanilla/node_modules/tldts-core/src/domain.ts
+++ /dev/null
@@ -1,100 +0,0 @@
-import { IOptions } from './options';
-
-/**
- * Check if `vhost` is a valid suffix of `hostname` (top-domain)
- *
- * It means that `vhost` needs to be a suffix of `hostname` and we then need to
- * make sure that: either they are equal, or the character preceding `vhost` in
- * `hostname` is a '.' (it should not be a partial label).
- *
- * * hostname = 'not.evil.com' and vhost = 'vil.com' => not ok
- * * hostname = 'not.evil.com' and vhost = 'evil.com' => ok
- * * hostname = 'not.evil.com' and vhost = 'not.evil.com' => ok
- */
-function shareSameDomainSuffix(hostname: string, vhost: string): boolean {
- if (hostname.endsWith(vhost)) {
- return (
- hostname.length === vhost.length ||
- hostname[hostname.length - vhost.length - 1] === '.'
- );
- }
-
- return false;
-}
-
-/**
- * Given a hostname and its public suffix, extract the general domain.
- */
-function extractDomainWithSuffix(
- hostname: string,
- publicSuffix: string,
-): string {
- // Locate the index of the last '.' in the part of the `hostname` preceding
- // the public suffix.
- //
- // examples:
- // 1. not.evil.co.uk => evil.co.uk
- // ^ ^
- // | | start of public suffix
- // | index of the last dot
- //
- // 2. example.co.uk => example.co.uk
- // ^ ^
- // | | start of public suffix
- // |
- // | (-1) no dot found before the public suffix
- const publicSuffixIndex = hostname.length - publicSuffix.length - 2;
- const lastDotBeforeSuffixIndex = hostname.lastIndexOf('.', publicSuffixIndex);
-
- // No '.' found, then `hostname` is the general domain (no sub-domain)
- if (lastDotBeforeSuffixIndex === -1) {
- return hostname;
- }
-
- // Extract the part between the last '.'
- return hostname.slice(lastDotBeforeSuffixIndex + 1);
-}
-
-/**
- * Detects the domain based on rules and upon and a host string
- */
-export default function getDomain(
- suffix: string,
- hostname: string,
- options: IOptions,
-): string | null {
- // Check if `hostname` ends with a member of `validHosts`.
- if (options.validHosts !== null) {
- const validHosts = options.validHosts;
- for (const vhost of validHosts) {
- if (/*@__INLINE__*/ shareSameDomainSuffix(hostname, vhost)) {
- return vhost;
- }
- }
- }
-
- let numberOfLeadingDots = 0;
- if (hostname.startsWith('.')) {
- while (
- numberOfLeadingDots < hostname.length &&
- hostname[numberOfLeadingDots] === '.'
- ) {
- numberOfLeadingDots += 1;
- }
- }
-
- // If `hostname` is a valid public suffix, then there is no domain to return.
- // Since we already know that `getPublicSuffix` returns a suffix of `hostname`
- // there is no need to perform a string comparison and we only compare the
- // size.
- if (suffix.length === hostname.length - numberOfLeadingDots) {
- return null;
- }
-
- // To extract the general domain, we start by identifying the public suffix
- // (if any), then consider the domain to be the public suffix with one added
- // level of depth. (e.g.: if hostname is `not.evil.co.uk` and public suffix:
- // `co.uk`, then we take one more level: `evil`, giving the final result:
- // `evil.co.uk`).
- return /*@__INLINE__*/ extractDomainWithSuffix(hostname, suffix);
-}
diff --git a/vanilla/node_modules/tldts-core/src/extract-hostname.ts b/vanilla/node_modules/tldts-core/src/extract-hostname.ts
deleted file mode 100644
index 8211ff4..0000000
--- a/vanilla/node_modules/tldts-core/src/extract-hostname.ts
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * @param url - URL we want to extract a hostname from.
- * @param urlIsValidHostname - hint from caller; true if `url` is already a valid hostname.
- */
-export default function extractHostname(
- url: string,
- urlIsValidHostname: boolean,
-): string | null {
- let start = 0;
- let end: number = url.length;
- let hasUpper = false;
-
- // If url is not already a valid hostname, then try to extract hostname.
- if (!urlIsValidHostname) {
- // Special handling of data URLs
- if (url.startsWith('data:')) {
- return null;
- }
-
- // Trim leading spaces
- while (start < url.length && url.charCodeAt(start) <= 32) {
- start += 1;
- }
-
- // Trim trailing spaces
- while (end > start + 1 && url.charCodeAt(end - 1) <= 32) {
- end -= 1;
- }
-
- // Skip scheme.
- if (
- url.charCodeAt(start) === 47 /* '/' */ &&
- url.charCodeAt(start + 1) === 47 /* '/' */
- ) {
- start += 2;
- } else {
- const indexOfProtocol = url.indexOf(':/', start);
- if (indexOfProtocol !== -1) {
- // Implement fast-path for common protocols. We expect most protocols
- // should be one of these 4 and thus we will not need to perform the
- // more expansive validity check most of the time.
- const protocolSize = indexOfProtocol - start;
- const c0 = url.charCodeAt(start);
- const c1 = url.charCodeAt(start + 1);
- const c2 = url.charCodeAt(start + 2);
- const c3 = url.charCodeAt(start + 3);
- const c4 = url.charCodeAt(start + 4);
-
- if (
- protocolSize === 5 &&
- c0 === 104 /* 'h' */ &&
- c1 === 116 /* 't' */ &&
- c2 === 116 /* 't' */ &&
- c3 === 112 /* 'p' */ &&
- c4 === 115 /* 's' */
- ) {
- // https
- } else if (
- protocolSize === 4 &&
- c0 === 104 /* 'h' */ &&
- c1 === 116 /* 't' */ &&
- c2 === 116 /* 't' */ &&
- c3 === 112 /* 'p' */
- ) {
- // http
- } else if (
- protocolSize === 3 &&
- c0 === 119 /* 'w' */ &&
- c1 === 115 /* 's' */ &&
- c2 === 115 /* 's' */
- ) {
- // wss
- } else if (
- protocolSize === 2 &&
- c0 === 119 /* 'w' */ &&
- c1 === 115 /* 's' */
- ) {
- // ws
- } else {
- // Check that scheme is valid
- for (let i = start; i < indexOfProtocol; i += 1) {
- const lowerCaseCode = url.charCodeAt(i) | 32;
- if (
- !(
- (
- (lowerCaseCode >= 97 && lowerCaseCode <= 122) || // [a, z]
- (lowerCaseCode >= 48 && lowerCaseCode <= 57) || // [0, 9]
- lowerCaseCode === 46 || // '.'
- lowerCaseCode === 45 || // '-'
- lowerCaseCode === 43
- ) // '+'
- )
- ) {
- return null;
- }
- }
- }
-
- // Skip 0, 1 or more '/' after ':/'
- start = indexOfProtocol + 2;
- while (url.charCodeAt(start) === 47 /* '/' */) {
- start += 1;
- }
- }
- }
-
- // Detect first occurrence of '/', '?' or '#'. We also keep track of the
- // last occurrence of '@', ']' or ':' to speed-up subsequent parsing of
- // (respectively), identifier, ipv6 or port.
- let indexOfIdentifier = -1;
- let indexOfClosingBracket = -1;
- let indexOfPort = -1;
- for (let i = start; i < end; i += 1) {
- const code: number = url.charCodeAt(i);
- if (
- code === 35 || // '#'
- code === 47 || // '/'
- code === 63 // '?'
- ) {
- end = i;
- break;
- } else if (code === 64) {
- // '@'
- indexOfIdentifier = i;
- } else if (code === 93) {
- // ']'
- indexOfClosingBracket = i;
- } else if (code === 58) {
- // ':'
- indexOfPort = i;
- } else if (code >= 65 && code <= 90) {
- hasUpper = true;
- }
- }
-
- // Detect identifier: '@'
- if (
- indexOfIdentifier !== -1 &&
- indexOfIdentifier > start &&
- indexOfIdentifier < end
- ) {
- start = indexOfIdentifier + 1;
- }
-
- // Handle ipv6 addresses
- if (url.charCodeAt(start) === 91 /* '[' */) {
- if (indexOfClosingBracket !== -1) {
- return url.slice(start + 1, indexOfClosingBracket).toLowerCase();
- }
- return null;
- } else if (indexOfPort !== -1 && indexOfPort > start && indexOfPort < end) {
- // Detect port: ':'
- end = indexOfPort;
- }
- }
-
- // Trim trailing dots
- while (end > start + 1 && url.charCodeAt(end - 1) === 46 /* '.' */) {
- end -= 1;
- }
-
- const hostname: string =
- start !== 0 || end !== url.length ? url.slice(start, end) : url;
-
- if (hasUpper) {
- return hostname.toLowerCase();
- }
-
- return hostname;
-}
diff --git a/vanilla/node_modules/tldts-core/src/factory.ts b/vanilla/node_modules/tldts-core/src/factory.ts
deleted file mode 100644
index fe0880e..0000000
--- a/vanilla/node_modules/tldts-core/src/factory.ts
+++ /dev/null
@@ -1,163 +0,0 @@
-/**
- * Implement a factory allowing to plug different implementations of suffix
- * lookup (e.g.: using a trie or the packed hashes datastructures). This is used
- * and exposed in `tldts.ts` and `tldts-experimental.ts` bundle entrypoints.
- */
-
-import getDomain from './domain';
-import getDomainWithoutSuffix from './domain-without-suffix';
-import extractHostname from './extract-hostname';
-import isIp from './is-ip';
-import isValidHostname from './is-valid';
-import { IPublicSuffix, ISuffixLookupOptions } from './lookup/interface';
-import { IOptions, setDefaults } from './options';
-import getSubdomain from './subdomain';
-
-export interface IResult {
- // `hostname` is either a registered name (including but not limited to a
- // hostname), or an IP address. IPv4 addresses must be in dot-decimal
- // notation, and IPv6 addresses must be enclosed in brackets ([]). This is
- // directly extracted from the input URL.
- hostname: string | null;
-
- // Is `hostname` an IP? (IPv4 or IPv6)
- isIp: boolean | null;
-
- // `hostname` split between subdomain, domain and its public suffix (if any)
- subdomain: string | null;
- domain: string | null;
- publicSuffix: string | null;
- domainWithoutSuffix: string | null;
-
- // Specifies if `publicSuffix` comes from the ICANN or PRIVATE section of the list
- isIcann: boolean | null;
- isPrivate: boolean | null;
-}
-
-export function getEmptyResult(): IResult {
- return {
- domain: null,
- domainWithoutSuffix: null,
- hostname: null,
- isIcann: null,
- isIp: null,
- isPrivate: null,
- publicSuffix: null,
- subdomain: null,
- };
-}
-
-export function resetResult(result: IResult): void {
- result.domain = null;
- result.domainWithoutSuffix = null;
- result.hostname = null;
- result.isIcann = null;
- result.isIp = null;
- result.isPrivate = null;
- result.publicSuffix = null;
- result.subdomain = null;
-}
-
-// Flags representing steps in the `parse` function. They are used to implement
-// an early stop mechanism (simulating some form of laziness) to avoid doing
-// more work than necessary to perform a given action (e.g.: we don't need to
-// extract the domain and subdomain if we are only interested in public suffix).
-export const enum FLAG {
- HOSTNAME,
- IS_VALID,
- PUBLIC_SUFFIX,
- DOMAIN,
- SUB_DOMAIN,
- ALL,
-}
-
-export function parseImpl(
- url: string,
- step: FLAG,
- suffixLookup: (
- _1: string,
- _2: ISuffixLookupOptions,
- _3: IPublicSuffix,
- ) => void,
- partialOptions: Partial<IOptions>,
- result: IResult,
-): IResult {
- const options: IOptions = /*@__INLINE__*/ setDefaults(partialOptions);
-
- // Very fast approximate check to make sure `url` is a string. This is needed
- // because the library will not necessarily be used in a typed setup and
- // values of arbitrary types might be given as argument.
- if (typeof url !== 'string') {
- return result;
- }
-
- // Extract hostname from `url` only if needed. This can be made optional
- // using `options.extractHostname`. This option will typically be used
- // whenever we are sure the inputs to `parse` are already hostnames and not
- // arbitrary URLs.
- //
- // `mixedInput` allows to specify if we expect a mix of URLs and hostnames
- // as input. If only hostnames are expected then `extractHostname` can be
- // set to `false` to speed-up parsing. If only URLs are expected then
- // `mixedInputs` can be set to `false`. The `mixedInputs` is only a hint
- // and will not change the behavior of the library.
- if (!options.extractHostname) {
- result.hostname = url;
- } else if (options.mixedInputs) {
- result.hostname = extractHostname(url, isValidHostname(url));
- } else {
- result.hostname = extractHostname(url, false);
- }
-
- // Check if `hostname` is a valid ip address
- if (options.detectIp && result.hostname !== null) {
- result.isIp = isIp(result.hostname);
- if (result.isIp) {
- return result;
- }
- }
-
- // Perform hostname validation if enabled. If hostname is not valid, no need to
- // go further as there will be no valid domain or sub-domain. This validation
- // is applied before any early returns to ensure consistent behavior across
- // all API methods including getHostname().
- if (
- options.validateHostname &&
- options.extractHostname &&
- result.hostname !== null &&
- !isValidHostname(result.hostname)
- ) {
- result.hostname = null;
- return result;
- }
-
- if (step === FLAG.HOSTNAME || result.hostname === null) {
- return result;
- }
-
- // Extract public suffix
- suffixLookup(result.hostname, options, result);
- if (step === FLAG.PUBLIC_SUFFIX || result.publicSuffix === null) {
- return result;
- }
-
- // Extract domain
- result.domain = getDomain(result.publicSuffix, result.hostname, options);
- if (step === FLAG.DOMAIN || result.domain === null) {
- return result;
- }
-
- // Extract subdomain
- result.subdomain = getSubdomain(result.hostname, result.domain);
- if (step === FLAG.SUB_DOMAIN) {
- return result;
- }
-
- // Extract domain without suffix
- result.domainWithoutSuffix = getDomainWithoutSuffix(
- result.domain,
- result.publicSuffix,
- );
-
- return result;
-}
diff --git a/vanilla/node_modules/tldts-core/src/is-ip.ts b/vanilla/node_modules/tldts-core/src/is-ip.ts
deleted file mode 100644
index 33151c1..0000000
--- a/vanilla/node_modules/tldts-core/src/is-ip.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Check if a hostname is an IP. You should be aware that this only works
- * because `hostname` is already garanteed to be a valid hostname!
- */
-function isProbablyIpv4(hostname: string): boolean {
- // Cannot be shorted than 1.1.1.1
- if (hostname.length < 7) {
- return false;
- }
-
- // Cannot be longer than: 255.255.255.255
- if (hostname.length > 15) {
- return false;
- }
-
- let numberOfDots = 0;
-
- for (let i = 0; i < hostname.length; i += 1) {
- const code = hostname.charCodeAt(i);
-
- if (code === 46 /* '.' */) {
- numberOfDots += 1;
- } else if (code < 48 /* '0' */ || code > 57 /* '9' */) {
- return false;
- }
- }
-
- return (
- numberOfDots === 3 &&
- hostname.charCodeAt(0) !== 46 /* '.' */ &&
- hostname.charCodeAt(hostname.length - 1) !== 46 /* '.' */
- );
-}
-
-/**
- * Similar to isProbablyIpv4.
- */
-function isProbablyIpv6(hostname: string): boolean {
- if (hostname.length < 3) {
- return false;
- }
-
- let start = hostname.startsWith('[') ? 1 : 0;
- let end = hostname.length;
-
- if (hostname[end - 1] === ']') {
- end -= 1;
- }
-
- // We only consider the maximum size of a normal IPV6. Note that this will
- // fail on so-called "IPv4 mapped IPv6 addresses" but this is a corner-case
- // and a proper validation library should be used for these.
- if (end - start > 39) {
- return false;
- }
-
- let hasColon = false;
-
- for (; start < end; start += 1) {
- const code = hostname.charCodeAt(start);
-
- if (code === 58 /* ':' */) {
- hasColon = true;
- } else if (
- !(
- (
- (code >= 48 && code <= 57) || // 0-9
- (code >= 97 && code <= 102) || // a-f
- (code >= 65 && code <= 90)
- ) // A-F
- )
- ) {
- return false;
- }
- }
-
- return hasColon;
-}
-
-/**
- * Check if `hostname` is *probably* a valid ip addr (either ipv6 or ipv4).
- * This *will not* work on any string. We need `hostname` to be a valid
- * hostname.
- */
-export default function isIp(hostname: string): boolean {
- return isProbablyIpv6(hostname) || isProbablyIpv4(hostname);
-}
diff --git a/vanilla/node_modules/tldts-core/src/is-valid.ts b/vanilla/node_modules/tldts-core/src/is-valid.ts
deleted file mode 100644
index 03cc384..0000000
--- a/vanilla/node_modules/tldts-core/src/is-valid.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Implements fast shallow verification of hostnames. This does not perform a
- * struct check on the content of labels (classes of Unicode characters, etc.)
- * but instead check that the structure is valid (number of labels, length of
- * labels, etc.).
- *
- * If you need stricter validation, consider using an external library.
- */
-
-function isValidAscii(code: number): boolean {
- return (
- (code >= 97 && code <= 122) || (code >= 48 && code <= 57) || code > 127
- );
-}
-
-/**
- * Check if a hostname string is valid. It's usually a preliminary check before
- * trying to use getDomain or anything else.
- *
- * Beware: it does not check if the TLD exists.
- */
-export default function (hostname: string): boolean {
- if (hostname.length > 255) {
- return false;
- }
-
- if (hostname.length === 0) {
- return false;
- }
-
- if (
- /*@__INLINE__*/ !isValidAscii(hostname.charCodeAt(0)) &&
- hostname.charCodeAt(0) !== 46 && // '.' (dot)
- hostname.charCodeAt(0) !== 95 // '_' (underscore)
- ) {
- return false;
- }
-
- // Validate hostname according to RFC
- let lastDotIndex = -1;
- let lastCharCode = -1;
- const len = hostname.length;
-
- for (let i = 0; i < len; i += 1) {
- const code = hostname.charCodeAt(i);
- if (code === 46 /* '.' */) {
- if (
- // Check that previous label is < 63 bytes long (64 = 63 + '.')
- i - lastDotIndex > 64 ||
- // Check that previous character was not already a '.'
- lastCharCode === 46 ||
- // Check that the previous label does not end with a '-' (dash)
- lastCharCode === 45 ||
- // Check that the previous label does not end with a '_' (underscore)
- lastCharCode === 95
- ) {
- return false;
- }
-
- lastDotIndex = i;
- } else if (
- !(/*@__INLINE__*/ (isValidAscii(code) || code === 45 || code === 95))
- ) {
- // Check if there is a forbidden character in the label
- return false;
- }
-
- lastCharCode = code;
- }
-
- return (
- // Check that last label is shorter than 63 chars
- len - lastDotIndex - 1 <= 63 &&
- // Check that the last character is an allowed trailing label character.
- // Since we already checked that the char is a valid hostname character,
- // we only need to check that it's different from '-'.
- lastCharCode !== 45
- );
-}
diff --git a/vanilla/node_modules/tldts-core/src/lookup/fast-path.ts b/vanilla/node_modules/tldts-core/src/lookup/fast-path.ts
deleted file mode 100644
index f80898f..0000000
--- a/vanilla/node_modules/tldts-core/src/lookup/fast-path.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { IPublicSuffix, ISuffixLookupOptions } from './interface';
-
-export default function (
- hostname: string,
- options: ISuffixLookupOptions,
- out: IPublicSuffix,
-): boolean {
- // Fast path for very popular suffixes; this allows to by-pass lookup
- // completely as well as any extra allocation or string manipulation.
- if (!options.allowPrivateDomains && hostname.length > 3) {
- const last: number = hostname.length - 1;
- const c3: number = hostname.charCodeAt(last);
- const c2: number = hostname.charCodeAt(last - 1);
- const c1: number = hostname.charCodeAt(last - 2);
- const c0: number = hostname.charCodeAt(last - 3);
-
- if (
- c3 === 109 /* 'm' */ &&
- c2 === 111 /* 'o' */ &&
- c1 === 99 /* 'c' */ &&
- c0 === 46 /* '.' */
- ) {
- out.isIcann = true;
- out.isPrivate = false;
- out.publicSuffix = 'com';
- return true;
- } else if (
- c3 === 103 /* 'g' */ &&
- c2 === 114 /* 'r' */ &&
- c1 === 111 /* 'o' */ &&
- c0 === 46 /* '.' */
- ) {
- out.isIcann = true;
- out.isPrivate = false;
- out.publicSuffix = 'org';
- return true;
- } else if (
- c3 === 117 /* 'u' */ &&
- c2 === 100 /* 'd' */ &&
- c1 === 101 /* 'e' */ &&
- c0 === 46 /* '.' */
- ) {
- out.isIcann = true;
- out.isPrivate = false;
- out.publicSuffix = 'edu';
- return true;
- } else if (
- c3 === 118 /* 'v' */ &&
- c2 === 111 /* 'o' */ &&
- c1 === 103 /* 'g' */ &&
- c0 === 46 /* '.' */
- ) {
- out.isIcann = true;
- out.isPrivate = false;
- out.publicSuffix = 'gov';
- return true;
- } else if (
- c3 === 116 /* 't' */ &&
- c2 === 101 /* 'e' */ &&
- c1 === 110 /* 'n' */ &&
- c0 === 46 /* '.' */
- ) {
- out.isIcann = true;
- out.isPrivate = false;
- out.publicSuffix = 'net';
- return true;
- } else if (
- c3 === 101 /* 'e' */ &&
- c2 === 100 /* 'd' */ &&
- c1 === 46 /* '.' */
- ) {
- out.isIcann = true;
- out.isPrivate = false;
- out.publicSuffix = 'de';
- return true;
- }
- }
-
- return false;
-}
diff --git a/vanilla/node_modules/tldts-core/src/lookup/interface.ts b/vanilla/node_modules/tldts-core/src/lookup/interface.ts
deleted file mode 100644
index 495a642..0000000
--- a/vanilla/node_modules/tldts-core/src/lookup/interface.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export interface IPublicSuffix {
- isIcann: boolean | null;
- isPrivate: boolean | null;
- publicSuffix: string | null;
-}
-
-export interface ISuffixLookupOptions {
- allowIcannDomains: boolean;
- allowPrivateDomains: boolean;
-}
diff --git a/vanilla/node_modules/tldts-core/src/options.ts b/vanilla/node_modules/tldts-core/src/options.ts
deleted file mode 100644
index 520e21c..0000000
--- a/vanilla/node_modules/tldts-core/src/options.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-export interface IOptions {
- allowIcannDomains: boolean;
- allowPrivateDomains: boolean;
- detectIp: boolean;
- extractHostname: boolean;
- mixedInputs: boolean;
- validHosts: string[] | null;
- validateHostname: boolean;
-}
-
-function setDefaultsImpl({
- allowIcannDomains = true,
- allowPrivateDomains = false,
- detectIp = true,
- extractHostname = true,
- mixedInputs = true,
- validHosts = null,
- validateHostname = true,
-}: Partial<IOptions>): IOptions {
- return {
- allowIcannDomains,
- allowPrivateDomains,
- detectIp,
- extractHostname,
- mixedInputs,
- validHosts,
- validateHostname,
- };
-}
-
-const DEFAULT_OPTIONS = /*@__INLINE__*/ setDefaultsImpl({});
-
-export function setDefaults(options?: Partial<IOptions>): IOptions {
- if (options === undefined) {
- return DEFAULT_OPTIONS;
- }
-
- return /*@__INLINE__*/ setDefaultsImpl(options);
-}
diff --git a/vanilla/node_modules/tldts-core/src/subdomain.ts b/vanilla/node_modules/tldts-core/src/subdomain.ts
deleted file mode 100644
index bbb9c97..0000000
--- a/vanilla/node_modules/tldts-core/src/subdomain.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * Returns the subdomain of a hostname string
- */
-export default function getSubdomain(hostname: string, domain: string): string {
- // If `hostname` and `domain` are the same, then there is no sub-domain
- if (domain.length === hostname.length) {
- return '';
- }
-
- return hostname.slice(0, -domain.length - 1);
-}