diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-14 14:46:37 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-14 14:46:37 -0800 |
| commit | afa87af01c79a9baa539f2992d32154d2a4739bd (patch) | |
| tree | 92c7416db734270a2fee1d72ee9cc119379ff8e1 /vanilla/node_modules/tldts-core/src/is-valid.ts | |
| parent | 3b927e84d200402281f68181cd4253bc77e5528d (diff) | |
| download | neko-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/is-valid.ts')
| -rw-r--r-- | vanilla/node_modules/tldts-core/src/is-valid.ts | 79 |
1 files changed, 0 insertions, 79 deletions
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 - ); -} |
