axyseo 2.0.0-alpha.0.0.38 → 2.0.0-alpha.0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1251) hide show
  1. package/build/components/RelatedKeywordsDescription.js +14 -22
  2. package/build/components/RelatedKeywordsDescription.js.map +1 -1
  3. package/build/config/diacritics.js +1 -7
  4. package/build/config/diacritics.js.map +1 -1
  5. package/build/config/getTransliterations.js +6 -14
  6. package/build/config/getTransliterations.js.map +1 -1
  7. package/build/config/transliterationsWPstyle.js +5 -12
  8. package/build/config/transliterationsWPstyle.js.map +1 -1
  9. package/build/config/wordBoundaries.js +1 -7
  10. package/build/config/wordBoundaries.js.map +1 -1
  11. package/build/config/wordBoundariesWithoutPunctuation.js +2 -8
  12. package/build/config/wordBoundariesWithoutPunctuation.js.map +1 -1
  13. package/build/const/analysis.js +5 -11
  14. package/build/const/analysis.js.map +1 -1
  15. package/build/errors/invalidType.js +1 -8
  16. package/build/errors/invalidType.js.map +1 -1
  17. package/build/errors/missingArgument.js +1 -8
  18. package/build/errors/missingArgument.js.map +1 -1
  19. package/build/helpers/createMeasurementElement.js +1 -8
  20. package/build/helpers/createMeasurementElement.js.map +1 -1
  21. package/build/helpers/domManipulation.js +3 -8
  22. package/build/helpers/domManipulation.js.map +1 -1
  23. package/build/helpers/errors.js +5 -10
  24. package/build/helpers/errors.js.map +1 -1
  25. package/build/helpers/factory.js +7 -13
  26. package/build/helpers/factory.js.map +1 -1
  27. package/build/helpers/formatNumber.js +1 -7
  28. package/build/helpers/formatNumber.js.map +1 -1
  29. package/build/helpers/formatString.js +4 -9
  30. package/build/helpers/formatString.js.map +1 -1
  31. package/build/helpers/getLanguagesWithWordComplexity.js +1 -7
  32. package/build/helpers/getLanguagesWithWordComplexity.js.map +1 -1
  33. package/build/helpers/getLanguagesWithWordFormSupport.js +1 -7
  34. package/build/helpers/getLanguagesWithWordFormSupport.js.map +1 -1
  35. package/build/helpers/getWordComplexityConfig.js +9 -15
  36. package/build/helpers/getWordComplexityConfig.js.map +1 -1
  37. package/build/helpers/getWordComplexityHelper.js +9 -15
  38. package/build/helpers/getWordComplexityHelper.js.map +1 -1
  39. package/build/helpers/htmlEntities.js +6 -11
  40. package/build/helpers/htmlEntities.js.map +1 -1
  41. package/build/helpers/includesAny.js +3 -8
  42. package/build/helpers/includesAny.js.map +1 -1
  43. package/build/helpers/index.js +15 -72
  44. package/build/helpers/index.js.map +1 -1
  45. package/build/helpers/shortlinker/Shortlinker.js +1 -8
  46. package/build/helpers/shortlinker/Shortlinker.js.map +1 -1
  47. package/build/helpers/shortlinker/index.js +1 -16
  48. package/build/helpers/shortlinker/index.js.map +1 -1
  49. package/build/helpers/shortlinker/singleton.js +5 -13
  50. package/build/helpers/shortlinker/singleton.js.map +1 -1
  51. package/build/helpers/types.js +2 -9
  52. package/build/helpers/types.js.map +1 -1
  53. package/build/index.js +25 -92
  54. package/build/index.js.map +1 -1
  55. package/build/languageProcessing/AbstractResearcher.js +88 -97
  56. package/build/languageProcessing/AbstractResearcher.js.map +1 -1
  57. package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +3 -10
  58. package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js.map +1 -1
  59. package/build/languageProcessing/helpers/html/getFieldsToMark.js +6 -11
  60. package/build/languageProcessing/helpers/html/getFieldsToMark.js.map +1 -1
  61. package/build/languageProcessing/helpers/html/getSubheadingTexts.js +3 -8
  62. package/build/languageProcessing/helpers/html/getSubheadingTexts.js.map +1 -1
  63. package/build/languageProcessing/helpers/html/getSubheadings.js +2 -12
  64. package/build/languageProcessing/helpers/html/getSubheadings.js.map +1 -1
  65. package/build/languageProcessing/helpers/html/html.js +9 -17
  66. package/build/languageProcessing/helpers/html/html.js.map +1 -1
  67. package/build/languageProcessing/helpers/html/htmlParser.js +3 -10
  68. package/build/languageProcessing/helpers/html/htmlParser.js.map +1 -1
  69. package/build/languageProcessing/helpers/html/matchParagraphs.js +7 -12
  70. package/build/languageProcessing/helpers/html/matchParagraphs.js.map +1 -1
  71. package/build/languageProcessing/helpers/html/normalizeHTML.js +1 -7
  72. package/build/languageProcessing/helpers/html/normalizeHTML.js.map +1 -1
  73. package/build/languageProcessing/helpers/image/getAltAttribute.js +3 -9
  74. package/build/languageProcessing/helpers/image/getAltAttribute.js.map +1 -1
  75. package/build/languageProcessing/helpers/image/getImagesInTree.js +1 -7
  76. package/build/languageProcessing/helpers/image/getImagesInTree.js.map +1 -1
  77. package/build/languageProcessing/helpers/image/imageInText.js +5 -12
  78. package/build/languageProcessing/helpers/image/imageInText.js.map +1 -1
  79. package/build/languageProcessing/helpers/index.js +5 -40
  80. package/build/languageProcessing/helpers/index.js.map +1 -1
  81. package/build/languageProcessing/helpers/language/getLanguage.js +1 -7
  82. package/build/languageProcessing/helpers/language/getLanguage.js.map +1 -1
  83. package/build/languageProcessing/helpers/link/checkNofollow.js +3 -10
  84. package/build/languageProcessing/helpers/link/checkNofollow.js.map +1 -1
  85. package/build/languageProcessing/helpers/link/getAnchorsFromText.js +1 -7
  86. package/build/languageProcessing/helpers/link/getAnchorsFromText.js.map +1 -1
  87. package/build/languageProcessing/helpers/link/getLinkType.js +7 -13
  88. package/build/languageProcessing/helpers/link/getLinkType.js.map +1 -1
  89. package/build/languageProcessing/helpers/match/findKeywordFormsInString.js +6 -13
  90. package/build/languageProcessing/helpers/match/findKeywordFormsInString.js.map +1 -1
  91. package/build/languageProcessing/helpers/match/isDoubleQuoted.js +4 -10
  92. package/build/languageProcessing/helpers/match/isDoubleQuoted.js.map +1 -1
  93. package/build/languageProcessing/helpers/match/matchTextWithArray.js +6 -12
  94. package/build/languageProcessing/helpers/match/matchTextWithArray.js.map +1 -1
  95. package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js +16 -22
  96. package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js.map +1 -1
  97. package/build/languageProcessing/helpers/match/matchTextWithWord.js +17 -23
  98. package/build/languageProcessing/helpers/match/matchTextWithWord.js.map +1 -1
  99. package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js +7 -14
  100. package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js.map +1 -1
  101. package/build/languageProcessing/helpers/match/processExactMatchRequest.js +3 -9
  102. package/build/languageProcessing/helpers/match/processExactMatchRequest.js.map +1 -1
  103. package/build/languageProcessing/helpers/morphology/baseStemmer.js +1 -7
  104. package/build/languageProcessing/helpers/morphology/baseStemmer.js.map +1 -1
  105. package/build/languageProcessing/helpers/morphology/buildFormRule.js +1 -7
  106. package/build/languageProcessing/helpers/morphology/buildFormRule.js.map +1 -1
  107. package/build/languageProcessing/helpers/morphology/buildTopicStems.js +13 -23
  108. package/build/languageProcessing/helpers/morphology/buildTopicStems.js.map +1 -1
  109. package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js +2 -9
  110. package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js.map +1 -1
  111. package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js +5 -13
  112. package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js.map +1 -1
  113. package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +1 -7
  114. package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js.map +1 -1
  115. package/build/languageProcessing/helpers/morphology/flattenSortLength.js +3 -8
  116. package/build/languageProcessing/helpers/morphology/flattenSortLength.js.map +1 -1
  117. package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +12 -18
  118. package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js.map +1 -1
  119. package/build/languageProcessing/helpers/morphology/regexHelpers.js +3 -11
  120. package/build/languageProcessing/helpers/morphology/regexHelpers.js.map +1 -1
  121. package/build/languageProcessing/helpers/morphology/stemHelpers.js +2 -9
  122. package/build/languageProcessing/helpers/morphology/stemHelpers.js.map +1 -1
  123. package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +1 -7
  124. package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js.map +1 -1
  125. package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +5 -11
  126. package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js.map +1 -1
  127. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +9 -15
  128. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js.map +1 -1
  129. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +9 -15
  130. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js.map +1 -1
  131. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +28 -34
  132. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js.map +1 -1
  133. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +1 -7
  134. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js.map +1 -1
  135. package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +3 -8
  136. package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js.map +1 -1
  137. package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +5 -11
  138. package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js.map +1 -1
  139. package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js +16 -28
  140. package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js.map +1 -1
  141. package/build/languageProcessing/helpers/regex/createRegexFromArray.js +10 -16
  142. package/build/languageProcessing/helpers/regex/createRegexFromArray.js.map +1 -1
  143. package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +4 -10
  144. package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js.map +1 -1
  145. package/build/languageProcessing/helpers/regex/createWordRegex.js +12 -18
  146. package/build/languageProcessing/helpers/regex/createWordRegex.js.map +1 -1
  147. package/build/languageProcessing/helpers/regex/matchStringWithRegex.js +1 -7
  148. package/build/languageProcessing/helpers/regex/matchStringWithRegex.js.map +1 -1
  149. package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +1 -7
  150. package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js.map +1 -1
  151. package/build/languageProcessing/helpers/sanitize/doubleQuotes.js +1 -7
  152. package/build/languageProcessing/helpers/sanitize/doubleQuotes.js.map +1 -1
  153. package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +3 -11
  154. package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js.map +1 -1
  155. package/build/languageProcessing/helpers/sanitize/mergeListItems.js +1 -7
  156. package/build/languageProcessing/helpers/sanitize/mergeListItems.js.map +1 -1
  157. package/build/languageProcessing/helpers/sanitize/parseSynonyms.js +5 -11
  158. package/build/languageProcessing/helpers/sanitize/parseSynonyms.js.map +1 -1
  159. package/build/languageProcessing/helpers/sanitize/quotes.js +4 -12
  160. package/build/languageProcessing/helpers/sanitize/quotes.js.map +1 -1
  161. package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js +1 -7
  162. package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js.map +1 -1
  163. package/build/languageProcessing/helpers/sanitize/removePunctuation.js +7 -13
  164. package/build/languageProcessing/helpers/sanitize/removePunctuation.js.map +1 -1
  165. package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +1 -7
  166. package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js.map +1 -1
  167. package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +1 -7
  168. package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js.map +1 -1
  169. package/build/languageProcessing/helpers/sanitize/removeURLs.js +1 -7
  170. package/build/languageProcessing/helpers/sanitize/removeURLs.js.map +1 -1
  171. package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +1 -7
  172. package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js.map +1 -1
  173. package/build/languageProcessing/helpers/sanitize/sanitizeString.js +5 -10
  174. package/build/languageProcessing/helpers/sanitize/sanitizeString.js.map +1 -1
  175. package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js +7 -16
  176. package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js.map +1 -1
  177. package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js +4 -10
  178. package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js.map +1 -1
  179. package/build/languageProcessing/helpers/sanitize/stripNumbers.js +4 -10
  180. package/build/languageProcessing/helpers/sanitize/stripNumbers.js.map +1 -1
  181. package/build/languageProcessing/helpers/sanitize/stripSpaces.js +1 -7
  182. package/build/languageProcessing/helpers/sanitize/stripSpaces.js.map +1 -1
  183. package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js +2 -10
  184. package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js.map +1 -1
  185. package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js +2 -11
  186. package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js.map +1 -1
  187. package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js +22 -29
  188. package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js.map +1 -1
  189. package/build/languageProcessing/helpers/sentence/countSentences.js +4 -10
  190. package/build/languageProcessing/helpers/sentence/countSentences.js.map +1 -1
  191. package/build/languageProcessing/helpers/sentence/getSentences.js +13 -20
  192. package/build/languageProcessing/helpers/sentence/getSentences.js.map +1 -1
  193. package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js +2 -9
  194. package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js.map +1 -1
  195. package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +4 -10
  196. package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js.map +1 -1
  197. package/build/languageProcessing/helpers/sentence/sentencesLength.js +7 -13
  198. package/build/languageProcessing/helpers/sentence/sentencesLength.js.map +1 -1
  199. package/build/languageProcessing/helpers/syllables/DeviationFragment.js +5 -11
  200. package/build/languageProcessing/helpers/syllables/DeviationFragment.js.map +1 -1
  201. package/build/languageProcessing/helpers/syllables/countSyllables.js +23 -30
  202. package/build/languageProcessing/helpers/syllables/countSyllables.js.map +1 -1
  203. package/build/languageProcessing/helpers/syllables/syllableCountIterator.js +7 -14
  204. package/build/languageProcessing/helpers/syllables/syllableCountIterator.js.map +1 -1
  205. package/build/languageProcessing/helpers/syllables/syllableCountStep.js +5 -12
  206. package/build/languageProcessing/helpers/syllables/syllableCountStep.js.map +1 -1
  207. package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js +1 -7
  208. package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js.map +1 -1
  209. package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js +4 -10
  210. package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js.map +1 -1
  211. package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js +12 -23
  212. package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js.map +1 -1
  213. package/build/languageProcessing/helpers/transliterate/transliterate.js +3 -9
  214. package/build/languageProcessing/helpers/transliterate/transliterate.js.map +1 -1
  215. package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js +3 -9
  216. package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js.map +1 -1
  217. package/build/languageProcessing/helpers/url/parseSlug.js +1 -7
  218. package/build/languageProcessing/helpers/url/parseSlug.js.map +1 -1
  219. package/build/languageProcessing/helpers/url/url.js +7 -13
  220. package/build/languageProcessing/helpers/url/url.js.map +1 -1
  221. package/build/languageProcessing/helpers/word/addWordboundary.js +1 -7
  222. package/build/languageProcessing/helpers/word/addWordboundary.js.map +1 -1
  223. package/build/languageProcessing/helpers/word/areWordsInSentence.js +4 -10
  224. package/build/languageProcessing/helpers/word/areWordsInSentence.js.map +1 -1
  225. package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js +1 -7
  226. package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js.map +1 -1
  227. package/build/languageProcessing/helpers/word/countWords.js +4 -10
  228. package/build/languageProcessing/helpers/word/countWords.js.map +1 -1
  229. package/build/languageProcessing/helpers/word/createPunctuationTokens.js +5 -10
  230. package/build/languageProcessing/helpers/word/createPunctuationTokens.js.map +1 -1
  231. package/build/languageProcessing/helpers/word/filterWordsFromArray.js +4 -9
  232. package/build/languageProcessing/helpers/word/filterWordsFromArray.js.map +1 -1
  233. package/build/languageProcessing/helpers/word/followsIndex.js +5 -10
  234. package/build/languageProcessing/helpers/word/followsIndex.js.map +1 -1
  235. package/build/languageProcessing/helpers/word/getAllWordsFromTree.js +7 -13
  236. package/build/languageProcessing/helpers/word/getAllWordsFromTree.js.map +1 -1
  237. package/build/languageProcessing/helpers/word/getWords.js +9 -19
  238. package/build/languageProcessing/helpers/word/getWords.js.map +1 -1
  239. package/build/languageProcessing/helpers/word/includesIndex.js +5 -10
  240. package/build/languageProcessing/helpers/word/includesIndex.js.map +1 -1
  241. package/build/languageProcessing/helpers/word/indices.js +14 -25
  242. package/build/languageProcessing/helpers/word/indices.js.map +1 -1
  243. package/build/languageProcessing/helpers/word/markWordsInSentences.js +23 -35
  244. package/build/languageProcessing/helpers/word/markWordsInSentences.js.map +1 -1
  245. package/build/languageProcessing/helpers/word/matchWordInSentence.js +8 -15
  246. package/build/languageProcessing/helpers/word/matchWordInSentence.js.map +1 -1
  247. package/build/languageProcessing/helpers/word/splitIntoTokens.js +3 -9
  248. package/build/languageProcessing/helpers/word/splitIntoTokens.js.map +1 -1
  249. package/build/languageProcessing/index.js +41 -282
  250. package/build/languageProcessing/index.js.map +1 -1
  251. package/build/languageProcessing/languages/_default/Researcher.js +5 -13
  252. package/build/languageProcessing/languages/_default/Researcher.js.map +1 -1
  253. package/build/languageProcessing/languages/_default/helpers/getStemmer.js +3 -9
  254. package/build/languageProcessing/languages/_default/helpers/getStemmer.js.map +1 -1
  255. package/build/languageProcessing/languages/ar/Researcher.js +19 -27
  256. package/build/languageProcessing/languages/ar/Researcher.js.map +1 -1
  257. package/build/languageProcessing/languages/ar/config/firstWordExceptions.js +1 -7
  258. package/build/languageProcessing/languages/ar/config/firstWordExceptions.js.map +1 -1
  259. package/build/languageProcessing/languages/ar/config/functionWords.js +7 -13
  260. package/build/languageProcessing/languages/ar/config/functionWords.js.map +1 -1
  261. package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +1 -7
  262. package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js.map +1 -1
  263. package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js +2 -8
  264. package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js.map +1 -1
  265. package/build/languageProcessing/languages/ar/config/transitionWords.js +4 -10
  266. package/build/languageProcessing/languages/ar/config/transitionWords.js.map +1 -1
  267. package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js +2 -7
  268. package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js.map +1 -1
  269. package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js +6 -11
  270. package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js.map +1 -1
  271. package/build/languageProcessing/languages/ar/helpers/getStemmer.js +8 -14
  272. package/build/languageProcessing/languages/ar/helpers/getStemmer.js.map +1 -1
  273. package/build/languageProcessing/languages/ar/helpers/internal/stem.js +1 -7
  274. package/build/languageProcessing/languages/ar/helpers/internal/stem.js.map +1 -1
  275. package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js +5 -12
  276. package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js.map +1 -1
  277. package/build/languageProcessing/languages/ca/Researcher.js +11 -19
  278. package/build/languageProcessing/languages/ca/Researcher.js.map +1 -1
  279. package/build/languageProcessing/languages/ca/config/sentenceLength.js +1 -7
  280. package/build/languageProcessing/languages/ca/config/sentenceLength.js.map +1 -1
  281. package/build/languageProcessing/languages/ca/config/transitionWords.js +4 -10
  282. package/build/languageProcessing/languages/ca/config/transitionWords.js.map +1 -1
  283. package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js +2 -7
  284. package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js.map +1 -1
  285. package/build/languageProcessing/languages/ca/helpers/getStemmer.js +3 -9
  286. package/build/languageProcessing/languages/ca/helpers/getStemmer.js.map +1 -1
  287. package/build/languageProcessing/languages/cs/Researcher.js +17 -25
  288. package/build/languageProcessing/languages/cs/Researcher.js.map +1 -1
  289. package/build/languageProcessing/languages/cs/config/firstWordExceptions.js +1 -7
  290. package/build/languageProcessing/languages/cs/config/firstWordExceptions.js.map +1 -1
  291. package/build/languageProcessing/languages/cs/config/functionWords.js +4 -10
  292. package/build/languageProcessing/languages/cs/config/functionWords.js.map +1 -1
  293. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +2 -8
  294. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  295. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +2 -8
  296. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js.map +1 -1
  297. package/build/languageProcessing/languages/cs/config/stopWords.js +1 -7
  298. package/build/languageProcessing/languages/cs/config/stopWords.js.map +1 -1
  299. package/build/languageProcessing/languages/cs/config/transitionWords.js +4 -10
  300. package/build/languageProcessing/languages/cs/config/transitionWords.js.map +1 -1
  301. package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js +2 -7
  302. package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js.map +1 -1
  303. package/build/languageProcessing/languages/cs/helpers/getClauses.js +9 -16
  304. package/build/languageProcessing/languages/cs/helpers/getClauses.js.map +1 -1
  305. package/build/languageProcessing/languages/cs/helpers/getStemmer.js +8 -14
  306. package/build/languageProcessing/languages/cs/helpers/getStemmer.js.map +1 -1
  307. package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js +6 -12
  308. package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js.map +1 -1
  309. package/build/languageProcessing/languages/cs/helpers/internal/stem.js +1 -7
  310. package/build/languageProcessing/languages/cs/helpers/internal/stem.js.map +1 -1
  311. package/build/languageProcessing/languages/cs/values/Clause.js +5 -12
  312. package/build/languageProcessing/languages/cs/values/Clause.js.map +1 -1
  313. package/build/languageProcessing/languages/de/Researcher.js +27 -35
  314. package/build/languageProcessing/languages/de/Researcher.js.map +1 -1
  315. package/build/languageProcessing/languages/de/config/firstWordExceptions.js +1 -7
  316. package/build/languageProcessing/languages/de/config/firstWordExceptions.js.map +1 -1
  317. package/build/languageProcessing/languages/de/config/functionWords.js +11 -19
  318. package/build/languageProcessing/languages/de/config/functionWords.js.map +1 -1
  319. package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +1 -7
  320. package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js.map +1 -1
  321. package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +4 -10
  322. package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  323. package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +1 -7
  324. package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js.map +1 -1
  325. package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +1 -7
  326. package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js.map +1 -1
  327. package/build/languageProcessing/languages/de/config/keyphraseLength.js +1 -7
  328. package/build/languageProcessing/languages/de/config/keyphraseLength.js.map +1 -1
  329. package/build/languageProcessing/languages/de/config/stopWords.js +1 -7
  330. package/build/languageProcessing/languages/de/config/stopWords.js.map +1 -1
  331. package/build/languageProcessing/languages/de/config/transitionWords.js +4 -10
  332. package/build/languageProcessing/languages/de/config/transitionWords.js.map +1 -1
  333. package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js +2 -7
  334. package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js.map +1 -1
  335. package/build/languageProcessing/languages/de/config/wordComplexity.js +1 -7
  336. package/build/languageProcessing/languages/de/config/wordComplexity.js.map +1 -1
  337. package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +3 -9
  338. package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js.map +1 -1
  339. package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +1 -7
  340. package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js.map +1 -1
  341. package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +3 -8
  342. package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js.map +1 -1
  343. package/build/languageProcessing/languages/de/helpers/getClauses.js +9 -16
  344. package/build/languageProcessing/languages/de/helpers/getClauses.js.map +1 -1
  345. package/build/languageProcessing/languages/de/helpers/getStemmer.js +8 -14
  346. package/build/languageProcessing/languages/de/helpers/getStemmer.js.map +1 -1
  347. package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +4 -11
  348. package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js.map +1 -1
  349. package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +4 -10
  350. package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js.map +1 -1
  351. package/build/languageProcessing/languages/de/helpers/internal/determineStem.js +10 -16
  352. package/build/languageProcessing/languages/de/helpers/internal/determineStem.js.map +1 -1
  353. package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js +9 -16
  354. package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js.map +1 -1
  355. package/build/languageProcessing/languages/de/helpers/internal/stem.js +1 -7
  356. package/build/languageProcessing/languages/de/helpers/internal/stem.js.map +1 -1
  357. package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +4 -10
  358. package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js.map +1 -1
  359. package/build/languageProcessing/languages/de/values/Clause.js +11 -18
  360. package/build/languageProcessing/languages/de/values/Clause.js.map +1 -1
  361. package/build/languageProcessing/languages/el/Researcher.js +18 -26
  362. package/build/languageProcessing/languages/el/Researcher.js.map +1 -1
  363. package/build/languageProcessing/languages/el/config/firstWordExceptions.js +1 -7
  364. package/build/languageProcessing/languages/el/config/firstWordExceptions.js.map +1 -1
  365. package/build/languageProcessing/languages/el/config/functionWords.js +4 -10
  366. package/build/languageProcessing/languages/el/config/functionWords.js.map +1 -1
  367. package/build/languageProcessing/languages/el/config/internal/auxiliaries.js +1 -7
  368. package/build/languageProcessing/languages/el/config/internal/auxiliaries.js.map +1 -1
  369. package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +1 -7
  370. package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js.map +1 -1
  371. package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +1 -7
  372. package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js.map +1 -1
  373. package/build/languageProcessing/languages/el/config/stopWords.js +1 -7
  374. package/build/languageProcessing/languages/el/config/stopWords.js.map +1 -1
  375. package/build/languageProcessing/languages/el/config/transitionWords.js +4 -10
  376. package/build/languageProcessing/languages/el/config/transitionWords.js.map +1 -1
  377. package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js +2 -7
  378. package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js.map +1 -1
  379. package/build/languageProcessing/languages/el/helpers/getClauses.js +9 -16
  380. package/build/languageProcessing/languages/el/helpers/getClauses.js.map +1 -1
  381. package/build/languageProcessing/languages/el/helpers/getStemmer.js +7 -14
  382. package/build/languageProcessing/languages/el/helpers/getStemmer.js.map +1 -1
  383. package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js +3 -9
  384. package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js.map +1 -1
  385. package/build/languageProcessing/languages/el/helpers/internal/stem.js +4 -13
  386. package/build/languageProcessing/languages/el/helpers/internal/stem.js.map +1 -1
  387. package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js +7 -14
  388. package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js.map +1 -1
  389. package/build/languageProcessing/languages/el/values/Clause.js +6 -12
  390. package/build/languageProcessing/languages/el/values/Clause.js.map +1 -1
  391. package/build/languageProcessing/languages/en/Researcher.js +21 -29
  392. package/build/languageProcessing/languages/en/Researcher.js.map +1 -1
  393. package/build/languageProcessing/languages/en/config/abbreviations.js +1 -7
  394. package/build/languageProcessing/languages/en/config/abbreviations.js.map +1 -1
  395. package/build/languageProcessing/languages/en/config/firstWordExceptions.js +1 -7
  396. package/build/languageProcessing/languages/en/config/firstWordExceptions.js.map +1 -1
  397. package/build/languageProcessing/languages/en/config/functionWords.js +11 -18
  398. package/build/languageProcessing/languages/en/config/functionWords.js.map +1 -1
  399. package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +6 -12
  400. package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  401. package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +1 -7
  402. package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js.map +1 -1
  403. package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +1 -7
  404. package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js.map +1 -1
  405. package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js +1 -7
  406. package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js.map +1 -1
  407. package/build/languageProcessing/languages/en/config/stopWords.js +1 -7
  408. package/build/languageProcessing/languages/en/config/stopWords.js.map +1 -1
  409. package/build/languageProcessing/languages/en/config/transitionWords.js +4 -10
  410. package/build/languageProcessing/languages/en/config/transitionWords.js.map +1 -1
  411. package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js +2 -7
  412. package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js.map +1 -1
  413. package/build/languageProcessing/languages/en/config/wordComplexity.js +1 -7
  414. package/build/languageProcessing/languages/en/config/wordComplexity.js.map +1 -1
  415. package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +3 -9
  416. package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js.map +1 -1
  417. package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +4 -10
  418. package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js.map +1 -1
  419. package/build/languageProcessing/languages/en/helpers/getClauses.js +15 -22
  420. package/build/languageProcessing/languages/en/helpers/getClauses.js.map +1 -1
  421. package/build/languageProcessing/languages/en/helpers/getStemmer.js +8 -14
  422. package/build/languageProcessing/languages/en/helpers/getStemmer.js.map +1 -1
  423. package/build/languageProcessing/languages/en/helpers/internal/determineStem.js +21 -32
  424. package/build/languageProcessing/languages/en/helpers/internal/determineStem.js.map +1 -1
  425. package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +6 -13
  426. package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js.map +1 -1
  427. package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js +8 -14
  428. package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js.map +1 -1
  429. package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js +6 -16
  430. package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js.map +1 -1
  431. package/build/languageProcessing/languages/en/values/Clause.js +10 -17
  432. package/build/languageProcessing/languages/en/values/Clause.js.map +1 -1
  433. package/build/languageProcessing/languages/es/Researcher.js +23 -31
  434. package/build/languageProcessing/languages/es/Researcher.js.map +1 -1
  435. package/build/languageProcessing/languages/es/config/firstWordExceptions.js +1 -7
  436. package/build/languageProcessing/languages/es/config/firstWordExceptions.js.map +1 -1
  437. package/build/languageProcessing/languages/es/config/functionWords.js +11 -17
  438. package/build/languageProcessing/languages/es/config/functionWords.js.map +1 -1
  439. package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +1 -7
  440. package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  441. package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +1 -7
  442. package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js.map +1 -1
  443. package/build/languageProcessing/languages/es/config/sentenceLength.js +1 -7
  444. package/build/languageProcessing/languages/es/config/sentenceLength.js.map +1 -1
  445. package/build/languageProcessing/languages/es/config/stopWords.js +1 -7
  446. package/build/languageProcessing/languages/es/config/stopWords.js.map +1 -1
  447. package/build/languageProcessing/languages/es/config/transitionWords.js +4 -10
  448. package/build/languageProcessing/languages/es/config/transitionWords.js.map +1 -1
  449. package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js +2 -7
  450. package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js.map +1 -1
  451. package/build/languageProcessing/languages/es/config/wordComplexity.js +1 -7
  452. package/build/languageProcessing/languages/es/config/wordComplexity.js.map +1 -1
  453. package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +3 -9
  454. package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js.map +1 -1
  455. package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +1 -7
  456. package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js.map +1 -1
  457. package/build/languageProcessing/languages/es/helpers/getClauses.js +10 -17
  458. package/build/languageProcessing/languages/es/helpers/getClauses.js.map +1 -1
  459. package/build/languageProcessing/languages/es/helpers/getStemmer.js +8 -14
  460. package/build/languageProcessing/languages/es/helpers/getStemmer.js.map +1 -1
  461. package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +7 -13
  462. package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js.map +1 -1
  463. package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js +6 -12
  464. package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js.map +1 -1
  465. package/build/languageProcessing/languages/es/helpers/internal/stem.js +5 -13
  466. package/build/languageProcessing/languages/es/helpers/internal/stem.js.map +1 -1
  467. package/build/languageProcessing/languages/es/values/Clause.js +7 -14
  468. package/build/languageProcessing/languages/es/values/Clause.js.map +1 -1
  469. package/build/languageProcessing/languages/fa/Researcher.js +19 -27
  470. package/build/languageProcessing/languages/fa/Researcher.js.map +1 -1
  471. package/build/languageProcessing/languages/fa/config/firstWordExceptions.js +1 -7
  472. package/build/languageProcessing/languages/fa/config/firstWordExceptions.js.map +1 -1
  473. package/build/languageProcessing/languages/fa/config/functionWords.js +4 -10
  474. package/build/languageProcessing/languages/fa/config/functionWords.js.map +1 -1
  475. package/build/languageProcessing/languages/fa/config/internal/participles.js +1 -7
  476. package/build/languageProcessing/languages/fa/config/internal/participles.js.map +1 -1
  477. package/build/languageProcessing/languages/fa/config/sentenceLength.js +1 -7
  478. package/build/languageProcessing/languages/fa/config/sentenceLength.js.map +1 -1
  479. package/build/languageProcessing/languages/fa/config/transitionWords.js +4 -10
  480. package/build/languageProcessing/languages/fa/config/transitionWords.js.map +1 -1
  481. package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js +2 -7
  482. package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js.map +1 -1
  483. package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js +3 -9
  484. package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js.map +1 -1
  485. package/build/languageProcessing/languages/fa/helpers/getStemmer.js +3 -9
  486. package/build/languageProcessing/languages/fa/helpers/getStemmer.js.map +1 -1
  487. package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js +6 -12
  488. package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js.map +1 -1
  489. package/build/languageProcessing/languages/fr/Researcher.js +21 -29
  490. package/build/languageProcessing/languages/fr/Researcher.js.map +1 -1
  491. package/build/languageProcessing/languages/fr/config/firstWordExceptions.js +1 -7
  492. package/build/languageProcessing/languages/fr/config/firstWordExceptions.js.map +1 -1
  493. package/build/languageProcessing/languages/fr/config/functionWords.js +11 -17
  494. package/build/languageProcessing/languages/fr/config/functionWords.js.map +1 -1
  495. package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +4 -9
  496. package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js.map +1 -1
  497. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +1 -7
  498. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  499. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +4 -9
  500. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js.map +1 -1
  501. package/build/languageProcessing/languages/fr/config/stopWords.js +1 -7
  502. package/build/languageProcessing/languages/fr/config/stopWords.js.map +1 -1
  503. package/build/languageProcessing/languages/fr/config/transitionWords.js +4 -10
  504. package/build/languageProcessing/languages/fr/config/transitionWords.js.map +1 -1
  505. package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js +2 -7
  506. package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js.map +1 -1
  507. package/build/languageProcessing/languages/fr/config/wordComplexity.js +1 -7
  508. package/build/languageProcessing/languages/fr/config/wordComplexity.js.map +1 -1
  509. package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +3 -9
  510. package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js.map +1 -1
  511. package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +3 -9
  512. package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js.map +1 -1
  513. package/build/languageProcessing/languages/fr/helpers/getClauses.js +10 -17
  514. package/build/languageProcessing/languages/fr/helpers/getClauses.js.map +1 -1
  515. package/build/languageProcessing/languages/fr/helpers/getStemmer.js +8 -14
  516. package/build/languageProcessing/languages/fr/helpers/getStemmer.js.map +1 -1
  517. package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js +11 -16
  518. package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js.map +1 -1
  519. package/build/languageProcessing/languages/fr/helpers/internal/stem.js +3 -10
  520. package/build/languageProcessing/languages/fr/helpers/internal/stem.js.map +1 -1
  521. package/build/languageProcessing/languages/fr/values/Clause.js +14 -20
  522. package/build/languageProcessing/languages/fr/values/Clause.js.map +1 -1
  523. package/build/languageProcessing/languages/he/Researcher.js +21 -29
  524. package/build/languageProcessing/languages/he/Researcher.js.map +1 -1
  525. package/build/languageProcessing/languages/he/config/firstWordExceptions.js +1 -7
  526. package/build/languageProcessing/languages/he/config/firstWordExceptions.js.map +1 -1
  527. package/build/languageProcessing/languages/he/config/functionWords.js +4 -11
  528. package/build/languageProcessing/languages/he/config/functionWords.js.map +1 -1
  529. package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js +1 -7
  530. package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js.map +1 -1
  531. package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js +1 -7
  532. package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js.map +1 -1
  533. package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js +1 -7
  534. package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js.map +1 -1
  535. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +1 -7
  536. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js.map +1 -1
  537. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +1 -7
  538. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js.map +1 -1
  539. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +1 -7
  540. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js.map +1 -1
  541. package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js +2 -8
  542. package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js.map +1 -1
  543. package/build/languageProcessing/languages/he/config/sentenceLength.js +1 -7
  544. package/build/languageProcessing/languages/he/config/sentenceLength.js.map +1 -1
  545. package/build/languageProcessing/languages/he/config/transitionWords.js +4 -10
  546. package/build/languageProcessing/languages/he/config/transitionWords.js.map +1 -1
  547. package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js +2 -7
  548. package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js.map +1 -1
  549. package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js +6 -11
  550. package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js.map +1 -1
  551. package/build/languageProcessing/languages/he/helpers/getStemmer.js +8 -14
  552. package/build/languageProcessing/languages/he/helpers/getStemmer.js.map +1 -1
  553. package/build/languageProcessing/languages/he/helpers/internal/stem.js +1 -7
  554. package/build/languageProcessing/languages/he/helpers/internal/stem.js.map +1 -1
  555. package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js +10 -16
  556. package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js.map +1 -1
  557. package/build/languageProcessing/languages/he/helpers/stem.js +1 -7
  558. package/build/languageProcessing/languages/he/helpers/stem.js.map +1 -1
  559. package/build/languageProcessing/languages/hu/Researcher.js +19 -27
  560. package/build/languageProcessing/languages/hu/Researcher.js.map +1 -1
  561. package/build/languageProcessing/languages/hu/config/firstWordExceptions.js +1 -7
  562. package/build/languageProcessing/languages/hu/config/firstWordExceptions.js.map +1 -1
  563. package/build/languageProcessing/languages/hu/config/functionWords.js +4 -10
  564. package/build/languageProcessing/languages/hu/config/functionWords.js.map +1 -1
  565. package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js +1 -7
  566. package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js.map +1 -1
  567. package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +3 -9
  568. package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js.map +1 -1
  569. package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +2 -7
  570. package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js.map +1 -1
  571. package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js +1 -7
  572. package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js.map +1 -1
  573. package/build/languageProcessing/languages/hu/config/internal/participles.js +2 -7
  574. package/build/languageProcessing/languages/hu/config/internal/participles.js.map +1 -1
  575. package/build/languageProcessing/languages/hu/config/stopWords.js +2 -7
  576. package/build/languageProcessing/languages/hu/config/stopWords.js.map +1 -1
  577. package/build/languageProcessing/languages/hu/config/transitionWords.js +4 -10
  578. package/build/languageProcessing/languages/hu/config/transitionWords.js.map +1 -1
  579. package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js +2 -7
  580. package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js.map +1 -1
  581. package/build/languageProcessing/languages/hu/helpers/getClauses.js +9 -16
  582. package/build/languageProcessing/languages/hu/helpers/getClauses.js.map +1 -1
  583. package/build/languageProcessing/languages/hu/helpers/getStemmer.js +8 -14
  584. package/build/languageProcessing/languages/hu/helpers/getStemmer.js.map +1 -1
  585. package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js +6 -12
  586. package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js.map +1 -1
  587. package/build/languageProcessing/languages/hu/helpers/internal/stem.js +1 -7
  588. package/build/languageProcessing/languages/hu/helpers/internal/stem.js.map +1 -1
  589. package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js +9 -15
  590. package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js.map +1 -1
  591. package/build/languageProcessing/languages/hu/values/Clause.js +8 -14
  592. package/build/languageProcessing/languages/hu/values/Clause.js.map +1 -1
  593. package/build/languageProcessing/languages/id/Researcher.js +17 -25
  594. package/build/languageProcessing/languages/id/Researcher.js.map +1 -1
  595. package/build/languageProcessing/languages/id/config/firstWordExceptions.js +1 -7
  596. package/build/languageProcessing/languages/id/config/firstWordExceptions.js.map +1 -1
  597. package/build/languageProcessing/languages/id/config/functionWords.js +8 -16
  598. package/build/languageProcessing/languages/id/config/functionWords.js.map +1 -1
  599. package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +1 -7
  600. package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js.map +1 -1
  601. package/build/languageProcessing/languages/id/config/transitionWords.js +4 -10
  602. package/build/languageProcessing/languages/id/config/transitionWords.js.map +1 -1
  603. package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js +2 -7
  604. package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js.map +1 -1
  605. package/build/languageProcessing/languages/id/helpers/getStemmer.js +8 -14
  606. package/build/languageProcessing/languages/id/helpers/getStemmer.js.map +1 -1
  607. package/build/languageProcessing/languages/id/helpers/internal/stem.js +29 -34
  608. package/build/languageProcessing/languages/id/helpers/internal/stem.js.map +1 -1
  609. package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js +5 -13
  610. package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js.map +1 -1
  611. package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js +5 -12
  612. package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js.map +1 -1
  613. package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +3 -9
  614. package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js.map +1 -1
  615. package/build/languageProcessing/languages/it/Researcher.js +23 -31
  616. package/build/languageProcessing/languages/it/Researcher.js.map +1 -1
  617. package/build/languageProcessing/languages/it/config/firstWordExceptions.js +1 -7
  618. package/build/languageProcessing/languages/it/config/firstWordExceptions.js.map +1 -1
  619. package/build/languageProcessing/languages/it/config/functionWords.js +11 -17
  620. package/build/languageProcessing/languages/it/config/functionWords.js.map +1 -1
  621. package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +1 -7
  622. package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  623. package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +1 -7
  624. package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js.map +1 -1
  625. package/build/languageProcessing/languages/it/config/sentenceLength.js +1 -7
  626. package/build/languageProcessing/languages/it/config/sentenceLength.js.map +1 -1
  627. package/build/languageProcessing/languages/it/config/stopWords.js +1 -7
  628. package/build/languageProcessing/languages/it/config/stopWords.js.map +1 -1
  629. package/build/languageProcessing/languages/it/config/transitionWords.js +4 -10
  630. package/build/languageProcessing/languages/it/config/transitionWords.js.map +1 -1
  631. package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js +1 -7
  632. package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js.map +1 -1
  633. package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +3 -9
  634. package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js.map +1 -1
  635. package/build/languageProcessing/languages/it/helpers/getClauses.js +10 -17
  636. package/build/languageProcessing/languages/it/helpers/getClauses.js.map +1 -1
  637. package/build/languageProcessing/languages/it/helpers/getStemmer.js +8 -14
  638. package/build/languageProcessing/languages/it/helpers/getStemmer.js.map +1 -1
  639. package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js +6 -12
  640. package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js.map +1 -1
  641. package/build/languageProcessing/languages/it/helpers/internal/stem.js +3 -9
  642. package/build/languageProcessing/languages/it/helpers/internal/stem.js.map +1 -1
  643. package/build/languageProcessing/languages/it/values/Clause.js +7 -14
  644. package/build/languageProcessing/languages/it/values/Clause.js.map +1 -1
  645. package/build/languageProcessing/languages/ja/Researcher.js +51 -59
  646. package/build/languageProcessing/languages/ja/Researcher.js.map +1 -1
  647. package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +1 -7
  648. package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js.map +1 -1
  649. package/build/languageProcessing/languages/ja/config/firstWordExceptions.js +1 -7
  650. package/build/languageProcessing/languages/ja/config/firstWordExceptions.js.map +1 -1
  651. package/build/languageProcessing/languages/ja/config/functionWords.js +1 -7
  652. package/build/languageProcessing/languages/ja/config/functionWords.js.map +1 -1
  653. package/build/languageProcessing/languages/ja/config/keyphraseLength.js +1 -7
  654. package/build/languageProcessing/languages/ja/config/keyphraseLength.js.map +1 -1
  655. package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js +1 -7
  656. package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js.map +1 -1
  657. package/build/languageProcessing/languages/ja/config/paragraphLength.js +1 -7
  658. package/build/languageProcessing/languages/ja/config/paragraphLength.js.map +1 -1
  659. package/build/languageProcessing/languages/ja/config/sentenceLength.js +1 -7
  660. package/build/languageProcessing/languages/ja/config/sentenceLength.js.map +1 -1
  661. package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js +1 -7
  662. package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js.map +1 -1
  663. package/build/languageProcessing/languages/ja/config/textLength.js +1 -7
  664. package/build/languageProcessing/languages/ja/config/textLength.js.map +1 -1
  665. package/build/languageProcessing/languages/ja/config/topicLength.js +1 -7
  666. package/build/languageProcessing/languages/ja/config/topicLength.js.map +1 -1
  667. package/build/languageProcessing/languages/ja/config/transitionWords.js +2 -7
  668. package/build/languageProcessing/languages/ja/config/transitionWords.js.map +1 -1
  669. package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +16 -22
  670. package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js.map +1 -1
  671. package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +5 -11
  672. package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js.map +1 -1
  673. package/build/languageProcessing/languages/ja/customResearches/getWordForms.js +11 -17
  674. package/build/languageProcessing/languages/ja/customResearches/getWordForms.js.map +1 -1
  675. package/build/languageProcessing/languages/ja/customResearches/textLength.js +3 -9
  676. package/build/languageProcessing/languages/ja/customResearches/textLength.js.map +1 -1
  677. package/build/languageProcessing/languages/ja/helpers/countCharacters.js +6 -12
  678. package/build/languageProcessing/languages/ja/helpers/countCharacters.js.map +1 -1
  679. package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js +8 -14
  680. package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js.map +1 -1
  681. package/build/languageProcessing/languages/ja/helpers/getContentWords.js +5 -11
  682. package/build/languageProcessing/languages/ja/helpers/getContentWords.js.map +1 -1
  683. package/build/languageProcessing/languages/ja/helpers/getWords.js +8 -15
  684. package/build/languageProcessing/languages/ja/helpers/getWords.js.map +1 -1
  685. package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +6 -13
  686. package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js.map +1 -1
  687. package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js +4 -9
  688. package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js.map +1 -1
  689. package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js +3 -9
  690. package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js.map +1 -1
  691. package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js +7 -13
  692. package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js.map +1 -1
  693. package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js +3 -9
  694. package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js.map +1 -1
  695. package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +4 -10
  696. package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js.map +1 -1
  697. package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +5 -11
  698. package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js.map +1 -1
  699. package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +1 -7
  700. package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js.map +1 -1
  701. package/build/languageProcessing/languages/nb/Researcher.js +17 -25
  702. package/build/languageProcessing/languages/nb/Researcher.js.map +1 -1
  703. package/build/languageProcessing/languages/nb/config/firstWordExceptions.js +1 -7
  704. package/build/languageProcessing/languages/nb/config/firstWordExceptions.js.map +1 -1
  705. package/build/languageProcessing/languages/nb/config/functionWords.js +5 -11
  706. package/build/languageProcessing/languages/nb/config/functionWords.js.map +1 -1
  707. package/build/languageProcessing/languages/nb/config/internal/participles.js +2 -7
  708. package/build/languageProcessing/languages/nb/config/internal/participles.js.map +1 -1
  709. package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +1 -7
  710. package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  711. package/build/languageProcessing/languages/nb/config/stopWords.js +1 -7
  712. package/build/languageProcessing/languages/nb/config/stopWords.js.map +1 -1
  713. package/build/languageProcessing/languages/nb/config/transitionWords.js +4 -10
  714. package/build/languageProcessing/languages/nb/config/transitionWords.js.map +1 -1
  715. package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js +2 -7
  716. package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js.map +1 -1
  717. package/build/languageProcessing/languages/nb/helpers/getClauses.js +11 -18
  718. package/build/languageProcessing/languages/nb/helpers/getClauses.js.map +1 -1
  719. package/build/languageProcessing/languages/nb/helpers/getStemmer.js +8 -14
  720. package/build/languageProcessing/languages/nb/helpers/getStemmer.js.map +1 -1
  721. package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js +8 -14
  722. package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js.map +1 -1
  723. package/build/languageProcessing/languages/nb/helpers/internal/stem.js +1 -7
  724. package/build/languageProcessing/languages/nb/helpers/internal/stem.js.map +1 -1
  725. package/build/languageProcessing/languages/nb/values/Clause.js +8 -14
  726. package/build/languageProcessing/languages/nb/values/Clause.js.map +1 -1
  727. package/build/languageProcessing/languages/nl/Researcher.js +23 -31
  728. package/build/languageProcessing/languages/nl/Researcher.js.map +1 -1
  729. package/build/languageProcessing/languages/nl/config/firstWordExceptions.js +1 -7
  730. package/build/languageProcessing/languages/nl/config/firstWordExceptions.js.map +1 -1
  731. package/build/languageProcessing/languages/nl/config/functionWords.js +10 -16
  732. package/build/languageProcessing/languages/nl/config/functionWords.js.map +1 -1
  733. package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js +1 -7
  734. package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js.map +1 -1
  735. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +1 -7
  736. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  737. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +1 -7
  738. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js.map +1 -1
  739. package/build/languageProcessing/languages/nl/config/keyphraseLength.js +1 -7
  740. package/build/languageProcessing/languages/nl/config/keyphraseLength.js.map +1 -1
  741. package/build/languageProcessing/languages/nl/config/stopWords.js +1 -7
  742. package/build/languageProcessing/languages/nl/config/stopWords.js.map +1 -1
  743. package/build/languageProcessing/languages/nl/config/transitionWords.js +4 -10
  744. package/build/languageProcessing/languages/nl/config/transitionWords.js.map +1 -1
  745. package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js +1 -7
  746. package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js.map +1 -1
  747. package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +3 -9
  748. package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js.map +1 -1
  749. package/build/languageProcessing/languages/nl/helpers/getClauses.js +9 -16
  750. package/build/languageProcessing/languages/nl/helpers/getClauses.js.map +1 -1
  751. package/build/languageProcessing/languages/nl/helpers/getStemmer.js +8 -14
  752. package/build/languageProcessing/languages/nl/helpers/getStemmer.js.map +1 -1
  753. package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +7 -13
  754. package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js.map +1 -1
  755. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +8 -14
  756. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js.map +1 -1
  757. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +10 -15
  758. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js.map +1 -1
  759. package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js +10 -16
  760. package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js.map +1 -1
  761. package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js +7 -13
  762. package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js.map +1 -1
  763. package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +7 -12
  764. package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js.map +1 -1
  765. package/build/languageProcessing/languages/nl/helpers/internal/stem.js +17 -23
  766. package/build/languageProcessing/languages/nl/helpers/internal/stem.js.map +1 -1
  767. package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +4 -11
  768. package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js.map +1 -1
  769. package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +8 -14
  770. package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js.map +1 -1
  771. package/build/languageProcessing/languages/nl/values/Clause.js +10 -16
  772. package/build/languageProcessing/languages/nl/values/Clause.js.map +1 -1
  773. package/build/languageProcessing/languages/pl/Researcher.js +19 -27
  774. package/build/languageProcessing/languages/pl/Researcher.js.map +1 -1
  775. package/build/languageProcessing/languages/pl/config/firstWordExceptions.js +1 -7
  776. package/build/languageProcessing/languages/pl/config/firstWordExceptions.js.map +1 -1
  777. package/build/languageProcessing/languages/pl/config/functionWords.js +9 -16
  778. package/build/languageProcessing/languages/pl/config/functionWords.js.map +1 -1
  779. package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js +1 -7
  780. package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js.map +1 -1
  781. package/build/languageProcessing/languages/pl/config/internal/participles.js +1 -7
  782. package/build/languageProcessing/languages/pl/config/internal/participles.js.map +1 -1
  783. package/build/languageProcessing/languages/pl/config/sentenceLength.js +1 -7
  784. package/build/languageProcessing/languages/pl/config/sentenceLength.js.map +1 -1
  785. package/build/languageProcessing/languages/pl/config/stopWords.js +1 -7
  786. package/build/languageProcessing/languages/pl/config/stopWords.js.map +1 -1
  787. package/build/languageProcessing/languages/pl/config/transitionWords.js +4 -10
  788. package/build/languageProcessing/languages/pl/config/transitionWords.js.map +1 -1
  789. package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js +2 -7
  790. package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js.map +1 -1
  791. package/build/languageProcessing/languages/pl/helpers/getClauses.js +9 -16
  792. package/build/languageProcessing/languages/pl/helpers/getClauses.js.map +1 -1
  793. package/build/languageProcessing/languages/pl/helpers/getStemmer.js +8 -14
  794. package/build/languageProcessing/languages/pl/helpers/getStemmer.js.map +1 -1
  795. package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js +7 -13
  796. package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js.map +1 -1
  797. package/build/languageProcessing/languages/pl/helpers/internal/stem.js +1 -7
  798. package/build/languageProcessing/languages/pl/helpers/internal/stem.js.map +1 -1
  799. package/build/languageProcessing/languages/pl/values/Clause.js +8 -14
  800. package/build/languageProcessing/languages/pl/values/Clause.js.map +1 -1
  801. package/build/languageProcessing/languages/pt/Researcher.js +23 -31
  802. package/build/languageProcessing/languages/pt/Researcher.js.map +1 -1
  803. package/build/languageProcessing/languages/pt/config/firstWordExceptions.js +1 -7
  804. package/build/languageProcessing/languages/pt/config/firstWordExceptions.js.map +1 -1
  805. package/build/languageProcessing/languages/pt/config/functionWords.js +10 -16
  806. package/build/languageProcessing/languages/pt/config/functionWords.js.map +1 -1
  807. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +1 -7
  808. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  809. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +1 -7
  810. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js.map +1 -1
  811. package/build/languageProcessing/languages/pt/config/sentenceLength.js +1 -7
  812. package/build/languageProcessing/languages/pt/config/sentenceLength.js.map +1 -1
  813. package/build/languageProcessing/languages/pt/config/stopWords.js +1 -7
  814. package/build/languageProcessing/languages/pt/config/stopWords.js.map +1 -1
  815. package/build/languageProcessing/languages/pt/config/transitionWords.js +4 -10
  816. package/build/languageProcessing/languages/pt/config/transitionWords.js.map +1 -1
  817. package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js +1 -7
  818. package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js.map +1 -1
  819. package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +3 -9
  820. package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js.map +1 -1
  821. package/build/languageProcessing/languages/pt/helpers/getClauses.js +10 -17
  822. package/build/languageProcessing/languages/pt/helpers/getClauses.js.map +1 -1
  823. package/build/languageProcessing/languages/pt/helpers/getStemmer.js +8 -14
  824. package/build/languageProcessing/languages/pt/helpers/getStemmer.js.map +1 -1
  825. package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js +6 -12
  826. package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js.map +1 -1
  827. package/build/languageProcessing/languages/pt/helpers/internal/stem.js +3 -9
  828. package/build/languageProcessing/languages/pt/helpers/internal/stem.js.map +1 -1
  829. package/build/languageProcessing/languages/pt/values/Clause.js +7 -14
  830. package/build/languageProcessing/languages/pt/values/Clause.js.map +1 -1
  831. package/build/languageProcessing/languages/ru/Researcher.js +23 -31
  832. package/build/languageProcessing/languages/ru/Researcher.js.map +1 -1
  833. package/build/languageProcessing/languages/ru/config/firstWordExceptions.js +1 -7
  834. package/build/languageProcessing/languages/ru/config/firstWordExceptions.js.map +1 -1
  835. package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +1 -7
  836. package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js.map +1 -1
  837. package/build/languageProcessing/languages/ru/config/functionWords.js +8 -14
  838. package/build/languageProcessing/languages/ru/config/functionWords.js.map +1 -1
  839. package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +2 -8
  840. package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js.map +1 -1
  841. package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +1 -7
  842. package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js.map +1 -1
  843. package/build/languageProcessing/languages/ru/config/sentenceLength.js +1 -7
  844. package/build/languageProcessing/languages/ru/config/sentenceLength.js.map +1 -1
  845. package/build/languageProcessing/languages/ru/config/transitionWords.js +4 -10
  846. package/build/languageProcessing/languages/ru/config/transitionWords.js.map +1 -1
  847. package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js +2 -7
  848. package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js.map +1 -1
  849. package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +3 -9
  850. package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js.map +1 -1
  851. package/build/languageProcessing/languages/ru/helpers/getStemmer.js +8 -14
  852. package/build/languageProcessing/languages/ru/helpers/getStemmer.js.map +1 -1
  853. package/build/languageProcessing/languages/ru/helpers/internal/stem.js +1 -7
  854. package/build/languageProcessing/languages/ru/helpers/internal/stem.js.map +1 -1
  855. package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js +6 -12
  856. package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js.map +1 -1
  857. package/build/languageProcessing/languages/sk/Researcher.js +17 -25
  858. package/build/languageProcessing/languages/sk/Researcher.js.map +1 -1
  859. package/build/languageProcessing/languages/sk/config/firstWordExceptions.js +1 -7
  860. package/build/languageProcessing/languages/sk/config/firstWordExceptions.js.map +1 -1
  861. package/build/languageProcessing/languages/sk/config/functionWords.js +5 -11
  862. package/build/languageProcessing/languages/sk/config/functionWords.js.map +1 -1
  863. package/build/languageProcessing/languages/sk/config/internal/nonPassives.js +1 -7
  864. package/build/languageProcessing/languages/sk/config/internal/nonPassives.js.map +1 -1
  865. package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +2 -8
  866. package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  867. package/build/languageProcessing/languages/sk/config/stopWords.js +1 -7
  868. package/build/languageProcessing/languages/sk/config/stopWords.js.map +1 -1
  869. package/build/languageProcessing/languages/sk/config/transitionWords.js +4 -10
  870. package/build/languageProcessing/languages/sk/config/transitionWords.js.map +1 -1
  871. package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js +2 -7
  872. package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js.map +1 -1
  873. package/build/languageProcessing/languages/sk/helpers/getClauses.js +9 -16
  874. package/build/languageProcessing/languages/sk/helpers/getClauses.js.map +1 -1
  875. package/build/languageProcessing/languages/sk/helpers/getStemmer.js +8 -14
  876. package/build/languageProcessing/languages/sk/helpers/getStemmer.js.map +1 -1
  877. package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js +3 -9
  878. package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js.map +1 -1
  879. package/build/languageProcessing/languages/sk/helpers/internal/stem.js +1 -7
  880. package/build/languageProcessing/languages/sk/helpers/internal/stem.js.map +1 -1
  881. package/build/languageProcessing/languages/sk/values/Clause.js +8 -14
  882. package/build/languageProcessing/languages/sk/values/Clause.js.map +1 -1
  883. package/build/languageProcessing/languages/sv/Researcher.js +17 -25
  884. package/build/languageProcessing/languages/sv/Researcher.js.map +1 -1
  885. package/build/languageProcessing/languages/sv/config/firstWordExceptions.js +1 -7
  886. package/build/languageProcessing/languages/sv/config/firstWordExceptions.js.map +1 -1
  887. package/build/languageProcessing/languages/sv/config/functionWords.js +7 -13
  888. package/build/languageProcessing/languages/sv/config/functionWords.js.map +1 -1
  889. package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js +2 -7
  890. package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js.map +1 -1
  891. package/build/languageProcessing/languages/sv/config/keyphraseLength.js +1 -7
  892. package/build/languageProcessing/languages/sv/config/keyphraseLength.js.map +1 -1
  893. package/build/languageProcessing/languages/sv/config/transitionWords.js +4 -10
  894. package/build/languageProcessing/languages/sv/config/transitionWords.js.map +1 -1
  895. package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js +2 -7
  896. package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js.map +1 -1
  897. package/build/languageProcessing/languages/sv/helpers/getStemmer.js +8 -14
  898. package/build/languageProcessing/languages/sv/helpers/getStemmer.js.map +1 -1
  899. package/build/languageProcessing/languages/sv/helpers/internal/stem.js +1 -7
  900. package/build/languageProcessing/languages/sv/helpers/internal/stem.js.map +1 -1
  901. package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js +6 -12
  902. package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js.map +1 -1
  903. package/build/languageProcessing/languages/tr/Researcher.js +17 -25
  904. package/build/languageProcessing/languages/tr/Researcher.js.map +1 -1
  905. package/build/languageProcessing/languages/tr/config/firstWordExceptions.js +1 -7
  906. package/build/languageProcessing/languages/tr/config/firstWordExceptions.js.map +1 -1
  907. package/build/languageProcessing/languages/tr/config/functionWords.js +4 -10
  908. package/build/languageProcessing/languages/tr/config/functionWords.js.map +1 -1
  909. package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +3 -8
  910. package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js.map +1 -1
  911. package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js +1 -7
  912. package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js.map +1 -1
  913. package/build/languageProcessing/languages/tr/config/sentenceLength.js +1 -7
  914. package/build/languageProcessing/languages/tr/config/sentenceLength.js.map +1 -1
  915. package/build/languageProcessing/languages/tr/config/transitionWords.js +4 -10
  916. package/build/languageProcessing/languages/tr/config/transitionWords.js.map +1 -1
  917. package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js +2 -7
  918. package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js.map +1 -1
  919. package/build/languageProcessing/languages/tr/helpers/getStemmer.js +8 -14
  920. package/build/languageProcessing/languages/tr/helpers/getStemmer.js.map +1 -1
  921. package/build/languageProcessing/languages/tr/helpers/internal/stem.js +3 -9
  922. package/build/languageProcessing/languages/tr/helpers/internal/stem.js.map +1 -1
  923. package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js +9 -15
  924. package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js.map +1 -1
  925. package/build/languageProcessing/researches/altTagCount.js +10 -16
  926. package/build/languageProcessing/researches/altTagCount.js.map +1 -1
  927. package/build/languageProcessing/researches/checkRelatedKeywords.js +2 -10
  928. package/build/languageProcessing/researches/checkRelatedKeywords.js.map +1 -1
  929. package/build/languageProcessing/researches/countSentencesFromText.js +9 -15
  930. package/build/languageProcessing/researches/countSentencesFromText.js.map +1 -1
  931. package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js +19 -26
  932. package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js.map +1 -1
  933. package/build/languageProcessing/researches/findKeywordInFirstParagraph.js +12 -18
  934. package/build/languageProcessing/researches/findKeywordInFirstParagraph.js.map +1 -1
  935. package/build/languageProcessing/researches/findTransitionWords.js +16 -23
  936. package/build/languageProcessing/researches/findTransitionWords.js.map +1 -1
  937. package/build/languageProcessing/researches/functionWordsInKeyphrase.js +10 -16
  938. package/build/languageProcessing/researches/functionWordsInKeyphrase.js.map +1 -1
  939. package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js +21 -28
  940. package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js.map +1 -1
  941. package/build/languageProcessing/researches/getFleschReadingScore.js +18 -25
  942. package/build/languageProcessing/researches/getFleschReadingScore.js.map +1 -1
  943. package/build/languageProcessing/researches/getKeywordDensity.js +4 -11
  944. package/build/languageProcessing/researches/getKeywordDensity.js.map +1 -1
  945. package/build/languageProcessing/researches/getLinkStatistics.js +7 -13
  946. package/build/languageProcessing/researches/getLinkStatistics.js.map +1 -1
  947. package/build/languageProcessing/researches/getLinks.js +7 -13
  948. package/build/languageProcessing/researches/getLinks.js.map +1 -1
  949. package/build/languageProcessing/researches/getLongCenterAlignedTexts.js +1 -7
  950. package/build/languageProcessing/researches/getLongCenterAlignedTexts.js.map +1 -1
  951. package/build/languageProcessing/researches/getParagraphLength.js +15 -21
  952. package/build/languageProcessing/researches/getParagraphLength.js.map +1 -1
  953. package/build/languageProcessing/researches/getParagraphs.js +4 -9
  954. package/build/languageProcessing/researches/getParagraphs.js.map +1 -1
  955. package/build/languageProcessing/researches/getPassiveVoiceResult.js +21 -30
  956. package/build/languageProcessing/researches/getPassiveVoiceResult.js.map +1 -1
  957. package/build/languageProcessing/researches/getProminentWordsForInsights.js +12 -18
  958. package/build/languageProcessing/researches/getProminentWordsForInsights.js.map +1 -1
  959. package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js +20 -26
  960. package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js.map +1 -1
  961. package/build/languageProcessing/researches/getSentenceBeginnings.js +18 -24
  962. package/build/languageProcessing/researches/getSentenceBeginnings.js.map +1 -1
  963. package/build/languageProcessing/researches/getSubheadingTextLengths.js +12 -18
  964. package/build/languageProcessing/researches/getSubheadingTextLengths.js.map +1 -1
  965. package/build/languageProcessing/researches/getWordForms.js +13 -19
  966. package/build/languageProcessing/researches/getWordForms.js.map +1 -1
  967. package/build/languageProcessing/researches/h1s.js +1 -7
  968. package/build/languageProcessing/researches/h1s.js.map +1 -1
  969. package/build/languageProcessing/researches/imageCount.js +4 -10
  970. package/build/languageProcessing/researches/imageCount.js.map +1 -1
  971. package/build/languageProcessing/researches/index.js +4 -27
  972. package/build/languageProcessing/researches/index.js.map +1 -1
  973. package/build/languageProcessing/researches/keyphraseDistribution.js +22 -32
  974. package/build/languageProcessing/researches/keyphraseDistribution.js.map +1 -1
  975. package/build/languageProcessing/researches/keyphraseLength.js +1 -7
  976. package/build/languageProcessing/researches/keyphraseLength.js.map +1 -1
  977. package/build/languageProcessing/researches/keywordCount.js +21 -29
  978. package/build/languageProcessing/researches/keywordCount.js.map +1 -1
  979. package/build/languageProcessing/researches/keywordCountInUrl.js +8 -16
  980. package/build/languageProcessing/researches/keywordCountInUrl.js.map +1 -1
  981. package/build/languageProcessing/researches/matchKeywordInSubheadings.js +11 -17
  982. package/build/languageProcessing/researches/matchKeywordInSubheadings.js.map +1 -1
  983. package/build/languageProcessing/researches/metaDescriptionKeyword.js +6 -12
  984. package/build/languageProcessing/researches/metaDescriptionKeyword.js.map +1 -1
  985. package/build/languageProcessing/researches/metaDescriptionLength.js +3 -9
  986. package/build/languageProcessing/researches/metaDescriptionLength.js.map +1 -1
  987. package/build/languageProcessing/researches/pageTitleWidth.js +1 -7
  988. package/build/languageProcessing/researches/pageTitleWidth.js.map +1 -1
  989. package/build/languageProcessing/researches/readingTime.js +7 -13
  990. package/build/languageProcessing/researches/readingTime.js.map +1 -1
  991. package/build/languageProcessing/researches/sentences.js +7 -13
  992. package/build/languageProcessing/researches/sentences.js.map +1 -1
  993. package/build/languageProcessing/researches/videoCount.js +1 -7
  994. package/build/languageProcessing/researches/videoCount.js.map +1 -1
  995. package/build/languageProcessing/researches/wordComplexity.js +15 -21
  996. package/build/languageProcessing/researches/wordComplexity.js.map +1 -1
  997. package/build/languageProcessing/researches/wordCountInText.js +7 -13
  998. package/build/languageProcessing/researches/wordCountInText.js.map +1 -1
  999. package/build/languageProcessing/values/Clause.js +1 -7
  1000. package/build/languageProcessing/values/Clause.js.map +1 -1
  1001. package/build/languageProcessing/values/ProminentWord.js +1 -7
  1002. package/build/languageProcessing/values/ProminentWord.js.map +1 -1
  1003. package/build/languageProcessing/values/Sentence.js +1 -7
  1004. package/build/languageProcessing/values/Sentence.js.map +1 -1
  1005. package/build/languageProcessing/values/index.js +4 -27
  1006. package/build/languageProcessing/values/index.js.map +1 -1
  1007. package/build/markers/addMark.js +1 -7
  1008. package/build/markers/addMark.js.map +1 -1
  1009. package/build/markers/addMarkSingleWord.js +7 -12
  1010. package/build/markers/addMarkSingleWord.js.map +1 -1
  1011. package/build/markers/index.js +3 -20
  1012. package/build/markers/index.js.map +1 -1
  1013. package/build/markers/removeDuplicateMarks.js +3 -8
  1014. package/build/markers/removeDuplicateMarks.js.map +1 -1
  1015. package/build/markers/removeMarks.js +1 -7
  1016. package/build/markers/removeMarks.js.map +1 -1
  1017. package/build/parse/build/build.js +17 -25
  1018. package/build/parse/build/build.js.map +1 -1
  1019. package/build/parse/build/index.js +7 -12
  1020. package/build/parse/build/index.js.map +1 -1
  1021. package/build/parse/build/private/adapt.js +15 -21
  1022. package/build/parse/build/private/adapt.js.map +1 -1
  1023. package/build/parse/build/private/adaptAttributes.js +3 -9
  1024. package/build/parse/build/private/adaptAttributes.js.map +1 -1
  1025. package/build/parse/build/private/alwaysFilterElements.js +9 -14
  1026. package/build/parse/build/private/alwaysFilterElements.js.map +1 -1
  1027. package/build/parse/build/private/combineIntoImplicitParagraphs.js +12 -18
  1028. package/build/parse/build/private/combineIntoImplicitParagraphs.js.map +1 -1
  1029. package/build/parse/build/private/filterBeforeTokenizing.js +5 -10
  1030. package/build/parse/build/private/filterBeforeTokenizing.js.map +1 -1
  1031. package/build/parse/build/private/filterHelpers.js +3 -11
  1032. package/build/parse/build/private/filterHelpers.js.map +1 -1
  1033. package/build/parse/build/private/filterTree.js +3 -8
  1034. package/build/parse/build/private/filterTree.js.map +1 -1
  1035. package/build/parse/build/private/getTextElementPositions.js +5 -10
  1036. package/build/parse/build/private/getTextElementPositions.js.map +1 -1
  1037. package/build/parse/build/private/helpers/parseClassAttribute.js +1 -7
  1038. package/build/parse/build/private/helpers/parseClassAttribute.js.map +1 -1
  1039. package/build/parse/build/private/isPhrasingContent.js +1 -7
  1040. package/build/parse/build/private/isPhrasingContent.js.map +1 -1
  1041. package/build/parse/build/private/parseBlocks.js +4 -11
  1042. package/build/parse/build/private/parseBlocks.js.map +1 -1
  1043. package/build/parse/build/private/tokenize.js +8 -14
  1044. package/build/parse/build/private/tokenize.js.map +1 -1
  1045. package/build/parse/language/LanguageProcessor.js +8 -15
  1046. package/build/parse/language/LanguageProcessor.js.map +1 -1
  1047. package/build/parse/structure/Heading.js +3 -9
  1048. package/build/parse/structure/Heading.js.map +1 -1
  1049. package/build/parse/structure/Node.js +8 -14
  1050. package/build/parse/structure/Node.js.map +1 -1
  1051. package/build/parse/structure/Paragraph.js +3 -9
  1052. package/build/parse/structure/Paragraph.js.map +1 -1
  1053. package/build/parse/structure/Sentence.js +1 -7
  1054. package/build/parse/structure/Sentence.js.map +1 -1
  1055. package/build/parse/structure/SourceCodeLocation.js +1 -7
  1056. package/build/parse/structure/SourceCodeLocation.js.map +1 -1
  1057. package/build/parse/structure/Text.js +3 -10
  1058. package/build/parse/structure/Text.js.map +1 -1
  1059. package/build/parse/structure/Token.js +3 -8
  1060. package/build/parse/structure/Token.js.map +1 -1
  1061. package/build/parse/structure/index.js +10 -33
  1062. package/build/parse/structure/index.js.map +1 -1
  1063. package/build/parse/traverse/findAllInTree.js +1 -7
  1064. package/build/parse/traverse/findAllInTree.js.map +1 -1
  1065. package/build/parse/traverse/index.js +8 -19
  1066. package/build/parse/traverse/index.js.map +1 -1
  1067. package/build/parse/traverse/innerText.js +3 -8
  1068. package/build/parse/traverse/innerText.js.map +1 -1
  1069. package/build/parsedPaper/ParsedPaper.js +1 -8
  1070. package/build/parsedPaper/ParsedPaper.js.map +1 -1
  1071. package/build/parsedPaper/assess/TreeAssessor.js +6 -12
  1072. package/build/parsedPaper/assess/TreeAssessor.js.map +1 -1
  1073. package/build/parsedPaper/assess/assessmentListFactories.js +1 -11
  1074. package/build/parsedPaper/assess/assessmentListFactories.js.map +1 -1
  1075. package/build/parsedPaper/assess/assessments/Assessment.js +1 -7
  1076. package/build/parsedPaper/assess/assessments/Assessment.js.map +1 -1
  1077. package/build/parsedPaper/assess/assessments/index.js +6 -13
  1078. package/build/parsedPaper/assess/assessments/index.js.map +1 -1
  1079. package/build/parsedPaper/assess/assessorFactories.js +16 -24
  1080. package/build/parsedPaper/assess/assessorFactories.js.map +1 -1
  1081. package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js +1 -9
  1082. package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js.map +1 -1
  1083. package/build/parsedPaper/assess/cornerstone/index.js +2 -10
  1084. package/build/parsedPaper/assess/cornerstone/index.js.map +1 -1
  1085. package/build/parsedPaper/assess/index.js +13 -29
  1086. package/build/parsedPaper/assess/index.js.map +1 -1
  1087. package/build/parsedPaper/build/PaperParser.js +5 -11
  1088. package/build/parsedPaper/build/PaperParser.js.map +1 -1
  1089. package/build/parsedPaper/build/linguisticParsing/Sentence.js +1 -7
  1090. package/build/parsedPaper/build/linguisticParsing/Sentence.js.map +1 -1
  1091. package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +16 -23
  1092. package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js.map +1 -1
  1093. package/build/parsedPaper/build/linguisticParsing/parseText.js +3 -9
  1094. package/build/parsedPaper/build/linguisticParsing/parseText.js.map +1 -1
  1095. package/build/parsedPaper/build/tree/TreeBuilder.js +3 -9
  1096. package/build/parsedPaper/build/tree/TreeBuilder.js.map +1 -1
  1097. package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js +5 -10
  1098. package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js.map +1 -1
  1099. package/build/parsedPaper/build/tree/cleanup/getElementContent.js +1 -7
  1100. package/build/parsedPaper/build/tree/cleanup/getElementContent.js.map +1 -1
  1101. package/build/parsedPaper/build/tree/cleanup/postParsing.js +5 -11
  1102. package/build/parsedPaper/build/tree/cleanup/postParsing.js.map +1 -1
  1103. package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js +21 -27
  1104. package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js.map +1 -1
  1105. package/build/parsedPaper/build/tree/html/buildTree.js +7 -13
  1106. package/build/parsedPaper/build/tree/html/buildTree.js.map +1 -1
  1107. package/build/parsedPaper/build/tree/html/htmlConstants.js +4 -9
  1108. package/build/parsedPaper/build/tree/html/htmlConstants.js.map +1 -1
  1109. package/build/parsedPaper/build/tree/index.js +3 -8
  1110. package/build/parsedPaper/build/tree/index.js.map +1 -1
  1111. package/build/parsedPaper/build/tree/metadata/buildTree.js +12 -18
  1112. package/build/parsedPaper/build/tree/metadata/buildTree.js.map +1 -1
  1113. package/build/parsedPaper/research/TreeResearcher.js +4 -9
  1114. package/build/parsedPaper/research/TreeResearcher.js.map +1 -1
  1115. package/build/parsedPaper/research/index.js +10 -12
  1116. package/build/parsedPaper/research/index.js.map +1 -1
  1117. package/build/parsedPaper/research/researches/Headings.js +5 -11
  1118. package/build/parsedPaper/research/researches/Headings.js.map +1 -1
  1119. package/build/parsedPaper/research/researches/LinkStatistics.js +6 -12
  1120. package/build/parsedPaper/research/researches/LinkStatistics.js.map +1 -1
  1121. package/build/parsedPaper/research/researches/Research.js +5 -10
  1122. package/build/parsedPaper/research/researches/Research.js.map +1 -1
  1123. package/build/parsedPaper/research/researches/index.js +1 -13
  1124. package/build/parsedPaper/research/researches/index.js.map +1 -1
  1125. package/build/parsedPaper/structure/tree/FormattingElement.js +3 -9
  1126. package/build/parsedPaper/structure/tree/FormattingElement.js.map +1 -1
  1127. package/build/parsedPaper/structure/tree/SourceCodeLocation.js +1 -7
  1128. package/build/parsedPaper/structure/tree/SourceCodeLocation.js.map +1 -1
  1129. package/build/parsedPaper/structure/tree/TextContainer.js +5 -10
  1130. package/build/parsedPaper/structure/tree/TextContainer.js.map +1 -1
  1131. package/build/parsedPaper/structure/tree/index.js +9 -74
  1132. package/build/parsedPaper/structure/tree/index.js.map +1 -1
  1133. package/build/parsedPaper/structure/tree/nodes/Heading.js +3 -9
  1134. package/build/parsedPaper/structure/tree/nodes/Heading.js.map +1 -1
  1135. package/build/parsedPaper/structure/tree/nodes/LeafNode.js +5 -12
  1136. package/build/parsedPaper/structure/tree/nodes/LeafNode.js.map +1 -1
  1137. package/build/parsedPaper/structure/tree/nodes/List.js +5 -11
  1138. package/build/parsedPaper/structure/tree/nodes/List.js.map +1 -1
  1139. package/build/parsedPaper/structure/tree/nodes/ListItem.js +3 -10
  1140. package/build/parsedPaper/structure/tree/nodes/ListItem.js.map +1 -1
  1141. package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +3 -9
  1142. package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js.map +1 -1
  1143. package/build/parsedPaper/structure/tree/nodes/MetadataText.js +3 -9
  1144. package/build/parsedPaper/structure/tree/nodes/MetadataText.js.map +1 -1
  1145. package/build/parsedPaper/structure/tree/nodes/Node.js +6 -12
  1146. package/build/parsedPaper/structure/tree/nodes/Node.js.map +1 -1
  1147. package/build/parsedPaper/structure/tree/nodes/Paragraph.js +3 -9
  1148. package/build/parsedPaper/structure/tree/nodes/Paragraph.js.map +1 -1
  1149. package/build/parsedPaper/structure/tree/nodes/StructuredNode.js +3 -10
  1150. package/build/parsedPaper/structure/tree/nodes/StructuredNode.js.map +1 -1
  1151. package/build/parsedPaper/structure/tree/nodes/index.js +10 -69
  1152. package/build/parsedPaper/structure/tree/nodes/index.js.map +1 -1
  1153. package/build/scoring/assessments/assessment.js +9 -14
  1154. package/build/scoring/assessments/assessment.js.map +1 -1
  1155. package/build/scoring/assessments/index.js +53 -60
  1156. package/build/scoring/assessments/index.js.map +1 -1
  1157. package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js +12 -19
  1158. package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js.map +1 -1
  1159. package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js +13 -20
  1160. package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js.map +1 -1
  1161. package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js +14 -22
  1162. package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js.map +1 -1
  1163. package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js +17 -23
  1164. package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js.map +1 -1
  1165. package/build/scoring/assessments/readability/TransitionWordsAssessment.js +20 -27
  1166. package/build/scoring/assessments/readability/TransitionWordsAssessment.js.map +1 -1
  1167. package/build/scoring/assessments/seo/ImageCountAssessment.js +10 -17
  1168. package/build/scoring/assessments/seo/ImageCountAssessment.js.map +1 -1
  1169. package/build/scoring/assessments/seo/InternalLinksAssessment.js +13 -19
  1170. package/build/scoring/assessments/seo/InternalLinksAssessment.js.map +1 -1
  1171. package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js +13 -19
  1172. package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js.map +1 -1
  1173. package/build/scoring/assessments/seo/KeyphraseAssessment.js +11 -17
  1174. package/build/scoring/assessments/seo/KeyphraseAssessment.js.map +1 -1
  1175. package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js +15 -21
  1176. package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js.map +1 -1
  1177. package/build/scoring/assessments/seo/KeywordDensityAssessment.js +14 -20
  1178. package/build/scoring/assessments/seo/KeywordDensityAssessment.js.map +1 -1
  1179. package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +16 -22
  1180. package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js.map +1 -1
  1181. package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +10 -17
  1182. package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js.map +1 -1
  1183. package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js +13 -20
  1184. package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js.map +1 -1
  1185. package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js +10 -17
  1186. package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js.map +1 -1
  1187. package/build/scoring/assessments/seo/OutboundLinksAssessment.js +13 -20
  1188. package/build/scoring/assessments/seo/OutboundLinksAssessment.js.map +1 -1
  1189. package/build/scoring/assessments/seo/PageTitleWidthAssessment.js +10 -17
  1190. package/build/scoring/assessments/seo/PageTitleWidthAssessment.js.map +1 -1
  1191. package/build/scoring/assessments/seo/SchemaAssessment.js +10 -17
  1192. package/build/scoring/assessments/seo/SchemaAssessment.js.map +1 -1
  1193. package/build/scoring/assessments/seo/SingleH1Assessment.js +12 -18
  1194. package/build/scoring/assessments/seo/SingleH1Assessment.js.map +1 -1
  1195. package/build/scoring/assessments/seo/SingleTitleAssessment.js +12 -18
  1196. package/build/scoring/assessments/seo/SingleTitleAssessment.js.map +1 -1
  1197. package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +10 -17
  1198. package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js.map +1 -1
  1199. package/build/scoring/assessments/seo/TextImagesAssessment.js +13 -20
  1200. package/build/scoring/assessments/seo/TextImagesAssessment.js.map +1 -1
  1201. package/build/scoring/assessments/seo/TextLengthAssessment.js +12 -19
  1202. package/build/scoring/assessments/seo/TextLengthAssessment.js.map +1 -1
  1203. package/build/scoring/assessments/seo/UrlKeywordAssessment.js +11 -17
  1204. package/build/scoring/assessments/seo/UrlKeywordAssessment.js.map +1 -1
  1205. package/build/scoring/assessments/seo/UrlLengthAssessment.js +10 -17
  1206. package/build/scoring/assessments/seo/UrlLengthAssessment.js.map +1 -1
  1207. package/build/scoring/assessors/assessor.js +25 -32
  1208. package/build/scoring/assessors/assessor.js.map +1 -1
  1209. package/build/scoring/assessors/avadaAssessor.js +8 -14
  1210. package/build/scoring/assessors/avadaAssessor.js.map +1 -1
  1211. package/build/scoring/assessors/contentAssessor.js +13 -20
  1212. package/build/scoring/assessors/contentAssessor.js.map +1 -1
  1213. package/build/scoring/assessors/index.js +4 -34
  1214. package/build/scoring/assessors/index.js.map +1 -1
  1215. package/build/scoring/assessors/seoAssessor.js +23 -30
  1216. package/build/scoring/assessors/seoAssessor.js.map +1 -1
  1217. package/build/scoring/helpers/assessments/checkForTooLongSentences.js +3 -8
  1218. package/build/scoring/helpers/assessments/checkForTooLongSentences.js.map +1 -1
  1219. package/build/scoring/helpers/assessments/inRange.js +2 -10
  1220. package/build/scoring/helpers/assessments/inRange.js.map +1 -1
  1221. package/build/scoring/helpers/assessments/keyphraseLengthFactor.js +1 -7
  1222. package/build/scoring/helpers/assessments/keyphraseLengthFactor.js.map +1 -1
  1223. package/build/scoring/helpers/assessments/recommendedKeywordCount.js +5 -11
  1224. package/build/scoring/helpers/assessments/recommendedKeywordCount.js.map +1 -1
  1225. package/build/scoring/helpers/index.js +7 -15
  1226. package/build/scoring/helpers/index.js.map +1 -1
  1227. package/build/scoring/interpreters/index.js +2 -13
  1228. package/build/scoring/interpreters/index.js.map +1 -1
  1229. package/build/scoring/interpreters/scoreToRating.js +1 -7
  1230. package/build/scoring/interpreters/scoreToRating.js.map +1 -1
  1231. package/build/scoring/renderers/AssessorPresenter.js +12 -18
  1232. package/build/scoring/renderers/AssessorPresenter.js.map +1 -1
  1233. package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js +8 -14
  1234. package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js.map +1 -1
  1235. package/build/scoring/scoreAggregators/SEOScoreAggregator.js +3 -9
  1236. package/build/scoring/scoreAggregators/SEOScoreAggregator.js.map +1 -1
  1237. package/build/scoring/scoreAggregators/ScoreAggregator.js +1 -7
  1238. package/build/scoring/scoreAggregators/ScoreAggregator.js.map +1 -1
  1239. package/build/scoring/scoreAggregators/index.js +3 -27
  1240. package/build/scoring/scoreAggregators/index.js.map +1 -1
  1241. package/build/values/AssessmentResult.js +22 -28
  1242. package/build/values/AssessmentResult.js.map +1 -1
  1243. package/build/values/Mark.js +9 -15
  1244. package/build/values/Mark.js.map +1 -1
  1245. package/build/values/Paper.js +11 -17
  1246. package/build/values/Paper.js.map +1 -1
  1247. package/build/values/index.js +4 -27
  1248. package/build/values/index.js.map +1 -1
  1249. package/build/vendor/turkishStemmer.js +1 -7
  1250. package/build/vendor/turkishStemmer.js.map +1 -1
  1251. package/package.json +1 -1
