Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Sep 18, 2024. It is now read-only.
/inflectPublic archive

custom inflections for nodejs

License

NotificationsYou must be signed in to change notification settings

pksunkara/inflect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

customizable inflections for nodejs

NOTE: 0.3.2 was accidentally unpublished from the server and npm doesn't allow me to publish it back. Please upgrade to 0.3.3

Installation

npm install i

Usage

Require the module before using

varinflect=require('i')();

All the below api functions can be called directly on a string

inflect.titleize('messages to store')// === 'Messages To Store''messages to store'.titleize// === 'Messages To Store'

only iftrue is passed while initiating

varinflect=require('i')(true);

Pluralize

inflect.pluralize('person');// === 'people'inflect.pluralize('octopus');// === 'octopi'inflect.pluralize('Hat');// === 'Hats'

Singularize

inflect.singularize('people');// === 'person'inflect.singularize('octopi');// === 'octopus'inflect.singularize('Hats');// === 'Hat'

Camelize

inflect.camelize('message_properties');// === 'MessageProperties'inflect.camelize('message_properties',false);// === 'messageProperties'

Underscore

inflect.underscore('MessageProperties');// === 'message_properties'inflect.underscore('messageProperties');// === 'message_properties'

Humanize

inflect.humanize('message_id');// === 'Message'

Dasherize

inflect.dasherize('message_properties');// === 'message-properties'inflect.dasherize('Message Properties');// === 'Message Properties'

Titleize

inflect.titleize('message_properties');// === 'Message Properties'inflect.titleize('message properties to keep');// === 'Message Properties to Keep'

Demodulize

inflect.demodulize('Message.Bus.Properties');// === 'Properties'

Tableize

inflect.tableize('MessageBusProperty');// === 'message_bus_properties'

Classify

inflect.classify('message_bus_properties');// === 'MessageBusProperty'

Foreign key

inflect.foreign_key('MessageBusProperty');// === 'message_bus_property_id'inflect.foreign_key('MessageBusProperty',false);// === 'message_bus_propertyid'

Ordinalize

inflect.ordinalize('1');// === '1st'

Custom rules for inflection

Custom plural

We can use regexp in any of these custom rules

inflect.inflections.plural('person','guys');inflect.pluralize('person');// === 'guys'inflect.singularize('guys');// === 'guy'

Custom singular

inflect.inflections.singular('guys','person')inflect.singularize('guys');// === 'person'inflect.pluralize('person');// === 'people'

Custom irregular

inflect.inflections.irregular('person','guys')inflect.pluralize('person');// === 'guys'inflect.singularize('guys');// === 'person'

Custom human

inflect.inflections.human(/^(.*)_cnt$/i,'$1_count');inflect.humanize('jargon_cnt');// === 'Jargon count'

Custom uncountable

inflect.inflections.uncountable('oil')inflect.pluralize('oil');// === 'oil'inflect.singularize('oil');// === 'oil'

Contributors

Here is a list ofContributors

TODO

  • More obscure test cases

I accept pull requests and guarantee a reply back within a day

License

MIT/X11

Bug Reports

Reporthere.Guaranteed reply within a day.

Contact

Pavan Kumar Sunkara (pavan.sss1991@gmail.com)

Follow me ongithub,twitter

About

custom inflections for nodejs

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors8


[8]ページ先頭

©2009-2025 Movatter.jp