Added definitions for pluralize

This commit is contained in:
ukyo
2015-06-12 18:02:29 +09:00
parent 066819c65f
commit 15b2c6a233
2 changed files with 90 additions and 0 deletions

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
pluralize/pluralize.d.ts vendored Normal file
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;