// src/index.ts var defaultAliases = { a: ["an", "our"] }; var defaultUselessWords = ["a", "an", "i", "in", "of", "s", "the"]; function areDocsInformative(docs, name, { aliases = defaultAliases, uselessWords = defaultUselessWords } = {}) { const docsWords = new Set(splitTextIntoWords(docs)); const nameWords = splitTextIntoWords(name); for (const nameWord of nameWords) { docsWords.delete(nameWord); } for (const uselessWord of uselessWords) { docsWords.delete(uselessWord); } return !!docsWords.size; function normalizeWord(word) { const wordLower = word.toLowerCase(); return aliases[wordLower] ?? wordLower; } function splitTextIntoWords(text) { return (typeof text === "string" ? [text] : text).flatMap((name2) => { return name2.replace(/\W+/gu, " ").replace(/([a-z])([A-Z])/gu, "$1 $2").trim().split(" "); }).flatMap(normalizeWord).filter(Boolean); } } export { areDocsInformative };