@@ -1,10 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = detectAndStemSuffixes;
7
- var _stemModificationHelpers = require("./stemModificationHelpers");
8
1
  /**
9
2
  * @file Dutch stemming algorithm. Adapted from:
10
3
  * @author:
@@ -16,6 +9,8 @@ var _stemModificationHelpers = require("./stemModificationHelpers");
16
9
  * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license.
17
10
  */
18
11
 
12
+ import { isVowelDoublingAllowed, modifyStem } from "./stemModificationHelpers";
13
+
19
14
  /**
20
15
  * Determines the start index of the R1 region.
21
16
  * R1 is the region after the first non-vowel following a vowel. It should include at least 3 letters.
@@ -78,15 +73,15 @@ const findSuffix = function (word, suffixStep, r1Index) {
78
73
  */
79
74
  const deleteSuffixAndModifyStem = function (word, suffixStep, suffixIndex, stemModification, morphologyDataNL) {
80
75
  if (stemModification === "hedenToHeid") {
81
- return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.hedenToHeid);
76
+ return modifyStem(word, morphologyDataNL.regularStemmer.stemModifications.hedenToHeid);
82
77
  }
83
78
  word = word.substring(0, suffixIndex);
84
79
  if (stemModification === "changeIedtoId") {
85
- return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.iedToId);
80
+ return modifyStem(word, morphologyDataNL.regularStemmer.stemModifications.iedToId);
86
81
  } else if (stemModification === "changeInktoIng" && word.endsWith("ink")) {
87
- return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.inkToIng);
88
- } else if (stemModification === "vowelDoubling" && (0, _stemModificationHelpers.isVowelDoublingAllowed)(word, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
89
- return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.doubleVowel);
82
+ return modifyStem(word, morphologyDataNL.regularStemmer.stemModifications.inkToIng);
83
+ } else if (stemModification === "vowelDoubling" && isVowelDoublingAllowed(word, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
84
+ return modifyStem(word, morphologyDataNL.regularStemmer.stemModifications.doubleVowel);
90
85
  }
91
86
  return word;
92
87
  };
