english-verbs-helper
v3.3.0
Published
English verbs conjugation
Downloads
2,140
Maintainers
Readme
English verbs conjugation
Features
Agreement of English verbs, based on a few rules and on linguistic resources.
You have to import and provide independently linguistic resources:
- use
english-verbs-irregular
for a list of irregular verbs (with their preterit and past participle) - use
english-verbs-gerunds
for a list of irregular gerunds (ing
)
These resources are not declared as dependencies so that they are not automatically bundled in a browser package.
If you do not provide linguistic resources, very basic rules will be used: adding ing
for gerunds, and ed
for past and participles.
Usage
getConjugation
will return the conjugated verb based on:
- information about irregular verbs (preteric, past participle and gerund):
- you can just put
null
if you don't care about irregular verbs, or if your tenses don't require them (onlySIMPLE_PRESENT
andSIMPLE_FUTURE
) - other provide irregular verbs info, using
english-verbs-irregular
, and/orenglish-verbs-gerunds
, using the provided helpermergeVerbsData
- you can just put
- the verb as a string
- the tense
- the person: 0=I, 1=you (singular), 2=he/she/it, 3=we, 4=you (plural), 5=they.
ExtraParams
:- for
SIMPLE_FUTURE
, you can add{ GOING_TO: true }
to trigger the going to form; default is{ WILL: true }
- use
{ NEGATIVE: true }
to trigger the negative form; additionnaly addCONTRACT: true
to get the contracted version (will not => won't, etc.); when using the verbto have
, you can choose whether to generatehasn't
ordoes not have
usingNO_DO: true
- for
Available tenses are: SIMPLE_PAST
(or PAST
), SIMPLE_PRESENT
(or PRESENT
), SIMPLE_FUTURE
(or FUTURE
), PROGRESSIVE_PAST
, PROGRESSIVE_PRESENT
, PROGRESSIVE_FUTURE
, PERFECT_PAST
, PERFECT_PRESENT
, PERFECT_FUTURE
, PERFECT_PROGRESSIVE_PAST
, PERFECT_PROGRESSIVE_PRESENT
, PERFECT_PROGRESSIVE_FUTURE
.
mergeVerbsData
will simply combine irregular verbs info and gerunds, to be used in getConjugation
. In practice you will have swim: ['swam', 'swum', 'swimming']
, here combining an irregular preterit, past participle and gerund. Parameters:
VerbsIrregularInfo
: useenglish-verbs-irregular
, or null (irregular verbs are only required for some tenses)GerundsInfo
: useenglish-verbs-gerunds
, or null (gerunds are only required for some tenses)
Limitations
- no interrogative form
- modals
Installation
npm install english-verbs-helper
Usage
const EnglishVerbs = require('english-verbs-helper');
const Irregular = require('english-verbs-irregular/dist/verbs.json');
const Gerunds = require('english-verbs-gerunds/dist/gerunds.json');
const VerbsData = EnglishVerbs.mergeVerbsData(Irregular, Gerunds);
// (he/she) eats
console.log(EnglishVerbs.getConjugation(null, 'eat', 'PRESENT', 2));
// (he/she) ate
console.log(EnglishVerbs.getConjugation(VerbsData, 'eat', 'SIMPLE_PAST', 2));
// swimming
console.log(EnglishVerbs.getIngPart(VerbsData, 'swim'));