Have ideas to improve npm?Join in the discussion! »

    english-article-classifier
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.1 • Public • Published

    english-article-classifier Build Status

    Classifier english article(a, an).

    Based on:

    Feature

    This library Classifier english word to

    • a
    • an
    • unknown

    Why "unknown"

    Whether to use "a" or "an" depends on the pronunciation of the word that follows it. Use "a" before any consonant sound; use "an" before any vowel sound.

    So, We can not define a or an for a new word.

    We want to avoid false-positive.

    If you want to defined new word, please specify option.

    Or

    Please pull request to a.ts or an.ts.

    Install

    Install with npm:

    npm install english-article-classifier
    

    Usage

    API

    export interface ReturnClassifyArticle {
        type: "a" | "an" | "unknown";
        reason: string;
    }
    export interface classifyArticleOptions {
        forceA?: string[];
        forceAn?: string[];
    }
    export declare function classifyArticle(phrase: string, options?: classifyArticleOptions): ReturnClassifyArticle;

    classifyArticle return an object that has type and reason.

    Example

    "use strict";
    const {classifyArticle} = require("./lib/english-article-classifier.js");
    console.log(classifyArticle("hour"));
    /*
    { type: 'an',
      reason: 'Specific start of words that should be proceeded by \'an\'' }
     */
    console.log(classifyArticle("union"));
    /*
    { type: 'a',
      reason: 'Special cases where a word that begins with a vowel should be proceeded by \'a\'' }
     */
    console.log(classifyArticle("word"));
    /*
    { type: 'a',
      reason: 'Other words that begins with a vowel should be proceeded by \'a\'' }
     */
    console.log(classifyArticle("ZXCVBNM", {
        forceA: ["ZXCVBNM"]
    }));
    /*
    { type: 'a',
      reason: 'User defined words that should be proceeded by \'a\'' }
     */
    console.log(classifyArticle("ZXCVBNM", {
        forceAn: ["ZXCVBNM"]
    }));
    /*
    { type: 'an',
      reason: 'User defined words that should be proceeded by \'an\'' }
     */

    Changelog

    See Releases page.

    Running tests

    Install devDependencies and Run npm test:

    npm i -d && npm test
    

    Contributing

    Pull requests and stars are always welcome.

    For bugs and feature requests, please create an issue.

    1. Fork it!
    2. Create your feature branch: git checkout -b my-new-feature
    3. Commit your changes: git commit -am 'Add some feature'
    4. Push to the branch: git push origin my-new-feature
    5. Submit a pull request :D

    Author

    License

    MIT © azu

    Install

    npm i english-article-classifier

    DownloadsWeekly Downloads

    38

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • avatar