@@ -135,12 +130,12 @@ const findAndDeleteSuffixes = function (word, suffixSteps, r1Index, morphologyDa
135
130
  *
136
131
  * @returns {string} The stemmed word.
137
132
  */
138
- function detectAndStemSuffixes(word, morphologyDataNL) {
133
+ export default function detectAndStemSuffixes(word, morphologyDataNL) {
139
134
  /*
140
135
  * Put i and y in between vowels, initial y, and y after a vowel into upper case. This is because they should
141
136
  * be treated as consonants so we want to differentiate them from other i's and y's when matching regexes.
142
137
  */
143
- word = (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.IAndYToUppercase);
138
+ word = modifyStem(word, morphologyDataNL.regularStemmer.stemModifications.IAndYToUppercase);
144
139
 
145
140
  // Find the start index of the R1 region.
146
141
  const r1Index = determineR1(word);
@@ -152,6 +147,6 @@ function detectAndStemSuffixes(word, morphologyDataNL) {
152
147
  word = findAndDeleteSuffixes(word, suffixSteps, r1Index, morphologyDataNL);
153
148
 
154
149
  // Do final modifications to the stem.
155
- return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.finalChanges);
150
+ return modifyStem(word, morphologyDataNL.regularStemmer.stemModifications.finalChanges);
156
151
  }
157
152
  //# sourceMappingURL=detectAndStemSuffixes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detectAndStemSuffixes.js","names":["_stemModificationHelpers","require","determineR1","word","r1Index","search","findSuffix","suffixStep","suffixStepArray","Object","entries","suffixClass","suffixes","matchedRegex","find","suffixRegex","RegExp","exec","matched","suffix","length","suffixIndex","lastIndexOf","stemModification","deleteSuffixAndModifyStem","morphologyDataNL","modifyStem","regularStemmer","stemModifications","hedenToHeid","substring","iedToId","endsWith","inkToIng","isVowelDoublingAllowed","exceptionsStemModifications","pastParticipleStemmer","compoundVerbsPrefixes","doubleVowel","findAndDeleteSuffix","foundSuffix","findAndDeleteSuffixes","suffixSteps","suffixStepsArray","detectAndStemSuffixes","IAndYToUppercase","finalChanges"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js"],"sourcesContent":["/**\n * @file Dutch stemming algorithm. Adapted from:\n * @author:\n * @copyright\n * All rights reserved.\n * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/dutch/stemmer.html\n * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php\n *\n * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license.\n */\n\nimport { isVowelDoublingAllowed, modifyStem } from \"./stemModificationHelpers\";\n\n/**\n * Determines the start index of the R1 region.\n * R1 is the region after the first non-vowel following a vowel. It should include at least 3 letters.\n *\n * @param {string} word The word for which to determine the R1 region.\n * @returns {number} The start index of the R1 region.\n */\nconst determineR1 = function( word ) {\n\t// Start with matching the first cluster that consists of a vowel and a non-vowel.\n\tlet r1Index = word.search( /[aeiouyèäüëïöáéíóú][^aeiouyèäüëïöáéíóú]/ );\n\t// Then add 2 since the R1 index is the index after the first vowel & non-vowel matched with the regex.\n\tif ( r1Index !== -1 ) {\n\t\tr1Index += 2;\n\t}\n\n\t// Adjust R1 so that the region preceding it includes at least 3 letters.\n\tif ( r1Index !== -1 && r1Index < 3 ) {\n\t\tr1Index = 3;\n\t}\n\n\treturn r1Index;\n};\n\n/**\n * Searches for suffixes in a word.\n *\n * @param {string} word \t\tThe word in which to look for suffixes.\n * @param {Object} suffixStep\tOne of the three steps of findings suffixes.\n * @param {number} r1Index\t\tThe index of the R1 region.\n *\n * @returns {Object} The index of the suffix and extra information about whether, and how, the stem will need to be modified.\n */\nconst findSuffix = function( word, suffixStep, r1Index ) {\n\tconst suffixStepArray = Object.entries( suffixStep );\n\tfor ( const suffixClass of suffixStepArray ) {\n\t\tconst suffixes = suffixClass[ 1 ].suffixes;\n\n\t\tconst matchedRegex = suffixes.find( suffixRegex => new RegExp( suffixRegex ).exec( word ) );\n\n\t\tif ( matchedRegex ) {\n\t\t\tconst matched = new RegExp( matchedRegex ).exec( word );\n\t\t\tconst suffix = matched[ matched.length - 1 ];\n\t\t\tconst suffixIndex = word.lastIndexOf( suffix );\n\n\t\t\tif ( r1Index !== -1 && suffixIndex >= r1Index ) {\n\t\t\t\treturn {\n\t\t\t\t\tsuffixIndex: suffixIndex,\n\t\t\t\t\tstemModification: suffixClass[ 1 ].stemModification,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Deletes the suffix and modifies the stem according to the required modifications.\n *\n * @param {string} word\t The word from which to delete the suffix.\n * @param {Object} suffixStep \tOne of the three steps of deleting a suffix.\n * @param {number} suffixIndex\t The index of the found suffix.\n * @param {string} stemModification \tThe type of stem modification that needs to be done.\n * @param {Object} morphologyDataNL\t The Dutch morphology data file.\n * @returns {string} The stemmed and modified word.\n */\nconst deleteSuffixAndModifyStem = function( word, suffixStep, suffixIndex, stemModification, morphologyDataNL ) {\n\tif ( stemModification === \"hedenToHeid\" ) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.hedenToHeid );\n\t}\n\tword = word.substring( 0, suffixIndex );\n\tif ( stemModification === \"changeIedtoId\" ) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.iedToId );\n\t} else if ( stemModification === \"changeInktoIng\" && word.endsWith( \"ink\" ) ) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.inkToIng );\n\t} else if (\n\t\tstemModification === \"vowelDoubling\" &&\n\t\tisVowelDoublingAllowed(\n\t\t\tword,\n\t\t\tmorphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n\t\t\tmorphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n\t\t)\n\t) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.doubleVowel );\n\t}\n\treturn word;\n};\n\n/**\n * Finds and deletes the suffix found in a particular step, and modifies the stem.\n *\n * @param {string} word \tThe word for which to find and delete a suffix.\n * @param {Object} suffixStep\t One of the three suffix steps.\n * @param {number} r1Index\t The index of the R1 region.\n * @param {Object} morphologyDataNL\t The Dutch morphology data file.\n * @returns {string} The word with the deleted suffix.\n */\nconst findAndDeleteSuffix = function( word, suffixStep, r1Index, morphologyDataNL ) {\n\tconst foundSuffix = findSuffix( word, suffixStep, r1Index );\n\tif ( typeof foundSuffix !== \"undefined\" ) {\n\t\tword = deleteSuffixAndModifyStem( word, suffixStep, foundSuffix.suffixIndex, foundSuffix.stemModification, morphologyDataNL );\n\t}\n\n\treturn word;\n};\n\n/**\n * Runs through three stemming steps that process different kinds of suffixes, determines if there is a valid suffix\n * within the R1 region that can be deleted for stemming and deletes it, as well as applies suffix-specific stem\n * modifications if needed.\n *\n * @param {string} word \tThe word for which to find and delete suffixes.\n * @param {Object} suffixSteps\t All of the suffix steps.\n * @param {number} r1Index\t The index of the R1 region\n * @param {Object} morphologyDataNL \tThe Dutch morphology data file.\n * @returns {string} The word with the delete suffix.\n */\nconst findAndDeleteSuffixes = function( word, suffixSteps, r1Index, morphologyDataNL ) {\n\tconst suffixStepsArray = Object.entries( suffixSteps );\n\tfor ( const suffixStep of suffixStepsArray ) {\n\t\tword = findAndDeleteSuffix( word, suffixStep[ 1 ], r1Index, morphologyDataNL );\n\t}\n\n\treturn word;\n};\n\n/**\n * Search for suffixes in a word, remove them if found, and modify the stem if needed.\n *\n * @param {string} word The word to stem.\n * @param {Object} morphologyDataNL The Dutch morphology data file.\n *\n * @returns {string} The stemmed word.\n */\nexport default function detectAndStemSuffixes( word, morphologyDataNL ) {\n\t/*\n\t * Put i and y in between vowels, initial y, and y after a vowel into upper case. This is because they should\n\t * be treated as consonants so we want to differentiate them from other i's and y's when matching regexes.\n\t */\n\tword = modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.IAndYToUppercase );\n\n\t// Find the start index of the R1 region.\n\tconst r1Index = determineR1( word );\n\n\t// Import the suffixes from all three steps.\n\tconst suffixSteps = morphologyDataNL.regularStemmer.suffixes;\n\n\t// Run through the three steps of possible de-suffixation.\n\tword = findAndDeleteSuffixes( word, suffixSteps, r1Index, morphologyDataNL );\n\n\t// Do final modifications to the stem.\n\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.finalChanges );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"detectAndStemSuffixes.js","names":["isVowelDoublingAllowed","modifyStem","determineR1","word","r1Index","search","findSuffix","suffixStep","suffixStepArray","Object","entries","suffixClass","suffixes","matchedRegex","find","suffixRegex","RegExp","exec","matched","suffix","length","suffixIndex","lastIndexOf","stemModification","deleteSuffixAndModifyStem","morphologyDataNL","regularStemmer","stemModifications","hedenToHeid","substring","iedToId","endsWith","inkToIng","exceptionsStemModifications","pastParticipleStemmer","compoundVerbsPrefixes","doubleVowel","findAndDeleteSuffix","foundSuffix","findAndDeleteSuffixes","suffixSteps","suffixStepsArray","detectAndStemSuffixes","IAndYToUppercase","finalChanges"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js"],"sourcesContent":["/**\n * @file Dutch stemming algorithm. Adapted from:\n * @author:\n * @copyright\n * All rights reserved.\n * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/dutch/stemmer.html\n * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php\n *\n * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license.\n */\n\nimport { isVowelDoublingAllowed, modifyStem } from \"./stemModificationHelpers\";\n\n/**\n * Determines the start index of the R1 region.\n * R1 is the region after the first non-vowel following a vowel. It should include at least 3 letters.\n *\n * @param {string} word The word for which to determine the R1 region.\n * @returns {number} The start index of the R1 region.\n */\nconst determineR1 = function( word ) {\n\t// Start with matching the first cluster that consists of a vowel and a non-vowel.\n\tlet r1Index = word.search( /[aeiouyèäüëïöáéíóú][^aeiouyèäüëïöáéíóú]/ );\n\t// Then add 2 since the R1 index is the index after the first vowel & non-vowel matched with the regex.\n\tif ( r1Index !== -1 ) {\n\t\tr1Index += 2;\n\t}\n\n\t// Adjust R1 so that the region preceding it includes at least 3 letters.\n\tif ( r1Index !== -1 && r1Index < 3 ) {\n\t\tr1Index = 3;\n\t}\n\n\treturn r1Index;\n};\n\n/**\n * Searches for suffixes in a word.\n *\n * @param {string} word \t\tThe word in which to look for suffixes.\n * @param {Object} suffixStep\tOne of the three steps of findings suffixes.\n * @param {number} r1Index\t\tThe index of the R1 region.\n *\n * @returns {Object} The index of the suffix and extra information about whether, and how, the stem will need to be modified.\n */\nconst findSuffix = function( word, suffixStep, r1Index ) {\n\tconst suffixStepArray = Object.entries( suffixStep );\n\tfor ( const suffixClass of suffixStepArray ) {\n\t\tconst suffixes = suffixClass[ 1 ].suffixes;\n\n\t\tconst matchedRegex = suffixes.find( suffixRegex => new RegExp( suffixRegex ).exec( word ) );\n\n\t\tif ( matchedRegex ) {\n\t\t\tconst matched = new RegExp( matchedRegex ).exec( word );\n\t\t\tconst suffix = matched[ matched.length - 1 ];\n\t\t\tconst suffixIndex = word.lastIndexOf( suffix );\n\n\t\t\tif ( r1Index !== -1 && suffixIndex >= r1Index ) {\n\t\t\t\treturn {\n\t\t\t\t\tsuffixIndex: suffixIndex,\n\t\t\t\t\tstemModification: suffixClass[ 1 ].stemModification,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Deletes the suffix and modifies the stem according to the required modifications.\n *\n * @param {string} word\t The word from which to delete the suffix.\n * @param {Object} suffixStep \tOne of the three steps of deleting a suffix.\n * @param {number} suffixIndex\t The index of the found suffix.\n * @param {string} stemModification \tThe type of stem modification that needs to be done.\n * @param {Object} morphologyDataNL\t The Dutch morphology data file.\n * @returns {string} The stemmed and modified word.\n */\nconst deleteSuffixAndModifyStem = function( word, suffixStep, suffixIndex, stemModification, morphologyDataNL ) {\n\tif ( stemModification === \"hedenToHeid\" ) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.hedenToHeid );\n\t}\n\tword = word.substring( 0, suffixIndex );\n\tif ( stemModification === \"changeIedtoId\" ) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.iedToId );\n\t} else if ( stemModification === \"changeInktoIng\" && word.endsWith( \"ink\" ) ) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.inkToIng );\n\t} else if (\n\t\tstemModification === \"vowelDoubling\" &&\n\t\tisVowelDoublingAllowed(\n\t\t\tword,\n\t\t\tmorphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n\t\t\tmorphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n\t\t)\n\t) {\n\t\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.doubleVowel );\n\t}\n\treturn word;\n};\n\n/**\n * Finds and deletes the suffix found in a particular step, and modifies the stem.\n *\n * @param {string} word \tThe word for which to find and delete a suffix.\n * @param {Object} suffixStep\t One of the three suffix steps.\n * @param {number} r1Index\t The index of the R1 region.\n * @param {Object} morphologyDataNL\t The Dutch morphology data file.\n * @returns {string} The word with the deleted suffix.\n */\nconst findAndDeleteSuffix = function( word, suffixStep, r1Index, morphologyDataNL ) {\n\tconst foundSuffix = findSuffix( word, suffixStep, r1Index );\n\tif ( typeof foundSuffix !== \"undefined\" ) {\n\t\tword = deleteSuffixAndModifyStem( word, suffixStep, foundSuffix.suffixIndex, foundSuffix.stemModification, morphologyDataNL );\n\t}\n\n\treturn word;\n};\n\n/**\n * Runs through three stemming steps that process different kinds of suffixes, determines if there is a valid suffix\n * within the R1 region that can be deleted for stemming and deletes it, as well as applies suffix-specific stem\n * modifications if needed.\n *\n * @param {string} word \tThe word for which to find and delete suffixes.\n * @param {Object} suffixSteps\t All of the suffix steps.\n * @param {number} r1Index\t The index of the R1 region\n * @param {Object} morphologyDataNL \tThe Dutch morphology data file.\n * @returns {string} The word with the delete suffix.\n */\nconst findAndDeleteSuffixes = function( word, suffixSteps, r1Index, morphologyDataNL ) {\n\tconst suffixStepsArray = Object.entries( suffixSteps );\n\tfor ( const suffixStep of suffixStepsArray ) {\n\t\tword = findAndDeleteSuffix( word, suffixStep[ 1 ], r1Index, morphologyDataNL );\n\t}\n\n\treturn word;\n};\n\n/**\n * Search for suffixes in a word, remove them if found, and modify the stem if needed.\n *\n * @param {string} word The word to stem.\n * @param {Object} morphologyDataNL The Dutch morphology data file.\n *\n * @returns {string} The stemmed word.\n */\nexport default function detectAndStemSuffixes( word, morphologyDataNL ) {\n\t/*\n\t * Put i and y in between vowels, initial y, and y after a vowel into upper case. This is because they should\n\t * be treated as consonants so we want to differentiate them from other i's and y's when matching regexes.\n\t */\n\tword = modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.IAndYToUppercase );\n\n\t// Find the start index of the R1 region.\n\tconst r1Index = determineR1( word );\n\n\t// Import the suffixes from all three steps.\n\tconst suffixSteps = morphologyDataNL.regularStemmer.suffixes;\n\n\t// Run through the three steps of possible de-suffixation.\n\tword = findAndDeleteSuffixes( word, suffixSteps, r1Index, morphologyDataNL );\n\n\t// Do final modifications to the stem.\n\treturn modifyStem( word, morphologyDataNL.regularStemmer.stemModifications.finalChanges );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,14 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = determineStem;
7
- var _lodash = require("lodash");
8
- var _index = require("../../../../../index.js");
9
- var _stem = _interopRequireDefault(require("./stem"));
10
- var _stemTOrDFromEndOfWord = require("./stemTOrDFromEndOfWord");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import { flatten } from 'lodash';
2
+ import { languageProcessing } from "../../../../../index.js";
12
3
  const {
13
4
  flattenSortLength,
14
5
  exceptionListHelpers: {
15
6
  checkExceptionListWithTwoStems
16
7
  }
17
- } = _index.languageProcessing;
8
+ } = languageProcessing;
9
+ import stem from "./stem";
10
+ import { stemTOrDFromEndOfWord } from "./stemTOrDFromEndOfWord";
11
+
18
12
  /**
19
13
  * Checks if the word checked is in the list of strong verbs exceptions. If it is, only return the first stem from the stem set.
20
14
  * E.g. stems: help, hielp, geholp -> the stem returned would be "help".
@@ -26,7 +20,7 @@ const {
26
20
  const checkStrongVerbExceptionList = function (strongVerbsLists, stemmedWord) {
27
21
  for (const key of Object.keys(strongVerbsLists)) {
28
22
  for (const stemsSet of strongVerbsLists[key]) {
29
- const stems = (0, _lodash.flatten)(Object.values(stemsSet));
23
+ const stems = flatten(Object.values(stemsSet));
30
24
  if (stems.includes(stemmedWord)) {
31
25
  return stems[0];
32
26
  }
@@ -92,8 +86,8 @@ const findStemOnVerbExceptionList = function (morphologyDataNL, stemmedWord) {
92
86
  *
93
87
  * @returns {string} The unique stem.
94
88
  */
95
- function determineStem(word, morphologyDataNL) {
96
- const stemmedWord = (0, _stem.default)(word, morphologyDataNL);
89
+ export default function determineStem(word, morphologyDataNL) {
90
+ const stemmedWord = stem(word, morphologyDataNL);
97
91
 
98
92
  // Check whether the stemmed word is on an exception list of words with multiple stems. If it is, return the canonical stem.
99
93
  let stemFromExceptionList = checkExceptionListWithTwoStems(morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.stemmingExceptionsWithTwoStems, stemmedWord);
@@ -109,7 +103,7 @@ function determineStem(word, morphologyDataNL) {
109
103
  const ambiguousEndings = morphologyDataNL.ambiguousTAndDEndings.tAndDEndings;
110
104
  for (const ending of ambiguousEndings) {
111
105
  if (stemmedWord.endsWith(ending)) {
112
- const stemmedWordWithoutTOrD = (0, _stemTOrDFromEndOfWord.stemTOrDFromEndOfWord)(morphologyDataNL, stemmedWord, word);
106
+ const stemmedWordWithoutTOrD = stemTOrDFromEndOfWord(morphologyDataNL, stemmedWord, word);
113
107
  if (stemmedWordWithoutTOrD) {
114
108
  return stemmedWordWithoutTOrD;
115
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"determineStem.js","names":["_lodash","require","_index","_stem","_interopRequireDefault","_stemTOrDFromEndOfWord","e","__esModule","default","flattenSortLength","exceptionListHelpers","checkExceptionListWithTwoStems","languageProcessing","checkStrongVerbExceptionList","strongVerbsLists","stemmedWord","key","Object","keys","stemsSet","stems","flatten","values","includes","findStemOnVerbExceptionList","morphologyDataNL","prefixes","pastParticipleStemmer","compoundVerbsPrefixes","foundPrefix","find","prefix","startsWith","doNotStemPrefix","stemExceptions","stemmingExceptionsWithMultipleStems","strongAndIrregularVerbs","doNotStemPrefixException","exception","endsWith","stemmedWordWithoutPrefix","slice","length","strongVerbExceptions","strongVerbStems","strongVerbsExceptionLists","irregularStrongVerbs","regularStrongVerbs","bothRegularAndIrregularStrongVerbs","i","checkIfWordIsException","determineStem","word","stem","stemFromExceptionList","stemmingExceptionsWithTwoStems","ambiguousEndings","ambiguousTAndDEndings","tAndDEndings","ending","stemmedWordWithoutTOrD","stemTOrDFromEndOfWord"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/determineStem.js"],"sourcesContent":["import {flatten} from 'lodash';\nimport {languageProcessing} from '@axyseo/index.js';\nconst {\n flattenSortLength,\n exceptionListHelpers: {checkExceptionListWithTwoStems}\n} = languageProcessing;\n\nimport stem from './stem';\nimport {stemTOrDFromEndOfWord} from './stemTOrDFromEndOfWord';\n\n/**\n * Checks if the word checked is in the list of strong verbs exceptions. If it is, only return the first stem from the stem set.\n * E.g. stems: help, hielp, geholp -> the stem returned would be \"help\".\n *\n * @param {Object} strongVerbsLists\tThe exception lists of strong verbs.\n * @param {string} stemmedWord The word to check.\n * @returns {string} The unique stem.\n */\nconst checkStrongVerbExceptionList = function(strongVerbsLists, stemmedWord) {\n for (const key of Object.keys(strongVerbsLists)) {\n for (const stemsSet of strongVerbsLists[key]) {\n const stems = flatten(Object.values(stemsSet));\n if (stems.includes(stemmedWord)) {\n return stems[0];\n }\n }\n }\n};\n\n/**\n * Checks if the word checked is in the list of strong verbs exceptions. Before checking, see if the word has a prefix and delete it if it does.\n * If the stem after prefix deletion is in the verb exception list, only return the first stem from the stem set and attach back the prefix.\n * E.g. words to check: verhielp, stem set: help, hielp, geholp -> the stem returned would be \"verhelp\".\n *\n * @param {Object} morphologyDataNL \tThe Dutch morphology data file.\n * @param {string} stemmedWord \t\tThe word to check.\n *\n * @returns {string} The unique stem.\n */\nconst findStemOnVerbExceptionList = function(morphologyDataNL, stemmedWord) {\n const prefixes = flattenSortLength(morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes);\n // Check whether the inputted stem is started with one of the separable compound prefixes\n let foundPrefix = prefixes.find(prefix => stemmedWord.startsWith(prefix));\n const doNotStemPrefix =\n morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.strongAndIrregularVerbs\n .doNotStemPrefix;\n const doNotStemPrefixException = doNotStemPrefix.find(exception =>\n stemmedWord.endsWith(exception)\n );\n let stemmedWordWithoutPrefix = '';\n\n // Check whether the stemmedWord is in the list of strong verbs starting with be-, ont- or ver- that do not need to be stemmed.\n if (doNotStemPrefixException) {\n // Reset foundPrefix so that it won't be attached when the stem is found in the verb exception list.\n foundPrefix = null;\n // If the inputted stem is started with one of the separable compound prefixes, the prefix needs to be deleted for now.\n } else if (foundPrefix) {\n // Delete the prefix for now.\n stemmedWordWithoutPrefix = stemmedWord.slice(foundPrefix.length, stemmedWord.length);\n // At least 3 characters left after prefix deletion so that e.g. \"be\" is not found in the stem \"berg\".\n if (stemmedWordWithoutPrefix.length > 2) {\n stemmedWord = stemmedWordWithoutPrefix;\n } else {\n // Reset foundPrefix so that it won't be attached when the stem is found in the verb exception list.\n foundPrefix = null;\n }\n }\n\n const strongVerbExceptions =\n morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.strongAndIrregularVerbs\n .strongVerbStems;\n // Find stem strong verbs lists.\n const strongVerbsExceptionLists = [\n strongVerbExceptions.irregularStrongVerbs,\n strongVerbExceptions.regularStrongVerbs,\n strongVerbExceptions.bothRegularAndIrregularStrongVerbs\n ];\n for (let i = 0; i < strongVerbsExceptionLists.length; i++) {\n const checkIfWordIsException = checkStrongVerbExceptionList(\n strongVerbsExceptionLists[i],\n stemmedWord\n );\n if (checkIfWordIsException) {\n // If the word checked had a prefix previously, attach it back.\n if (foundPrefix) {\n return (\n foundPrefix + checkStrongVerbExceptionList(strongVerbsExceptionLists[i], stemmedWord)\n );\n }\n // If the word checked did not have a prefix previously, only return the first stem.\n return checkStrongVerbExceptionList(strongVerbsExceptionLists[i], stemmedWord);\n }\n }\n};\n\n/**\n * Return the unique stem for a given Dutch input word.\n *\n * @param {string} word The word to be checked.\n * @param {Object} morphologyDataNL The Dutch data file.\n *\n * @returns {string} The unique stem.\n */\nexport default function determineStem(word, morphologyDataNL) {\n const stemmedWord = stem(word, morphologyDataNL);\n\n // Check whether the stemmed word is on an exception list of words with multiple stems. If it is, return the canonical stem.\n let stemFromExceptionList = checkExceptionListWithTwoStems(\n morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems\n .stemmingExceptionsWithTwoStems,\n stemmedWord\n );\n if (stemFromExceptionList) {\n return stemFromExceptionList;\n }\n stemFromExceptionList = findStemOnVerbExceptionList(morphologyDataNL, stemmedWord);\n if (stemFromExceptionList) {\n return stemFromExceptionList;\n }\n\n // If the stemmed word ends in -t or -d, check whether it should be stemmed further, and return the stem with or without the -t/d.\n const ambiguousEndings = morphologyDataNL.ambiguousTAndDEndings.tAndDEndings;\n for (const ending of ambiguousEndings) {\n if (stemmedWord.endsWith(ending)) {\n const stemmedWordWithoutTOrD = stemTOrDFromEndOfWord(morphologyDataNL, stemmedWord, word);\n if (stemmedWordWithoutTOrD) {\n return stemmedWordWithoutTOrD;\n }\n }\n }\n\n return stemmedWord;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"determineStem.js","names":["flatten","languageProcessing","flattenSortLength","exceptionListHelpers","checkExceptionListWithTwoStems","stem","stemTOrDFromEndOfWord","checkStrongVerbExceptionList","strongVerbsLists","stemmedWord","key","Object","keys","stemsSet","stems","values","includes","findStemOnVerbExceptionList","morphologyDataNL","prefixes","pastParticipleStemmer","compoundVerbsPrefixes","foundPrefix","find","prefix","startsWith","doNotStemPrefix","stemExceptions","stemmingExceptionsWithMultipleStems","strongAndIrregularVerbs","doNotStemPrefixException","exception","endsWith","stemmedWordWithoutPrefix","slice","length","strongVerbExceptions","strongVerbStems","strongVerbsExceptionLists","irregularStrongVerbs","regularStrongVerbs","bothRegularAndIrregularStrongVerbs","i","checkIfWordIsException","determineStem","word","stemFromExceptionList","stemmingExceptionsWithTwoStems","ambiguousEndings","ambiguousTAndDEndings","tAndDEndings","ending","stemmedWordWithoutTOrD"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/determineStem.js"],"sourcesContent":["import {flatten} from 'lodash';\nimport {languageProcessing} from '@axyseo/index.js';\nconst {\n flattenSortLength,\n exceptionListHelpers: {checkExceptionListWithTwoStems}\n} = languageProcessing;\n\nimport stem from './stem';\nimport {stemTOrDFromEndOfWord} from './stemTOrDFromEndOfWord';\n\n/**\n * Checks if the word checked is in the list of strong verbs exceptions. If it is, only return the first stem from the stem set.\n * E.g. stems: help, hielp, geholp -> the stem returned would be \"help\".\n *\n * @param {Object} strongVerbsLists\tThe exception lists of strong verbs.\n * @param {string} stemmedWord The word to check.\n * @returns {string} The unique stem.\n */\nconst checkStrongVerbExceptionList = function(strongVerbsLists, stemmedWord) {\n for (const key of Object.keys(strongVerbsLists)) {\n for (const stemsSet of strongVerbsLists[key]) {\n const stems = flatten(Object.values(stemsSet));\n if (stems.includes(stemmedWord)) {\n return stems[0];\n }\n }\n }\n};\n\n/**\n * Checks if the word checked is in the list of strong verbs exceptions. Before checking, see if the word has a prefix and delete it if it does.\n * If the stem after prefix deletion is in the verb exception list, only return the first stem from the stem set and attach back the prefix.\n * E.g. words to check: verhielp, stem set: help, hielp, geholp -> the stem returned would be \"verhelp\".\n *\n * @param {Object} morphologyDataNL \tThe Dutch morphology data file.\n * @param {string} stemmedWord \t\tThe word to check.\n *\n * @returns {string} The unique stem.\n */\nconst findStemOnVerbExceptionList = function(morphologyDataNL, stemmedWord) {\n const prefixes = flattenSortLength(morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes);\n // Check whether the inputted stem is started with one of the separable compound prefixes\n let foundPrefix = prefixes.find(prefix => stemmedWord.startsWith(prefix));\n const doNotStemPrefix =\n morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.strongAndIrregularVerbs\n .doNotStemPrefix;\n const doNotStemPrefixException = doNotStemPrefix.find(exception =>\n stemmedWord.endsWith(exception)\n );\n let stemmedWordWithoutPrefix = '';\n\n // Check whether the stemmedWord is in the list of strong verbs starting with be-, ont- or ver- that do not need to be stemmed.\n if (doNotStemPrefixException) {\n // Reset foundPrefix so that it won't be attached when the stem is found in the verb exception list.\n foundPrefix = null;\n // If the inputted stem is started with one of the separable compound prefixes, the prefix needs to be deleted for now.\n } else if (foundPrefix) {\n // Delete the prefix for now.\n stemmedWordWithoutPrefix = stemmedWord.slice(foundPrefix.length, stemmedWord.length);\n // At least 3 characters left after prefix deletion so that e.g. \"be\" is not found in the stem \"berg\".\n if (stemmedWordWithoutPrefix.length > 2) {\n stemmedWord = stemmedWordWithoutPrefix;\n } else {\n // Reset foundPrefix so that it won't be attached when the stem is found in the verb exception list.\n foundPrefix = null;\n }\n }\n\n const strongVerbExceptions =\n morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.strongAndIrregularVerbs\n .strongVerbStems;\n // Find stem strong verbs lists.\n const strongVerbsExceptionLists = [\n strongVerbExceptions.irregularStrongVerbs,\n strongVerbExceptions.regularStrongVerbs,\n strongVerbExceptions.bothRegularAndIrregularStrongVerbs\n ];\n for (let i = 0; i < strongVerbsExceptionLists.length; i++) {\n const checkIfWordIsException = checkStrongVerbExceptionList(\n strongVerbsExceptionLists[i],\n stemmedWord\n );\n if (checkIfWordIsException) {\n // If the word checked had a prefix previously, attach it back.\n if (foundPrefix) {\n return (\n foundPrefix + checkStrongVerbExceptionList(strongVerbsExceptionLists[i], stemmedWord)\n );\n }\n // If the word checked did not have a prefix previously, only return the first stem.\n return checkStrongVerbExceptionList(strongVerbsExceptionLists[i], stemmedWord);\n }\n }\n};\n\n/**\n * Return the unique stem for a given Dutch input word.\n *\n * @param {string} word The word to be checked.\n * @param {Object} morphologyDataNL The Dutch data file.\n *\n * @returns {string} The unique stem.\n */\nexport default function determineStem(word, morphologyDataNL) {\n const stemmedWord = stem(word, morphologyDataNL);\n\n // Check whether the stemmed word is on an exception list of words with multiple stems. If it is, return the canonical stem.\n let stemFromExceptionList = checkExceptionListWithTwoStems(\n morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems\n .stemmingExceptionsWithTwoStems,\n stemmedWord\n );\n if (stemFromExceptionList) {\n return stemFromExceptionList;\n }\n stemFromExceptionList = findStemOnVerbExceptionList(morphologyDataNL, stemmedWord);\n if (stemFromExceptionList) {\n return stemFromExceptionList;\n }\n\n // If the stemmed word ends in -t or -d, check whether it should be stemmed further, and return the stem with or without the -t/d.\n const ambiguousEndings = morphologyDataNL.ambiguousTAndDEndings.tAndDEndings;\n for (const ending of ambiguousEndings) {\n if (stemmedWord.endsWith(ending)) {\n const stemmedWordWithoutTOrD = stemTOrDFromEndOfWord(morphologyDataNL, stemmedWord, word);\n if (stemmedWordWithoutTOrD) {\n return stemmedWordWithoutTOrD;\n }\n }\n }\n\n return stemmedWord;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = getParticiples;
7
- var _lodash = require("lodash");
8
- var _index = require("../../../../../index.js");
9
- var _passiveVoiceIrregulars = _interopRequireDefault(require("../../config/internal/passiveVoiceIrregulars"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import { includes } from 'lodash';
2
+ import { languageProcessing } from "../../../../../index.js";
11
3
  const {
12
4
  getWords,
13
5
  matchRegularParticiples
14
- } = _index.languageProcessing;
6
+ } = languageProcessing;
7
+ import irregularParticiples from "../../config/internal/passiveVoiceIrregulars";
8
+
15
9
  /**
16
10
  * Creates an array of participle for the participles found in a clause.
17
11
  *
@@ -19,9 +13,9 @@ const {
19
13
  *
20
14
  * @returns {Array} The list with participle.
21
15
  */
22
- function getParticiples(clauseText) {
16
+ export default function getParticiples(clauseText) {
23
17
  const words = getWords(clauseText);
24
18
  const regexes = [/^(ge|be|ont|ver|her|er)\S+([dt])($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi, /^(aan|af|bij|binnen|los|mee|na|neer|om|onder|samen|terug|tegen|toe|uit|vast)(ge)\S+([dtn])($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi];
25
- return words.filter(word => matchRegularParticiples(word, regexes).length !== 0 || (0, _lodash.includes)(_passiveVoiceIrregulars.default, word));
19
+ return words.filter(word => matchRegularParticiples(word, regexes).length !== 0 || includes(irregularParticiples, word));
26
20
  }
27
21
  //# sourceMappingURL=getParticiples.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getParticiples.js","names":["_lodash","require","_index","_passiveVoiceIrregulars","_interopRequireDefault","e","__esModule","default","getWords","matchRegularParticiples","languageProcessing","getParticiples","clauseText","words","regexes","filter","word","length","includes","irregularParticiples"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/getParticiples.js"],"sourcesContent":["import {includes} from 'lodash';\nimport {languageProcessing} from '@axyseo/index.js';\nconst {getWords, matchRegularParticiples} = languageProcessing;\n\nimport irregularParticiples from '../../config/internal/passiveVoiceIrregulars';\n\n/**\n * Creates an array of participle for the participles found in a clause.\n *\n * @param {string} clauseText The clause text to find participles in.\n *\n * @returns {Array} The list with participle.\n */\nexport default function getParticiples(clauseText) {\n const words = getWords(clauseText);\n const regexes = [\n /^(ge|be|ont|ver|her|er)\\S+([dt])($|[ \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>])/gi,\n /^(aan|af|bij|binnen|los|mee|na|neer|om|onder|samen|terug|tegen|toe|uit|vast)(ge)\\S+([dtn])($|[ \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>])/gi\n ];\n\n return words.filter(\n word =>\n matchRegularParticiples(word, regexes).length !== 0 || includes(irregularParticiples, word)\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,uBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAgF,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAFhF,MAAM;EAACG,QAAQ;EAAEC;AAAuB,CAAC,GAAGC,yBAAkB;AAI9D;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,cAAcA,CAACC,UAAU,EAAE;EACjD,MAAMC,KAAK,GAAGL,QAAQ,CAACI,UAAU,CAAC;EAClC,MAAME,OAAO,GAAG,CACd,qEAAqE,EACrE,+HAA+H,CAChI;EAED,OAAOD,KAAK,CAACE,MAAM,CACjBC,IAAI,IACFP,uBAAuB,CAACO,IAAI,EAAEF,OAAO,CAAC,CAACG,MAAM,KAAK,CAAC,IAAI,IAAAC,gBAAQ,EAACC,+BAAoB,EAAEH,IAAI,CAC9F,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"getParticiples.js","names":["includes","languageProcessing","getWords","matchRegularParticiples","irregularParticiples","getParticiples","clauseText","words","regexes","filter","word","length"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/getParticiples.js"],"sourcesContent":["import {includes} from 'lodash';\nimport {languageProcessing} from '@axyseo/index.js';\nconst {getWords, matchRegularParticiples} = languageProcessing;\n\nimport irregularParticiples from '../../config/internal/passiveVoiceIrregulars';\n\n/**\n * Creates an array of participle for the participles found in a clause.\n *\n * @param {string} clauseText The clause text to find participles in.\n *\n * @returns {Array} The list with participle.\n */\nexport default function getParticiples(clauseText) {\n const words = getWords(clauseText);\n const regexes = [\n /^(ge|be|ont|ver|her|er)\\S+([dt])($|[ \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>])/gi,\n /^(aan|af|bij|binnen|los|mee|na|neer|om|onder|samen|terug|tegen|toe|uit|vast)(ge)\\S+([dtn])($|[ \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>])/gi\n ];\n\n return words.filter(\n word =>\n matchRegularParticiples(word, regexes).length !== 0 || includes(irregularParticiples, word)\n );\n}\n"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,QAAQ;AAC/B,SAAQC,kBAAkB;AAC1B,MAAM;EAACC,QAAQ;EAAEC;AAAuB,CAAC,GAAGF,kBAAkB;AAE9D,OAAOG,oBAAoB;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,cAAcA,CAACC,UAAU,EAAE;EACjD,MAAMC,KAAK,GAAGL,QAAQ,CAACI,UAAU,CAAC;EAClC,MAAME,OAAO,GAAG,CACd,qEAAqE,EACrE,+HAA+H,CAChI;EAED,OAAOD,KAAK,CAACE,MAAM,CACjBC,IAAI,IACFP,uBAAuB,CAACO,IAAI,EAAEF,OAAO,CAAC,CAACG,MAAM,KAAK,CAAC,IAAIX,QAAQ,CAACI,oBAAoB,EAAEM,IAAI,CAC9F,CAAC;AACH","ignoreList":[]}
@@ -1,11 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.generateCorrectStemWithTAndDEnding = generateCorrectStemWithTAndDEnding;
7
- var _index = require("../../../../../index.js");
8
- var _stemModificationHelpers = require("./stemModificationHelpers");
1
+ import { languageProcessing } from "../../../../../index.js";
9
2
  const {
10
3
  regexHelpers: {
11
4
  searchAndReplaceWithRegex,
@@ -15,7 +8,9 @@ const {
15
8
  checkIfWordEndingIsOnExceptionList,
16
9
  checkIfWordIsOnListThatCanHavePrefix
17
10
  }
18
- } = _index.languageProcessing;
11
+ } = languageProcessing;
12
+ import { isVowelDoublingAllowed } from "./stemModificationHelpers";
13
+
19
14
  /**
20
15
  * Checks whether the word ends in suffixes -e or -en which are preceded by -t or -d, and the -t/-d is part of the stem.
21
16
  * If it does, stem the -e/-en. Also checks if after suffix deletion the stemmed word needs modification, and applies it if
@@ -30,7 +25,7 @@ const {
30
25
  const stemWordsWithEOrEnSuffix = function (morphologyDataNL, regexAndReplacement, word) {
31
26
  if (doesWordMatchRegex(word, regexAndReplacement[0])) {
32
27
  const stemmedWord = word.replace(new RegExp(regexAndReplacement[0]), regexAndReplacement[1]);
33
- if ((0, _stemModificationHelpers.isVowelDoublingAllowed)(stemmedWord, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
28
+ if (isVowelDoublingAllowed(stemmedWord, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
34
29
  const replacement = searchAndReplaceWithRegex(stemmedWord, morphologyDataNL.regularStemmer.stemModifications.doubleVowel);
35
30
  return replacement ? replacement : stemmedWord;
36
31
  }
@@ -75,7 +70,7 @@ const checkWhetherTOrDIsPartOfStem = function (word, morphologyDataNL) {
75
70
  if (checkIfWordEndingIsOnExceptionList(word, tAndDPartOfStemData.wordsStemOnlyEnEnding.endingMatch) || checkIfWordIsOnListThatCanHavePrefix(word, tAndDPartOfStemData.wordsStemOnlyEnEnding.verbs, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes) || doesWordMatchRegex(word, tAndDPartOfStemData.denEnding)) {
76
71
  stemmedWord = word.slice(0, -2);
77
72
  // Check if the vowel needs to be doubled after deleting suffix -en.
78
- if ((0, _stemModificationHelpers.isVowelDoublingAllowed)(stemmedWord, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
73
+ if (isVowelDoublingAllowed(stemmedWord, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
79
74
  const replacement = searchAndReplaceWithRegex(stemmedWord, morphologyDataNL.regularStemmer.stemModifications.doubleVowel);
80
75
  return replacement ? replacement : stemmedWord;
81
76
  }
@@ -116,7 +111,7 @@ const checkWhetherTOrDIsPartOfStem = function (word, morphologyDataNL) {
116
111
  *
117
112
  * @returns {?string} The stemmed word or null.
118
113
  */
119
- function generateCorrectStemWithTAndDEnding(morphologyDataNL, word) {
114
+ export function generateCorrectStemWithTAndDEnding(morphologyDataNL, word) {
120
115
  /*
121
116
  * Step 1:
122
117
  * - Check whether the word is in the exception list of words in which -t ending needs to be stemmed. If it is, stem -t.
@@ -1 +1 @@
1
- {"version":3,"file":"getStemWordsWithTAndDEnding.js","names":["_index","require","_stemModificationHelpers","regexHelpers","searchAndReplaceWithRegex","doesWordMatchRegex","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","checkIfWordIsOnListThatCanHavePrefix","languageProcessing","stemWordsWithEOrEnSuffix","morphologyDataNL","regexAndReplacement","word","stemmedWord","replace","RegExp","isVowelDoublingAllowed","regularStemmer","stemModifications","exceptionsStemModifications","pastParticipleStemmer","compoundVerbsPrefixes","replacement","doubleVowel","checkWhetherTOrDIsPartOfStem","tAndDPartOfStemData","ambiguousTAndDEndings","tOrDArePartOfStem","firstTOrDPartOfStem","verbsDenShouldBeStemmed","includes","slice","wordsStemOnlyEnEnding","endingMatch","verbs","denEnding","dIsPartOfStemRegex","deEnding","tIsPartOfStemRegex","teAndTenEndings","generateCorrectStemWithTAndDEnding","wordsTShouldBeStemmed","tEnding"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {\n regexHelpers: {searchAndReplaceWithRegex, doesWordMatchRegex},\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList, checkIfWordIsOnListThatCanHavePrefix}\n} = languageProcessing;\n\nimport {isVowelDoublingAllowed} from './stemModificationHelpers';\n\n/**\n * Checks whether the word ends in suffixes -e or -en which are preceded by -t or -d, and the -t/-d is part of the stem.\n * If it does, stem the -e/-en. Also checks if after suffix deletion the stemmed word needs modification, and applies it if\n * needed. e.g. doden -> dod -> dood\n *\n * @param {Object} \t\tmorphologyDataNL\t\t\t \tThe Dutch morphology data file.\n * @param {string[]} \tregexAndReplacement\t\t\t\tThe regex to check and the string replacement that should be made.\n * @param {string} \t\tword\t\t\t\t\t\t\tThe word to be checked.\n *\n * @returns {?string}\t\t\t\t\t\t\tThe stem created or null.\n */\nconst stemWordsWithEOrEnSuffix = function(morphologyDataNL, regexAndReplacement, word) {\n if (doesWordMatchRegex(word, regexAndReplacement[0])) {\n const stemmedWord = word.replace(new RegExp(regexAndReplacement[0]), regexAndReplacement[1]);\n if (\n isVowelDoublingAllowed(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n )\n ) {\n const replacement = searchAndReplaceWithRegex(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.doubleVowel\n );\n return replacement ? replacement : stemmedWord;\n }\n return stemmedWord;\n }\n\n return null;\n};\n\n/**\n * Stems words for which we know that -t/-d is the ending of the stem (so the -t/-d is not stemmed). This is done through\n * checking lists of words and matching the word with regexes.\n *\n * @param {string}\tword\t\t\t\t\t\t\t\tThe word to check.\n * @param {Object} \tmorphologyDataNL \t\t\t\t\tThe Dutch morphology data.\n *\n * @returns {?string} \t\t\t\t\t\t\tThe stemmed word, if matched in one of the checks, or null if not matched.\n */\nconst checkWhetherTOrDIsPartOfStem = function(word, morphologyDataNL) {\n const tAndDPartOfStemData = morphologyDataNL.ambiguousTAndDEndings.tOrDArePartOfStem;\n /*\n * Step 1:\n * - If the stem ends in -tte, -tten, -dde or -dden leave the first -t/-d and stem the remaining ending.\n * - Example: \"katten\" (-ten should be stemmed, leaving \"kat\").\n */\n let stemmedWord = searchAndReplaceWithRegex(word, tAndDPartOfStemData.firstTOrDPartOfStem);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n /*\n * Step 2:\n * 2a)\n * - Checks whether the word is in the exception list of verbal forms ending in long vowel + -fden/sden. If so, stems -den off.\n * - Example: \"hoefden\" (-den should be stemmed, leaving \"hoef\").\n * 2b)\n * - Check whether the word has the suffix -en preceded by -d, where the -d is part of the stem. If it is, stem only -en.\n * - Example: \"eenden\" (-en should be stemmed, leaving \"eend\").\n */\n if (tAndDPartOfStemData.verbsDenShouldBeStemmed.includes(word)) {\n return word.slice(0, -3);\n }\n\n if (\n checkIfWordEndingIsOnExceptionList(\n word,\n tAndDPartOfStemData.wordsStemOnlyEnEnding.endingMatch\n ) ||\n checkIfWordIsOnListThatCanHavePrefix(\n word,\n tAndDPartOfStemData.wordsStemOnlyEnEnding.verbs,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n ) ||\n doesWordMatchRegex(word, tAndDPartOfStemData.denEnding)\n ) {\n stemmedWord = word.slice(0, -2);\n //\tCheck if the vowel needs to be doubled after deleting suffix -en.\n if (\n isVowelDoublingAllowed(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n )\n ) {\n const replacement = searchAndReplaceWithRegex(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.doubleVowel\n );\n return replacement ? replacement : stemmedWord;\n }\n return stemmedWord;\n }\n\n /*\n * Step 3:\n * - Checks whether the word matches the regex for words ending in -de with -d being part of the stem. If it is matched,\n * only stem the -e.\n * - Example: \"beenharde\" (-e should be stemmed, leaving \"beenhard\")\n */\n const dIsPartOfStemRegex = tAndDPartOfStemData.deEnding;\n stemmedWord = stemWordsWithEOrEnSuffix(morphologyDataNL, dIsPartOfStemRegex, word);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n /*\n * Step 4:\n * - Checks whether the word matches the regex for words ending in -te or -ten with -t being part of the stem. If it is\n * matched, only stem the -e/-en.\n * - Example: \"castraten\" (-en should be stemmed, leaving \"castraat\")\n */\n const tIsPartOfStemRegex = tAndDPartOfStemData.teAndTenEndings;\n stemmedWord = stemWordsWithEOrEnSuffix(morphologyDataNL, tIsPartOfStemRegex, word);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n return null;\n};\n\n/**\n * Creates the correct stem for words which end in ambiguous endings -t, -te, -ten, -de, or -den.\n *\n * @param {Object} \t\tmorphologyDataNL \t\t\t\t\tThe Dutch morphology data.\n * @param {string} \t\tword\t\t\t\t\t\t\t\tThe word to be checked.\n *\n * @returns {?string} \tThe stemmed word or null.\n */\nexport function generateCorrectStemWithTAndDEnding(morphologyDataNL, word) {\n /*\n * Step 1:\n * - Check whether the word is in the exception list of words in which -t ending needs to be stemmed. If it is, stem -t.\n * - Example: \"squasht\".\n * - This is an exception to one of the rule in step 2.\n */\n if (\n checkIfWordEndingIsOnExceptionList(\n word,\n morphologyDataNL.ambiguousTAndDEndings.wordsTShouldBeStemmed\n )\n ) {\n return word.slice(0, -1);\n }\n\n /*\n * Step 2:\n * - Check if word is matched by a regex for a t that shouldn't be stemmed.\n * - Example: \"boot\".\n */\n if (doesWordMatchRegex(word, morphologyDataNL.ambiguousTAndDEndings.tOrDArePartOfStem.tEnding)) {\n return word;\n }\n\n /*\n * Step 3:\n * - Check whether the word has another suffix that should be stemmed (e.g. -en) preceded by -t or -d which is part of the stem.\n * If yes, stem the suffix that should be stemmed and return the stem which ends in -t/-d.\n * - Example: \"tijden\" (only -en should be removed, not -den).\n */\n\n const stemmedWord = checkWhetherTOrDIsPartOfStem(word, morphologyDataNL);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getStemWordsWithTAndDEnding.js","names":["languageProcessing","regexHelpers","searchAndReplaceWithRegex","doesWordMatchRegex","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","checkIfWordIsOnListThatCanHavePrefix","isVowelDoublingAllowed","stemWordsWithEOrEnSuffix","morphologyDataNL","regexAndReplacement","word","stemmedWord","replace","RegExp","regularStemmer","stemModifications","exceptionsStemModifications","pastParticipleStemmer","compoundVerbsPrefixes","replacement","doubleVowel","checkWhetherTOrDIsPartOfStem","tAndDPartOfStemData","ambiguousTAndDEndings","tOrDArePartOfStem","firstTOrDPartOfStem","verbsDenShouldBeStemmed","includes","slice","wordsStemOnlyEnEnding","endingMatch","verbs","denEnding","dIsPartOfStemRegex","deEnding","tIsPartOfStemRegex","teAndTenEndings","generateCorrectStemWithTAndDEnding","wordsTShouldBeStemmed","tEnding"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {\n regexHelpers: {searchAndReplaceWithRegex, doesWordMatchRegex},\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList, checkIfWordIsOnListThatCanHavePrefix}\n} = languageProcessing;\n\nimport {isVowelDoublingAllowed} from './stemModificationHelpers';\n\n/**\n * Checks whether the word ends in suffixes -e or -en which are preceded by -t or -d, and the -t/-d is part of the stem.\n * If it does, stem the -e/-en. Also checks if after suffix deletion the stemmed word needs modification, and applies it if\n * needed. e.g. doden -> dod -> dood\n *\n * @param {Object} \t\tmorphologyDataNL\t\t\t \tThe Dutch morphology data file.\n * @param {string[]} \tregexAndReplacement\t\t\t\tThe regex to check and the string replacement that should be made.\n * @param {string} \t\tword\t\t\t\t\t\t\tThe word to be checked.\n *\n * @returns {?string}\t\t\t\t\t\t\tThe stem created or null.\n */\nconst stemWordsWithEOrEnSuffix = function(morphologyDataNL, regexAndReplacement, word) {\n if (doesWordMatchRegex(word, regexAndReplacement[0])) {\n const stemmedWord = word.replace(new RegExp(regexAndReplacement[0]), regexAndReplacement[1]);\n if (\n isVowelDoublingAllowed(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n )\n ) {\n const replacement = searchAndReplaceWithRegex(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.doubleVowel\n );\n return replacement ? replacement : stemmedWord;\n }\n return stemmedWord;\n }\n\n return null;\n};\n\n/**\n * Stems words for which we know that -t/-d is the ending of the stem (so the -t/-d is not stemmed). This is done through\n * checking lists of words and matching the word with regexes.\n *\n * @param {string}\tword\t\t\t\t\t\t\t\tThe word to check.\n * @param {Object} \tmorphologyDataNL \t\t\t\t\tThe Dutch morphology data.\n *\n * @returns {?string} \t\t\t\t\t\t\tThe stemmed word, if matched in one of the checks, or null if not matched.\n */\nconst checkWhetherTOrDIsPartOfStem = function(word, morphologyDataNL) {\n const tAndDPartOfStemData = morphologyDataNL.ambiguousTAndDEndings.tOrDArePartOfStem;\n /*\n * Step 1:\n * - If the stem ends in -tte, -tten, -dde or -dden leave the first -t/-d and stem the remaining ending.\n * - Example: \"katten\" (-ten should be stemmed, leaving \"kat\").\n */\n let stemmedWord = searchAndReplaceWithRegex(word, tAndDPartOfStemData.firstTOrDPartOfStem);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n /*\n * Step 2:\n * 2a)\n * - Checks whether the word is in the exception list of verbal forms ending in long vowel + -fden/sden. If so, stems -den off.\n * - Example: \"hoefden\" (-den should be stemmed, leaving \"hoef\").\n * 2b)\n * - Check whether the word has the suffix -en preceded by -d, where the -d is part of the stem. If it is, stem only -en.\n * - Example: \"eenden\" (-en should be stemmed, leaving \"eend\").\n */\n if (tAndDPartOfStemData.verbsDenShouldBeStemmed.includes(word)) {\n return word.slice(0, -3);\n }\n\n if (\n checkIfWordEndingIsOnExceptionList(\n word,\n tAndDPartOfStemData.wordsStemOnlyEnEnding.endingMatch\n ) ||\n checkIfWordIsOnListThatCanHavePrefix(\n word,\n tAndDPartOfStemData.wordsStemOnlyEnEnding.verbs,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n ) ||\n doesWordMatchRegex(word, tAndDPartOfStemData.denEnding)\n ) {\n stemmedWord = word.slice(0, -2);\n //\tCheck if the vowel needs to be doubled after deleting suffix -en.\n if (\n isVowelDoublingAllowed(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n )\n ) {\n const replacement = searchAndReplaceWithRegex(\n stemmedWord,\n morphologyDataNL.regularStemmer.stemModifications.doubleVowel\n );\n return replacement ? replacement : stemmedWord;\n }\n return stemmedWord;\n }\n\n /*\n * Step 3:\n * - Checks whether the word matches the regex for words ending in -de with -d being part of the stem. If it is matched,\n * only stem the -e.\n * - Example: \"beenharde\" (-e should be stemmed, leaving \"beenhard\")\n */\n const dIsPartOfStemRegex = tAndDPartOfStemData.deEnding;\n stemmedWord = stemWordsWithEOrEnSuffix(morphologyDataNL, dIsPartOfStemRegex, word);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n /*\n * Step 4:\n * - Checks whether the word matches the regex for words ending in -te or -ten with -t being part of the stem. If it is\n * matched, only stem the -e/-en.\n * - Example: \"castraten\" (-en should be stemmed, leaving \"castraat\")\n */\n const tIsPartOfStemRegex = tAndDPartOfStemData.teAndTenEndings;\n stemmedWord = stemWordsWithEOrEnSuffix(morphologyDataNL, tIsPartOfStemRegex, word);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n return null;\n};\n\n/**\n * Creates the correct stem for words which end in ambiguous endings -t, -te, -ten, -de, or -den.\n *\n * @param {Object} \t\tmorphologyDataNL \t\t\t\t\tThe Dutch morphology data.\n * @param {string} \t\tword\t\t\t\t\t\t\t\tThe word to be checked.\n *\n * @returns {?string} \tThe stemmed word or null.\n */\nexport function generateCorrectStemWithTAndDEnding(morphologyDataNL, word) {\n /*\n * Step 1:\n * - Check whether the word is in the exception list of words in which -t ending needs to be stemmed. If it is, stem -t.\n * - Example: \"squasht\".\n * - This is an exception to one of the rule in step 2.\n */\n if (\n checkIfWordEndingIsOnExceptionList(\n word,\n morphologyDataNL.ambiguousTAndDEndings.wordsTShouldBeStemmed\n )\n ) {\n return word.slice(0, -1);\n }\n\n /*\n * Step 2:\n * - Check if word is matched by a regex for a t that shouldn't be stemmed.\n * - Example: \"boot\".\n */\n if (doesWordMatchRegex(word, morphologyDataNL.ambiguousTAndDEndings.tOrDArePartOfStem.tEnding)) {\n return word;\n }\n\n /*\n * Step 3:\n * - Check whether the word has another suffix that should be stemmed (e.g. -en) preceded by -t or -d which is part of the stem.\n * If yes, stem the suffix that should be stemmed and return the stem which ends in -t/-d.\n * - Example: \"tijden\" (only -en should be removed, not -den).\n */\n\n const stemmedWord = checkWhetherTOrDIsPartOfStem(word, morphologyDataNL);\n\n if (stemmedWord) {\n return stemmedWord;\n }\n\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = stem;
7
- var _index = require("../../../../../index.js");
8
- var _detectAndStemSuffixes = _interopRequireDefault(require("./detectAndStemSuffixes"));
9
- var _getStemWordsWithTAndDEnding = require("./getStemWordsWithTAndDEnding.js");
10
- var _checkExceptionsWithFullForms = _interopRequireDefault(require("./checkExceptionsWithFullForms"));
11
- var _detectAndStemRegularParticiple = require("./detectAndStemRegularParticiple");
12
- var _stemModificationHelpers = require("./stemModificationHelpers");
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import { languageProcessing } from "../../../../../index.js";
14
2
  const {
15
3
  exceptionListHelpers: {
16
4
  checkIfWordEndingIsOnExceptionList,
@@ -20,7 +8,13 @@ const {
20
8
  removeSuffixFromFullForm,
21
9
  removeSuffixesFromFullForm
22
10
  }
23
- } = _index.languageProcessing;
11
+ } = languageProcessing;
12
+ import detectAndStemSuffixes from "./detectAndStemSuffixes";
13
+ import { generateCorrectStemWithTAndDEnding } from "./getStemWordsWithTAndDEnding.js";
14
+ import checkExceptionsWithFullForms from "./checkExceptionsWithFullForms";
15
+ import { detectAndStemRegularParticiple } from "./detectAndStemRegularParticiple";
16
+ import { modifyStem, isVowelDoublingAllowed } from "./stemModificationHelpers";
17
+
24
18
  /**
25
19
  * Get the stem from noun diminutives and plurals exceptions.
26
20
  *
@@ -68,11 +62,11 @@ const checkOtherStemmingExceptions = function (word, morphologyDataNL) {
68
62
  */
69
63
  let stemFromFullForm = removeSuffixFromFullForms(morphologyDataNL, word);
70
64
  if (stemFromFullForm) {
71
- if ((0, _stemModificationHelpers.isVowelDoublingAllowed)(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
72
- stemFromFullForm = (0, _stemModificationHelpers.modifyStem)(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.doubleVowel);
73
- return (0, _stemModificationHelpers.modifyStem)(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.finalChanges);
65
+ if (isVowelDoublingAllowed(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications, morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes)) {
66
+ stemFromFullForm = modifyStem(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.doubleVowel);
67
+ return modifyStem(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.finalChanges);
74
68
  }
75
- return (0, _stemModificationHelpers.modifyStem)(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.finalChanges);
69
+ return modifyStem(stemFromFullForm, morphologyDataNL.regularStemmer.stemModifications.finalChanges);
76
70
  }
77
71
  return null;
78
72
  };
@@ -85,15 +79,15 @@ const checkOtherStemmingExceptions = function (word, morphologyDataNL) {
85
79
  *
86
80
  * @returns {string} The stemmed word.
87
81
  */
88
- function stem(word, morphologyDataNL) {
82
+ export default function stem(word, morphologyDataNL) {
89
83
  // Check whether the word is in the list of words with full forms for which we define the stem. If it is, return the canonical stem.
90
- let stemmedWord = (0, _checkExceptionsWithFullForms.default)(morphologyDataNL, word);
84
+ let stemmedWord = checkExceptionsWithFullForms(morphologyDataNL, word);
91
85
  if (stemmedWord) {
92
86
  return stemmedWord;
93
87
  }
94
88
 
95
89
  // Check whether the word is a participle, and if yes, stem it and return the stem.
96
- stemmedWord = (0, _detectAndStemRegularParticiple.detectAndStemRegularParticiple)(morphologyDataNL, word);
90
+ stemmedWord = detectAndStemRegularParticiple(morphologyDataNL, word);
97
91
  if (stemmedWord) {
98
92
  return stemmedWord;
99
93
  }
@@ -112,7 +106,7 @@ function stem(word, morphologyDataNL) {
112
106
  const tAndDEndings = morphologyDataNL.ambiguousTAndDEndings.otherTAndDEndings;
113
107
  for (const ending of tAndDEndings) {
114
108
  if (word.endsWith(ending)) {
115
- stemmedWord = (0, _getStemWordsWithTAndDEnding.generateCorrectStemWithTAndDEnding)(morphologyDataNL, word);
109
+ stemmedWord = generateCorrectStemWithTAndDEnding(morphologyDataNL, word);
116
110
  if (stemmedWord) {
117
111
  return stemmedWord;
118
112
  }
@@ -126,6 +120,6 @@ function stem(word, morphologyDataNL) {
126
120
  }
127
121
 
128
122
  // If the word was not stemmed in any of the previous steps, run through the stemming algorithm which detects and stems suffixes.
129
- return (0, _detectAndStemSuffixes.default)(word, morphologyDataNL);
123
+ return detectAndStemSuffixes(word, morphologyDataNL);
130
124
  }
131
125
  //# sourceMappingURL=stem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stem.js","names":["_index","require","_detectAndStemSuffixes","_interopRequireDefault","_getStemWordsWithTAndDEnding","_checkExceptionsWithFullForms","_detectAndStemRegularParticiple","_stemModificationHelpers","e","__esModule","default","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","checkIfWordIsOnListThatCanHavePrefix","stemHelpers","removeSuffixFromFullForm","removeSuffixesFromFullForm","languageProcessing","removeSuffixFromFullForms","morphologyDataNL","word","exceptionClass","stemExceptions","removeSuffixesFromFullForms","stemmedWord","forms","suffixes","suffix","checkOtherStemmingExceptions","stemFromFullForm","isVowelDoublingAllowed","regularStemmer","stemModifications","exceptionsStemModifications","pastParticipleStemmer","compoundVerbsPrefixes","modifyStem","doubleVowel","finalChanges","stem","checkExceptionsWithFullForms","detectAndStemRegularParticiple","wordsNotToBeStemmed","wordsNotToBeStemmedExceptions","verbs","endingMatch","exactMatch","includes","tAndDEndings","ambiguousTAndDEndings","otherTAndDEndings","ending","endsWith","generateCorrectStemWithTAndDEnding","detectAndStemSuffixes"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/stem.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList, checkIfWordIsOnListThatCanHavePrefix},\n stemHelpers: {removeSuffixFromFullForm, removeSuffixesFromFullForm}\n} = languageProcessing;\n\nimport detectAndStemSuffixes from './detectAndStemSuffixes';\nimport {generateCorrectStemWithTAndDEnding} from './getStemWordsWithTAndDEnding.js';\nimport checkExceptionsWithFullForms from './checkExceptionsWithFullForms';\nimport {detectAndStemRegularParticiple} from './detectAndStemRegularParticiple';\nimport {modifyStem, isVowelDoublingAllowed} from './stemModificationHelpers';\n\n/**\n * Get the stem from noun diminutives and plurals exceptions.\n *\n * @param {Object} morphologyDataNL The data for stemming exception.\n * @param {string} word The word to check.\n *\n * @returns {string} The stemmed word.\n */\nconst removeSuffixFromFullForms = function(morphologyDataNL, word) {\n /*\n * Checks whether the word is in the exception list of words ending in -er and gets either -e or -s suffix\n * If it is, remove the corresponding suffix.\n * e.g. lekkere -> lekker, bitters -> bitter\n */\n for (const exceptionClass of morphologyDataNL.stemExceptions.removeSuffixesFromFullForms) {\n const stemmedWord = removeSuffixesFromFullForm(\n exceptionClass.forms,\n exceptionClass.suffixes,\n word\n );\n if (stemmedWord) {\n return stemmedWord;\n }\n }\n /*\n * Checks whether the word is in one of the exception lists of nouns\n * for which a specific suffix needs to be stemmed (e.g. -s, -es, -eren, -er etc.)\n * e.g. kuddes -> kud, modes -> mod, revenuen -> revenu\n */\n for (const exceptionClass of morphologyDataNL.stemExceptions.removeSuffixFromFullForms) {\n const stemmedWord = removeSuffixFromFullForm(exceptionClass.forms, exceptionClass.suffix, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n }\n};\n\n/**\n * Checks if the word is on a stemming exception list.\n *\n * @param {string} word The word to check.\n * @param {Object} morphologyDataNL The Dutch morphology data file.\n * @returns {string|null} The stem or null if the word was not matched by any of the exception checks.\n */\nconst checkOtherStemmingExceptions = function(word, morphologyDataNL) {\n /*\n * Checks whether the word is in the exception list of nouns or adjectives with specific suffixes that needs to be stemmed.\n * If it is return the stem here and run possible stem modification if it is required. e.g. modes -> mod -> mood\n */\n let stemFromFullForm = removeSuffixFromFullForms(morphologyDataNL, word);\n if (stemFromFullForm) {\n if (\n isVowelDoublingAllowed(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n )\n ) {\n stemFromFullForm = modifyStem(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.doubleVowel\n );\n return modifyStem(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.finalChanges\n );\n }\n return modifyStem(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.finalChanges\n );\n }\n return null;\n};\n\n/**\n * Stems Dutch words.\n *\n * @param {string} word The word to stem.\n * @param {Object} morphologyDataNL The Dutch morphology data file.\n *\n * @returns {string} The stemmed word.\n */\nexport default function stem(word, morphologyDataNL) {\n // Check whether the word is in the list of words with full forms for which we define the stem. If it is, return the canonical stem.\n let stemmedWord = checkExceptionsWithFullForms(morphologyDataNL, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n\n // Check whether the word is a participle, and if yes, stem it and return the stem.\n stemmedWord = detectAndStemRegularParticiple(morphologyDataNL, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n\n // Check whether the word is on the list of words that should not be stemmed, and if yes, return the word. Example: gans -> gans\n const wordsNotToBeStemmed = morphologyDataNL.stemExceptions.wordsNotToBeStemmedExceptions;\n if (\n checkIfWordIsOnListThatCanHavePrefix(\n word,\n wordsNotToBeStemmed.verbs,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n ) ||\n checkIfWordEndingIsOnExceptionList(word, wordsNotToBeStemmed.endingMatch) ||\n wordsNotToBeStemmed.exactMatch.includes(word)\n ) {\n return word;\n }\n\n /*\n * Check whether the word ends in -t/-te/-ten/-tend/-de/-den/-dend. If it does, run through a series of checks aimed at\n * predicting whether the -t/d is part of the stem or the suffix. If the word was matched in one of the checks, stem it\n * accordingly and return the stem. Example: boot -> boot, squasht -> squash\n */\n const tAndDEndings = morphologyDataNL.ambiguousTAndDEndings.otherTAndDEndings;\n for (const ending of tAndDEndings) {\n if (word.endsWith(ending)) {\n stemmedWord = generateCorrectStemWithTAndDEnding(morphologyDataNL, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n }\n }\n\n // Check if the word is on any other stemming exception list, and if yes, return the correct stem.\n stemmedWord = checkOtherStemmingExceptions(word, morphologyDataNL);\n if (stemmedWord) {\n return stemmedWord;\n }\n\n // If the word was not stemmed in any of the previous steps, run through the stemming algorithm which detects and stems suffixes.\n return detectAndStemSuffixes(word, morphologyDataNL);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"stem.js","names":["languageProcessing","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","checkIfWordIsOnListThatCanHavePrefix","stemHelpers","removeSuffixFromFullForm","removeSuffixesFromFullForm","detectAndStemSuffixes","generateCorrectStemWithTAndDEnding","checkExceptionsWithFullForms","detectAndStemRegularParticiple","modifyStem","isVowelDoublingAllowed","removeSuffixFromFullForms","morphologyDataNL","word","exceptionClass","stemExceptions","removeSuffixesFromFullForms","stemmedWord","forms","suffixes","suffix","checkOtherStemmingExceptions","stemFromFullForm","regularStemmer","stemModifications","exceptionsStemModifications","pastParticipleStemmer","compoundVerbsPrefixes","doubleVowel","finalChanges","stem","wordsNotToBeStemmed","wordsNotToBeStemmedExceptions","verbs","endingMatch","exactMatch","includes","tAndDEndings","ambiguousTAndDEndings","otherTAndDEndings","ending","endsWith"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/stem.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList, checkIfWordIsOnListThatCanHavePrefix},\n stemHelpers: {removeSuffixFromFullForm, removeSuffixesFromFullForm}\n} = languageProcessing;\n\nimport detectAndStemSuffixes from './detectAndStemSuffixes';\nimport {generateCorrectStemWithTAndDEnding} from './getStemWordsWithTAndDEnding.js';\nimport checkExceptionsWithFullForms from './checkExceptionsWithFullForms';\nimport {detectAndStemRegularParticiple} from './detectAndStemRegularParticiple';\nimport {modifyStem, isVowelDoublingAllowed} from './stemModificationHelpers';\n\n/**\n * Get the stem from noun diminutives and plurals exceptions.\n *\n * @param {Object} morphologyDataNL The data for stemming exception.\n * @param {string} word The word to check.\n *\n * @returns {string} The stemmed word.\n */\nconst removeSuffixFromFullForms = function(morphologyDataNL, word) {\n /*\n * Checks whether the word is in the exception list of words ending in -er and gets either -e or -s suffix\n * If it is, remove the corresponding suffix.\n * e.g. lekkere -> lekker, bitters -> bitter\n */\n for (const exceptionClass of morphologyDataNL.stemExceptions.removeSuffixesFromFullForms) {\n const stemmedWord = removeSuffixesFromFullForm(\n exceptionClass.forms,\n exceptionClass.suffixes,\n word\n );\n if (stemmedWord) {\n return stemmedWord;\n }\n }\n /*\n * Checks whether the word is in one of the exception lists of nouns\n * for which a specific suffix needs to be stemmed (e.g. -s, -es, -eren, -er etc.)\n * e.g. kuddes -> kud, modes -> mod, revenuen -> revenu\n */\n for (const exceptionClass of morphologyDataNL.stemExceptions.removeSuffixFromFullForms) {\n const stemmedWord = removeSuffixFromFullForm(exceptionClass.forms, exceptionClass.suffix, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n }\n};\n\n/**\n * Checks if the word is on a stemming exception list.\n *\n * @param {string} word The word to check.\n * @param {Object} morphologyDataNL The Dutch morphology data file.\n * @returns {string|null} The stem or null if the word was not matched by any of the exception checks.\n */\nconst checkOtherStemmingExceptions = function(word, morphologyDataNL) {\n /*\n * Checks whether the word is in the exception list of nouns or adjectives with specific suffixes that needs to be stemmed.\n * If it is return the stem here and run possible stem modification if it is required. e.g. modes -> mod -> mood\n */\n let stemFromFullForm = removeSuffixFromFullForms(morphologyDataNL, word);\n if (stemFromFullForm) {\n if (\n isVowelDoublingAllowed(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.exceptionsStemModifications,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n )\n ) {\n stemFromFullForm = modifyStem(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.doubleVowel\n );\n return modifyStem(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.finalChanges\n );\n }\n return modifyStem(\n stemFromFullForm,\n morphologyDataNL.regularStemmer.stemModifications.finalChanges\n );\n }\n return null;\n};\n\n/**\n * Stems Dutch words.\n *\n * @param {string} word The word to stem.\n * @param {Object} morphologyDataNL The Dutch morphology data file.\n *\n * @returns {string} The stemmed word.\n */\nexport default function stem(word, morphologyDataNL) {\n // Check whether the word is in the list of words with full forms for which we define the stem. If it is, return the canonical stem.\n let stemmedWord = checkExceptionsWithFullForms(morphologyDataNL, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n\n // Check whether the word is a participle, and if yes, stem it and return the stem.\n stemmedWord = detectAndStemRegularParticiple(morphologyDataNL, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n\n // Check whether the word is on the list of words that should not be stemmed, and if yes, return the word. Example: gans -> gans\n const wordsNotToBeStemmed = morphologyDataNL.stemExceptions.wordsNotToBeStemmedExceptions;\n if (\n checkIfWordIsOnListThatCanHavePrefix(\n word,\n wordsNotToBeStemmed.verbs,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n ) ||\n checkIfWordEndingIsOnExceptionList(word, wordsNotToBeStemmed.endingMatch) ||\n wordsNotToBeStemmed.exactMatch.includes(word)\n ) {\n return word;\n }\n\n /*\n * Check whether the word ends in -t/-te/-ten/-tend/-de/-den/-dend. If it does, run through a series of checks aimed at\n * predicting whether the -t/d is part of the stem or the suffix. If the word was matched in one of the checks, stem it\n * accordingly and return the stem. Example: boot -> boot, squasht -> squash\n */\n const tAndDEndings = morphologyDataNL.ambiguousTAndDEndings.otherTAndDEndings;\n for (const ending of tAndDEndings) {\n if (word.endsWith(ending)) {\n stemmedWord = generateCorrectStemWithTAndDEnding(morphologyDataNL, word);\n if (stemmedWord) {\n return stemmedWord;\n }\n }\n }\n\n // Check if the word is on any other stemming exception list, and if yes, return the correct stem.\n stemmedWord = checkOtherStemmingExceptions(word, morphologyDataNL);\n if (stemmedWord) {\n return stemmedWord;\n }\n\n // If the word was not stemmed in any of the previous steps, run through the stemming algorithm which detects and stems suffixes.\n return detectAndStemSuffixes(word, morphologyDataNL);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,10 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isVowelDoublingAllowed = isVowelDoublingAllowed;
7
- exports.modifyStem = modifyStem;
8
- var _index = require("../../../../../index.js");
1
+ import { languageProcessing } from "../../../../../index.js";
9
2
  const {
10
3
  exceptionListHelpers: {
11
4
  checkIfWordEndingIsOnExceptionList,
12
5
  checkIfWordIsOnListThatCanHavePrefix
13
6
  }
14
- } = _index.languageProcessing;
7
+ } = languageProcessing;
15
8
 
16
9
  /**
17
10
  * Checks whether the word is on any of the sub-lists of the noVowelDoublingList (ending match, exact match,
@@ -65,7 +58,7 @@ const doesPrecedingSyllableContainDiphthong = function (word, noVowelDoublingReg
65
58
  * @param {string[]} modificationGroup The type of modification that needs to be done.
66
59
  * @returns {string} The modified stem, or the same stem if no modification was made.
67
60
  */
68
- function modifyStem(word, modificationGroup) {
61
+ export function modifyStem(word, modificationGroup) {
69
62
  const neededReplacement = modificationGroup.find(replacement => word.search(new RegExp(replacement[0])) !== -1);
70
63
  if (typeof neededReplacement !== 'undefined') {
71
64
  word = word.replace(new RegExp(neededReplacement[0]), neededReplacement[1]);
@@ -82,7 +75,7 @@ function modifyStem(word, modificationGroup) {
82
75
  *
83
76
  * @returns {boolean} Whether the vowel should be doubled or not.
84
77
  */
85
- function isVowelDoublingAllowed(word, morphologyDataNLStemmingExceptions, morphologyDataNLVerbPrefixes) {
78
+ export function isVowelDoublingAllowed(word, morphologyDataNLStemmingExceptions, morphologyDataNLVerbPrefixes) {
86
79
  // Check whether the word is on the list of verbs which should have the vowel doubled (exception to third check)
87
80
  const firstCheck = checkIfWordIsOnListThatCanHavePrefix(word, morphologyDataNLStemmingExceptions.getVowelDoubling, morphologyDataNLVerbPrefixes);
88
81
  // Check whether the word is on the list of words which should NOT have the vowel doubled
@@ -1 +1 @@
1
- {"version":3,"file":"stemModificationHelpers.js","names":["_index","require","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","checkIfWordIsOnListThatCanHavePrefix","languageProcessing","checkIfWordIsOnNoVowelDoublingList","word","noVowelDoublingList","compoundVerbPrefixes","endingMatch","verbs","exactMatch","includes","isVowelPrecededByDoubleConsonant","fourthToLastLetter","charAt","length","thirdToLastLetter","doesPrecedingSyllableContainDiphthong","noVowelDoublingRegex","search","RegExp","modifyStem","modificationGroup","neededReplacement","find","replacement","replace","isVowelDoublingAllowed","morphologyDataNLStemmingExceptions","morphologyDataNLVerbPrefixes","firstCheck","getVowelDoubling","secondCheck","noVowelDoubling","thirdCheck","fourthCheck","rule"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList, checkIfWordIsOnListThatCanHavePrefix}\n} = languageProcessing;\n\n/**\n * Checks whether the word is on any of the sub-lists of the noVowelDoublingList (ending match, exact match,\n * and verbs) and returns true if it is.\n *\n * @param {string}\tword\t\t\t\t\t\t\tThe word to check.\n * @param {Object}\tnoVowelDoublingList\tThe list of stems that should not have the vowel doubled.\n * @param {Object}\tcompoundVerbPrefixes\t\t\tThe list of inseparable and separable verb prefixes.\n *\n * @returns {boolean} Whether the word was found on one of the lists\n */\nconst checkIfWordIsOnNoVowelDoublingList = function(\n word,\n noVowelDoublingList,\n compoundVerbPrefixes\n) {\n if (\n checkIfWordEndingIsOnExceptionList(word, noVowelDoublingList.endingMatch) ||\n checkIfWordIsOnListThatCanHavePrefix(word, noVowelDoublingList.verbs, compoundVerbPrefixes) ||\n noVowelDoublingList.exactMatch.includes(word)\n ) {\n return true;\n }\n};\n\n/**\n * Checks whether the third to last and fourth to last characters of the stem are the same. This, in principle, checks\n * whether the last vowel of the stem is preceded by a double consonant (as only consonants can precede the vowel).\n * If the third and fourth to last characters are the same, it means that vowel doubling is allowed. For example, in the\n * word 'luttel', the third and fourth to last characters are both t's so it should not become 'lutteel'.\n *\n * @param {string} word The stemmed word to check.\n *\n * @returns {boolean} Whether the vowel should be doubled or not.\n */\nconst isVowelPrecededByDoubleConsonant = function(word) {\n const fourthToLastLetter = word.charAt(word.length - 4);\n const thirdToLastLetter = word.charAt(word.length - 3);\n return fourthToLastLetter !== thirdToLastLetter;\n};\n\n/**\n * Checks whether the second to last syllable contains a diphthong. If it does, the vowel in the last syllable should\n * not be doubled.\n *\n * @param {string} word The stemmed word to check.\n * @param {string} noVowelDoublingRegex The regex to match a word with.\n *\n * @returns {boolean} Whether the vowel should be doubled or not.\n */\nconst doesPrecedingSyllableContainDiphthong = function(word, noVowelDoublingRegex) {\n return word.search(new RegExp(noVowelDoublingRegex)) === -1;\n};\n\n/**\n * Modifies the stem of the word according to the specified modification type.\n *\n * @param {string} word The stem that needs to be modified.\n * @param {string[]} modificationGroup The type of modification that needs to be done.\n * @returns {string} The modified stem, or the same stem if no modification was made.\n */\nexport function modifyStem(word, modificationGroup) {\n const neededReplacement = modificationGroup.find(\n replacement => word.search(new RegExp(replacement[0])) !== -1\n );\n if (typeof neededReplacement !== 'undefined') {\n word = word.replace(new RegExp(neededReplacement[0]), neededReplacement[1]);\n }\n return word;\n}\n\n/**\n * Checks whether the final vowel of the stem should be doubled by going through four checks.\n *\n * @param {string} word The stemmed word that the check should be executed on.\n * @param {Object} morphologyDataNLStemmingExceptions The Dutch morphology data for stemming exceptions.\n * @param {Object} morphologyDataNLVerbPrefixes\t The separable and inseparable verb prefixes.\n *\n * @returns {boolean} Whether the vowel should be doubled or not.\n */\nexport function isVowelDoublingAllowed(\n word,\n morphologyDataNLStemmingExceptions,\n morphologyDataNLVerbPrefixes\n) {\n // Check whether the word is on the list of verbs which should have the vowel doubled (exception to third check)\n const firstCheck = checkIfWordIsOnListThatCanHavePrefix(\n word,\n morphologyDataNLStemmingExceptions.getVowelDoubling,\n morphologyDataNLVerbPrefixes\n );\n // Check whether the word is on the list of words which should NOT have the vowel doubled\n const secondCheck = checkIfWordIsOnNoVowelDoublingList(\n word,\n morphologyDataNLStemmingExceptions.noVowelDoubling,\n morphologyDataNLVerbPrefixes\n );\n const thirdCheck = isVowelPrecededByDoubleConsonant(word);\n const fourthCheck = doesPrecedingSyllableContainDiphthong(\n word,\n morphologyDataNLStemmingExceptions.noVowelDoubling.rule\n );\n\n return firstCheck || (!secondCheck && thirdCheck && fourthCheck);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,MAAM;EACJC,oBAAoB,EAAE;IAACC,kCAAkC;IAAEC;EAAoC;AACjG,CAAC,GAAGC,yBAAkB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kCAAkC,GAAG,SAAAA,CACzCC,IAAI,EACJC,mBAAmB,EACnBC,oBAAoB,EACpB;EACA,IACEN,kCAAkC,CAACI,IAAI,EAAEC,mBAAmB,CAACE,WAAW,CAAC,IACzEN,oCAAoC,CAACG,IAAI,EAAEC,mBAAmB,CAACG,KAAK,EAAEF,oBAAoB,CAAC,IAC3FD,mBAAmB,CAACI,UAAU,CAACC,QAAQ,CAACN,IAAI,CAAC,EAC7C;IACA,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,gCAAgC,GAAG,SAAAA,CAASP,IAAI,EAAE;EACtD,MAAMQ,kBAAkB,GAAGR,IAAI,CAACS,MAAM,CAACT,IAAI,CAACU,MAAM,GAAG,CAAC,CAAC;EACvD,MAAMC,iBAAiB,GAAGX,IAAI,CAACS,MAAM,CAACT,IAAI,CAACU,MAAM,GAAG,CAAC,CAAC;EACtD,OAAOF,kBAAkB,KAAKG,iBAAiB;AACjD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qCAAqC,GAAG,SAAAA,CAASZ,IAAI,EAAEa,oBAAoB,EAAE;EACjF,OAAOb,IAAI,CAACc,MAAM,CAAC,IAAIC,MAAM,CAACF,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,UAAUA,CAAChB,IAAI,EAAEiB,iBAAiB,EAAE;EAClD,MAAMC,iBAAiB,GAAGD,iBAAiB,CAACE,IAAI,CAC9CC,WAAW,IAAIpB,IAAI,CAACc,MAAM,CAAC,IAAIC,MAAM,CAACK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAC9D,CAAC;EACD,IAAI,OAAOF,iBAAiB,KAAK,WAAW,EAAE;IAC5ClB,IAAI,GAAGA,IAAI,CAACqB,OAAO,CAAC,IAAIN,MAAM,CAACG,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAEA,iBAAiB,CAAC,CAAC,CAAC,CAAC;EAC7E;EACA,OAAOlB,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASsB,sBAAsBA,CACpCtB,IAAI,EACJuB,kCAAkC,EAClCC,4BAA4B,EAC5B;EACA;EACA,MAAMC,UAAU,GAAG5B,oCAAoC,CACrDG,IAAI,EACJuB,kCAAkC,CAACG,gBAAgB,EACnDF,4BACF,CAAC;EACD;EACA,MAAMG,WAAW,GAAG5B,kCAAkC,CACpDC,IAAI,EACJuB,kCAAkC,CAACK,eAAe,EAClDJ,4BACF,CAAC;EACD,MAAMK,UAAU,GAAGtB,gCAAgC,CAACP,IAAI,CAAC;EACzD,MAAM8B,WAAW,GAAGlB,qCAAqC,CACvDZ,IAAI,EACJuB,kCAAkC,CAACK,eAAe,CAACG,IACrD,CAAC;EAED,OAAON,UAAU,IAAK,CAACE,WAAW,IAAIE,UAAU,IAAIC,WAAY;AAClE","ignoreList":[]}
1
+ {"version":3,"file":"stemModificationHelpers.js","names":["languageProcessing","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","checkIfWordIsOnListThatCanHavePrefix","checkIfWordIsOnNoVowelDoublingList","word","noVowelDoublingList","compoundVerbPrefixes","endingMatch","verbs","exactMatch","includes","isVowelPrecededByDoubleConsonant","fourthToLastLetter","charAt","length","thirdToLastLetter","doesPrecedingSyllableContainDiphthong","noVowelDoublingRegex","search","RegExp","modifyStem","modificationGroup","neededReplacement","find","replacement","replace","isVowelDoublingAllowed","morphologyDataNLStemmingExceptions","morphologyDataNLVerbPrefixes","firstCheck","getVowelDoubling","secondCheck","noVowelDoubling","thirdCheck","fourthCheck","rule"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList, checkIfWordIsOnListThatCanHavePrefix}\n} = languageProcessing;\n\n/**\n * Checks whether the word is on any of the sub-lists of the noVowelDoublingList (ending match, exact match,\n * and verbs) and returns true if it is.\n *\n * @param {string}\tword\t\t\t\t\t\t\tThe word to check.\n * @param {Object}\tnoVowelDoublingList\tThe list of stems that should not have the vowel doubled.\n * @param {Object}\tcompoundVerbPrefixes\t\t\tThe list of inseparable and separable verb prefixes.\n *\n * @returns {boolean} Whether the word was found on one of the lists\n */\nconst checkIfWordIsOnNoVowelDoublingList = function(\n word,\n noVowelDoublingList,\n compoundVerbPrefixes\n) {\n if (\n checkIfWordEndingIsOnExceptionList(word, noVowelDoublingList.endingMatch) ||\n checkIfWordIsOnListThatCanHavePrefix(word, noVowelDoublingList.verbs, compoundVerbPrefixes) ||\n noVowelDoublingList.exactMatch.includes(word)\n ) {\n return true;\n }\n};\n\n/**\n * Checks whether the third to last and fourth to last characters of the stem are the same. This, in principle, checks\n * whether the last vowel of the stem is preceded by a double consonant (as only consonants can precede the vowel).\n * If the third and fourth to last characters are the same, it means that vowel doubling is allowed. For example, in the\n * word 'luttel', the third and fourth to last characters are both t's so it should not become 'lutteel'.\n *\n * @param {string} word The stemmed word to check.\n *\n * @returns {boolean} Whether the vowel should be doubled or not.\n */\nconst isVowelPrecededByDoubleConsonant = function(word) {\n const fourthToLastLetter = word.charAt(word.length - 4);\n const thirdToLastLetter = word.charAt(word.length - 3);\n return fourthToLastLetter !== thirdToLastLetter;\n};\n\n/**\n * Checks whether the second to last syllable contains a diphthong. If it does, the vowel in the last syllable should\n * not be doubled.\n *\n * @param {string} word The stemmed word to check.\n * @param {string} noVowelDoublingRegex The regex to match a word with.\n *\n * @returns {boolean} Whether the vowel should be doubled or not.\n */\nconst doesPrecedingSyllableContainDiphthong = function(word, noVowelDoublingRegex) {\n return word.search(new RegExp(noVowelDoublingRegex)) === -1;\n};\n\n/**\n * Modifies the stem of the word according to the specified modification type.\n *\n * @param {string} word The stem that needs to be modified.\n * @param {string[]} modificationGroup The type of modification that needs to be done.\n * @returns {string} The modified stem, or the same stem if no modification was made.\n */\nexport function modifyStem(word, modificationGroup) {\n const neededReplacement = modificationGroup.find(\n replacement => word.search(new RegExp(replacement[0])) !== -1\n );\n if (typeof neededReplacement !== 'undefined') {\n word = word.replace(new RegExp(neededReplacement[0]), neededReplacement[1]);\n }\n return word;\n}\n\n/**\n * Checks whether the final vowel of the stem should be doubled by going through four checks.\n *\n * @param {string} word The stemmed word that the check should be executed on.\n * @param {Object} morphologyDataNLStemmingExceptions The Dutch morphology data for stemming exceptions.\n * @param {Object} morphologyDataNLVerbPrefixes\t The separable and inseparable verb prefixes.\n *\n * @returns {boolean} Whether the vowel should be doubled or not.\n */\nexport function isVowelDoublingAllowed(\n word,\n morphologyDataNLStemmingExceptions,\n morphologyDataNLVerbPrefixes\n) {\n // Check whether the word is on the list of verbs which should have the vowel doubled (exception to third check)\n const firstCheck = checkIfWordIsOnListThatCanHavePrefix(\n word,\n morphologyDataNLStemmingExceptions.getVowelDoubling,\n morphologyDataNLVerbPrefixes\n );\n // Check whether the word is on the list of words which should NOT have the vowel doubled\n const secondCheck = checkIfWordIsOnNoVowelDoublingList(\n word,\n morphologyDataNLStemmingExceptions.noVowelDoubling,\n morphologyDataNLVerbPrefixes\n );\n const thirdCheck = isVowelPrecededByDoubleConsonant(word);\n const fourthCheck = doesPrecedingSyllableContainDiphthong(\n word,\n morphologyDataNLStemmingExceptions.noVowelDoubling.rule\n );\n\n return firstCheck || (!secondCheck && thirdCheck && fourthCheck);\n}\n"],"mappings":"AAAA,SAAQA,kBAAkB;AAC1B,MAAM;EACJC,oBAAoB,EAAE;IAACC,kCAAkC;IAAEC;EAAoC;AACjG,CAAC,GAAGH,kBAAkB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,kCAAkC,GAAG,SAAAA,CACzCC,IAAI,EACJC,mBAAmB,EACnBC,oBAAoB,EACpB;EACA,IACEL,kCAAkC,CAACG,IAAI,EAAEC,mBAAmB,CAACE,WAAW,CAAC,IACzEL,oCAAoC,CAACE,IAAI,EAAEC,mBAAmB,CAACG,KAAK,EAAEF,oBAAoB,CAAC,IAC3FD,mBAAmB,CAACI,UAAU,CAACC,QAAQ,CAACN,IAAI,CAAC,EAC7C;IACA,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,gCAAgC,GAAG,SAAAA,CAASP,IAAI,EAAE;EACtD,MAAMQ,kBAAkB,GAAGR,IAAI,CAACS,MAAM,CAACT,IAAI,CAACU,MAAM,GAAG,CAAC,CAAC;EACvD,MAAMC,iBAAiB,GAAGX,IAAI,CAACS,MAAM,CAACT,IAAI,CAACU,MAAM,GAAG,CAAC,CAAC;EACtD,OAAOF,kBAAkB,KAAKG,iBAAiB;AACjD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qCAAqC,GAAG,SAAAA,CAASZ,IAAI,EAAEa,oBAAoB,EAAE;EACjF,OAAOb,IAAI,CAACc,MAAM,CAAC,IAAIC,MAAM,CAACF,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,UAAUA,CAAChB,IAAI,EAAEiB,iBAAiB,EAAE;EAClD,MAAMC,iBAAiB,GAAGD,iBAAiB,CAACE,IAAI,CAC9CC,WAAW,IAAIpB,IAAI,CAACc,MAAM,CAAC,IAAIC,MAAM,CAACK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAC9D,CAAC;EACD,IAAI,OAAOF,iBAAiB,KAAK,WAAW,EAAE;IAC5ClB,IAAI,GAAGA,IAAI,CAACqB,OAAO,CAAC,IAAIN,MAAM,CAACG,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAEA,iBAAiB,CAAC,CAAC,CAAC,CAAC;EAC7E;EACA,OAAOlB,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsB,sBAAsBA,CACpCtB,IAAI,EACJuB,kCAAkC,EAClCC,4BAA4B,EAC5B;EACA;EACA,MAAMC,UAAU,GAAG3B,oCAAoC,CACrDE,IAAI,EACJuB,kCAAkC,CAACG,gBAAgB,EACnDF,4BACF,CAAC;EACD;EACA,MAAMG,WAAW,GAAG5B,kCAAkC,CACpDC,IAAI,EACJuB,kCAAkC,CAACK,eAAe,EAClDJ,4BACF,CAAC;EACD,MAAMK,UAAU,GAAGtB,gCAAgC,CAACP,IAAI,CAAC;EACzD,MAAM8B,WAAW,GAAGlB,qCAAqC,CACvDZ,IAAI,EACJuB,kCAAkC,CAACK,eAAe,CAACG,IACrD,CAAC;EAED,OAAON,UAAU,IAAK,CAACE,WAAW,IAAIE,UAAU,IAAIC,WAAY;AAClE","ignoreList":[]}