From 15b2c6a2335d1e8bdbdbe29d29e1fd74d7e36dcb Mon Sep 17 00:00:00 2001 From: ukyo Date: Fri, 12 Jun 2015 18:02:29 +0900 Subject: [PATCH] Added definitions for pluralize --- pluralize/pluralize-tests.ts | 25 ++++++++++++++ pluralize/pluralize.d.ts | 65 ++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 pluralize/pluralize-tests.ts create mode 100644 pluralize/pluralize.d.ts diff --git a/pluralize/pluralize-tests.ts b/pluralize/pluralize-tests.ts new file mode 100644 index 0000000000..07d5a3dccf --- /dev/null +++ b/pluralize/pluralize-tests.ts @@ -0,0 +1,25 @@ +/// + +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" \ No newline at end of file diff --git a/pluralize/pluralize.d.ts b/pluralize/pluralize.d.ts new file mode 100644 index 0000000000..501a96b124 --- /dev/null +++ b/pluralize/pluralize.d.ts @@ -0,0 +1,65 @@ +// Type definitions for pluralize +// Project: https://www.npmjs.com/package/pluralize +// Definitions by: Syu Kato +// 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; \ No newline at end of file