forked from public/fvtt-cthulhu-eternal
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
|
interface InformativeDocsOptions {
|
||
|
/**
|
||
|
* Words that can be considered synonyms (aliases) of each other.
|
||
|
*
|
||
|
* @default
|
||
|
* ```json
|
||
|
* {
|
||
|
* "a": ["an", "our"]
|
||
|
* }
|
||
|
* ```
|
||
|
*
|
||
|
* @example
|
||
|
* With `{ aliases: { emoji: ["smiley", "winkey"] } }`,
|
||
|
* the following comment would be considered uninformative:
|
||
|
* ```js
|
||
|
* /** Default smiley/winkey. *\/
|
||
|
* export const defaultSmiley = "🙂";
|
||
|
* ```
|
||
|
*/
|
||
|
aliases?: Record<string, string[]>;
|
||
|
/**
|
||
|
* Words that are ignored when searching for one that adds meaning.
|
||
|
*
|
||
|
* @default
|
||
|
* ```json
|
||
|
* ["a", "an", "i", "in", "of", "s", "the"]
|
||
|
* ```
|
||
|
*
|
||
|
* @example
|
||
|
* With `{ uselessWords: ["our"] }`, the following comment would
|
||
|
* be considered uninformative:
|
||
|
* ```js
|
||
|
* /** Our text. *\/
|
||
|
* export const text = ":)";
|
||
|
* ```
|
||
|
*/
|
||
|
uselessWords?: string[];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param docs - Any amount of docs text, such as from a JSDoc description.
|
||
|
* @param name - Name of the entity the docs text is describing.
|
||
|
* @param options - Additional options to customize informativity checking.
|
||
|
* @returns Whether the docs include at least one word with new information.
|
||
|
*
|
||
|
* @example
|
||
|
* ```js
|
||
|
* areDocsInformative("The user id.", "userId"); // false
|
||
|
* ```
|
||
|
* @example
|
||
|
* ```js
|
||
|
* areDocsInformative("Retrieved user id.", "userId"); // true
|
||
|
* ```
|
||
|
*/
|
||
|
declare function areDocsInformative(docs: string | string[], name: string | string[], { aliases, uselessWords, }?: InformativeDocsOptions): boolean;
|
||
|
|
||
|
export { InformativeDocsOptions, areDocsInformative };
|