diff options
| author | Cashew <52880648+Scrub1492@users.noreply.github.com> | 2023-12-19 12:44:40 +0900 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-19 03:44:40 +0000 | 
| commit | c661eafa7d57c32e33e51dd6eb787b97832e97f0 (patch) | |
| tree | 1a68a563f9f1960d528595d6b33f74cb506bd77e /ext/js/language/deinflector.js | |
| parent | eb7bf9542c92ea7937d4b4a699ae2d47270da96b (diff) | |
Add some JSDoc annotations to describe code functionality. (#355)
* lesen-tan initial commit
* update README.md
* tidy up code
* opt for Map<K, V> instead of Object
* Document dev/*
* add docs for deinflector.js
* update deinflector example
* Annotate
* Revert "Merge branch 'development' of https://github.com/Scrub1492/lesen-tan into development"
This reverts commit b92348f702bc031b36f24462adfa940d17f9ecdd, reversing
changes made to 3255e6d963281af3533dcf1e893df39032d29fec.
* Lint error fix
* Lint error fix
Diffstat (limited to 'ext/js/language/deinflector.js')
| -rw-r--r-- | ext/js/language/deinflector.js | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/ext/js/language/deinflector.js b/ext/js/language/deinflector.js index 537a4556..90ca79ea 100644 --- a/ext/js/language/deinflector.js +++ b/ext/js/language/deinflector.js @@ -16,9 +16,17 @@   * along with this program.  If not, see <https://www.gnu.org/licenses/>.   */ +/** + * This class deinflects Japanese terms to its dictionary form. + */  export class Deinflector {      /**       * @param {import('deinflector').ReasonsRaw} reasons +     * @example +     * const deinflectionReasons = JSON.parse( +     *   readFileSync(path.join('ext/data/deinflect.json')).toString(), +     * ) as object; +     * const deinflector = new Deinflector(deinflectionReasons);       */      constructor(reasons) {          /** @type {import('deinflector').Reason[]} */ @@ -26,8 +34,13 @@ export class Deinflector {      }      /** -     * @param {string} source +     * Deinflects a Japanese term to all of its possible dictionary forms. +     * @param {string} source The source term to deinflect.       * @returns {import('translation-internal').Deinflection[]} +     * @example +     * const deinflector = new Deinflector(deinflectionReasons); +     * // [{ term: '食べた', rules: 0, reasons: [] }, { term: '食べる', rules: 1, reasons: ['past'] }, { term: '食ぶ', rules: 2, reasons: ['potential', 'past'] }] +     * console.log(deinflector.deinflect('食べさせられる'));       */      deinflect(source) {          const results = [this._createDeinflection(source, 0, [])]; @@ -88,6 +101,7 @@ export class Deinflector {      }      /** +     * Given a list of rules, return the corresponding deinflection rule flags.       * @param {string[]} rules       * @returns {import('translation-internal').DeinflectionRuleFlags}       */ |