diff --git a/Build/lib/fetch-retry.js b/Build/lib/fetch-retry.js index 13c8a8ee..47591b7b 100644 --- a/Build/lib/fetch-retry.js +++ b/Build/lib/fetch-retry.js @@ -1,3 +1,4 @@ +// @ts-check const { fetch } = require('undici'); const fetchWithRetry = require('@vercel/fetch-retry')(fetch); module.exports.fetchWithRetry = fetchWithRetry; diff --git a/Build/lib/is-domain-loose.js b/Build/lib/is-domain-loose.js index 89e931f8..6489dec9 100644 --- a/Build/lib/is-domain-loose.js +++ b/Build/lib/is-domain-loose.js @@ -1,10 +1,16 @@ +// @ts-check const { parse } = require('tldts'); +/** + * @param {string} domain + */ module.exports.isDomainLoose = (domain) => { const { isIcann, isPrivate, isIp } = parse(domain, { allowPrivateDomains: true }); return !!(!isIp && (isIcann || isPrivate)); }; - +/** + * @param {string} domain + */ module.exports.normalizeDomain = (domain) => { if (domain == null) { return null; diff --git a/Build/lib/parse-filter.js b/Build/lib/parse-filter.js index 36223eba..6f6b0f6e 100644 --- a/Build/lib/parse-filter.js +++ b/Build/lib/parse-filter.js @@ -1,3 +1,4 @@ +// @ts-check const { fetchWithRetry } = require('./fetch-retry'); const { NetworkFilter } = require('@cliqz/adblocker'); const { normalizeDomain } = require('./is-domain-loose'); diff --git a/Build/lib/reject-data-source.js b/Build/lib/reject-data-source.js index 12ed3177..7c4865b0 100644 --- a/Build/lib/reject-data-source.js +++ b/Build/lib/reject-data-source.js @@ -1,3 +1,4 @@ +// @ts-check /** @type {[string, boolean][]} */ const HOSTS = [ ['https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext', true], diff --git a/Build/lib/string-array-compare.js b/Build/lib/string-array-compare.js index be2730c9..d8d983dd 100644 --- a/Build/lib/string-array-compare.js +++ b/Build/lib/string-array-compare.js @@ -1,5 +1,10 @@ +// @ts-check const { promises: fsPromises } = require('fs'); +/** + * @param {string[]} linesA + * @param {string} filePath + */ async function compareAndWriteFile(linesA, filePath) { const linesB = (await fsPromises.readFile(filePath, { encoding: 'utf-8' })).split('\n'); @@ -14,6 +19,10 @@ async function compareAndWriteFile(linesA, filePath) { } } +/** + * @param {string[]} linesA + * @param {string[]} linesB + */ function stringArrayCompare (linesA, linesB) { if (linesA.length !== linesB.length) return false; diff --git a/Build/lib/with-banner.js b/Build/lib/with-banner.js index 614105f2..4956aff3 100644 --- a/Build/lib/with-banner.js +++ b/Build/lib/with-banner.js @@ -1,3 +1,5 @@ +// @ts-check + /** * @param {string} title * @param {string[]} description diff --git a/Build/worker/build-reject-domainset-worker.js b/Build/worker/build-reject-domainset-worker.js index ab3f3957..d4972cd3 100644 --- a/Build/worker/build-reject-domainset-worker.js +++ b/Build/worker/build-reject-domainset-worker.js @@ -1,3 +1,4 @@ +// @ts-check const Piscina = require('piscina'); // const { isCI } = require('ci-info'); @@ -5,7 +6,9 @@ const fullsetDomainStartsWithADot = Piscina.workerData const totalLen = fullsetDomainStartsWithADot.length; // const log = isCI ? () => { } : console.log.bind(console); - +/** + * @param {{ chunk: string[] }} param0 + */ module.exports = ({ chunk }) => { const chunkLength = chunk.length; const outputToBeRemoved = new Int8Array(chunkLength);