Merge pull request #4628 from ukyo/pluralize

Added definitions for pluralize
This commit is contained in:
Masahiro Wakame
2015-06-14 18:47:41 +09:00
2 changed files with 90 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
/// <reference path="pluralize.d.ts" />
import pluralize = require('pluralize');
pluralize('test'); //=> "tests"
pluralize('test', 1); //=> "test"
pluralize('test', 5); //=> "tests"
pluralize('test', 1, true); //=> "1 test"
pluralize('test', 5, true); //=> "5 tests"
pluralize.plural('regex'); //=> "regexes"
pluralize.addPluralRule(/gex$/i, 'gexii');
pluralize.plural('regex'); //=> "regexii"
pluralize.singular('singles'); //=> "single"
pluralize.addSingularRule(/singles$/i, 'singular');
pluralize.singular('singles'); //=> "singular"
pluralize.plural('irregular'); //=> "irregulars"
pluralize.addIrregularRule('irregular', 'regular');
pluralize.plural('irregular'); //=> "regular"
pluralize.plural('paper'); //=> "papers"
pluralize.addUncountableRule('paper');
pluralize.plural('paper'); //=> "paper"
+65
View File
@@ -0,0 +1,65 @@
// Type definitions for pluralize
// Project: https://www.npmjs.com/package/pluralize
// Definitions by: Syu Kato <https://github.com/ukyo>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface PluralizeStatic {
/**
* Pluralize or singularize a word based on the passed in count.
*
* @param word
* @param count
* @param inclusive
*/
(word: string, count?: number, inclusive?: boolean): string;
/**
* Pluralize a word based.
*
* @param word
*/
plural(word: string): string;
/**
* Singularize a word based.
*
* @param word
*/
singular(word: string): string;
/**
* Add a pluralization rule to the collection.
*
* @param rule
* @param replacement
*/
addPluralRule(rule: string|RegExp, replacemant: string): void;
/**
* Add a singularization rule to the collection.
*
* @param rule
* @param replacement
*/
addSingularRule(rule: string|RegExp, replacemant: string): void;
/**
* Add an irregular word definition.
*
* @param single
* @param plural
*/
addIrregularRule(single: string, plural: string): void;
/**
* Add an uncountable word rule.
*
* @param word
*/
addUncountableRule(word: string|RegExp): void;
}
declare module "pluralize" {
export = pluralize;
}
declare var pluralize: PluralizeStatic;