summaryrefslogtreecommitdiff
path: root/index.js
blob: 36e15de2624c78e154f0805e803e409fbc0b45e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
'use strict'

// Gen родительный падеж (нет кого? чего?)
// Dat дательный падеж (дать кому? чему?)
// Acc винительный падеж (вижу кого? что?)
// Ins творительный падеж (горжусь кем? чем?)
// Abl предложный падеж (думаю о ком? о чём?)

const vkflex = require('./build/Release/vkext_flex')
let langCode = 0

module.exports = {
  /**
   * @param {String} lang
   */
  setLang(lang) {
    switch (lang) {
      case 'ru': langCode = 0; break
      case 'uk': langCode = 1; break
      default: throw new Error('lang "'+lang+'" is not supported'); break
    }
  },

  /**
   * @param {String} name
   * @param {Number} sex 0 = male, 1 = female
   * @param {String} nameCase
   * @return {String}
   */
  name(name, sex, nameCase) {
    return vkflex.flex(name, sex, nameCase, 'names', langCode)
  },

  /**
   * @param {String} name
   * @param {Number} sex 0 = male, 1 = female
   * @param {String} nameCase
   * @return {String}
   */
  surname(surname, sex, nameCase) {
    return vkflex.flex(surname, sex, nameCase, 'surnames', langCode)
  }
}