diff --git a/.gitignore b/.gitignore index 281cb5e..a979668 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ prod/ src/data/unigram_freq.csv src/data/database src/data/database-backup-IPAs-added +auth.mjs diff --git a/package-lock.json b/package-lock.json index 890c6e5..c4425a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "promised-sqlite3": "^2.1.0" }, "devDependencies": { - "json-index": "^1.1.0", "knex": "^2.5.1", "spellchecker": "^3.7.1", "sqlite3": "^5.1.6" @@ -287,15 +286,6 @@ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -645,16 +635,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "optional": true }, - "node_modules/json-index": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/json-index/-/json-index-1.1.0.tgz", - "integrity": "sha512-+KRvg3D+HcQr3Ipiy5gk7U7EVrtFiTCwlRaXJs2aVZ5eScUBpnjZ/726xqQGcH5lI5M9YUQOCSSIJevDECwHbg==", - "dev": true, - "dependencies": { - "debug": "^2.2.0", - "q": "^1.4.1" - } - }, "node_modules/knex": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz", @@ -909,7 +889,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "devOptional": true + "optional": true }, "node_modules/nan": { "version": "2.17.0", @@ -1124,16 +1104,6 @@ "sqlite3": "^5" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", diff --git a/package.json b/package.json index ebe2303..d933452 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,6 @@ "author": "Andrzej Stepien", "license": "GPL-3.0-or-later", "devDependencies": { - "json-index": "^1.1.0", "knex": "^2.5.1", "spellchecker": "^3.7.1", "sqlite3": "^5.1.6" diff --git a/src/data/database b/src/data/database index 4be6a87..08a7ca1 100644 Binary files a/src/data/database and b/src/data/database differ diff --git a/src/data/scripts/deleteMisspelled.mjs b/src/data/scripts/deleteMisspelled.mjs index 4209671..ce279ed 100644 --- a/src/data/scripts/deleteMisspelled.mjs +++ b/src/data/scripts/deleteMisspelled.mjs @@ -1,5 +1,5 @@ import {db, getWords} from './db.mjs' -import Spellchecker, { isMisspelled } from 'spellchecker' +import { isMisspelled } from 'spellchecker' diff --git a/src/getNewPrompt.mjs b/src/getNewPrompt.mjs index 72466a1..bfaf258 100644 --- a/src/getNewPrompt.mjs +++ b/src/getNewPrompt.mjs @@ -1,6 +1,6 @@ import { db } from "./db.mjs" -export default async function getNewPrompt({minCount = 200000, maxCount = 30000000, rarity}) { +export default async function getNewPrompt({ minCount = 200000, maxCount = 30000000, rarityBias }) { const badWords = await db('bad_words') .select('word') @@ -15,17 +15,17 @@ export default async function getNewPrompt({minCount = 200000, maxCount = 300000 .andWhere('word', 'not in', badWords) .whereNotNull('pronunciation') .orderByRaw('count desc') - - const getBiasedRng = (min,max,bias,influence) => { - const random = Math.random() * (max - min) + min - const mix = Math.random() * influence - return random * (1-mix) + bias * mix - } + + const getBiasedRng = (min, max, bias, influence) => { + const random = Math.random() * (max - min) + min + const mix = Math.random() * influence + return random * (1 - mix) + bias * mix + } const randomEntry = (array) => { - const random = getBiasedRng(0,1,rarity,1) + const random = getBiasedRng(0, 1, rarity, 1) const mix = Math.random() - console.log("RANDOM: "+random) + console.log("RANDOM: " + random) return array[ parseInt( array.length * random @@ -34,12 +34,12 @@ export default async function getNewPrompt({minCount = 200000, maxCount = 300000 } db.destroy() - return randomEntry(prompts).count + return randomEntry(prompts).word } -console.log(await getNewPrompt({rarity:1})) +console.log(await getNewPrompt({ rarityBias: 0.7 }))