| 12345678910111213141516171819202122232425262728293031323334353637 |
- import { fetchRemoteTextByLine } from './fetch-text-by-line';
- import { processLineFromReadline } from './process-line';
- import { bench, group, run } from 'mitata';
- import * as tldts from 'tldts';
- import * as tldtsExperimental from 'tldts-experimental';
- (async () => {
- const data = await processLineFromReadline(await fetchRemoteTextByLine('https://osint.digitalside.it/Threat-Intel/lists/latestdomains.txt'));
- const tldtsOpt: Parameters<typeof tldts.getDomain>[1] = {
- allowPrivateDomains: false,
- extractHostname: false,
- validateHostname: false,
- detectIp: false,
- mixedInputs: false
- };
- (['getDomain', 'getPublicSuffix', 'getSubdomain', 'parse'] as const).forEach(methodName => {
- group(methodName, () => {
- bench('tldts', () => {
- for (let i = 0, len = data.length; i < len; i++) {
- tldts[methodName](data[i], tldtsOpt);
- }
- });
- bench('tldts-experimental', () => {
- for (let i = 0, len = data.length; i < len; i++) {
- tldtsExperimental[methodName](data[i], tldtsOpt);
- }
- });
- });
- });
- run();
- })();
|