Sun 03 Jan 2021 07:14:54 PM CET, version 2.3.6
-
Sun 27 Dec 2020 12:29:40 PM CET
- 2.3.x
- further Info array trimming
- no reason to have
- verb name - should be obvious from what you asked for and from the infinitive
- pronouns
- if you're using this software, you should be aware of the region dependent pronouns
- if you're not, they're listed in the USAGE) document, take a look
- use them or not in your own app, no reason to force them on everyone
- so this is what we have left in the Info array
- model
- region
- ortho? - only present if a verb is 1999/2010 orthography sensitive
- defective? - only present if this particular conjugation is defective (doesn't mean that every conjugation of the verb is defective, only applies to the associated conjugation array)
- no reason to have
- further Info array trimming
- 2.3.x
-
Fri 25 Dec 2020 10:43:54 AM CET
- 2.3.x
- redo highlight
- problem: ran into a problem with Vue and vuex
- vue turned the tags inside of the conjugator into an Observer and later complained that I shouldn't be setting them outside of mutation. It does have a bit of a logic behind it since I store the result in vuex store, hence vue is determined to observe everything that goes in an out. Although I think that Vue has no business modifying my objects inside of my module.
- solution: practicality vs flexibility, the question is why do I even have a get and set highlight tags functions? Who in their right mind will change them once set?
- practicality:
- the highlight tags are set to { start: '<mark>', end: '</mark>', del: '\u2027' }
- they can still be set once, in the constructor call - the object must be complete now, no partials, all 3 of start, end and del tags must be defined in order to reset the default above
- removing methods
- setHighlightTags()
- getHighlightTags()
- getOrthography() - no need
- highlighting is turned off by default
- new method public useHighlight(use = true):void turns it on/off
- problem: ran into a problem with Vue and vuex
- redo highlight
- 2.3.x
-
Tue 01 Dec 2020 10:48:10 AM CET
- 2.3.x work
- (done) return a full list of verbs, include reflexives so getVerbList() returns both hablar and hablarse
- (done) accept reflexives as a valid parameter to conjugate() - it gets rejected now
- internal: we don't need to propagate the pronominalKey from conjugate() to factory to models. Zap.
prune the definitions file. It's 396k now, more than half of the package, it can be taken down to about 200k(12/4/2020 - nope not working, tried. It's doable but the runtime goes up 25%. Bad Idea™)- reorganize testing
- 2.3.x work
-
Thu 12 Nov 2020 07:09:14 PM CET, version 2.2.1-experimental
- (done in 2.2.1-experimental) every array, every conjugation has the pronominals, which is totally unnecessary, we know what the pronominals should be
- (done) drop the pronominals, put just one list in the info object insted of repeating it 20x for each array, I think it's a Good Idea™
- internal
- reorganize tests
- reorganize types, exports, imports - they're kind of scattered all over the place
- (done in 2.2.1-experimental) every array, every conjugation has the pronominals, which is totally unnecessary, we know what the pronominals should be
-
Tue 10 Nov 2020 01:33:36 PM CET, 2.2.1
- (done) I should probably obsolete / delete some old (and some broken) npm packages
- We have
- 2.2.0 Mon 09 Nov 2020 09:58:41 PM CET, tag v2.2.0, keep, stable, first stable that includes 1999 & 2010 ortho
- 2.1.1 Thu 05 Nov 2020 07:38:28 PM CET, tag v2.1.1, obsolete, broken, changes concerning pre and past 2010 orthography rules
- 1.2.1, Tue 27 Oct 2020 06:07:18 PM CET, tag v1.2.1, obsolete, broken, dev packages upgrade, TypeScript 4.0 updates - Bad Idea™
- 1.2.0, Sun 07 Jun 2020 06:30:11 PM CEST, tag v1.2.0, keep, first & last 1.2.x, includes only RAE known/used verbs
- 1.1.2, Fri 05 Jun 2020 02:20:07 PM CEST, tag v1.1.2, keep, stable, final 1.1.x, last version that includes verbs deemed unused or unknown by the RAE
- 1.1.1, Fri 29 May 2020 11:57:28 AM CEST, tag v1.1.1, obsolete, stable, not needed
- 1.1.0, Tue 19 May 2020 10:36:45 AM CEST, tag v1.1.0, obsolete, stable, not needed
- 1.0.2, Mon 04 May 2020 02:55:30 PM CEST, tag v1.0.2, keep, stable, final 1.0.x
- 1.0.1, Fri 01 May 2020 09:55:42 PM CEST, tag v1.0.1, obsolete, stable, initial version, not needed
- 1.0.0, Fri 01 May 2020 07:29:54 PM CEST - initial version, obsolete not synched with repository
- Should probably just leave 1.1.2, 1.2.0 and the upcoming 2.2.0 and nuke the rest
-
Tue 27 Oct 2020 07:56:09 PM CET, version 1.2.2
-
(last updated on Thu 05 Nov 2020 08:16:11 PM CET, version 2.1.2)
-
(done in 2.2.0) possible upcoming changes
-
1999 & 2010 orthography rules - this concerns monosyllable orthographical changes as per la RAE
- pre 1999 rió is the accepted version
- 1999 through 2010 both rió and rio are tolerated
- past year 2010 it is no longer acceptable to write rió, the new correct form is rio with no accent
- will add a new info header entry and deliver pre-2010 orthography only if it's requested
will add a new optional parameter to conjugate() / conjugateSync()-that was a Bad Idea™- add new optional parameter to Conjugator::constructor(ortho: Orthography = '2010') instead and set & get methods
- more info https://www.rae.es/espanol-al-dia/palabras-como-guion-truhan-fie-liais-etc-se-escriben-sin-tilde
- affected verbs
- chiar (vaciar)
- ciar (vaciar)
- criar (vaciar)
- fiar (vaciar)
- fluir (huir)
- freír (reír)
- fruir (huir)
- gruir (huir)
- guiar (vaciar)
- huir (huir)
- liar (vaciar)
- luir (huir)
- miar (vaciar)
- muir (huir)
- piar (vaciar)
- puar (actuar)
- reír (reír)
- ruar (actuar)
- triar (vaciar)
- info header data will change (new info header entry) this should go to a major version update
-
(done in 2.0.1) dropping imprimir from model list and splitting dual participios
- verbs that allow dual participio currently clump both participios together (imprimido/impreso, freído/frito, proveído/provisto and their derivatives). They really should be listed separately, should have their own array for each participio
- affected verbs
- imprimir, imprimido / impreso
- reimprimir, reimprimido / reimpreso
- sobreimprimir, sobreimprimido / sobreimpreso
- freír, freído / frito - freír also has an orthography modification coming, see above
- refreír, refreído / refrito
- sofreír, sofreído / sofrito
- proveer, proveído / provisto
- desproveer, desproveído / desprovisto
- should add new header data entry? Why? There isn't any reason for doing so, is there?
- result data format will change, this should go into a major version update
-
(done in 2.0.0) model changes - choose models that also have a pronominal version whenever possible - see wishlist below
- list of proposed changes from -> to and other models with no pronominal versions - no changes. Notes: no P == there are no pronominal verbs using this model
- AR
- agorar -> engorar/se
- aullar -> aunar/se
- cabrahigar - noP, self model
- cazar -> rozar/se
- desdar - no P, self model
- desosar - no P, self model
- empezar -> tropezar/se
- pensar -> acertar/se
- ER
- caber - no P, self model
- leer -> creer/se
- placer - leave alone, dual conjugation, second conjugation only for itself
- poder - no P, self model
- prever -> rever/se
- querer - no P, self model
- raer - no P, self model, dual
- responder - no P, self model, dual
- roer -> corroer/se
- ser - no P, self model
- tañer - no P
- yacer - no P, self model
- IR
- adquirir - no P
- argüir - no P
- balbucir - no P, self model
- bendecir - np P, self model
- colegir -> corregir/se
- delinquir - no P, self model
- discernir - no P, self model
- imprimir - no P
- oír - no P
- prohibir -> cohibir/se
- surgir -> dirigir/se
- AR
- this should go into a major version update
- list of proposed changes from -> to and other models with no pronominal versions - no changes. Notes: no P == there are no pronominal verbs using this model
-
-
(done in 2.2.1-experimental) investigating what would it take to insert highlight markers - something that can be used to highlight the irregular changes from what the verb would have looked like if it was regular. For example
- if poner was a regular verb, the first person indicative presente would be 'pono', which of course it is not, it is pongo. If the conjugation is marked, let's say with a dot '.' character, we would get back 'po.n.go' - with a marker to indicate that the 'n' is the irregular deviation from regular conjugation that can be shown as "pongo" or whatever the consumer wants
- colgar, subj. presente cuelgue would become 'c.ue.lg.u.e' (cuelgue) or should it be 'c.uelgu.e' (cuelgue)? Hmmmm
- what to do with 'missing parts'? Hacer, futuro isn't 'haceré' but haré. 'h.ar.é' (haré) to mark the change so it can be visually noted?
- the marker should be easily replaceable by a regex and would always come in pairs
- will add new header data entry
likely additional parameter to conjugate() / conjugateSync(), meaning a minor version change but the result format change seems to require a major version update- Bad Idea™ again- add new optional parameter to Conjugator::constructor (highlight: Highlight = false), add set & get methods
-
-
6/7/2020, version 1.2.0
- new wishlist
- reorganize / choose different models. Reasoning:
- some models are utterly unknown verbs, it would be nice to use something useful instead
- would be nice to have a pronominal version of each model. It's not possible because some models are only models for themselves and the pronominal version just doesn't exist. But we can try
- would be nice to have a shortest possible version of each model to maximize screen space. It would also be easier to read and understand
- optimization - the definitions file could be made smaller by joining the multitude of N & P duplicates into one NP or some such. Not going to worry about it now as it's under 340k anyway, not enough bang for the buck
- reorganize / choose different models. Reasoning:
- things accomplished
- async interface added some time ago
- npm package published long time ago
- as of v 1.2.0 we only have verbs known to be used as per la RAE
- use pre 1.2.0 version for verbs unknown to la RAE
- new wishlist
-
4/27/2020 (0.5.0) - have all models implemented, what's next?
- take a few days off
- add async interface
- clean up and publish to npm
- there are 12815 known verbs, probably half of them are obsolete.
- want to keep all of them to be able to match a verb or its form to old texts, however ...
- things I'd like to have
- build a trie to be able to search for any form of any verb
- have a separate use only known (per la RAE) verbs interface option?
- shrink the size
- will keep adding options here