diff --git a/src/data/database b/src/data/database index 990f30c..ca707b0 100644 Binary files a/src/data/database and b/src/data/database differ diff --git a/src/data/scripts/removePluralsAndConjugations.mjs b/src/data/scripts/removePluralsAndConjugations.mjs index 55f4a03..9a7682e 100644 --- a/src/data/scripts/removePluralsAndConjugations.mjs +++ b/src/data/scripts/removePluralsAndConjugations.mjs @@ -2,6 +2,19 @@ import { db, getWords } from './db.mjs' import fs from 'fs' //const words = getWords(db) +const allDefinitionsAreFormOf = (meanings) => { + let formsOf = 0 + let totalDefs = 0 + for (const meaning of meanings) { + for (const definition of meaning.definitions) { + totalDefs++ + if (definition.form_of == true) { + formsOf++ + } + } + } + return formsOf === totalDefs +} const sampleMeanings =[ { "type": "noun", @@ -29,24 +42,20 @@ const sampleMeanings =[ ] } ] - - - - - -const allDefinitionsArePluralOrFormOf = (meanings) => { - let formsOf = 0 - let totalDefs = 0 - for (const obj of meanings) { - for (const definition of obj.definitions) { - totalDefs++ - console.dir(definition) - if (definition.form_of == true) { - formsOf++ - } - } +const words = await getWords(db) +const deleted = [] +for (const word of words) { + const res = + await db('dictionary') + .select('meanings') + .where('word', word.word) + const meanings = JSON.parse(res[0].meanings) + if(allDefinitionsAreFormOf(meanings)){ + deleted.push(word) } - return `Total defs: ${totalDefs}, formsOf: ${formsOf}, output: ${formsOf === totalDefs}` } +console.log(`${deleted.length} entries deleted`) +console.dir(deleted) +db.destroy() + -console.log(allDefinitionsArePluralOrFormOf(sampleMeanings)) \ No newline at end of file