@jirimracek/conjugate-esp
Version:
Spanish verb conjugator, castellano, voseo, canarias, formal
246 lines (207 loc) • 7.15 kB
Markdown
# Spanish verb conjugator
Sun 03 Jan 2021 07:14:54 PM CET, version 2.3.6
____

[](https://coveralls.io/github/jirimracek/conjugate-esp?branch=main)

Uses templates, pattern matching & logic to conjugate Spanish verbs
____
## Goals
- correct, detailed, complete, fast & small
- 14456 tested verbs based on 97 models
- includes
- only current, RAE recognized as known & used verbs
- castellano, voseo, formal, canarias
- reflexives
- defectives
- multiple (dual & triple) conjugations
- dual participios
- orthographical changes (1999 and 2010)
- If you find this useful -- drop me a note, I'd like to know
____
### TL;DR
- new in 2.3.x
- public interface changes
- new public methods
- getOrthoVerbListSync()
- getOrthoVerbList() - get verbs affected by 1999/2010 orthography
- useHighlight() - turn on / off / partial highlighting
- getDefectiveVerbList(exact = false) now has an optional argument - see Usage for info
- internal changes, dropped one lever of db nesting, simplifications
- removed use of
- *Array.flat()* , can be used with more browsers
- ts compiler option target moved back to ES2016
- rearranged the order or the Result[] - non-defective conjugations are always listed before defective ones
- play with *node bin/runme.js*
____
### Want to read
- see [Release notes](docs/RELEASE.md) for major / minor version updates
- see [Changelog](docs/CHANGELOG.md) for current details
- see [Roadmap](docs/ROADMAP.md) for future changes and ideas
- see [Usage](docs/USAGE.md) for usage, interfaces, return values description, sample output and more
____
### Credits
- Many thanks to [Estudio Sampere Salamanca, España](http://www.sampere.com/learn-spanish/spanish-courses-salamanca.html)
- ***Esther González, Ester García, María Ballesteros*** you're my heroes
- Contributors to [fast-diff](https://github.com/jhchen/fast-diff) - I really didn't feel like writing yet another text comparison, you saved me a lot of time
____
### Compatibility
- browsers
- see [caniuse](https://caniuse.com/)
- node.js >= 12.11
- ~~uses ES2019 features, namely Array.flat~~ (12/21/2020 - not anymore)
- uses ES2016
- see [ECMAScript compatibility](https://kangax.github.io/compat-table/es2016plus/)
____
### Installation
- clone / download gitHub repository
- npm i @jirimracek/conjugate-esp
____
### Modes / Times
- Impersonal
- Infinitivo, Gerundio, Participio
- Indicativo
- Simple
- Presente, Pretérito Imperfecto, Pretérito Indefinido, Futuro Imperfecto, Condicional Simple
- Compuesto
- Pretérito Perfecto, Pretérito Pluscuamperfecto, *Pretérito Anterior*, Futuro Perfecto, Condicional Compuesto
- Subjuntivo
- Simple
- Presente, Pretérito Imperfecto Ra, Pretérito Imperfecto Se, *Futuro Imperfecto*
- Compuesto
- Pretérito Perfecto, Pretérito Pluscuamperfecto Ra, Pretérito Pluscuamperfecto Se, *Futuro Perfecto*
- Imperativo
- Afirmativo, Negativo
(rarely employed *Indicativo Pretérito Anterior & Subjuntivo Futuro Perfecto / Imperfecto*)
____
### Implemented and tested conjugation models
<table>
<tr><td>
| AR | |
|---------------|:-----------:|
| ***hablar*** | ✔ |
| *acertar* | ✔ |
| *actuar* | ✔ |
| *aguar* | ✔ |
| *ahincar* | ✔ |
| *aislar* | ✔ |
| *andar* | ✔ |
| *aunar* | ✔ |
| *avergonzar* | ✔ |
| *cabrahigar* | ✔ |
| *colgar* | ✔ |
| *contar* | ✔ |
| *dar* | ✔ |
| *desdar* | ✔ |
| *desosar* | ✔ |
| *engorar* | ✔ |
| *enraizar* | ✔ |
| *errar* | ✔ |
| *estar* | ✔ |
| *forzar* | ✔ |
| *jugar* | ✔ |
| *pagar* | ✔ |
| *regar* | ✔ |
| *rozar* | ✔ |
| *sacar* | ✔ |
| *tropezar* | ✔ |
| *vaciar* | ✔ |
| *volcar* | ✔ |
|➖||
|➖||
|➖||
|➖||
|➖||
|➖||
|➖||
|➖||
|➖||
</td><td>
| ER | |
|---------------|:-----------:|
| ***temer*** | ✔ |
| *caber* | ✔ |
| *caer* | ✔ |
| *coger* | ✔ |
| *corroer* | ✔ |
| *creer* | ✔ |
| *haber* | ✔ |
| *hacer* | ✔ |
| *mover* | ✔ |
| *nacer* | ✔ |
| *oler* | ✔ |
| *placer* | ✔ |
| *poder* | ✔ |
| *poner* | ✔ |
| *querer* | ✔ |
| *raer* | ✔ |
| *rehacer* | ✔ |
| *responder* | ✔ |
| *rever* | ✔ |
| *romper* | ✔ |
| *saber* | ✔ |
| *ser* | ✔ |
| *tañer* | ✔ |
| *tender* | ✔ |
| *tener* | ✔ |
| *torcer* | ✔ |
| *traer* | ✔ |
| *valer* | ✔ |
| *vencer* | ✔ |
| *ver* | ✔ |
| *volver* | ✔ |
| *yacer* | ✔ |
|➖||
|➖||
|➖||
|➖||
|➖||
</td><td>
| IR | |
|---------------|:-----------:|
| ***partir*** | ✔ |
| *abrir* | ✔ |
| *adquirir* | ✔ |
| *argüir* | ✔ |
| *asir* | ✔ |
| *balbucir* | ✔ |
| *bendecir* | ✔ |
| *ceñir* | ✔ |
| *cohibir* | ✔ |
| *conducir* | ✔ |
| *corregir* | ✔ |
| *decir* | ✔ |
| *delinquir* | ✔ |
| *dirigir* | ✔ |
| *discernir* | ✔ |
| *distinguir* | ✔ |
| *dormir* | ✔ |
| *embaír* | ✔ |
| *erguir* | ✔ |
| *escribir* | ✔ |
| *huir* | ✔ |
| *ir* | ✔ |
| *lucir* | ✔ |
| *oír* | ✔ |
| *plañir* | ✔ |
| *podrir* | ✔ |
| *pudrir* | ✔ |
| *rehenchir* | ✔ |
| *rehuir* | ✔ |
| *reunir* | ✔ |
| *reír* | ✔ |
| *salir* | ✔ |
| *seguir* | ✔ |
| *sentir* | ✔ |
| *servir* | ✔ |
| *venir* | ✔ |
| *zurcir* | ✔ |
</td></tr> </table>
____
### Resources Used
- [Estudio Sampere Salamanca](http://www.sampere.com/learn-spanish/spanish-courses-salamanca.html "Sampere Salamanca") - great place to study Spanish
- [RAE main page](https://www.rae.es "RAE") and their (paid subscription, much recommended) [RAE Enclave](https://enclave.rae.es "Enclave")
- [Rodríguez-Rodríguez, G; Carreras-Riudavets, F; Hernández-Figueroa, Z; (2009). Conjugación de verbos en español - Conjugador TIP](https://tulengua.es "Conjugador TIP") - excellent book, about the most accurate and complete web conjugator I found
- [Diccionario panhispánico de dudas](https://www.casadellibro.com/libro-diccionario-panhispanico-de-dudas-2-ed/9788429406238/1051481 "Casa del libro" )
- [Vadémecum del verbo español, Pedro Gomis Blanco, Laura Segura Calvo](https://www.amazon.es/Vad%C3%A9mecum-verbo-espa%C3%B1ol-Pedro-Blanco/dp/8497783875 "Amazon.es") - good technical reference on verb usage, but has many errors (tables, verb to model index), use with extreme caution
- ... and many others