Skip to content
Snippets Groups Projects
helpers.js 1.94 KiB
Newer Older
Ole Voldsæter's avatar
Ole Voldsæter committed
var mapping = {
Ole Voldsæter's avatar
Ole Voldsæter committed
    "NOUN": "substantiv",
    "VERB": "verb",
    "ADJ": "adjektiv",
    "ADP": "preposisjon",
    "PFX": "prefiks",
    "ADV": "adverb",
    "DET": "determinativ",
    "PROPN": "egennavn",
    "ABBR": "forkortelse",
    "INTJ": "interjeksjon",
    "SYM": "symbol",
    "PRON": "pronomen",
    "CCONJ": "konjunksjon",
    "SCONJ": "subjunksjon",
    "INFM": "infinitivsmerke",
    "COMPPFX": "i sammensetting",
    "Masc": "hankjønn",
    "Fem": "hunkjønn",
    "Neuter": "intetkjønn",
Ole Voldsæter's avatar
Ole Voldsæter committed
    "NOUN": "substantiv",
    "VERB": "verb",
    "ADJ": "adjektiv",
    "ADP": "preposisjon",
    "PFX": "prefiks",
    "ADV": "adverb",
    "DET": "determinativ",
    "PROPN": "eigennamn",
    "ABBR": "forkorting",
    "INTJ": "interjeksjon",
    "SYM": "symbol",
    "PRON": "pronomen",
    "CCONJ": "konjunksjon",
    "SCONJ": "subjunksjon",
    "INFM": "infinitivsmerke",
    "COMPPFX": "i samansetjing",
    "Masc": "hankjønn",
Ole Voldsæter's avatar
Ole Voldsæter committed
    "Neuter": "inkjekjønn",
var group_list = function(grps, dictionary) {
Ole Voldsæter's avatar
Ole Voldsæter committed
  var grp_collection = new Set()
Ole Voldsæter's avatar
Ole Voldsæter committed
  var noun_grp_collection = new Set()
Ole Voldsæter's avatar
Ole Voldsæter committed
  grps.forEach(function(lemma){
    lemma.paradigm_info.forEach(function(grp){
Ole Voldsæter's avatar
Ole Voldsæter committed
        if(grp.tags[0] == 'NOUN') {
          noun_grp_collection.add(grp.tags[1])
        }else{
          grp_collection.add(mapping[dictionary][grp.tags[0]])
        }
Ole Voldsæter's avatar
Ole Voldsæter committed
    })
  })
Ole Voldsæter's avatar
Ole Voldsæter committed
  if (noun_grp_collection) {
    let noun_grp_text = 'substantiv, '
    if (noun_grp_collection.size == 3) {
      noun_grp_text += mapping[dictionary]['Masc'] + ', ' + mapping[dictionary]['Fem'] + ' eller ' + mapping[dictionary]['Neuter']
    } else {
      noun_grp_text += Array.from(noun_grp_collection).map(code => mapping[dictionary][code]).sort().join(' eller ')
    }
    grp_collection.add(noun_grp_text)
  return Array.from(grp_collection).join(' - ')
Ole Voldsæter's avatar
Ole Voldsæter committed
}

export default { group_list}