UNPKG

@jirimracek/conjugate-esp

Version:

Spanish verb conjugator, castellano, voseo, canarias, formal

1,118 lines 45.8 kB
"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