@jirimracek/conjugate-esp
Version:
Spanish verb conjugator, castellano, voseo, canarias, formal
1,118 lines • 45.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.yacer = exports.volver = exports.ver = exports.vencer = exports.valer = exports.traer = exports.torcer = exports.tener = exports.tender = exports.tañer = exports.ser = exports.saber = exports.romper = exports.responder = exports.raer = exports.querer = exports.rever = exports.poner = exports.poder = exports.placer = exports.oler = exports.nacer = exports.mover = exports.haber = exports.rehacer = exports.hacer = exports.creer = exports.corroer = exports.coger = exports.caer = exports.caber = exports.temer = void 0;
const basemodel_1 = require("./basemodel");
const Array_2 = Array(2).fill('');
const Array_3 = Array(3).fill('');
const Array_5 = Array(5).fill('');
const Array_6 = Array(6).fill('');
const commonHaberIndicativoFuturoImperfecto = (region) => {
return ['ré',
region !== 'formal' ? 'rás' : 'rá',
'rá',
'remos',
region !== 'castellano' ? 'rán' : 'réis',
'rán'
];
};
const commonHaberIndicativoCondicionalSimple = (region) => {
return ['ría',
region !== 'formal' ? 'rías' : 'ría',
'ría',
'ríamos',
region !== 'castellano' ? 'rían' : 'ríais',
'rían'
];
};
const commonCaerIndicativoPreteritoIndefinido = (region) => {
return ['í',
region !== 'formal' ? 'íste' : 'yó',
'yó',
'ímos',
region !== 'castellano' ? 'yeron' : 'ísteis',
'yeron'
];
};
const commonCaerSubjuntivoPreteritoImperfectoRa = (region) => {
return ['yera',
region !== 'formal' ? 'yeras' : 'yera',
'yera',
'yéramos',
region !== 'castellano' ? 'yeran' : 'yerais',
'yeran'
];
};
const commonCaerSubjuntivoPreteritoImperfectoSe = (region) => commonCaerSubjuntivoPreteritoImperfectoRa(region).map(d => d.replace(/ra/, 'se'));
const commonCaerSubjuntivoFuturoImperfecto = (region) => commonCaerSubjuntivoPreteritoImperfectoRa(region).map(d => d.replace(/ra/, 're'));
class temer extends basemodel_1.BaseModel {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences = this.initDesinences(region);
}
setParticipio() {
super.setParticipio();
const PR = this.attributes['PR'];
if (PR) {
const [expression, alteredStem] = PR.split('/');
this.participioCompuesto = this.participioCompuesto.replace(expression, alteredStem);
this.table.Impersonal.Participio = this.participioCompuesto;
}
}
initDesinences(region) {
return {
Impersonal: {
Infinitivo: !this.reflexive ? 'er' : 'erse',
Gerundio: !this.reflexive ? 'iendo' : 'iéndose',
Participio: 'ido'
},
Indicativo: {
Presente: ['o',
region !== 'voseo' ? (region !== 'formal' ? 'es' : 'e') : 'és',
'e',
'emos',
region !== 'castellano' ? 'en' : 'éis',
'en'],
PreteritoImperfecto: ['ía',
region !== 'formal' ? 'ías' : 'ía',
'ía',
'íamos',
region !== 'castellano' ? 'ían' : 'íais',
'ían'],
PreteritoIndefinido: ['í',
region !== 'formal' ? 'iste' : 'ió',
'ió',
'imos',
region !== 'castellano' ? 'ieron' : 'isteis',
'ieron'],
FuturoImperfecto: ['eré',
region !== 'formal' ? 'erás' : 'erá',
'erá',
'eremos',
region !== 'castellano' ? 'erán' : 'eréis',
'erán'],
CondicionalSimple: ['ería',
region !== 'formal' ? 'erías' : 'ería',
'ería',
'eríamos',
region !== 'castellano' ? 'erían' : 'eríais',
'erían']
},
Subjuntivo: {
Presente: ['a',
region !== 'formal' ? 'as' : 'a',
'a',
'amos',
region !== 'castellano' ? 'an' : 'áis',
'an'],
PreteritoImperfectoRa: ['iera',
region !== 'formal' ? 'ieras' : 'iera',
'iera',
'iéramos',
region !== 'castellano' ? 'ieran' : 'ierais',
'ieran'],
PreteritoImperfectoSe: ['iese',
region !== 'formal' ? 'ieses' : 'iese',
'iese',
'iésemos',
region !== 'castellano' ? 'iesen' : 'ieseis',
'iesen'],
FuturoImperfecto: ['iere',
region !== 'formal' ? 'ieres' : 'iere',
'iere',
'iéremos',
region !== 'castellano' ? 'ieren' : 'iereis',
'ieren']
}
};
}
}
exports.temer = temer;
class caber extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/ab/, 'up');
this.alteredStemArray = Array_6.map(() => this.alteredStem);
this.secondAlteredStem = this.stem.replace(/.*/, 'quep');
this.secondAlteredStemArray = Array_6.map(() => this.secondAlteredStem);
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
this.desinences.Indicativo.FuturoImperfecto = commonHaberIndicativoFuturoImperfecto(region);
this.desinences.Indicativo.CondicionalSimple = commonHaberIndicativoCondicionalSimple(region);
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.secondAlteredStem,
...Array_5.map(() => this.stem)
]);
}
setIndicativoPreteritoIndefinido() {
this.setTable('Indicativo', 'PreteritoIndefinido', this.alteredStemArray);
}
setSubjuntivoPresente() {
this.setTable('Subjuntivo', 'Presente', this.secondAlteredStemArray);
}
setSubjuntivoPreteritoImperfectoRa() {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoSe() {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', this.alteredStemArray);
}
setSubjuntivoFuturoImperfecto() {
this.setTable('Subjuntivo', 'FuturoImperfecto', this.alteredStemArray);
}
}
exports.caber = caber;
class caer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Gerundio = !this.reflexive ? 'yendo' : 'yéndose';
this.desinences.Impersonal.Participio = 'ído';
this.desinences.Indicativo.Presente[0] = `ig${this.desinences.Indicativo.Presente[0]}`;
this.desinences.Subjuntivo.Presente = this.desinences.Subjuntivo.Presente.map(d => `ig${d}`);
this.desinences.Indicativo.PreteritoIndefinido = commonCaerIndicativoPreteritoIndefinido(region);
this.desinences.Subjuntivo.PreteritoImperfectoRa = commonCaerSubjuntivoPreteritoImperfectoRa(region);
this.desinences.Subjuntivo.PreteritoImperfectoSe = commonCaerSubjuntivoPreteritoImperfectoSe(region);
this.desinences.Subjuntivo.FuturoImperfecto = commonCaerSubjuntivoFuturoImperfecto(region);
}
}
exports.caer = caer;
class coger extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/g$/, 'j');
this.alteredStemArray = Array_6.map(() => this.alteredStem);
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.alteredStem,
...Array_5.map(() => this.stem)
]);
}
setSubjuntivoPresente() {
this.setTable('Subjuntivo', 'Presente', this.alteredStemArray);
}
}
exports.coger = coger;
class corroer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Gerundio = this.desinences.Impersonal.Gerundio.replace(/i/, 'y');
this.desinences.Impersonal.Participio = this.desinences.Impersonal.Participio.replace(/i/, 'í');
if (this.version === '1') {
this.desinences.Indicativo.Presente[0] = `ig${this.desinences.Indicativo.Presente[0]}`;
this.desinences.Subjuntivo.Presente = this.desinences.Subjuntivo.Presente.map(d => `ig${d}`);
}
else if (this.version === '2') {
this.desinences.Indicativo.Presente[0] = `y${this.desinences.Indicativo.Presente[0]}`;
this.desinences.Subjuntivo.Presente = this.desinences.Subjuntivo.Presente.map(d => `y${d}`);
}
this.desinences.Indicativo.PreteritoIndefinido = commonCaerIndicativoPreteritoIndefinido(region);
this.desinences.Subjuntivo.PreteritoImperfectoRa = commonCaerSubjuntivoPreteritoImperfectoRa(region);
this.desinences.Subjuntivo.PreteritoImperfectoSe = commonCaerSubjuntivoPreteritoImperfectoSe(region);
this.desinences.Subjuntivo.FuturoImperfecto = commonCaerSubjuntivoFuturoImperfecto(region);
}
}
exports.corroer = corroer;
class creer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Gerundio = this.desinences.Impersonal.Gerundio.replace(/i/, 'y');
this.desinences.Impersonal.Participio = this.desinences.Impersonal.Participio.replace(/i/, 'í');
this.desinences.Indicativo.PreteritoIndefinido = commonCaerIndicativoPreteritoIndefinido(region);
this.desinences.Subjuntivo.PreteritoImperfectoRa = commonCaerSubjuntivoPreteritoImperfectoRa(region);
this.desinences.Subjuntivo.PreteritoImperfectoSe = commonCaerSubjuntivoPreteritoImperfectoSe(region);
this.desinences.Subjuntivo.FuturoImperfecto = commonCaerSubjuntivoFuturoImperfecto(region);
}
}
exports.creer = creer;
class hacer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
this.desinences.Indicativo.FuturoImperfecto = commonHaberIndicativoFuturoImperfecto(region);
this.desinences.Indicativo.CondicionalSimple = commonHaberIndicativoCondicionalSimple(region);
}
setParticipio() {
this.participioCompuesto = `${this.stem}${this.desinences.Impersonal.Participio}`.replace(/acid/, 'ech');
this.table.Impersonal.Participio = this.participioCompuesto;
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.stem.replace(/c$/, 'g'),
...Array_5.map(() => this.stem)
]);
}
setIndicativoPreteritoIndefinido() {
const local = this.stem.replace(/(.*)a/, '$1i');
const acToIz = this.stem.replace(/ac$/, 'iz');
switch (this.region) {
default:
this.setTable('Indicativo', 'PreteritoIndefinido', [
local,
local,
acToIz,
local,
local,
local
]);
break;
case 'formal':
this.setTable('Indicativo', 'PreteritoIndefinido', [
local,
acToIz,
acToIz,
local,
local,
local
]);
}
}
setIndicativoFuturoImperfecto() {
const local = this.stem.replace(/c$/, '');
this.setTable('Indicativo', 'FuturoImperfecto', Array_6.map(() => local));
}
setIndicativoCondicionalSimple() {
const local = this.stem.replace(/c$/, '');
this.setTable('Indicativo', 'CondicionalSimple', Array_6.map(() => local));
}
setSubjuntivoPresente() {
const local = this.stem.replace(/c$/, 'g');
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => local));
}
setSubjuntivoPreteritoImperfectoRa() {
const local = this.stem.replace(/(.*)a/, '$1i');
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', Array_6.map(() => local));
}
setSubjuntivoPreteritoImperfectoSe() {
const local = this.stem.replace(/(.*)a/, '$1i');
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', Array_6.map(() => local));
}
setSubjuntivoFuturoImperfecto() {
const local = this.stem.replace(/(.*)a/, '$1i');
this.setTable('Subjuntivo', 'FuturoImperfecto', Array_6.map(() => local));
}
setImperativoAfirmativo() {
super.setImperativoAfirmativo();
switch (this.region) {
case 'castellano':
case 'canarias':
if (this.version === '0') {
this.table.Imperativo.Afirmativo[1] =
this.table.Imperativo.Afirmativo[1].replace(/[aá]ce/, 'az');
}
}
}
}
exports.hacer = hacer;
class rehacer extends hacer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
}
setIndicativoPreteritoIndefinido() {
const local = this.stem.replace(/(.*)a/, '$1i');
const acToIz = this.stem.replace(/ac$/, 'íz');
switch (this.region) {
default:
this.setTable('Indicativo', 'PreteritoIndefinido', [
this.stem.replace(/(.*)a/, '$1í'),
local,
acToIz,
local,
local,
local
]);
break;
case 'formal':
this.setTable('Indicativo', 'PreteritoIndefinido', [
this.stem.replace(/(.*)a/, '$1í'),
acToIz,
acToIz,
local,
local,
local
]);
}
}
}
exports.rehacer = rehacer;
class haber extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Indicativo.Presente = ['e',
region !== 'formal' ? 'as' : 'a',
'a',
'emos',
region !== 'castellano' ? 'an' : 'éis',
'an'
];
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
this.desinences.Indicativo.FuturoImperfecto = commonHaberIndicativoFuturoImperfecto(region);
this.desinences.Indicativo.CondicionalSimple = commonHaberIndicativoCondicionalSimple(region);
}
setIndicativoPresente() {
const local = this.stem.replace(/ab/, '');
switch (this.region) {
case 'castellano':
this.setTable('Indicativo', 'Presente', [
local,
local,
local,
local,
this.stem,
local
]);
break;
case 'voseo':
case 'canarias':
case 'formal':
this.setTable('Indicativo', 'Presente', Array_6.map(() => local));
break;
}
}
setIndicativoPreteritoIndefinido() {
const local = this.stem.replace(/a/, 'u');
this.setTable('Indicativo', 'PreteritoIndefinido', Array_6.map(() => local));
}
setSubjuntivoPresente() {
const local = this.stem.replace(/b/, 'y');
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => local));
}
setSubjuntivoPreteritoImperfectoRa() {
const local = this.stem.replace(/a/, 'u');
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', Array_6.map(() => local));
}
setSubjuntivoPreteritoImperfectoSe() {
const local = this.stem.replace(/a/, 'u');
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', Array_6.map(() => local));
}
setSubjuntivoFuturoImperfecto() {
const local = this.stem.replace(/a/, 'u');
this.setTable('Subjuntivo', 'FuturoImperfecto', Array_6.map(() => local));
}
setImperativoAfirmativo() {
super.setImperativoAfirmativo();
if (this.region !== 'formal') {
this.table.Imperativo.Afirmativo[1] = this.table.Imperativo.Afirmativo[1].replace(/a/, 'e');
}
}
}
exports.haber = haber;
class mover extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/(.*)o/, '$1ue');
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.alteredStem, this.alteredStem);
}
setSubjuntivoPresente() {
this.setSubjuntivoPresentePattern0125(this.alteredStem);
}
}
exports.mover = mover;
class nacer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/s?c$/, 'zc');
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.alteredStem,
...Array_5.map(() => this.stem)
]);
}
setSubjuntivoPresente() {
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => this.alteredStem));
}
}
exports.nacer = nacer;
class oler extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/^o/, 'hue');
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.alteredStem, this.alteredStem);
}
setSubjuntivoPresente() {
this.setSubjuntivoPresentePattern0125(this.alteredStem);
}
}
exports.oler = oler;
class placer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/c$/, 'zc');
if (this.version === '1') {
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
}
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.alteredStem,
...Array_5.map(() => this.stem)
]);
}
setIndicativoPreteritoIndefinido() {
if (this.version === '0') {
this.setTable('Indicativo', 'PreteritoIndefinido');
}
else {
const local = this.stem.replace(/ac/, 'ug');
if (this.region === 'formal') {
this.setTable('Indicativo', 'PreteritoIndefinido', [
this.stem,
local,
local,
this.stem,
this.stem,
this.stem
]);
}
else {
this.setTable('Indicativo', 'PreteritoIndefinido', [
this.stem,
this.stem,
local,
this.stem,
this.stem,
this.stem
]);
}
}
}
setSubjuntivoPresente() {
if (this.version === '0') {
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => this.alteredStem));
}
else {
const local = this.stem.replace(/ac/, 'eg');
if (this.region === 'formal') {
this.setTable('Subjuntivo', 'Presente', [
this.alteredStem,
local,
local,
this.alteredStem,
this.alteredStem,
this.alteredStem
]);
}
else {
this.setTable('Subjuntivo', 'Presente', [
this.alteredStem,
this.alteredStem,
local,
this.alteredStem,
this.alteredStem,
this.alteredStem
]);
}
}
}
setSubjuntivoPreteritoImperfectoRa() {
if (this.version === '0') {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa');
}
else {
const local = this.stem.replace(/ac/, 'ugu');
if (this.region === 'formal') {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', [
this.stem,
local,
local,
this.stem,
this.stem,
this.stem
]);
}
else {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', [
this.stem,
this.stem,
local,
this.stem,
this.stem,
this.stem
]);
}
}
}
setSubjuntivoPreteritoImperfectoSe() {
if (this.version === '0') {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe');
}
else {
if (this.region === 'formal') {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', [
this.stem,
...Array_2.map(() => this.stem.replace(/ac/, 'ugu')),
...Array_3.map(() => this.stem)
]);
}
else {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', [
...Array_2.map(() => this.stem),
this.stem.replace(/ac/, 'ugu'),
...Array_3.map(() => this.stem)
]);
}
}
}
setSubjuntivoFuturoImperfecto() {
if (this.version === '0') {
this.setTable('Subjuntivo', 'FuturoImperfecto');
}
else {
if (this.region === 'formal') {
this.setTable('Subjuntivo', 'FuturoImperfecto', [
this.stem,
...Array_2.map(() => this.stem.replace(/ac/, 'ugu')),
...Array_3.map(() => this.stem)
]);
}
else {
this.setTable('Subjuntivo', 'FuturoImperfecto', [
...Array_2.map(() => this.stem),
this.stem.replace(/ac/, 'ugu'),
...Array_3.map(() => this.stem)
]);
}
}
}
}
exports.placer = placer;
class poder extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/o/, 'u');
this.alteredStemArray = Array_6.map(() => this.alteredStem);
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
this.desinences.Indicativo.FuturoImperfecto = commonHaberIndicativoFuturoImperfecto(region);
this.desinences.Indicativo.CondicionalSimple = commonHaberIndicativoCondicionalSimple(region);
}
setGerundio() {
super.setGerundio(this.alteredStem);
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.stem.replace(/o/, 'ue'), this.stem.replace(/o/, 'ue'));
}
setIndicativoPreteritoIndefinido() {
this.setTable('Indicativo', 'PreteritoIndefinido', this.alteredStemArray);
}
setSubjuntivoPresente() {
this.setSubjuntivoPresentePattern0125(this.stem.replace(/o/, 'ue'));
}
setSubjuntivoPreteritoImperfectoRa() {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoSe() {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', this.alteredStemArray);
}
setSubjuntivoFuturoImperfecto() {
this.setTable('Subjuntivo', 'FuturoImperfecto', this.alteredStemArray);
}
}
exports.poder = poder;
class poner extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/on$/, 'us');
this.alteredStemArray = Array_6.map(() => this.alteredStem);
const second = this.stem.replace(/$/, 'd');
this.secondAlteredStemArray = Array_6.map(() => second);
this.desinences.Indicativo.Presente[0] = 'go';
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
this.desinences.Indicativo.FuturoImperfecto = commonHaberIndicativoFuturoImperfecto(region);
this.desinences.Indicativo.CondicionalSimple = commonHaberIndicativoCondicionalSimple(region);
}
setParticipio() {
this.participioCompuesto = `${this.stem}${this.desinences.Impersonal.Participio}`.replace(/onid/, 'uest');
this.table.Impersonal.Participio = this.participioCompuesto;
}
setIndicativoPreteritoIndefinido() {
this.setTable('Indicativo', 'PreteritoIndefinido', this.alteredStemArray);
}
setIndicativoFuturoImperfecto() {
this.setTable('Indicativo', 'FuturoImperfecto', this.secondAlteredStemArray);
}
setIndicativoCondicionalSimple() {
this.setTable('Indicativo', 'CondicionalSimple', this.secondAlteredStemArray);
}
setSubjuntivoPresente() {
const replace = this.stem.replace(/on$/, 'ong');
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => replace));
}
setSubjuntivoPreteritoImperfectoRa() {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoSe() {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', this.alteredStemArray);
}
setSubjuntivoFuturoImperfecto() {
this.setTable('Subjuntivo', 'FuturoImperfecto', this.alteredStemArray);
}
setImperativoAfirmativo() {
super.setImperativoAfirmativo();
this.setImperativoAfirmativoMono(/(.*)p[oó]ne/, 'pon', 'pón');
}
}
exports.poner = poner;
class rever extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Participio = 'isto';
this.desinences.Indicativo.Presente[0] = 'eo';
this.desinences.Indicativo.Presente[1] = region === 'formal' ? 'é' : 'és';
this.desinences.Indicativo.Presente[2] = 'é';
if (region !== 'castellano') {
this.desinences.Indicativo.Presente[4] = 'én';
}
this.desinences.Indicativo.Presente[5] = 'én';
this.desinences.Indicativo.PreteritoImperfecto =
this.desinences.Indicativo.PreteritoImperfecto.map(d => `e${d}`);
this.desinences.Subjuntivo.Presente =
this.desinences.Subjuntivo.Presente.map(d => `e${d}`);
}
setImperativoAfirmativo() {
super.setImperativoAfirmativo();
this.setImperativoAfirmativoMono(/(.*)v[eé]/, 've', 'vé');
}
}
exports.rever = rever;
class querer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/ue/, 'uie');
const secondAltered = this.stem.replace(/er$/, 'is');
this.secondAlteredArray = Array_6.map(() => secondAltered);
this.desinences.Indicativo.PreteritoIndefinido = ['ise',
region !== 'formal' ? 'isiste' : 'iso',
'iso',
'isimos',
region !== 'castellano' ? 'isieron' : 'isisteis',
'isieron'];
this.desinences.Indicativo.FuturoImperfecto = commonHaberIndicativoFuturoImperfecto(region);
this.desinences.Indicativo.CondicionalSimple = commonHaberIndicativoCondicionalSimple(region);
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.alteredStem, this.alteredStem);
}
setIndicativoPreteritoIndefinido() {
const local = this.stem.replace(/uer/, 'u');
this.setTable('Indicativo', 'PreteritoIndefinido', Array_6.map(() => local));
}
setSubjuntivoPresente() {
this.setSubjuntivoPresentePattern0125(this.alteredStem);
}
setSubjuntivoPreteritoImperfectoRa() {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', this.secondAlteredArray);
}
setSubjuntivoPreteritoImperfectoSe() {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', this.secondAlteredArray);
}
setSubjuntivoFuturoImperfecto() {
this.setTable('Subjuntivo', 'FuturoImperfecto', this.secondAlteredArray);
}
}
exports.querer = querer;
class raer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Gerundio = this.desinences.Impersonal.Gerundio.replace(/i/, 'y');
this.desinences.Impersonal.Participio = this.desinences.Impersonal.Participio.replace(/i/, 'í');
if (this.version === '0') {
this.desinences.Indicativo.Presente[0] = 'igo';
this.desinences.Subjuntivo.Presente =
this.desinences.Subjuntivo.Presente.map(d => `ig${d}`);
}
else {
this.desinences.Indicativo.Presente[0] = 'yo';
this.desinences.Subjuntivo.Presente =
this.desinences.Subjuntivo.Presente.map(d => `y${d}`);
}
this.desinences.Indicativo.PreteritoIndefinido = commonCaerIndicativoPreteritoIndefinido(region);
this.desinences.Subjuntivo.PreteritoImperfectoRa = commonCaerSubjuntivoPreteritoImperfectoRa(region);
this.desinences.Subjuntivo.PreteritoImperfectoSe = commonCaerSubjuntivoPreteritoImperfectoSe(region);
this.desinences.Subjuntivo.FuturoImperfecto = commonCaerSubjuntivoFuturoImperfecto(region);
}
}
exports.raer = raer;
class responder extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/sp.*/, 'p');
this.desinences.Indicativo.PreteritoIndefinido = ['use',
region !== 'formal' ? 'usiste' : 'uso',
'uso',
'usimos',
region !== 'castellano' ? 'usieron' : 'usisteis',
'usieron'];
}
setIndicativoPreteritoIndefinido() {
this.setTable('Indicativo', 'PreteritoIndefinido', Array_6.map(() => this.alteredStem));
}
}
exports.responder = responder;
class romper extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Participio = 'o';
}
setParticipio() {
this.participioCompuesto = `${this.stem}${this.desinences.Impersonal.Participio}`.replace(/mp/, 't');
this.table.Impersonal.Participio = this.participioCompuesto;
}
}
exports.romper = romper;
class saber extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/ab/, 'up');
this.alteredStemArray = Array_6.map(() => this.alteredStem);
this.desinences.Indicativo.Presente[0] = '';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
this.desinences.Indicativo.FuturoImperfecto =
this.desinences.Indicativo.FuturoImperfecto.map(d => d.replace(/^e/, ''));
this.desinences.Indicativo.CondicionalSimple =
this.desinences.Indicativo.CondicionalSimple.map(d => d.replace(/^e/, ''));
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.stem.replace(/ab/, 'é'),
...Array_5.map(() => this.stem)
]);
}
setIndicativoPreteritoIndefinido() {
this.setTable('Indicativo', 'PreteritoIndefinido', this.alteredStemArray);
}
setSubjuntivoPresente() {
const local = this.stem.replace(/ab/, 'ep');
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => local));
}
setSubjuntivoPreteritoImperfectoRa() {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoSe() {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', this.alteredStemArray);
}
setSubjuntivoFuturoImperfecto() {
this.setTable('Subjuntivo', 'FuturoImperfecto', this.alteredStemArray);
}
}
exports.saber = saber;
class ser extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredeStem = this.stem.replace(/s/, 'fu');
this.alteredStemArray = Array_6.map(() => this.alteredeStem);
this.desinences.Indicativo.Presente = ['soy',
region !== 'voseo' ? (region !== 'formal' ? 'eres' : 'es') : 'sos',
'es',
'somos',
region !== 'castellano' ? 'son' : 'sois',
'son'];
this.desinences.Indicativo.PreteritoImperfecto = ['era',
region !== 'formal' ? 'eras' : 'era',
'era',
'éramos',
region !== 'castellano' ? 'eran' : 'erais',
'eran'];
this.desinences.Indicativo.PreteritoIndefinido[0] = 'i';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'e';
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'e';
if (region !== 'castellano') {
this.desinences.Indicativo.PreteritoIndefinido[4] = 'eron';
}
this.desinences.Indicativo.PreteritoIndefinido[5] = 'eron';
this.desinences.Subjuntivo.Presente =
this.desinences.Subjuntivo.Presente.map(d => `e${d}`);
this.desinences.Subjuntivo.PreteritoImperfectoRa =
this.desinences.Subjuntivo.PreteritoImperfectoRa.map(d => d.replace(/^i/, ''));
this.desinences.Subjuntivo.PreteritoImperfectoSe =
this.desinences.Subjuntivo.PreteritoImperfectoSe.map(d => d.replace(/^i/, ''));
this.desinences.Subjuntivo.FuturoImperfecto =
this.desinences.Subjuntivo.FuturoImperfecto.map(d => d.replace(/^i/, ''));
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', Array_6.map(() => ''));
}
setIndicativoPreteritoImperfecto() {
this.setTable('Indicativo', 'PreteritoImperfecto', Array_6.map(() => ''));
}
setIndicativoPreteritoIndefinido() {
this.setTable('Indicativo', 'PreteritoIndefinido', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoRa() {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoSe() {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', this.alteredStemArray);
}
setSubjuntivoFuturoImperfecto() {
this.setTable('Subjuntivo', 'FuturoImperfecto', this.alteredStemArray);
}
setImperativoAfirmativo() {
super.setImperativoAfirmativo();
if (this.region !== 'formal') {
this.table.Imperativo.Afirmativo[1] =
this.table.Imperativo.Afirmativo[1].replace(/.*/, 'sé');
}
}
}
exports.ser = ser;
class tañer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Gerundio = this.desinences.Impersonal.Gerundio.replace(/^i/, '');
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'ó';
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'ó';
if (region !== 'castellano') {
this.desinences.Indicativo.PreteritoIndefinido[4] = 'eron';
}
this.desinences.Indicativo.PreteritoIndefinido[5] = 'eron';
this.desinences.Subjuntivo.PreteritoImperfectoRa =
this.desinences.Subjuntivo.PreteritoImperfectoRa.map(d => d.replace(/^i/, ''));
this.desinences.Subjuntivo.PreteritoImperfectoSe =
this.desinences.Subjuntivo.PreteritoImperfectoSe.map(d => d.replace(/^i/, ''));
this.desinences.Subjuntivo.FuturoImperfecto =
this.desinences.Subjuntivo.FuturoImperfecto.map(d => d.replace(/^i/, ''));
}
}
exports.tañer = tañer;
class tender extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/(.*)e/, '$1ie');
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.alteredStem, this.alteredStem);
}
setSubjuntivoPresente() {
this.setSubjuntivoPresentePattern0125(this.alteredStem);
}
}
exports.tender = tender;
class tener extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
const alteredStem = this.stem.replace(/(.*)en/, '$1uv');
this.alteredStemArray = Array_6.map(() => alteredStem);
this.desinences.Indicativo.Presente[0] = 'go';
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
this.desinences.Indicativo.FuturoImperfecto =
this.desinences.Indicativo.FuturoImperfecto.map(d => d.replace(/^e/, 'd'));
this.desinences.Indicativo.CondicionalSimple =
this.desinences.Indicativo.CondicionalSimple.map(d => d.replace(/^e/, 'd'));
this.desinences.Subjuntivo.Presente =
this.desinences.Subjuntivo.Presente.map(d => `g${d}`);
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.stem, this.stem.replace(/(.*)e/, '$1ie'));
}
setIndicativoPreteritoIndefinido() {
this.setTable('Indicativo', 'PreteritoIndefinido', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoRa() {
this.setTable('Subjuntivo', 'PreteritoImperfectoRa', this.alteredStemArray);
}
setSubjuntivoPreteritoImperfectoSe() {
this.setTable('Subjuntivo', 'PreteritoImperfectoSe', this.alteredStemArray);
}
setSubjuntivoFuturoImperfecto() {
this.setTable('Subjuntivo', 'FuturoImperfecto', this.alteredStemArray);
}
setImperativoAfirmativo() {
super.setImperativoAfirmativo();
this.setImperativoAfirmativoMono(/(.*)ti[eé]ne/, 'ten', 'tén');
}
}
exports.tener = tener;
class torcer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/o(r?)c/, 'ue$1z');
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.alteredStem, this.stem.replace(/(.*)o/, '$1ue'));
}
setSubjuntivoPresente() {
this.setSubjuntivoPresentePattern0125(this.alteredStem, this.stem.replace(/(.*)c/, '$1z'));
}
}
exports.torcer = torcer;
class traer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Impersonal.Gerundio = this.desinences.Impersonal.Gerundio.replace(/^i/, 'y');
this.desinences.Impersonal.Participio = 'ído';
this.desinences.Indicativo.Presente[0] = 'igo';
this.desinences.Indicativo.PreteritoIndefinido[0] = 'e';
if (region !== 'castellano') {
this.desinences.Indicativo.PreteritoIndefinido[4] = 'eron';
if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'o';
}
}
this.desinences.Indicativo.PreteritoIndefinido[2] = 'o';
this.desinences.Indicativo.PreteritoIndefinido[5] = 'eron';
this.desinences.Indicativo.PreteritoIndefinido =
this.desinences.Indicativo.PreteritoIndefinido.map(d => `j${d}`);
this.desinences.Subjuntivo.Presente =
this.desinences.Subjuntivo.Presente.map(d => `ig${d}`);
this.desinences.Subjuntivo.PreteritoImperfectoRa =
this.desinences.Subjuntivo.PreteritoImperfectoRa.map(d => d.replace(/^i/, 'j'));
this.desinences.Subjuntivo.PreteritoImperfectoSe =
this.desinences.Subjuntivo.PreteritoImperfectoSe.map(d => d.replace(/^i/, 'j'));
this.desinences.Subjuntivo.FuturoImperfecto =
this.desinences.Subjuntivo.FuturoImperfecto.map(d => d.replace(/^i/, 'j'));
}
}
exports.traer = traer;
class valer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.desinences.Indicativo.Presente[0] =
`g${this.desinences.Indicativo.Presente[0]}`;
this.desinences.Indicativo.FuturoImperfecto =
this.desinences.Indicativo.FuturoImperfecto.map(d => d.replace(/^e/, 'd'));
this.desinences.Indicativo.CondicionalSimple =
this.desinences.Indicativo.CondicionalSimple.map(d => d.replace(/^e/, 'd'));
this.desinences.Subjuntivo.Presente =
this.desinences.Subjuntivo.Presente.map(d => `g${d}`);
}
}
exports.valer = valer;
class vencer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/c$/, 'z');
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.alteredStem,
...Array_5.map(() => this.stem)
]);
}
setSubjuntivoPresente() {
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => this.alteredStem));
}
}
exports.vencer = vencer;
class ver extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/$/, 'e');
this.desinences.Impersonal.Participio = 'isto';
this.desinences.Indicativo.PreteritoIndefinido[0] = 'i';
this.desinences.Indicativo.PreteritoIndefinido[2] = 'io';
if (region === 'castellano') {
this.desinences.Indicativo.Presente[4] = 'eis';
}
else if (region === 'voseo') {
this.desinences.Indicativo.Presente[1] = 'es';
}
else if (region === 'formal') {
this.desinences.Indicativo.PreteritoIndefinido[1] = 'io';
}
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.alteredStem,
...Array_5.map(() => this.stem)
]);
}
setIndicativoPreteritoImperfecto() {
this.setTable('Indicativo', 'PreteritoImperfecto', Array_6.map(() => this.alteredStem));
}
setSubjuntivoPresente() {
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => this.alteredStem));
}
}
exports.ver = ver;
class volver extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
this.alteredStem = this.stem.replace(/(.*)o/, '$1ue');
this.desinences.Impersonal.Participio = 'to';
}
setParticipio() {
this.participioCompuesto = `${this.stem}${this.desinences.Impersonal.Participio}`.replace(/olv/, 'uel');
this.table.Impersonal.Participio = this.participioCompuesto;
}
setIndicativoPresente() {
this.setIndicativoPresentePattern125(this.alteredStem, this.alteredStem);
}
setSubjuntivoPresente() {
this.setSubjuntivoPresentePattern0125(this.alteredStem);
}
}
exports.volver = volver;
class yacer extends temer {
constructor(verb, region, attributes) {
super(verb, region, attributes);
switch (this.version) {
case '0':
this.alteredStem = this.stem.replace(/c$/, 'zc');
break;
case '1':
this.alteredStem = this.stem.replace(/c$/, 'g');
break;
case '2':
default:
this.alteredStem = this.stem.replace(/c$/, 'zg');
break;
}
}
setIndicativoPresente() {
this.setTable('Indicativo', 'Presente', [
this.alteredStem,
...Array_5.map(() => this.stem)
]);
}
setSubjuntivoPresente() {
this.setTable('Subjuntivo', 'Presente', Array_6.map(() => this.alteredStem));
}
setImperativoAfirmativo() {
super.setImperativoAfirmativo();
if (this.version !== '0' && (this.region === 'canarias' || this.region === 'castellano')) {
this.table.Imperativo.Afirmativo[1] =
this.table.Imperativo.Afirmativo[1].replace(/ce$/, 'z');
}
}
}
exports.yacer = yacer;
//# sourceMappingURL=ermodels.js.map