Skip to content

An Angular module for making any word plural or singular

License

Notifications You must be signed in to change notification settings

jrquick17/ng-pluralize

 
 

Repository files navigation

ng-pluralize

npm npm npm

Index

About

An Angular 2+ module to pluralize and singularize any word.

Setup

Install Node

npm install ng-pluralize --save

Import module

  • Import NgPluralizeModule by adding the following to your parent module (i.e. app.module.ts):

    import { NgPluralizeModule } from 'ng-pluralize';
    
    @NgModule({
      ...
      imports: [
        NgPluralizeModule,
        ...
      ],
      ...
    })
    export class AppModule {}
    

Usage

Use Service

import {NgPluralizeService} from 'ng-pluralize';

@Injectable()
export class TechCheckService {
  constructor(
    private service:NgPluralizeService
  ) {
    // Example: Singularize word
    this.service.singularize('dogs'); // dog

    // Example: Pluralize word 
    this.service.pluralize('cat'); // cats
  
    // Example: Singluralize or pluralize based on count
    this.service.fromCount('test', 0) //=> "tests"
    this.service.fromCount('test', 1) //=> "test"
    this.service.fromCount('test', 5) //=> "tests"
    this.service.fromCount('test', 1, true) //=> "1 test"
    this.service.fromCount('test', 5, true) //=> "5 tests"
    this.service.fromCount('蘋果', 2, true) //=> "2 蘋果"
    
    // Example of new plural rule:
    this.service.pluralize('regex') //=> "regexes"
    this.service.addPluralRule(/gex$/i, 'gexii')
    this.service.pluralize('regex') //=> "regexii"
    
    // Example of new singular rule:
    this.service.singularize('singles') //=> "single"
    this.service.addSingularRule(/singles$/i, 'singular')
    this.service.singularize('singles') //=> "singular"
    
    // Example of new irregular rule, e.g. "I" -> "we":
    this.service.pluralize('irregular') //=> "irregulars"
    this.service.addIrregularRule('irregular', 'regular')
    this.service.pluralize('irregular') //=> "regular"
    
    // Example of uncountable rule (rules without singular/plural in context):
    this.service.pluralize('paper') //=> "papers"
    this.service.addUncountableRule('paper')
    this.service.pluralize('paper') //=> "paper"
    
    // Example of asking whether a word looks singular or plural:
    this.service.isPlural('test') //=> false
    this.service.isSingular('test') //=> true
    
    // Example of adding a token exception whose case should not be restored:
    this.service.pluralize('promo ID') //=> 'promo IDS'
    this.service.addRestoreCaseException('IDs')
    this.service.pluralize('promo ID') //=> 'promo IDs'
  }
}

Documentation

  • singularize() - Convert a word into it's singular form (ie dogs to dog)
  • pluralize() - Convert a word into it's plural form (ie cat to cats)
  • fromCount(word, count, inclusive) - Get the current internet speed in KBPS (kilobytes per second).
    • word: string - The word to pluralize
    • count: number - How many of the word exist
    • inclusive: boolean - Whether to prefix with the number (e.g. 3 ducks)

Contributing

Thanks

Issues

If you find any issues feel free to open a request in the Issues tab. If I have the time I will try to solve any issues but cannot make any guarantees. Feel free to contribute yourself.

Deploy

Demo

  • Run npm install to get packages required for the demo and then run npm run demo to run locally.

Generate Docs

  • Run npm run docs:build

Update Version

Build

  • Run npm run build from root.

Test

  • Run npm run build:link in root directory
  • Run npm link ng-pluralize in demo/ or any external project
  • Run Demo See: Demo
  • When done, run npm unlink ng-pluralize in demo/ or any external project

NPM Release

  • Run npm publish from dist/ directory.

Update Changelog

  • Add updates to CHANGELOG.md in root.

License

MIT

About

An Angular module for making any word plural or singular

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • TypeScript 94.1%
  • JavaScript 5.9%