axyseo 2.0.0-alpha.1

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 (1256) hide show
  1. package/README.md +228 -0
  2. package/build/bundledPlugins/index.js +14 -0
  3. package/build/bundledPlugins/index.js.map +1 -0
  4. package/build/bundledPlugins/previouslyUsedKeywords.js +171 -0
  5. package/build/bundledPlugins/previouslyUsedKeywords.js.map +1 -0
  6. package/build/config/diacritics.js +140 -0
  7. package/build/config/diacritics.js.map +1 -0
  8. package/build/config/getTransliterations.js +3572 -0
  9. package/build/config/getTransliterations.js.map +1 -0
  10. package/build/config/transliterationsWPstyle.js +1424 -0
  11. package/build/config/transliterationsWPstyle.js.map +1 -0
  12. package/build/config/wordBoundaries.js +26 -0
  13. package/build/config/wordBoundaries.js.map +1 -0
  14. package/build/config/wordBoundariesWithoutPunctuation.js +16 -0
  15. package/build/config/wordBoundariesWithoutPunctuation.js.map +1 -0
  16. package/build/const/analysis.js +20 -0
  17. package/build/const/analysis.js.map +1 -0
  18. package/build/errors/invalidType.js +22 -0
  19. package/build/errors/invalidType.js.map +1 -0
  20. package/build/errors/missingArgument.js +22 -0
  21. package/build/errors/missingArgument.js.map +1 -0
  22. package/build/helpers/createMeasurementElement.js +46 -0
  23. package/build/helpers/createMeasurementElement.js.map +1 -0
  24. package/build/helpers/domManipulation.js +66 -0
  25. package/build/helpers/domManipulation.js.map +1 -0
  26. package/build/helpers/errors.js +26 -0
  27. package/build/helpers/errors.js.map +1 -0
  28. package/build/helpers/factory.js +207 -0
  29. package/build/helpers/factory.js.map +1 -0
  30. package/build/helpers/formatNumber.js +18 -0
  31. package/build/helpers/formatNumber.js.map +1 -0
  32. package/build/helpers/formatString.js +38 -0
  33. package/build/helpers/formatString.js.map +1 -0
  34. package/build/helpers/getLanguagesWithWordComplexity.js +15 -0
  35. package/build/helpers/getLanguagesWithWordComplexity.js.map +1 -0
  36. package/build/helpers/getLanguagesWithWordFormSupport.js +16 -0
  37. package/build/helpers/getLanguagesWithWordFormSupport.js.map +1 -0
  38. package/build/helpers/getWordComplexityConfig.js +27 -0
  39. package/build/helpers/getWordComplexityConfig.js.map +1 -0
  40. package/build/helpers/getWordComplexityHelper.js +27 -0
  41. package/build/helpers/getWordComplexityHelper.js.map +1 -0
  42. package/build/helpers/htmlEntities.js +21 -0
  43. package/build/helpers/htmlEntities.js.map +1 -0
  44. package/build/helpers/includesAny.js +24 -0
  45. package/build/helpers/includesAny.js.map +1 -0
  46. package/build/helpers/index.js +179 -0
  47. package/build/helpers/index.js.map +1 -0
  48. package/build/helpers/shortlinker/Shortlinker.js +79 -0
  49. package/build/helpers/shortlinker/Shortlinker.js.map +1 -0
  50. package/build/helpers/shortlinker/index.js +17 -0
  51. package/build/helpers/shortlinker/index.js.map +1 -0
  52. package/build/helpers/shortlinker/singleton.js +76 -0
  53. package/build/helpers/shortlinker/singleton.js.map +1 -0
  54. package/build/helpers/types.js +37 -0
  55. package/build/helpers/types.js.map +1 -0
  56. package/build/index.js +103 -0
  57. package/build/index.js.map +1 -0
  58. package/build/languageProcessing/AbstractResearcher.js +348 -0
  59. package/build/languageProcessing/AbstractResearcher.js.map +1 -0
  60. package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +123 -0
  61. package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js.map +1 -0
  62. package/build/languageProcessing/helpers/html/getFieldsToMark.js +37 -0
  63. package/build/languageProcessing/helpers/html/getFieldsToMark.js.map +1 -0
  64. package/build/languageProcessing/helpers/html/getSubheadingTexts.js +47 -0
  65. package/build/languageProcessing/helpers/html/getSubheadingTexts.js.map +1 -0
  66. package/build/languageProcessing/helpers/html/getSubheadings.js +92 -0
  67. package/build/languageProcessing/helpers/html/getSubheadings.js.map +1 -0
  68. package/build/languageProcessing/helpers/html/html.js +152 -0
  69. package/build/languageProcessing/helpers/html/html.js.map +1 -0
  70. package/build/languageProcessing/helpers/html/htmlParser.js +132 -0
  71. package/build/languageProcessing/helpers/html/htmlParser.js.map +1 -0
  72. package/build/languageProcessing/helpers/html/matchParagraphs.js +61 -0
  73. package/build/languageProcessing/helpers/html/matchParagraphs.js.map +1 -0
  74. package/build/languageProcessing/helpers/html/normalizeHTML.js +23 -0
  75. package/build/languageProcessing/helpers/html/normalizeHTML.js.map +1 -0
  76. package/build/languageProcessing/helpers/image/getAltAttribute.js +24 -0
  77. package/build/languageProcessing/helpers/image/getAltAttribute.js.map +1 -0
  78. package/build/languageProcessing/helpers/image/getImagesInTree.js +21 -0
  79. package/build/languageProcessing/helpers/image/getImagesInTree.js.map +1 -0
  80. package/build/languageProcessing/helpers/image/imageInText.js +26 -0
  81. package/build/languageProcessing/helpers/image/imageInText.js.map +1 -0
  82. package/build/languageProcessing/helpers/index.js +41 -0
  83. package/build/languageProcessing/helpers/index.js.map +1 -0
  84. package/build/languageProcessing/helpers/language/getLanguage.js +16 -0
  85. package/build/languageProcessing/helpers/language/getLanguage.js.map +1 -0
  86. package/build/languageProcessing/helpers/link/checkNofollow.js +42 -0
  87. package/build/languageProcessing/helpers/link/checkNofollow.js.map +1 -0
  88. package/build/languageProcessing/helpers/link/getAnchorsFromText.js +37 -0
  89. package/build/languageProcessing/helpers/link/getAnchorsFromText.js.map +1 -0
  90. package/build/languageProcessing/helpers/link/getLinkType.js +36 -0
  91. package/build/languageProcessing/helpers/link/getLinkType.js.map +1 -0
  92. package/build/languageProcessing/helpers/match/findKeywordFormsInString.js +101 -0
  93. package/build/languageProcessing/helpers/match/findKeywordFormsInString.js.map +1 -0
  94. package/build/languageProcessing/helpers/match/isDoubleQuoted.js +19 -0
  95. package/build/languageProcessing/helpers/match/isDoubleQuoted.js.map +1 -0
  96. package/build/languageProcessing/helpers/match/matchTextWithArray.js +41 -0
  97. package/build/languageProcessing/helpers/match/matchTextWithArray.js.map +1 -0
  98. package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js +58 -0
  99. package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js.map +1 -0
  100. package/build/languageProcessing/helpers/match/matchTextWithWord.js +47 -0
  101. package/build/languageProcessing/helpers/match/matchTextWithWord.js.map +1 -0
  102. package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js +162 -0
  103. package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js.map +1 -0
  104. package/build/languageProcessing/helpers/match/processExactMatchRequest.js +29 -0
  105. package/build/languageProcessing/helpers/match/processExactMatchRequest.js.map +1 -0
  106. package/build/languageProcessing/helpers/morphology/baseStemmer.js +18 -0
  107. package/build/languageProcessing/helpers/morphology/baseStemmer.js.map +1 -0
  108. package/build/languageProcessing/helpers/morphology/buildFormRule.js +26 -0
  109. package/build/languageProcessing/helpers/morphology/buildFormRule.js.map +1 -0
  110. package/build/languageProcessing/helpers/morphology/buildTopicStems.js +164 -0
  111. package/build/languageProcessing/helpers/morphology/buildTopicStems.js.map +1 -0
  112. package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js +48 -0
  113. package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js.map +1 -0
  114. package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js +71 -0
  115. package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js.map +1 -0
  116. package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +29 -0
  117. package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js.map +1 -0
  118. package/build/languageProcessing/helpers/morphology/flattenSortLength.js +19 -0
  119. package/build/languageProcessing/helpers/morphology/flattenSortLength.js.map +1 -0
  120. package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +35 -0
  121. package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js.map +1 -0
  122. package/build/languageProcessing/helpers/morphology/regexHelpers.js +53 -0
  123. package/build/languageProcessing/helpers/morphology/regexHelpers.js.map +1 -0
  124. package/build/languageProcessing/helpers/morphology/stemHelpers.js +46 -0
  125. package/build/languageProcessing/helpers/morphology/stemHelpers.js.map +1 -0
  126. package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +39 -0
  127. package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js.map +1 -0
  128. package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +42 -0
  129. package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js.map +1 -0
  130. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +116 -0
  131. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js.map +1 -0
  132. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +45 -0
  133. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js.map +1 -0
  134. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +220 -0
  135. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js.map +1 -0
  136. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +27 -0
  137. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js.map +1 -0
  138. package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +28 -0
  139. package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js.map +1 -0
  140. package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +46 -0
  141. package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js.map +1 -0
  142. package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js +203 -0
  143. package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js.map +1 -0
  144. package/build/languageProcessing/helpers/regex/createRegexFromArray.js +38 -0
  145. package/build/languageProcessing/helpers/regex/createRegexFromArray.js.map +1 -0
  146. package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +39 -0
  147. package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js.map +1 -0
  148. package/build/languageProcessing/helpers/regex/createWordRegex.js +34 -0
  149. package/build/languageProcessing/helpers/regex/createWordRegex.js.map +1 -0
  150. package/build/languageProcessing/helpers/regex/matchStringWithRegex.js +24 -0
  151. package/build/languageProcessing/helpers/regex/matchStringWithRegex.js.map +1 -0
  152. package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +21 -0
  153. package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js.map +1 -0
  154. package/build/languageProcessing/helpers/sanitize/doubleQuotes.js +19 -0
  155. package/build/languageProcessing/helpers/sanitize/doubleQuotes.js.map +1 -0
  156. package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +131 -0
  157. package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js.map +1 -0
  158. package/build/languageProcessing/helpers/sanitize/mergeListItems.js +30 -0
  159. package/build/languageProcessing/helpers/sanitize/mergeListItems.js.map +1 -0
  160. package/build/languageProcessing/helpers/sanitize/parseSynonyms.js +24 -0
  161. package/build/languageProcessing/helpers/sanitize/parseSynonyms.js.map +1 -0
  162. package/build/languageProcessing/helpers/sanitize/quotes.js +47 -0
  163. package/build/languageProcessing/helpers/sanitize/quotes.js.map +1 -0
  164. package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js +19 -0
  165. package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js.map +1 -0
  166. package/build/languageProcessing/helpers/sanitize/removePunctuation.js +64 -0
  167. package/build/languageProcessing/helpers/sanitize/removePunctuation.js.map +1 -0
  168. package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +24 -0
  169. package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js.map +1 -0
  170. package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +20 -0
  171. package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js.map +1 -0
  172. package/build/languageProcessing/helpers/sanitize/removeURLs.js +19 -0
  173. package/build/languageProcessing/helpers/sanitize/removeURLs.js.map +1 -0
  174. package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +18 -0
  175. package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js.map +1 -0
  176. package/build/languageProcessing/helpers/sanitize/sanitizeString.js +23 -0
  177. package/build/languageProcessing/helpers/sanitize/sanitizeString.js.map +1 -0
  178. package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js +59 -0
  179. package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js.map +1 -0
  180. package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js +22 -0
  181. package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js.map +1 -0
  182. package/build/languageProcessing/helpers/sanitize/stripNumbers.js +26 -0
  183. package/build/languageProcessing/helpers/sanitize/stripNumbers.js.map +1 -0
  184. package/build/languageProcessing/helpers/sanitize/stripSpaces.js +29 -0
  185. package/build/languageProcessing/helpers/sanitize/stripSpaces.js.map +1 -0
  186. package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js +65 -0
  187. package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js.map +1 -0
  188. package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js +64 -0
  189. package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js.map +1 -0
  190. package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js +565 -0
  191. package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js.map +1 -0
  192. package/build/languageProcessing/helpers/sentence/countSentences.js +27 -0
  193. package/build/languageProcessing/helpers/sentence/countSentences.js.map +1 -0
  194. package/build/languageProcessing/helpers/sentence/getSentences.js +71 -0
  195. package/build/languageProcessing/helpers/sentence/getSentences.js.map +1 -0
  196. package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js +60 -0
  197. package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js.map +1 -0
  198. package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +37 -0
  199. package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js.map +1 -0
  200. package/build/languageProcessing/helpers/sentence/sentencesLength.js +37 -0
  201. package/build/languageProcessing/helpers/sentence/sentencesLength.js.map +1 -0
  202. package/build/languageProcessing/helpers/syllables/DeviationFragment.js +108 -0
  203. package/build/languageProcessing/helpers/syllables/DeviationFragment.js.map +1 -0
  204. package/build/languageProcessing/helpers/syllables/countSyllables.js +173 -0
  205. package/build/languageProcessing/helpers/syllables/countSyllables.js.map +1 -0
  206. package/build/languageProcessing/helpers/syllables/syllableCountIterator.js +63 -0
  207. package/build/languageProcessing/helpers/syllables/syllableCountIterator.js.map +1 -0
  208. package/build/languageProcessing/helpers/syllables/syllableCountStep.js +75 -0
  209. package/build/languageProcessing/helpers/syllables/syllableCountStep.js.map +1 -0
  210. package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js +24 -0
  211. package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js.map +1 -0
  212. package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js +25 -0
  213. package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js.map +1 -0
  214. package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js +194 -0
  215. package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js.map +1 -0
  216. package/build/languageProcessing/helpers/transliterate/transliterate.js +24 -0
  217. package/build/languageProcessing/helpers/transliterate/transliterate.js.map +1 -0
  218. package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js +25 -0
  219. package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js.map +1 -0
  220. package/build/languageProcessing/helpers/url/parseSlug.js +17 -0
  221. package/build/languageProcessing/helpers/url/parseSlug.js.map +1 -0
  222. package/build/languageProcessing/helpers/url/url.js +174 -0
  223. package/build/languageProcessing/helpers/url/url.js.map +1 -0
  224. package/build/languageProcessing/helpers/word/addWordboundary.js +41 -0
  225. package/build/languageProcessing/helpers/word/addWordboundary.js.map +1 -0
  226. package/build/languageProcessing/helpers/word/areWordsInSentence.js +23 -0
  227. package/build/languageProcessing/helpers/word/areWordsInSentence.js.map +1 -0
  228. package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js +24 -0
  229. package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js.map +1 -0
  230. package/build/languageProcessing/helpers/word/countWords.js +21 -0
  231. package/build/languageProcessing/helpers/word/countWords.js.map +1 -0
  232. package/build/languageProcessing/helpers/word/createPunctuationTokens.js +46 -0
  233. package/build/languageProcessing/helpers/word/createPunctuationTokens.js.map +1 -0
  234. package/build/languageProcessing/helpers/word/filterWordsFromArray.js +21 -0
  235. package/build/languageProcessing/helpers/word/filterWordsFromArray.js.map +1 -0
  236. package/build/languageProcessing/helpers/word/followsIndex.js +29 -0
  237. package/build/languageProcessing/helpers/word/followsIndex.js.map +1 -0
  238. package/build/languageProcessing/helpers/word/getAllWordsFromTree.js +30 -0
  239. package/build/languageProcessing/helpers/word/getAllWordsFromTree.js.map +1 -0
  240. package/build/languageProcessing/helpers/word/getWords.js +47 -0
  241. package/build/languageProcessing/helpers/word/getWords.js.map +1 -0
  242. package/build/languageProcessing/helpers/word/includesIndex.js +34 -0
  243. package/build/languageProcessing/helpers/word/includesIndex.js.map +1 -0
  244. package/build/languageProcessing/helpers/word/indices.js +141 -0
  245. package/build/languageProcessing/helpers/word/indices.js.map +1 -0
  246. package/build/languageProcessing/helpers/word/markWordsInSentences.js +189 -0
  247. package/build/languageProcessing/helpers/word/markWordsInSentences.js.map +1 -0
  248. package/build/languageProcessing/helpers/word/matchWordInSentence.js +63 -0
  249. package/build/languageProcessing/helpers/word/matchWordInSentence.js.map +1 -0
  250. package/build/languageProcessing/helpers/word/splitIntoTokens.js +52 -0
  251. package/build/languageProcessing/helpers/word/splitIntoTokens.js.map +1 -0
  252. package/build/languageProcessing/index.js +283 -0
  253. package/build/languageProcessing/index.js.map +1 -0
  254. package/build/languageProcessing/languages/_default/Researcher.js +43 -0
  255. package/build/languageProcessing/languages/_default/Researcher.js.map +1 -0
  256. package/build/languageProcessing/languages/_default/helpers/getStemmer.js +20 -0
  257. package/build/languageProcessing/languages/_default/helpers/getStemmer.js.map +1 -0
  258. package/build/languageProcessing/languages/ar/Researcher.js +54 -0
  259. package/build/languageProcessing/languages/ar/Researcher.js.map +1 -0
  260. package/build/languageProcessing/languages/ar/config/firstWordExceptions.js +18 -0
  261. package/build/languageProcessing/languages/ar/config/firstWordExceptions.js.map +1 -0
  262. package/build/languageProcessing/languages/ar/config/functionWords.js +80 -0
  263. package/build/languageProcessing/languages/ar/config/functionWords.js.map +1 -0
  264. package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +13 -0
  265. package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js.map +1 -0
  266. package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js +11 -0
  267. package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js.map +1 -0
  268. package/build/languageProcessing/languages/ar/config/transitionWords.js +13 -0
  269. package/build/languageProcessing/languages/ar/config/transitionWords.js.map +1 -0
  270. package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js +13 -0
  271. package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js.map +1 -0
  272. package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js +38 -0
  273. package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js.map +1 -0
  274. package/build/languageProcessing/languages/ar/helpers/getStemmer.js +28 -0
  275. package/build/languageProcessing/languages/ar/helpers/getStemmer.js.map +1 -0
  276. package/build/languageProcessing/languages/ar/helpers/internal/stem.js +635 -0
  277. package/build/languageProcessing/languages/ar/helpers/internal/stem.js.map +1 -0
  278. package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js +41 -0
  279. package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js.map +1 -0
  280. package/build/languageProcessing/languages/ca/Researcher.js +52 -0
  281. package/build/languageProcessing/languages/ca/Researcher.js.map +1 -0
  282. package/build/languageProcessing/languages/ca/config/sentenceLength.js +10 -0
  283. package/build/languageProcessing/languages/ca/config/sentenceLength.js.map +1 -0
  284. package/build/languageProcessing/languages/ca/config/transitionWords.js +13 -0
  285. package/build/languageProcessing/languages/ca/config/transitionWords.js.map +1 -0
  286. package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js +13 -0
  287. package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js.map +1 -0
  288. package/build/languageProcessing/languages/ca/helpers/getStemmer.js +20 -0
  289. package/build/languageProcessing/languages/ca/helpers/getStemmer.js.map +1 -0
  290. package/build/languageProcessing/languages/cs/Researcher.js +52 -0
  291. package/build/languageProcessing/languages/cs/Researcher.js.map +1 -0
  292. package/build/languageProcessing/languages/cs/config/firstWordExceptions.js +20 -0
  293. package/build/languageProcessing/languages/cs/config/firstWordExceptions.js.map +1 -0
  294. package/build/languageProcessing/languages/cs/config/functionWords.js +50 -0
  295. package/build/languageProcessing/languages/cs/config/functionWords.js.map +1 -0
  296. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +10 -0
  297. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  298. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +14 -0
  299. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js.map +1 -0
  300. package/build/languageProcessing/languages/cs/config/stopWords.js +12 -0
  301. package/build/languageProcessing/languages/cs/config/stopWords.js.map +1 -0
  302. package/build/languageProcessing/languages/cs/config/transitionWords.js +13 -0
  303. package/build/languageProcessing/languages/cs/config/transitionWords.js.map +1 -0
  304. package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js +13 -0
  305. package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js.map +1 -0
  306. package/build/languageProcessing/languages/cs/helpers/getClauses.js +35 -0
  307. package/build/languageProcessing/languages/cs/helpers/getClauses.js.map +1 -0
  308. package/build/languageProcessing/languages/cs/helpers/getStemmer.js +28 -0
  309. package/build/languageProcessing/languages/cs/helpers/getStemmer.js.map +1 -0
  310. package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js +24 -0
  311. package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js.map +1 -0
  312. package/build/languageProcessing/languages/cs/helpers/internal/stem.js +341 -0
  313. package/build/languageProcessing/languages/cs/helpers/internal/stem.js.map +1 -0
  314. package/build/languageProcessing/languages/cs/values/Clause.js +45 -0
  315. package/build/languageProcessing/languages/cs/values/Clause.js.map +1 -0
  316. package/build/languageProcessing/languages/de/Researcher.js +61 -0
  317. package/build/languageProcessing/languages/de/Researcher.js.map +1 -0
  318. package/build/languageProcessing/languages/de/config/firstWordExceptions.js +20 -0
  319. package/build/languageProcessing/languages/de/config/firstWordExceptions.js.map +1 -0
  320. package/build/languageProcessing/languages/de/config/functionWords.js +103 -0
  321. package/build/languageProcessing/languages/de/config/functionWords.js.map +1 -0
  322. package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +13 -0
  323. package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js.map +1 -0
  324. package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +29 -0
  325. package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  326. package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +15 -0
  327. package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js.map +1 -0
  328. package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +78 -0
  329. package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js.map +1 -0
  330. package/build/languageProcessing/languages/de/config/keyphraseLength.js +17 -0
  331. package/build/languageProcessing/languages/de/config/keyphraseLength.js.map +1 -0
  332. package/build/languageProcessing/languages/de/config/stopWords.js +12 -0
  333. package/build/languageProcessing/languages/de/config/stopWords.js.map +1 -0
  334. package/build/languageProcessing/languages/de/config/syllables.json +460 -0
  335. package/build/languageProcessing/languages/de/config/transitionWords.js +13 -0
  336. package/build/languageProcessing/languages/de/config/transitionWords.js.map +1 -0
  337. package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js +13 -0
  338. package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js.map +1 -0
  339. package/build/languageProcessing/languages/de/config/wordComplexity.js +11 -0
  340. package/build/languageProcessing/languages/de/config/wordComplexity.js.map +1 -0
  341. package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +23 -0
  342. package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js.map +1 -0
  343. package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +47 -0
  344. package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js.map +1 -0
  345. package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +20 -0
  346. package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js.map +1 -0
  347. package/build/languageProcessing/languages/de/helpers/getClauses.js +34 -0
  348. package/build/languageProcessing/languages/de/helpers/getClauses.js.map +1 -0
  349. package/build/languageProcessing/languages/de/helpers/getStemmer.js +28 -0
  350. package/build/languageProcessing/languages/de/helpers/getStemmer.js.map +1 -0
  351. package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +38 -0
  352. package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js.map +1 -0
  353. package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +118 -0
  354. package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js.map +1 -0
  355. package/build/languageProcessing/languages/de/helpers/internal/determineStem.js +113 -0
  356. package/build/languageProcessing/languages/de/helpers/internal/determineStem.js.map +1 -0
  357. package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js +39 -0
  358. package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js.map +1 -0
  359. package/build/languageProcessing/languages/de/helpers/internal/stem.js +222 -0
  360. package/build/languageProcessing/languages/de/helpers/internal/stem.js.map +1 -0
  361. package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +37 -0
  362. package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js.map +1 -0
  363. package/build/languageProcessing/languages/de/values/Clause.js +91 -0
  364. package/build/languageProcessing/languages/de/values/Clause.js.map +1 -0
  365. package/build/languageProcessing/languages/el/Researcher.js +55 -0
  366. package/build/languageProcessing/languages/el/Researcher.js.map +1 -0
  367. package/build/languageProcessing/languages/el/config/firstWordExceptions.js +33 -0
  368. package/build/languageProcessing/languages/el/config/firstWordExceptions.js.map +1 -0
  369. package/build/languageProcessing/languages/el/config/functionWords.js +47 -0
  370. package/build/languageProcessing/languages/el/config/functionWords.js.map +1 -0
  371. package/build/languageProcessing/languages/el/config/internal/auxiliaries.js +12 -0
  372. package/build/languageProcessing/languages/el/config/internal/auxiliaries.js.map +1 -0
  373. package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +8 -0
  374. package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js.map +1 -0
  375. package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +22 -0
  376. package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js.map +1 -0
  377. package/build/languageProcessing/languages/el/config/stopWords.js +13 -0
  378. package/build/languageProcessing/languages/el/config/stopWords.js.map +1 -0
  379. package/build/languageProcessing/languages/el/config/transitionWords.js +18 -0
  380. package/build/languageProcessing/languages/el/config/transitionWords.js.map +1 -0
  381. package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js +13 -0
  382. package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js.map +1 -0
  383. package/build/languageProcessing/languages/el/helpers/getClauses.js +34 -0
  384. package/build/languageProcessing/languages/el/helpers/getClauses.js.map +1 -0
  385. package/build/languageProcessing/languages/el/helpers/getStemmer.js +29 -0
  386. package/build/languageProcessing/languages/el/helpers/getStemmer.js.map +1 -0
  387. package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js +24 -0
  388. package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js.map +1 -0
  389. package/build/languageProcessing/languages/el/helpers/internal/stem.js +347 -0
  390. package/build/languageProcessing/languages/el/helpers/internal/stem.js.map +1 -0
  391. package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js +43 -0
  392. package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js.map +1 -0
  393. package/build/languageProcessing/languages/el/values/Clause.js +46 -0
  394. package/build/languageProcessing/languages/el/values/Clause.js.map +1 -0
  395. package/build/languageProcessing/languages/en/Researcher.js +55 -0
  396. package/build/languageProcessing/languages/en/Researcher.js.map +1 -0
  397. package/build/languageProcessing/languages/en/config/abbreviations.js +16 -0
  398. package/build/languageProcessing/languages/en/config/abbreviations.js.map +1 -0
  399. package/build/languageProcessing/languages/en/config/firstWordExceptions.js +20 -0
  400. package/build/languageProcessing/languages/en/config/firstWordExceptions.js.map +1 -0
  401. package/build/languageProcessing/languages/en/config/functionWords.js +110 -0
  402. package/build/languageProcessing/languages/en/config/functionWords.js.map +1 -0
  403. package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +15 -0
  404. package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  405. package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +15 -0
  406. package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js.map +1 -0
  407. package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +13 -0
  408. package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js.map +1 -0
  409. package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js +12 -0
  410. package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js.map +1 -0
  411. package/build/languageProcessing/languages/en/config/stopWords.js +12 -0
  412. package/build/languageProcessing/languages/en/config/stopWords.js.map +1 -0
  413. package/build/languageProcessing/languages/en/config/syllables.json +86 -0
  414. package/build/languageProcessing/languages/en/config/transitionWords.js +13 -0
  415. package/build/languageProcessing/languages/en/config/transitionWords.js.map +1 -0
  416. package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js +13 -0
  417. package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js.map +1 -0
  418. package/build/languageProcessing/languages/en/config/wordComplexity.js +12 -0
  419. package/build/languageProcessing/languages/en/config/wordComplexity.js.map +1 -0
  420. package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +23 -0
  421. package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js.map +1 -0
  422. package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +49 -0
  423. package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js.map +1 -0
  424. package/build/languageProcessing/languages/en/helpers/getClauses.js +58 -0
  425. package/build/languageProcessing/languages/en/helpers/getClauses.js.map +1 -0
  426. package/build/languageProcessing/languages/en/helpers/getStemmer.js +28 -0
  427. package/build/languageProcessing/languages/en/helpers/getStemmer.js.map +1 -0
  428. package/build/languageProcessing/languages/en/helpers/internal/determineStem.js +161 -0
  429. package/build/languageProcessing/languages/en/helpers/internal/determineStem.js.map +1 -0
  430. package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +149 -0
  431. package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js.map +1 -0
  432. package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js +33 -0
  433. package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js.map +1 -0
  434. package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js +228 -0
  435. package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js.map +1 -0
  436. package/build/languageProcessing/languages/en/values/Clause.js +68 -0
  437. package/build/languageProcessing/languages/en/values/Clause.js.map +1 -0
  438. package/build/languageProcessing/languages/es/Researcher.js +57 -0
  439. package/build/languageProcessing/languages/es/Researcher.js.map +1 -0
  440. package/build/languageProcessing/languages/es/config/firstWordExceptions.js +20 -0
  441. package/build/languageProcessing/languages/es/config/firstWordExceptions.js.map +1 -0
  442. package/build/languageProcessing/languages/es/config/functionWords.js +111 -0
  443. package/build/languageProcessing/languages/es/config/functionWords.js.map +1 -0
  444. package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +12 -0
  445. package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  446. package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +13 -0
  447. package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js.map +1 -0
  448. package/build/languageProcessing/languages/es/config/sentenceLength.js +10 -0
  449. package/build/languageProcessing/languages/es/config/sentenceLength.js.map +1 -0
  450. package/build/languageProcessing/languages/es/config/stopWords.js +12 -0
  451. package/build/languageProcessing/languages/es/config/stopWords.js.map +1 -0
  452. package/build/languageProcessing/languages/es/config/syllables.json +176 -0
  453. package/build/languageProcessing/languages/es/config/transitionWords.js +13 -0
  454. package/build/languageProcessing/languages/es/config/transitionWords.js.map +1 -0
  455. package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js +13 -0
  456. package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js.map +1 -0
  457. package/build/languageProcessing/languages/es/config/wordComplexity.js +11 -0
  458. package/build/languageProcessing/languages/es/config/wordComplexity.js.map +1 -0
  459. package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +23 -0
  460. package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js.map +1 -0
  461. package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +59 -0
  462. package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js.map +1 -0
  463. package/build/languageProcessing/languages/es/helpers/getClauses.js +38 -0
  464. package/build/languageProcessing/languages/es/helpers/getClauses.js.map +1 -0
  465. package/build/languageProcessing/languages/es/helpers/getStemmer.js +28 -0
  466. package/build/languageProcessing/languages/es/helpers/getStemmer.js.map +1 -0
  467. package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +40 -0
  468. package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js.map +1 -0
  469. package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js +43 -0
  470. package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js.map +1 -0
  471. package/build/languageProcessing/languages/es/helpers/internal/stem.js +574 -0
  472. package/build/languageProcessing/languages/es/helpers/internal/stem.js.map +1 -0
  473. package/build/languageProcessing/languages/es/values/Clause.js +49 -0
  474. package/build/languageProcessing/languages/es/values/Clause.js.map +1 -0
  475. package/build/languageProcessing/languages/fa/Researcher.js +56 -0
  476. package/build/languageProcessing/languages/fa/Researcher.js.map +1 -0
  477. package/build/languageProcessing/languages/fa/config/firstWordExceptions.js +18 -0
  478. package/build/languageProcessing/languages/fa/config/firstWordExceptions.js.map +1 -0
  479. package/build/languageProcessing/languages/fa/config/functionWords.js +41 -0
  480. package/build/languageProcessing/languages/fa/config/functionWords.js.map +1 -0
  481. package/build/languageProcessing/languages/fa/config/internal/participles.js +14 -0
  482. package/build/languageProcessing/languages/fa/config/internal/participles.js.map +1 -0
  483. package/build/languageProcessing/languages/fa/config/sentenceLength.js +10 -0
  484. package/build/languageProcessing/languages/fa/config/sentenceLength.js.map +1 -0
  485. package/build/languageProcessing/languages/fa/config/transitionWords.js +18 -0
  486. package/build/languageProcessing/languages/fa/config/transitionWords.js.map +1 -0
  487. package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js +13 -0
  488. package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js.map +1 -0
  489. package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js +99 -0
  490. package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js.map +1 -0
  491. package/build/languageProcessing/languages/fa/helpers/getStemmer.js +22 -0
  492. package/build/languageProcessing/languages/fa/helpers/getStemmer.js.map +1 -0
  493. package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js +22 -0
  494. package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js.map +1 -0
  495. package/build/languageProcessing/languages/fr/Researcher.js +55 -0
  496. package/build/languageProcessing/languages/fr/Researcher.js.map +1 -0
  497. package/build/languageProcessing/languages/fr/config/firstWordExceptions.js +20 -0
  498. package/build/languageProcessing/languages/fr/config/firstWordExceptions.js.map +1 -0
  499. package/build/languageProcessing/languages/fr/config/functionWords.js +144 -0
  500. package/build/languageProcessing/languages/fr/config/functionWords.js.map +1 -0
  501. package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +22 -0
  502. package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js.map +1 -0
  503. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +12 -0
  504. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  505. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +27 -0
  506. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js.map +1 -0
  507. package/build/languageProcessing/languages/fr/config/stopWords.js +12 -0
  508. package/build/languageProcessing/languages/fr/config/stopWords.js.map +1 -0
  509. package/build/languageProcessing/languages/fr/config/syllables.json +1426 -0
  510. package/build/languageProcessing/languages/fr/config/transitionWords.js +13 -0
  511. package/build/languageProcessing/languages/fr/config/transitionWords.js.map +1 -0
  512. package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js +13 -0
  513. package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js.map +1 -0
  514. package/build/languageProcessing/languages/fr/config/wordComplexity.js +11 -0
  515. package/build/languageProcessing/languages/fr/config/wordComplexity.js.map +1 -0
  516. package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +23 -0
  517. package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js.map +1 -0
  518. package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +72 -0
  519. package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js.map +1 -0
  520. package/build/languageProcessing/languages/fr/helpers/getClauses.js +42 -0
  521. package/build/languageProcessing/languages/fr/helpers/getClauses.js.map +1 -0
  522. package/build/languageProcessing/languages/fr/helpers/getStemmer.js +28 -0
  523. package/build/languageProcessing/languages/fr/helpers/getStemmer.js.map +1 -0
  524. package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js +71 -0
  525. package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js.map +1 -0
  526. package/build/languageProcessing/languages/fr/helpers/internal/stem.js +544 -0
  527. package/build/languageProcessing/languages/fr/helpers/internal/stem.js.map +1 -0
  528. package/build/languageProcessing/languages/fr/values/Clause.js +90 -0
  529. package/build/languageProcessing/languages/fr/values/Clause.js.map +1 -0
  530. package/build/languageProcessing/languages/he/Researcher.js +59 -0
  531. package/build/languageProcessing/languages/he/Researcher.js.map +1 -0
  532. package/build/languageProcessing/languages/he/config/firstWordExceptions.js +18 -0
  533. package/build/languageProcessing/languages/he/config/firstWordExceptions.js.map +1 -0
  534. package/build/languageProcessing/languages/he/config/functionWords.js +504 -0
  535. package/build/languageProcessing/languages/he/config/functionWords.js.map +1 -0
  536. package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js +13 -0
  537. package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js.map +1 -0
  538. package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js +13 -0
  539. package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js.map +1 -0
  540. package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js +13 -0
  541. package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js.map +1 -0
  542. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +15 -0
  543. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js.map +1 -0
  544. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +15 -0
  545. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js.map +1 -0
  546. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +15 -0
  547. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js.map +1 -0
  548. package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js +9 -0
  549. package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js.map +1 -0
  550. package/build/languageProcessing/languages/he/config/sentenceLength.js +10 -0
  551. package/build/languageProcessing/languages/he/config/sentenceLength.js.map +1 -0
  552. package/build/languageProcessing/languages/he/config/transitionWords.js +13 -0
  553. package/build/languageProcessing/languages/he/config/transitionWords.js.map +1 -0
  554. package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js +13 -0
  555. package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js.map +1 -0
  556. package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js +40 -0
  557. package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js.map +1 -0
  558. package/build/languageProcessing/languages/he/helpers/getStemmer.js +28 -0
  559. package/build/languageProcessing/languages/he/helpers/getStemmer.js.map +1 -0
  560. package/build/languageProcessing/languages/he/helpers/internal/stem.js +59 -0
  561. package/build/languageProcessing/languages/he/helpers/internal/stem.js.map +1 -0
  562. package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js +122 -0
  563. package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js.map +1 -0
  564. package/build/languageProcessing/languages/he/helpers/stem.js +59 -0
  565. package/build/languageProcessing/languages/he/helpers/stem.js.map +1 -0
  566. package/build/languageProcessing/languages/hu/Researcher.js +57 -0
  567. package/build/languageProcessing/languages/hu/Researcher.js.map +1 -0
  568. package/build/languageProcessing/languages/hu/config/firstWordExceptions.js +32 -0
  569. package/build/languageProcessing/languages/hu/config/firstWordExceptions.js.map +1 -0
  570. package/build/languageProcessing/languages/hu/config/functionWords.js +52 -0
  571. package/build/languageProcessing/languages/hu/config/functionWords.js.map +1 -0
  572. package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js +20 -0
  573. package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js.map +1 -0
  574. package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +12 -0
  575. package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js.map +1 -0
  576. package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +25 -0
  577. package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js.map +1 -0
  578. package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js +25 -0
  579. package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js.map +1 -0
  580. package/build/languageProcessing/languages/hu/config/internal/participles.js +25 -0
  581. package/build/languageProcessing/languages/hu/config/internal/participles.js.map +1 -0
  582. package/build/languageProcessing/languages/hu/config/stopWords.js +29 -0
  583. package/build/languageProcessing/languages/hu/config/stopWords.js.map +1 -0
  584. package/build/languageProcessing/languages/hu/config/transitionWords.js +13 -0
  585. package/build/languageProcessing/languages/hu/config/transitionWords.js.map +1 -0
  586. package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js +13 -0
  587. package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js.map +1 -0
  588. package/build/languageProcessing/languages/hu/helpers/getClauses.js +34 -0
  589. package/build/languageProcessing/languages/hu/helpers/getClauses.js.map +1 -0
  590. package/build/languageProcessing/languages/hu/helpers/getStemmer.js +28 -0
  591. package/build/languageProcessing/languages/hu/helpers/getStemmer.js.map +1 -0
  592. package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js +25 -0
  593. package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js.map +1 -0
  594. package/build/languageProcessing/languages/hu/helpers/internal/stem.js +390 -0
  595. package/build/languageProcessing/languages/hu/helpers/internal/stem.js.map +1 -0
  596. package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js +53 -0
  597. package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js.map +1 -0
  598. package/build/languageProcessing/languages/hu/values/Clause.js +47 -0
  599. package/build/languageProcessing/languages/hu/values/Clause.js.map +1 -0
  600. package/build/languageProcessing/languages/id/Researcher.js +55 -0
  601. package/build/languageProcessing/languages/id/Researcher.js.map +1 -0
  602. package/build/languageProcessing/languages/id/config/firstWordExceptions.js +18 -0
  603. package/build/languageProcessing/languages/id/config/firstWordExceptions.js.map +1 -0
  604. package/build/languageProcessing/languages/id/config/functionWords.js +109 -0
  605. package/build/languageProcessing/languages/id/config/functionWords.js.map +1 -0
  606. package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +13 -0
  607. package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js.map +1 -0
  608. package/build/languageProcessing/languages/id/config/transitionWords.js +30 -0
  609. package/build/languageProcessing/languages/id/config/transitionWords.js.map +1 -0
  610. package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js +14 -0
  611. package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js.map +1 -0
  612. package/build/languageProcessing/languages/id/helpers/getStemmer.js +28 -0
  613. package/build/languageProcessing/languages/id/helpers/getStemmer.js.map +1 -0
  614. package/build/languageProcessing/languages/id/helpers/internal/stem.js +394 -0
  615. package/build/languageProcessing/languages/id/helpers/internal/stem.js.map +1 -0
  616. package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js +86 -0
  617. package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js.map +1 -0
  618. package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js +47 -0
  619. package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js.map +1 -0
  620. package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +53 -0
  621. package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js.map +1 -0
  622. package/build/languageProcessing/languages/it/Researcher.js +57 -0
  623. package/build/languageProcessing/languages/it/Researcher.js.map +1 -0
  624. package/build/languageProcessing/languages/it/config/firstWordExceptions.js +20 -0
  625. package/build/languageProcessing/languages/it/config/firstWordExceptions.js.map +1 -0
  626. package/build/languageProcessing/languages/it/config/functionWords.js +141 -0
  627. package/build/languageProcessing/languages/it/config/functionWords.js.map +1 -0
  628. package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +12 -0
  629. package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  630. package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +13 -0
  631. package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js.map +1 -0
  632. package/build/languageProcessing/languages/it/config/sentenceLength.js +10 -0
  633. package/build/languageProcessing/languages/it/config/sentenceLength.js.map +1 -0
  634. package/build/languageProcessing/languages/it/config/stopWords.js +12 -0
  635. package/build/languageProcessing/languages/it/config/stopWords.js.map +1 -0
  636. package/build/languageProcessing/languages/it/config/syllables.json +573 -0
  637. package/build/languageProcessing/languages/it/config/transitionWords.js +13 -0
  638. package/build/languageProcessing/languages/it/config/transitionWords.js.map +1 -0
  639. package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js +12 -0
  640. package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js.map +1 -0
  641. package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +23 -0
  642. package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js.map +1 -0
  643. package/build/languageProcessing/languages/it/helpers/getClauses.js +40 -0
  644. package/build/languageProcessing/languages/it/helpers/getClauses.js.map +1 -0
  645. package/build/languageProcessing/languages/it/helpers/getStemmer.js +28 -0
  646. package/build/languageProcessing/languages/it/helpers/getStemmer.js.map +1 -0
  647. package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js +42 -0
  648. package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js.map +1 -0
  649. package/build/languageProcessing/languages/it/helpers/internal/stem.js +408 -0
  650. package/build/languageProcessing/languages/it/helpers/internal/stem.js.map +1 -0
  651. package/build/languageProcessing/languages/it/values/Clause.js +51 -0
  652. package/build/languageProcessing/languages/it/values/Clause.js.map +1 -0
  653. package/build/languageProcessing/languages/ja/Researcher.js +94 -0
  654. package/build/languageProcessing/languages/ja/Researcher.js.map +1 -0
  655. package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +11 -0
  656. package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js.map +1 -0
  657. package/build/languageProcessing/languages/ja/config/firstWordExceptions.js +14 -0
  658. package/build/languageProcessing/languages/ja/config/firstWordExceptions.js.map +1 -0
  659. package/build/languageProcessing/languages/ja/config/functionWords.js +8 -0
  660. package/build/languageProcessing/languages/ja/config/functionWords.js.map +1 -0
  661. package/build/languageProcessing/languages/ja/config/keyphraseLength.js +23 -0
  662. package/build/languageProcessing/languages/ja/config/keyphraseLength.js.map +1 -0
  663. package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js +11 -0
  664. package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js.map +1 -0
  665. package/build/languageProcessing/languages/ja/config/paragraphLength.js +17 -0
  666. package/build/languageProcessing/languages/ja/config/paragraphLength.js.map +1 -0
  667. package/build/languageProcessing/languages/ja/config/sentenceLength.js +11 -0
  668. package/build/languageProcessing/languages/ja/config/sentenceLength.js.map +1 -0
  669. package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js +25 -0
  670. package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js.map +1 -0
  671. package/build/languageProcessing/languages/ja/config/textLength.js +54 -0
  672. package/build/languageProcessing/languages/ja/config/textLength.js.map +1 -0
  673. package/build/languageProcessing/languages/ja/config/topicLength.js +12 -0
  674. package/build/languageProcessing/languages/ja/config/topicLength.js.map +1 -0
  675. package/build/languageProcessing/languages/ja/config/transitionWords.js +9 -0
  676. package/build/languageProcessing/languages/ja/config/transitionWords.js.map +1 -0
  677. package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +102 -0
  678. package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js.map +1 -0
  679. package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +25 -0
  680. package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js.map +1 -0
  681. package/build/languageProcessing/languages/ja/customResearches/getWordForms.js +57 -0
  682. package/build/languageProcessing/languages/ja/customResearches/getWordForms.js.map +1 -0
  683. package/build/languageProcessing/languages/ja/customResearches/textLength.js +31 -0
  684. package/build/languageProcessing/languages/ja/customResearches/textLength.js.map +1 -0
  685. package/build/languageProcessing/languages/ja/helpers/countCharacters.js +27 -0
  686. package/build/languageProcessing/languages/ja/helpers/countCharacters.js.map +1 -0
  687. package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js +28 -0
  688. package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js.map +1 -0
  689. package/build/languageProcessing/languages/ja/helpers/getContentWords.js +27 -0
  690. package/build/languageProcessing/languages/ja/helpers/getContentWords.js.map +1 -0
  691. package/build/languageProcessing/languages/ja/helpers/getWords.js +38 -0
  692. package/build/languageProcessing/languages/ja/helpers/getWords.js.map +1 -0
  693. package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +99 -0
  694. package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js.map +1 -0
  695. package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js +70 -0
  696. package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js.map +1 -0
  697. package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js +23 -0
  698. package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js.map +1 -0
  699. package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js +58 -0
  700. package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js.map +1 -0
  701. package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js +29 -0
  702. package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js.map +1 -0
  703. package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +37 -0
  704. package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js.map +1 -0
  705. package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +27 -0
  706. package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js.map +1 -0
  707. package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +19 -0
  708. package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js.map +1 -0
  709. package/build/languageProcessing/languages/nb/Researcher.js +54 -0
  710. package/build/languageProcessing/languages/nb/Researcher.js.map +1 -0
  711. package/build/languageProcessing/languages/nb/config/firstWordExceptions.js +18 -0
  712. package/build/languageProcessing/languages/nb/config/firstWordExceptions.js.map +1 -0
  713. package/build/languageProcessing/languages/nb/config/functionWords.js +54 -0
  714. package/build/languageProcessing/languages/nb/config/functionWords.js.map +1 -0
  715. package/build/languageProcessing/languages/nb/config/internal/participles.js +12 -0
  716. package/build/languageProcessing/languages/nb/config/internal/participles.js.map +1 -0
  717. package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +12 -0
  718. package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  719. package/build/languageProcessing/languages/nb/config/stopWords.js +13 -0
  720. package/build/languageProcessing/languages/nb/config/stopWords.js.map +1 -0
  721. package/build/languageProcessing/languages/nb/config/transitionWords.js +13 -0
  722. package/build/languageProcessing/languages/nb/config/transitionWords.js.map +1 -0
  723. package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js +13 -0
  724. package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js.map +1 -0
  725. package/build/languageProcessing/languages/nb/helpers/getClauses.js +37 -0
  726. package/build/languageProcessing/languages/nb/helpers/getClauses.js.map +1 -0
  727. package/build/languageProcessing/languages/nb/helpers/getStemmer.js +28 -0
  728. package/build/languageProcessing/languages/nb/helpers/getStemmer.js.map +1 -0
  729. package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js +31 -0
  730. package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js.map +1 -0
  731. package/build/languageProcessing/languages/nb/helpers/internal/stem.js +135 -0
  732. package/build/languageProcessing/languages/nb/helpers/internal/stem.js.map +1 -0
  733. package/build/languageProcessing/languages/nb/values/Clause.js +49 -0
  734. package/build/languageProcessing/languages/nb/values/Clause.js.map +1 -0
  735. package/build/languageProcessing/languages/nl/Researcher.js +57 -0
  736. package/build/languageProcessing/languages/nl/Researcher.js.map +1 -0
  737. package/build/languageProcessing/languages/nl/config/firstWordExceptions.js +20 -0
  738. package/build/languageProcessing/languages/nl/config/firstWordExceptions.js.map +1 -0
  739. package/build/languageProcessing/languages/nl/config/functionWords.js +102 -0
  740. package/build/languageProcessing/languages/nl/config/functionWords.js.map +1 -0
  741. package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js +12 -0
  742. package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js.map +1 -0
  743. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +12 -0
  744. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  745. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +13 -0
  746. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js.map +1 -0
  747. package/build/languageProcessing/languages/nl/config/keyphraseLength.js +17 -0
  748. package/build/languageProcessing/languages/nl/config/keyphraseLength.js.map +1 -0
  749. package/build/languageProcessing/languages/nl/config/stopWords.js +12 -0
  750. package/build/languageProcessing/languages/nl/config/stopWords.js.map +1 -0
  751. package/build/languageProcessing/languages/nl/config/syllables.json +343 -0
  752. package/build/languageProcessing/languages/nl/config/transitionWords.js +11 -0
  753. package/build/languageProcessing/languages/nl/config/transitionWords.js.map +1 -0
  754. package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js +12 -0
  755. package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js.map +1 -0
  756. package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +23 -0
  757. package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js.map +1 -0
  758. package/build/languageProcessing/languages/nl/helpers/getClauses.js +34 -0
  759. package/build/languageProcessing/languages/nl/helpers/getClauses.js.map +1 -0
  760. package/build/languageProcessing/languages/nl/helpers/getStemmer.js +28 -0
  761. package/build/languageProcessing/languages/nl/helpers/getStemmer.js.map +1 -0
  762. package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +124 -0
  763. package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js.map +1 -0
  764. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +260 -0
  765. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js.map +1 -0
  766. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +157 -0
  767. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js.map +1 -0
  768. package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js +120 -0
  769. package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js.map +1 -0
  770. package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js +27 -0
  771. package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js.map +1 -0
  772. package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +152 -0
  773. package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js.map +1 -0
  774. package/build/languageProcessing/languages/nl/helpers/internal/stem.js +131 -0
  775. package/build/languageProcessing/languages/nl/helpers/internal/stem.js.map +1 -0
  776. package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +94 -0
  777. package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js.map +1 -0
  778. package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +59 -0
  779. package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js.map +1 -0
  780. package/build/languageProcessing/languages/nl/values/Clause.js +63 -0
  781. package/build/languageProcessing/languages/nl/values/Clause.js.map +1 -0
  782. package/build/languageProcessing/languages/pl/Researcher.js +56 -0
  783. package/build/languageProcessing/languages/pl/Researcher.js.map +1 -0
  784. package/build/languageProcessing/languages/pl/config/firstWordExceptions.js +16 -0
  785. package/build/languageProcessing/languages/pl/config/firstWordExceptions.js.map +1 -0
  786. package/build/languageProcessing/languages/pl/config/functionWords.js +78 -0
  787. package/build/languageProcessing/languages/pl/config/functionWords.js.map +1 -0
  788. package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js +12 -0
  789. package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js.map +1 -0
  790. package/build/languageProcessing/languages/pl/config/internal/participles.js +13 -0
  791. package/build/languageProcessing/languages/pl/config/internal/participles.js.map +1 -0
  792. package/build/languageProcessing/languages/pl/config/sentenceLength.js +17 -0
  793. package/build/languageProcessing/languages/pl/config/sentenceLength.js.map +1 -0
  794. package/build/languageProcessing/languages/pl/config/stopWords.js +12 -0
  795. package/build/languageProcessing/languages/pl/config/stopWords.js.map +1 -0
  796. package/build/languageProcessing/languages/pl/config/transitionWords.js +13 -0
  797. package/build/languageProcessing/languages/pl/config/transitionWords.js.map +1 -0
  798. package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js +13 -0
  799. package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js.map +1 -0
  800. package/build/languageProcessing/languages/pl/helpers/getClauses.js +34 -0
  801. package/build/languageProcessing/languages/pl/helpers/getClauses.js.map +1 -0
  802. package/build/languageProcessing/languages/pl/helpers/getStemmer.js +28 -0
  803. package/build/languageProcessing/languages/pl/helpers/getStemmer.js.map +1 -0
  804. package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js +25 -0
  805. package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js.map +1 -0
  806. package/build/languageProcessing/languages/pl/helpers/internal/stem.js +158 -0
  807. package/build/languageProcessing/languages/pl/helpers/internal/stem.js.map +1 -0
  808. package/build/languageProcessing/languages/pl/values/Clause.js +51 -0
  809. package/build/languageProcessing/languages/pl/values/Clause.js.map +1 -0
  810. package/build/languageProcessing/languages/pt/Researcher.js +57 -0
  811. package/build/languageProcessing/languages/pt/Researcher.js.map +1 -0
  812. package/build/languageProcessing/languages/pt/config/firstWordExceptions.js +20 -0
  813. package/build/languageProcessing/languages/pt/config/firstWordExceptions.js.map +1 -0
  814. package/build/languageProcessing/languages/pt/config/functionWords.js +98 -0
  815. package/build/languageProcessing/languages/pt/config/functionWords.js.map +1 -0
  816. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +12 -0
  817. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  818. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +13 -0
  819. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js.map +1 -0
  820. package/build/languageProcessing/languages/pt/config/sentenceLength.js +10 -0
  821. package/build/languageProcessing/languages/pt/config/sentenceLength.js.map +1 -0
  822. package/build/languageProcessing/languages/pt/config/stopWords.js +12 -0
  823. package/build/languageProcessing/languages/pt/config/stopWords.js.map +1 -0
  824. package/build/languageProcessing/languages/pt/config/syllables.json +38 -0
  825. package/build/languageProcessing/languages/pt/config/transitionWords.js +11 -0
  826. package/build/languageProcessing/languages/pt/config/transitionWords.js.map +1 -0
  827. package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js +12 -0
  828. package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js.map +1 -0
  829. package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +23 -0
  830. package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js.map +1 -0
  831. package/build/languageProcessing/languages/pt/helpers/getClauses.js +38 -0
  832. package/build/languageProcessing/languages/pt/helpers/getClauses.js.map +1 -0
  833. package/build/languageProcessing/languages/pt/helpers/getStemmer.js +28 -0
  834. package/build/languageProcessing/languages/pt/helpers/getStemmer.js.map +1 -0
  835. package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js +43 -0
  836. package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js.map +1 -0
  837. package/build/languageProcessing/languages/pt/helpers/internal/stem.js +283 -0
  838. package/build/languageProcessing/languages/pt/helpers/internal/stem.js.map +1 -0
  839. package/build/languageProcessing/languages/pt/values/Clause.js +50 -0
  840. package/build/languageProcessing/languages/pt/values/Clause.js.map +1 -0
  841. package/build/languageProcessing/languages/ru/Researcher.js +57 -0
  842. package/build/languageProcessing/languages/ru/Researcher.js.map +1 -0
  843. package/build/languageProcessing/languages/ru/config/firstWordExceptions.js +16 -0
  844. package/build/languageProcessing/languages/ru/config/firstWordExceptions.js.map +1 -0
  845. package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +27 -0
  846. package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js.map +1 -0
  847. package/build/languageProcessing/languages/ru/config/functionWords.js +91 -0
  848. package/build/languageProcessing/languages/ru/config/functionWords.js.map +1 -0
  849. package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +27 -0
  850. package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js.map +1 -0
  851. package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +24 -0
  852. package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js.map +1 -0
  853. package/build/languageProcessing/languages/ru/config/sentenceLength.js +10 -0
  854. package/build/languageProcessing/languages/ru/config/sentenceLength.js.map +1 -0
  855. package/build/languageProcessing/languages/ru/config/syllables.json +19 -0
  856. package/build/languageProcessing/languages/ru/config/transitionWords.js +13 -0
  857. package/build/languageProcessing/languages/ru/config/transitionWords.js.map +1 -0
  858. package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js +13 -0
  859. package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js.map +1 -0
  860. package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +23 -0
  861. package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js.map +1 -0
  862. package/build/languageProcessing/languages/ru/helpers/getStemmer.js +28 -0
  863. package/build/languageProcessing/languages/ru/helpers/getStemmer.js.map +1 -0
  864. package/build/languageProcessing/languages/ru/helpers/internal/stem.js +271 -0
  865. package/build/languageProcessing/languages/ru/helpers/internal/stem.js.map +1 -0
  866. package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js +22 -0
  867. package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js.map +1 -0
  868. package/build/languageProcessing/languages/sk/Researcher.js +55 -0
  869. package/build/languageProcessing/languages/sk/Researcher.js.map +1 -0
  870. package/build/languageProcessing/languages/sk/config/firstWordExceptions.js +18 -0
  871. package/build/languageProcessing/languages/sk/config/firstWordExceptions.js.map +1 -0
  872. package/build/languageProcessing/languages/sk/config/functionWords.js +18 -0
  873. package/build/languageProcessing/languages/sk/config/functionWords.js.map +1 -0
  874. package/build/languageProcessing/languages/sk/config/internal/nonPassives.js +14 -0
  875. package/build/languageProcessing/languages/sk/config/internal/nonPassives.js.map +1 -0
  876. package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +10 -0
  877. package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js.map +1 -0
  878. package/build/languageProcessing/languages/sk/config/stopWords.js +13 -0
  879. package/build/languageProcessing/languages/sk/config/stopWords.js.map +1 -0
  880. package/build/languageProcessing/languages/sk/config/transitionWords.js +13 -0
  881. package/build/languageProcessing/languages/sk/config/transitionWords.js.map +1 -0
  882. package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js +13 -0
  883. package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js.map +1 -0
  884. package/build/languageProcessing/languages/sk/helpers/getClauses.js +35 -0
  885. package/build/languageProcessing/languages/sk/helpers/getClauses.js.map +1 -0
  886. package/build/languageProcessing/languages/sk/helpers/getStemmer.js +28 -0
  887. package/build/languageProcessing/languages/sk/helpers/getStemmer.js.map +1 -0
  888. package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js +24 -0
  889. package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js.map +1 -0
  890. package/build/languageProcessing/languages/sk/helpers/internal/stem.js +322 -0
  891. package/build/languageProcessing/languages/sk/helpers/internal/stem.js.map +1 -0
  892. package/build/languageProcessing/languages/sk/values/Clause.js +47 -0
  893. package/build/languageProcessing/languages/sk/values/Clause.js.map +1 -0
  894. package/build/languageProcessing/languages/sv/Researcher.js +54 -0
  895. package/build/languageProcessing/languages/sv/Researcher.js.map +1 -0
  896. package/build/languageProcessing/languages/sv/config/firstWordExceptions.js +21 -0
  897. package/build/languageProcessing/languages/sv/config/firstWordExceptions.js.map +1 -0
  898. package/build/languageProcessing/languages/sv/config/functionWords.js +74 -0
  899. package/build/languageProcessing/languages/sv/config/functionWords.js.map +1 -0
  900. package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js +12 -0
  901. package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js.map +1 -0
  902. package/build/languageProcessing/languages/sv/config/keyphraseLength.js +17 -0
  903. package/build/languageProcessing/languages/sv/config/keyphraseLength.js.map +1 -0
  904. package/build/languageProcessing/languages/sv/config/transitionWords.js +13 -0
  905. package/build/languageProcessing/languages/sv/config/transitionWords.js.map +1 -0
  906. package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js +13 -0
  907. package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js.map +1 -0
  908. package/build/languageProcessing/languages/sv/helpers/getStemmer.js +28 -0
  909. package/build/languageProcessing/languages/sv/helpers/getStemmer.js.map +1 -0
  910. package/build/languageProcessing/languages/sv/helpers/internal/stem.js +159 -0
  911. package/build/languageProcessing/languages/sv/helpers/internal/stem.js.map +1 -0
  912. package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js +22 -0
  913. package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js.map +1 -0
  914. package/build/languageProcessing/languages/tr/Researcher.js +52 -0
  915. package/build/languageProcessing/languages/tr/Researcher.js.map +1 -0
  916. package/build/languageProcessing/languages/tr/config/firstWordExceptions.js +18 -0
  917. package/build/languageProcessing/languages/tr/config/firstWordExceptions.js.map +1 -0
  918. package/build/languageProcessing/languages/tr/config/functionWords.js +51 -0
  919. package/build/languageProcessing/languages/tr/config/functionWords.js.map +1 -0
  920. package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +13 -0
  921. package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js.map +1 -0
  922. package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js +13 -0
  923. package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js.map +1 -0
  924. package/build/languageProcessing/languages/tr/config/sentenceLength.js +14 -0
  925. package/build/languageProcessing/languages/tr/config/sentenceLength.js.map +1 -0
  926. package/build/languageProcessing/languages/tr/config/transitionWords.js +13 -0
  927. package/build/languageProcessing/languages/tr/config/transitionWords.js.map +1 -0
  928. package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js +13 -0
  929. package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js.map +1 -0
  930. package/build/languageProcessing/languages/tr/helpers/getStemmer.js +28 -0
  931. package/build/languageProcessing/languages/tr/helpers/getStemmer.js.map +1 -0
  932. package/build/languageProcessing/languages/tr/helpers/internal/stem.js +25 -0
  933. package/build/languageProcessing/languages/tr/helpers/internal/stem.js.map +1 -0
  934. package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js +46 -0
  935. package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js.map +1 -0
  936. package/build/languageProcessing/researches/altTagCount.js +72 -0
  937. package/build/languageProcessing/researches/altTagCount.js.map +1 -0
  938. package/build/languageProcessing/researches/countSentencesFromText.js +26 -0
  939. package/build/languageProcessing/researches/countSentencesFromText.js.map +1 -0
  940. package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js +257 -0
  941. package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js.map +1 -0
  942. package/build/languageProcessing/researches/findKeywordInFirstParagraph.js +80 -0
  943. package/build/languageProcessing/researches/findKeywordInFirstParagraph.js.map +1 -0
  944. package/build/languageProcessing/researches/findTransitionWords.js +119 -0
  945. package/build/languageProcessing/researches/findTransitionWords.js.map +1 -0
  946. package/build/languageProcessing/researches/functionWordsInKeyphrase.js +48 -0
  947. package/build/languageProcessing/researches/functionWordsInKeyphrase.js.map +1 -0
  948. package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js +222 -0
  949. package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js.map +1 -0
  950. package/build/languageProcessing/researches/getFleschReadingScore.js +152 -0
  951. package/build/languageProcessing/researches/getFleschReadingScore.js.map +1 -0
  952. package/build/languageProcessing/researches/getKeywordDensity.js +49 -0
  953. package/build/languageProcessing/researches/getKeywordDensity.js.map +1 -0
  954. package/build/languageProcessing/researches/getLinkStatistics.js +56 -0
  955. package/build/languageProcessing/researches/getLinkStatistics.js.map +1 -0
  956. package/build/languageProcessing/researches/getLinks.js +23 -0
  957. package/build/languageProcessing/researches/getLinks.js.map +1 -0
  958. package/build/languageProcessing/researches/getLongCenterAlignedTexts.js +42 -0
  959. package/build/languageProcessing/researches/getLongCenterAlignedTexts.js.map +1 -0
  960. package/build/languageProcessing/researches/getParagraphLength.js +49 -0
  961. package/build/languageProcessing/researches/getParagraphLength.js.map +1 -0
  962. package/build/languageProcessing/researches/getParagraphs.js +23 -0
  963. package/build/languageProcessing/researches/getParagraphs.js.map +1 -0
  964. package/build/languageProcessing/researches/getPassiveVoiceResult.js +127 -0
  965. package/build/languageProcessing/researches/getPassiveVoiceResult.js.map +1 -0
  966. package/build/languageProcessing/researches/getProminentWordsForInsights.js +45 -0
  967. package/build/languageProcessing/researches/getProminentWordsForInsights.js.map +1 -0
  968. package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js +103 -0
  969. package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js.map +1 -0
  970. package/build/languageProcessing/researches/getSentenceBeginnings.js +122 -0
  971. package/build/languageProcessing/researches/getSentenceBeginnings.js.map +1 -0
  972. package/build/languageProcessing/researches/getSubheadingTextLengths.js +60 -0
  973. package/build/languageProcessing/researches/getSubheadingTextLengths.js.map +1 -0
  974. package/build/languageProcessing/researches/getWordForms.js +183 -0
  975. package/build/languageProcessing/researches/getWordForms.js.map +1 -0
  976. package/build/languageProcessing/researches/h1s.js +17 -0
  977. package/build/languageProcessing/researches/h1s.js.map +1 -0
  978. package/build/languageProcessing/researches/imageCount.js +22 -0
  979. package/build/languageProcessing/researches/imageCount.js.map +1 -0
  980. package/build/languageProcessing/researches/index.js +28 -0
  981. package/build/languageProcessing/researches/index.js.map +1 -0
  982. package/build/languageProcessing/researches/keyphraseDistribution.js +233 -0
  983. package/build/languageProcessing/researches/keyphraseDistribution.js.map +1 -0
  984. package/build/languageProcessing/researches/keyphraseLength.js +23 -0
  985. package/build/languageProcessing/researches/keyphraseLength.js.map +1 -0
  986. package/build/languageProcessing/researches/keywordCount.js +135 -0
  987. package/build/languageProcessing/researches/keywordCount.js.map +1 -0
  988. package/build/languageProcessing/researches/keywordCountInUrl.js +58 -0
  989. package/build/languageProcessing/researches/keywordCountInUrl.js.map +1 -0
  990. package/build/languageProcessing/researches/matchKeywordInSubheadings.js +68 -0
  991. package/build/languageProcessing/researches/matchKeywordInSubheadings.js.map +1 -0
  992. package/build/languageProcessing/researches/metaDescriptionKeyword.js +78 -0
  993. package/build/languageProcessing/researches/metaDescriptionKeyword.js.map +1 -0
  994. package/build/languageProcessing/researches/metaDescriptionLength.js +19 -0
  995. package/build/languageProcessing/researches/metaDescriptionLength.js.map +1 -0
  996. package/build/languageProcessing/researches/pageTitleWidth.js +18 -0
  997. package/build/languageProcessing/researches/pageTitleWidth.js.map +1 -0
  998. package/build/languageProcessing/researches/readingTime.js +84 -0
  999. package/build/languageProcessing/researches/readingTime.js.map +1 -0
  1000. package/build/languageProcessing/researches/sentences.js +26 -0
  1001. package/build/languageProcessing/researches/sentences.js.map +1 -0
  1002. package/build/languageProcessing/researches/videoCount.js +39 -0
  1003. package/build/languageProcessing/researches/videoCount.js.map +1 -0
  1004. package/build/languageProcessing/researches/wordComplexity.js +128 -0
  1005. package/build/languageProcessing/researches/wordComplexity.js.map +1 -0
  1006. package/build/languageProcessing/researches/wordCountInText.js +36 -0
  1007. package/build/languageProcessing/researches/wordCountInText.js.map +1 -0
  1008. package/build/languageProcessing/values/Clause.js +113 -0
  1009. package/build/languageProcessing/values/Clause.js.map +1 -0
  1010. package/build/languageProcessing/values/ProminentWord.js +101 -0
  1011. package/build/languageProcessing/values/ProminentWord.js.map +1 -0
  1012. package/build/languageProcessing/values/Sentence.js +116 -0
  1013. package/build/languageProcessing/values/Sentence.js.map +1 -0
  1014. package/build/languageProcessing/values/index.js +28 -0
  1015. package/build/languageProcessing/values/index.js.map +1 -0
  1016. package/build/markers/addMark.js +16 -0
  1017. package/build/markers/addMark.js.map +1 -0
  1018. package/build/markers/addMarkSingleWord.js +37 -0
  1019. package/build/markers/addMarkSingleWord.js.map +1 -0
  1020. package/build/markers/index.js +21 -0
  1021. package/build/markers/index.js.map +1 -0
  1022. package/build/markers/removeDuplicateMarks.js +31 -0
  1023. package/build/markers/removeDuplicateMarks.js.map +1 -0
  1024. package/build/markers/removeMarks.js +16 -0
  1025. package/build/markers/removeMarks.js.map +1 -0
  1026. package/build/parse/build/build.js +62 -0
  1027. package/build/parse/build/build.js.map +1 -0
  1028. package/build/parse/build/index.js +14 -0
  1029. package/build/parse/build/index.js.map +1 -0
  1030. package/build/parse/build/private/adapt.js +111 -0
  1031. package/build/parse/build/private/adapt.js.map +1 -0
  1032. package/build/parse/build/private/adaptAttributes.js +41 -0
  1033. package/build/parse/build/private/adaptAttributes.js.map +1 -0
  1034. package/build/parse/build/private/alwaysFilterElements.js +32 -0
  1035. package/build/parse/build/private/alwaysFilterElements.js.map +1 -0
  1036. package/build/parse/build/private/combineIntoImplicitParagraphs.js +129 -0
  1037. package/build/parse/build/private/combineIntoImplicitParagraphs.js.map +1 -0
  1038. package/build/parse/build/private/filterBeforeTokenizing.js +37 -0
  1039. package/build/parse/build/private/filterBeforeTokenizing.js.map +1 -0
  1040. package/build/parse/build/private/filterHelpers.js +52 -0
  1041. package/build/parse/build/private/filterHelpers.js.map +1 -0
  1042. package/build/parse/build/private/filterTree.js +47 -0
  1043. package/build/parse/build/private/filterTree.js.map +1 -0
  1044. package/build/parse/build/private/getTextElementPositions.js +184 -0
  1045. package/build/parse/build/private/getTextElementPositions.js.map +1 -0
  1046. package/build/parse/build/private/helpers/parseClassAttribute.js +15 -0
  1047. package/build/parse/build/private/helpers/parseClassAttribute.js.map +1 -0
  1048. package/build/parse/build/private/isPhrasingContent.js +30 -0
  1049. package/build/parse/build/private/isPhrasingContent.js.map +1 -0
  1050. package/build/parse/build/private/parseBlocks.js +151 -0
  1051. package/build/parse/build/private/parseBlocks.js.map +1 -0
  1052. package/build/parse/build/private/tokenize.js +78 -0
  1053. package/build/parse/build/private/tokenize.js.map +1 -0
  1054. package/build/parse/language/LanguageProcessor.js +77 -0
  1055. package/build/parse/language/LanguageProcessor.js.map +1 -0
  1056. package/build/parse/structure/Heading.js +32 -0
  1057. package/build/parse/structure/Heading.js.map +1 -0
  1058. package/build/parse/structure/Node.js +75 -0
  1059. package/build/parse/structure/Node.js.map +1 -0
  1060. package/build/parse/structure/Paragraph.js +53 -0
  1061. package/build/parse/structure/Paragraph.js.map +1 -0
  1062. package/build/parse/structure/Sentence.js +36 -0
  1063. package/build/parse/structure/Sentence.js.map +1 -0
  1064. package/build/parse/structure/SourceCodeLocation.js +46 -0
  1065. package/build/parse/structure/SourceCodeLocation.js.map +1 -0
  1066. package/build/parse/structure/Text.js +33 -0
  1067. package/build/parse/structure/Text.js.map +1 -0
  1068. package/build/parse/structure/Token.js +29 -0
  1069. package/build/parse/structure/Token.js.map +1 -0
  1070. package/build/parse/structure/index.js +35 -0
  1071. package/build/parse/structure/index.js.map +1 -0
  1072. package/build/parse/traverse/findAllInTree.js +62 -0
  1073. package/build/parse/traverse/findAllInTree.js.map +1 -0
  1074. package/build/parse/traverse/index.js +21 -0
  1075. package/build/parse/traverse/index.js.map +1 -0
  1076. package/build/parse/traverse/innerText.js +30 -0
  1077. package/build/parse/traverse/innerText.js.map +1 -0
  1078. package/build/parsedPaper/ParsedPaper.js +100 -0
  1079. package/build/parsedPaper/ParsedPaper.js.map +1 -0
  1080. package/build/parsedPaper/assess/TreeAssessor.js +181 -0
  1081. package/build/parsedPaper/assess/TreeAssessor.js.map +1 -0
  1082. package/build/parsedPaper/assess/assessmentListFactories.js +77 -0
  1083. package/build/parsedPaper/assess/assessmentListFactories.js.map +1 -0
  1084. package/build/parsedPaper/assess/assessments/Assessment.js +86 -0
  1085. package/build/parsedPaper/assess/assessments/Assessment.js.map +1 -0
  1086. package/build/parsedPaper/assess/assessments/index.js +14 -0
  1087. package/build/parsedPaper/assess/assessments/index.js.map +1 -0
  1088. package/build/parsedPaper/assess/assessorFactories.js +104 -0
  1089. package/build/parsedPaper/assess/assessorFactories.js.map +1 -0
  1090. package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js +51 -0
  1091. package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js.map +1 -0
  1092. package/build/parsedPaper/assess/cornerstone/index.js +11 -0
  1093. package/build/parsedPaper/assess/cornerstone/index.js.map +1 -0
  1094. package/build/parsedPaper/assess/index.js +31 -0
  1095. package/build/parsedPaper/assess/index.js.map +1 -0
  1096. package/build/parsedPaper/build/PaperParser.js +103 -0
  1097. package/build/parsedPaper/build/PaperParser.js.map +1 -0
  1098. package/build/parsedPaper/build/linguisticParsing/Sentence.js +95 -0
  1099. package/build/parsedPaper/build/linguisticParsing/Sentence.js.map +1 -0
  1100. package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +294 -0
  1101. package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js.map +1 -0
  1102. package/build/parsedPaper/build/linguisticParsing/parseText.js +26 -0
  1103. package/build/parsedPaper/build/linguisticParsing/parseText.js.map +1 -0
  1104. package/build/parsedPaper/build/tree/TreeBuilder.js +82 -0
  1105. package/build/parsedPaper/build/tree/TreeBuilder.js.map +1 -0
  1106. package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js +183 -0
  1107. package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js.map +1 -0
  1108. package/build/parsedPaper/build/tree/cleanup/getElementContent.js +27 -0
  1109. package/build/parsedPaper/build/tree/cleanup/getElementContent.js.map +1 -0
  1110. package/build/parsedPaper/build/tree/cleanup/postParsing.js +43 -0
  1111. package/build/parsedPaper/build/tree/cleanup/postParsing.js.map +1 -0
  1112. package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js +226 -0
  1113. package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js.map +1 -0
  1114. package/build/parsedPaper/build/tree/html/buildTree.js +36 -0
  1115. package/build/parsedPaper/build/tree/html/buildTree.js.map +1 -0
  1116. package/build/parsedPaper/build/tree/html/htmlConstants.js +35 -0
  1117. package/build/parsedPaper/build/tree/html/htmlConstants.js.map +1 -0
  1118. package/build/parsedPaper/build/tree/index.js +20 -0
  1119. package/build/parsedPaper/build/tree/index.js.map +1 -0
  1120. package/build/parsedPaper/build/tree/metadata/buildTree.js +36 -0
  1121. package/build/parsedPaper/build/tree/metadata/buildTree.js.map +1 -0
  1122. package/build/parsedPaper/research/TreeResearcher.js +136 -0
  1123. package/build/parsedPaper/research/TreeResearcher.js.map +1 -0
  1124. package/build/parsedPaper/research/index.js +14 -0
  1125. package/build/parsedPaper/research/index.js.map +1 -0
  1126. package/build/parsedPaper/research/researches/Headings.js +26 -0
  1127. package/build/parsedPaper/research/researches/Headings.js.map +1 -0
  1128. package/build/parsedPaper/research/researches/LinkStatistics.js +129 -0
  1129. package/build/parsedPaper/research/researches/LinkStatistics.js.map +1 -0
  1130. package/build/parsedPaper/research/researches/Research.js +58 -0
  1131. package/build/parsedPaper/research/researches/Research.js.map +1 -0
  1132. package/build/parsedPaper/research/researches/index.js +14 -0
  1133. package/build/parsedPaper/research/researches/index.js.map +1 -0
  1134. package/build/parsedPaper/structure/tree/FormattingElement.js +73 -0
  1135. package/build/parsedPaper/structure/tree/FormattingElement.js.map +1 -0
  1136. package/build/parsedPaper/structure/tree/SourceCodeLocation.js +48 -0
  1137. package/build/parsedPaper/structure/tree/SourceCodeLocation.js.map +1 -0
  1138. package/build/parsedPaper/structure/tree/TextContainer.js +89 -0
  1139. package/build/parsedPaper/structure/tree/TextContainer.js.map +1 -0
  1140. package/build/parsedPaper/structure/tree/index.js +76 -0
  1141. package/build/parsedPaper/structure/tree/index.js.map +1 -0
  1142. package/build/parsedPaper/structure/tree/nodes/Heading.js +33 -0
  1143. package/build/parsedPaper/structure/tree/nodes/Heading.js.map +1 -0
  1144. package/build/parsedPaper/structure/tree/nodes/LeafNode.js +82 -0
  1145. package/build/parsedPaper/structure/tree/nodes/LeafNode.js.map +1 -0
  1146. package/build/parsedPaper/structure/tree/nodes/List.js +54 -0
  1147. package/build/parsedPaper/structure/tree/nodes/List.js.map +1 -0
  1148. package/build/parsedPaper/structure/tree/nodes/ListItem.js +34 -0
  1149. package/build/parsedPaper/structure/tree/nodes/ListItem.js.map +1 -0
  1150. package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +51 -0
  1151. package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js.map +1 -0
  1152. package/build/parsedPaper/structure/tree/nodes/MetadataText.js +31 -0
  1153. package/build/parsedPaper/structure/tree/nodes/MetadataText.js.map +1 -0
  1154. package/build/parsedPaper/structure/tree/nodes/Node.js +159 -0
  1155. package/build/parsedPaper/structure/tree/nodes/Node.js.map +1 -0
  1156. package/build/parsedPaper/structure/tree/nodes/Paragraph.js +29 -0
  1157. package/build/parsedPaper/structure/tree/nodes/Paragraph.js.map +1 -0
  1158. package/build/parsedPaper/structure/tree/nodes/StructuredNode.js +60 -0
  1159. package/build/parsedPaper/structure/tree/nodes/StructuredNode.js.map +1 -0
  1160. package/build/parsedPaper/structure/tree/nodes/index.js +70 -0
  1161. package/build/parsedPaper/structure/tree/nodes/index.js.map +1 -0
  1162. package/build/scoring/assessments/assessment.js +68 -0
  1163. package/build/scoring/assessments/assessment.js.map +1 -0
  1164. package/build/scoring/assessments/index.js +64 -0
  1165. package/build/scoring/assessments/index.js.map +1 -0
  1166. package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js +162 -0
  1167. package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js.map +1 -0
  1168. package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js +131 -0
  1169. package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js.map +1 -0
  1170. package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js +173 -0
  1171. package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js.map +1 -0
  1172. package/build/scoring/assessments/readability/TransitionWordsAssessment.js +159 -0
  1173. package/build/scoring/assessments/readability/TransitionWordsAssessment.js.map +1 -0
  1174. package/build/scoring/assessments/seo/ImageCountAssessment.js +107 -0
  1175. package/build/scoring/assessments/seo/ImageCountAssessment.js.map +1 -0
  1176. package/build/scoring/assessments/seo/InternalLinksAssessment.js +108 -0
  1177. package/build/scoring/assessments/seo/InternalLinksAssessment.js.map +1 -0
  1178. package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js +105 -0
  1179. package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js.map +1 -0
  1180. package/build/scoring/assessments/seo/KeyphraseAssessment.js +100 -0
  1181. package/build/scoring/assessments/seo/KeyphraseAssessment.js.map +1 -0
  1182. package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js +105 -0
  1183. package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js.map +1 -0
  1184. package/build/scoring/assessments/seo/KeywordDensityAssessment.js +111 -0
  1185. package/build/scoring/assessments/seo/KeywordDensityAssessment.js.map +1 -0
  1186. package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +114 -0
  1187. package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js.map +1 -0
  1188. package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +107 -0
  1189. package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js.map +1 -0
  1190. package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js +111 -0
  1191. package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js.map +1 -0
  1192. package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js +103 -0
  1193. package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js.map +1 -0
  1194. package/build/scoring/assessments/seo/OutboundLinksAssessment.js +110 -0
  1195. package/build/scoring/assessments/seo/OutboundLinksAssessment.js.map +1 -0
  1196. package/build/scoring/assessments/seo/PageTitleWidthAssessment.js +101 -0
  1197. package/build/scoring/assessments/seo/PageTitleWidthAssessment.js.map +1 -0
  1198. package/build/scoring/assessments/seo/SingleH1Assessment.js +110 -0
  1199. package/build/scoring/assessments/seo/SingleH1Assessment.js.map +1 -0
  1200. package/build/scoring/assessments/seo/SingleTitleAssessment.js +103 -0
  1201. package/build/scoring/assessments/seo/SingleTitleAssessment.js.map +1 -0
  1202. package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +103 -0
  1203. package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js.map +1 -0
  1204. package/build/scoring/assessments/seo/TextImagesAssessment.js +138 -0
  1205. package/build/scoring/assessments/seo/TextImagesAssessment.js.map +1 -0
  1206. package/build/scoring/assessments/seo/TextLengthAssessment.js +100 -0
  1207. package/build/scoring/assessments/seo/TextLengthAssessment.js.map +1 -0
  1208. package/build/scoring/assessments/seo/UrlKeywordAssessment.js +102 -0
  1209. package/build/scoring/assessments/seo/UrlKeywordAssessment.js.map +1 -0
  1210. package/build/scoring/assessments/seo/UrlLengthAssessment.js +102 -0
  1211. package/build/scoring/assessments/seo/UrlLengthAssessment.js.map +1 -0
  1212. package/build/scoring/assessors/assessor.js +248 -0
  1213. package/build/scoring/assessors/assessor.js.map +1 -0
  1214. package/build/scoring/assessors/avadaAssessor.js +65 -0
  1215. package/build/scoring/assessors/avadaAssessor.js.map +1 -0
  1216. package/build/scoring/assessors/contentAssessor.js +149 -0
  1217. package/build/scoring/assessors/contentAssessor.js.map +1 -0
  1218. package/build/scoring/assessors/index.js +35 -0
  1219. package/build/scoring/assessors/index.js.map +1 -0
  1220. package/build/scoring/assessors/seoAssessor.js +44 -0
  1221. package/build/scoring/assessors/seoAssessor.js.map +1 -0
  1222. package/build/scoring/helpers/assessments/checkForTooLongSentences.js +19 -0
  1223. package/build/scoring/helpers/assessments/checkForTooLongSentences.js.map +1 -0
  1224. package/build/scoring/helpers/assessments/inRange.js +51 -0
  1225. package/build/scoring/helpers/assessments/inRange.js.map +1 -0
  1226. package/build/scoring/helpers/assessments/keyphraseLengthFactor.js +17 -0
  1227. package/build/scoring/helpers/assessments/keyphraseLengthFactor.js.map +1 -0
  1228. package/build/scoring/helpers/assessments/recommendedKeywordCount.js +47 -0
  1229. package/build/scoring/helpers/assessments/recommendedKeywordCount.js.map +1 -0
  1230. package/build/scoring/helpers/index.js +92 -0
  1231. package/build/scoring/helpers/index.js.map +1 -0
  1232. package/build/scoring/interpreters/index.js +14 -0
  1233. package/build/scoring/interpreters/index.js.map +1 -0
  1234. package/build/scoring/interpreters/scoreToRating.js +32 -0
  1235. package/build/scoring/interpreters/scoreToRating.js.map +1 -0
  1236. package/build/scoring/renderers/AssessorPresenter.js +348 -0
  1237. package/build/scoring/renderers/AssessorPresenter.js.map +1 -0
  1238. package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js +203 -0
  1239. package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js.map +1 -0
  1240. package/build/scoring/scoreAggregators/SEOScoreAggregator.js +60 -0
  1241. package/build/scoring/scoreAggregators/SEOScoreAggregator.js.map +1 -0
  1242. package/build/scoring/scoreAggregators/ScoreAggregator.js +30 -0
  1243. package/build/scoring/scoreAggregators/ScoreAggregator.js.map +1 -0
  1244. package/build/scoring/scoreAggregators/index.js +28 -0
  1245. package/build/scoring/scoreAggregators/index.js.map +1 -0
  1246. package/build/values/AssessmentResult.js +485 -0
  1247. package/build/values/AssessmentResult.js.map +1 -0
  1248. package/build/values/Mark.js +273 -0
  1249. package/build/values/Mark.js.map +1 -0
  1250. package/build/values/Paper.js +425 -0
  1251. package/build/values/Paper.js.map +1 -0
  1252. package/build/values/index.js +28 -0
  1253. package/build/values/index.js.map +1 -0
  1254. package/build/vendor/turkishStemmer.js +2817 -0
  1255. package/build/vendor/turkishStemmer.js.map +1 -0
  1256. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkExceptionsWithFullForms.js","names":["_lodash","require","_index","flattenSortLength","languageProcessing","checkVerbFullFormsList","word","verbFullFormsList","compoundVerbPrefixes","prefixes","foundPrefix","find","prefix","startsWith","slice","length","i","stemAndForms","flatten","j","includes","checkEndingMatchFullFormsList","endingMatchFullFormsList","endsWith","precedingLexicalMaterial","checkExactMatchFullFormsList","exactMatchFullFormsList","checkExceptionsWithFullForms","morphologyDataNL","exceptionListWithFullForms","stemExceptions","stemmingExceptionStemsWithFullForms","stem","verbs","pastParticipleStemmer","compoundVerbsPrefixes","endingMatch","exactMatch"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js"],"sourcesContent":["import {flatten} from 'lodash';\nimport {languageProcessing} from '../../../index';\nconst {flattenSortLength} = languageProcessing;\n\n/**\n * Checks whether the word is on the verbs sub-list of the full forms list. Before checking the list, checks whether the word\n * begins with one of the compound verb prefixes, and the prefix is removed if one is found. If a match is found after checking\n * the full forms list, the canonical stem is returned, with the prefix attached back if there was one in the input word.\n * e.g. aanbevelen -> aanbeveel\n *\n * @param {string}\t\t\tword\t\t\t\t\t\t\tThe word to check.\n * @param {string[]}\t\tverbFullFormsList\t\t\t\tThe list of verb forms we search for match in.\n * @param {Object}\t\t\tcompoundVerbPrefixes\t\t\tThe list of separable and inseparable compound verb prefixes.\n *\n * @returns {string|null}\tThe canonical stem or null if no match found.\n */\nconst checkVerbFullFormsList = function(word, verbFullFormsList, compoundVerbPrefixes) {\n const prefixes = flattenSortLength(compoundVerbPrefixes);\n\n // Check whether the inputted word starts with one of the compound prefixes\n const foundPrefix = prefixes.find(prefix => word.startsWith(prefix));\n\n if (typeof foundPrefix === 'string') {\n word = word.slice(foundPrefix.length);\n }\n\n for (let i = 0; i < verbFullFormsList.length; i++) {\n const stemAndForms = flatten(verbFullFormsList[i]);\n for (let j = 0; j < stemAndForms.length; j++) {\n if (stemAndForms.includes(word)) {\n if (typeof foundPrefix === 'string') {\n return foundPrefix + stemAndForms[0];\n }\n return stemAndForms[0];\n }\n }\n }\n return null;\n};\n\n/**\n * Checks whether the word is on the sub-list of the full forms list for which we search for an ending match between one of\n * the forms and the word (i.e., whether the word ends with a form from the list). If a match is found, the canonical\n * stem is returned. e.g. fitnesscentra -> fitnesscentrum\n *\n * @param {string}\t\t\tword\t\t\t\t\t\t\tThe word to check.\n * @param {string[]}\t\tendingMatchFullFormsList\t\tThe list we search for an ending match in.\n * @returns {string|null}\tThe canonical stem or null if no match found.\n */\nconst checkEndingMatchFullFormsList = function(word, endingMatchFullFormsList) {\n for (let i = 0; i < endingMatchFullFormsList.length; i++) {\n const stemAndForms = flatten(endingMatchFullFormsList[i]);\n for (let j = 0; j < stemAndForms.length; j++) {\n if (word.endsWith(stemAndForms[j])) {\n /*\n * Check if the word checked is actually a compound word. e.g. familielid\n * The character/s preceding the words in the exception should be at least 2 characters in order to be a valid compound element.\n */\n const precedingLexicalMaterial = word.slice(0, -stemAndForms[j].length);\n\n if (precedingLexicalMaterial.length === 1) {\n return null;\n }\n\n if (precedingLexicalMaterial.length > 1) {\n return precedingLexicalMaterial + stemAndForms[0];\n }\n return stemAndForms[0];\n }\n }\n }\n return null;\n};\n\n/**\n * Checks whether the word is on the sub-list of the full forms list for which we search for the exact match between one of\n * the forms and the word. If a match is found, the canonical stem is returned. e.g. curricula -> curriculum\n *\n * @param {string}\t\t\tword\t\t\t\t\t\tThe word to check.\n * @param {string[]}\t\texactMatchFullFormsList\t\tThe list we search for an exact match in.\n * @returns {string|null}\tThe canonical stem or null if no match found.\n */\nconst checkExactMatchFullFormsList = function(word, exactMatchFullFormsList) {\n for (let i = 0; i < exactMatchFullFormsList.length; i++) {\n const stemAndForms = flatten(exactMatchFullFormsList[i]);\n for (let j = 0; j < stemAndForms.length; j++) {\n if (stemAndForms.includes(word)) {\n return stemAndForms[0];\n }\n }\n }\n return null;\n};\n\n/**\n *\n * Checks whether a word is on the exception list for which we have full forms. If it is, returns the indicated stem of the word.\n *\n * @param {Array} morphologyDataNL The Dutch morphology data file.\n * @param {string} word The word to check.\n *\n * @returns {string/null} The created word forms.\n */\nexport default function checkExceptionsWithFullForms(morphologyDataNL, word) {\n const exceptionListWithFullForms =\n morphologyDataNL.stemExceptions.stemmingExceptionStemsWithFullForms;\n\n let stem = checkVerbFullFormsList(\n word,\n exceptionListWithFullForms.verbs,\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes\n );\n if (stem) {\n return stem;\n }\n\n stem = checkEndingMatchFullFormsList(word, exceptionListWithFullForms.endingMatch);\n if (stem) {\n return stem;\n }\n\n stem = checkExactMatchFullFormsList(word, exceptionListWithFullForms.exactMatch);\n if (stem) {\n return stem;\n }\n\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.detectAndStemRegularParticiple = detectAndStemRegularParticiple;
7
+ var _index = require("../../../index");
8
+ var _nonParticiples = _interopRequireDefault(require("../../config/internal/nonParticiples.js"));
9
+ var _stemModificationHelpers = require("./stemModificationHelpers");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const {
12
+ regexHelpers: {
13
+ doesWordMatchRegex
14
+ }
15
+ } = _index.languageProcessing;
16
+ /**
17
+ * Checks whether the word is on an exception list of participles that do not have a ge- prefix. If it is found on the list,
18
+ * remove only the last letter (the suffix).
19
+ *
20
+ * @param {array} dataExceptionListToCheck The list of the exception words.
21
+ * @param {string} word The (unstemmed) word to check.
22
+ *
23
+ * @returns {null|string} The stemmed word or null if the word was not found on the exception list.
24
+ */
25
+ const checkAndStemIfExceptionWithoutGePrefix = function (dataExceptionListToCheck, word) {
26
+ if (dataExceptionListToCheck.includes(word)) {
27
+ return word.slice(0, -1);
28
+ }
29
+ return null;
30
+ };
31
+
32
+ /**
33
+ * Checks whether a word that was detected as a participle should not have the suffix (-t or -d) removed because it is part
34
+ * of the stem. For example, in the participle 'geantwoord', the -d belongs to the stem so it should not be removed.
35
+ * The checks are conducted on the word without the prefix, so 'antwoord' in the case of 'geantwoord'.
36
+ *
37
+ * For words ending in -t, there are three checks:
38
+ * 1) An exception list (exceptions to a rule) containing words where -t SHOULD be stemmed,
39
+ * 2) The rule, defined using a regex with word endings where -t is part of the stem,
40
+ * 3) A list of verbs with stem ending in -t, to cover cases that were not possible to find using a regex.
41
+ *
42
+ * For words ending in -d, we check a list of verbs with stem ending in -d.
43
+ *
44
+ * @param {string} wordWithoutPrefix The word without prefix(es).
45
+ * @param {Object} morphologyDataNL The Dutch morphology data.
46
+ *
47
+ * @returns {boolean} Whether the suffix should be stemmed.
48
+ */
49
+ const shouldSuffixBeStemmed = function (wordWithoutPrefix, morphologyDataNL) {
50
+ if (wordWithoutPrefix.endsWith('t')) {
51
+ // Return true (suffix should be stemmed) if word was found on the exception list of verbs which should have the final -t stemmed.
52
+ const exceptionsTShouldBeStemmed = morphologyDataNL.ambiguousTAndDEndings.wordsTShouldBeStemmed;
53
+ if (exceptionsTShouldBeStemmed.includes(wordWithoutPrefix)) {
54
+ return true;
55
+ }
56
+ // Return false (suffix should not be stemmed) if word matches the regex for stems ending in -t.
57
+ if (doesWordMatchRegex(wordWithoutPrefix, morphologyDataNL.ambiguousTAndDEndings.tOrDArePartOfStem.tEnding)) {
58
+ return false;
59
+ }
60
+ /*
61
+ * Return false (suffix should not be stemmed) if the word was found on the list of verbs with stem ending in -t (e.g. haast)
62
+ * Otherwise, return true (if no checks are matched, the default condition is for -t to be stemmed).
63
+ */
64
+ const exceptionsTShouldNotBeStemmed = morphologyDataNL.stemExceptions.wordsNotToBeStemmedExceptions.verbs;
65
+ return !exceptionsTShouldNotBeStemmed.includes(wordWithoutPrefix);
66
+ }
67
+ const exceptionsDShouldNotBeStemmed = morphologyDataNL.pastParticipleStemmer.doNotStemD;
68
+ return !exceptionsDShouldNotBeStemmed.includes(wordWithoutPrefix);
69
+ };
70
+
71
+ /**
72
+ * Detects whether a word is a participle of a regular verb without prefixes other than ge-. If it is, checks whether
73
+ * the word is an exception that should not have the prefix or the suffix stemmed. Then stems the word accordingly
74
+ * (remove prefix, suffix, or both).
75
+ *
76
+ * @param {Object} morphologyDataNL The Dutch morphology data.
77
+ * @param {string} word The word (not stemmed) to check.
78
+ *
79
+ * @returns {string|null} The stem or null if no participle was matched.
80
+ */
81
+ const detectAndStemParticiplesWithoutPrefixes = function (morphologyDataNL, word) {
82
+ const geStemTParticipleRegex = new RegExp('^' + morphologyDataNL.pastParticipleStemmer.participleStemmingClasses[0].regex);
83
+
84
+ // Check if it's a ge + stem + t/d participle.
85
+ if (geStemTParticipleRegex.test(word)) {
86
+ // Check if the ge- is actually part of the stem. If yes, stem only the suffix.
87
+ const exception = checkAndStemIfExceptionWithoutGePrefix(morphologyDataNL.pastParticipleStemmer.doNotStemGe, word);
88
+ if (exception) {
89
+ return exception;
90
+ }
91
+
92
+ // Remove the prefix.
93
+ let wordWithoutPrefix = word.slice(2);
94
+
95
+ // Check if stem starts with ë. If yes, replace ë with e.
96
+ if (wordWithoutPrefix.startsWith('ë')) {
97
+ wordWithoutPrefix = 'e' + wordWithoutPrefix.slice(1);
98
+ }
99
+ // Check whether the suffix should be stemmed. If yes, remove it and return the stem.
100
+ if (shouldSuffixBeStemmed(wordWithoutPrefix, morphologyDataNL)) {
101
+ return wordWithoutPrefix.slice(0, -1);
102
+ }
103
+ return wordWithoutPrefix;
104
+ }
105
+ return null;
106
+ };
107
+
108
+ /**
109
+ * Determines whether a given participle pattern combined with prefixes from a given class (separable or inseparable)
110
+ * applies to a given word and if so, returns the stem.
111
+ *
112
+ * @param {Object} morphologyDataNL The Dutch morphology data.
113
+ * @param {string} word The word (not stemmed) to check.
114
+ * @param {boolean} separable Whether the prefix is separable or not.
115
+ * @param {string[]} prefixes The prefixes of a certain prefix class.
116
+ * @param {string} regexPart The regex part for a given class (completed to a full regex within the function).
117
+ *
118
+ * @returns {string|null} The stem or null if no prefixed participle was matched.
119
+ */
120
+ const detectAndStemParticiplePerPrefixClass = function (morphologyDataNL, word, separable, prefixes, regexPart) {
121
+ for (const currentPrefix of prefixes) {
122
+ const participleRegex = new RegExp('^' + currentPrefix + regexPart);
123
+ if (participleRegex.test(word)) {
124
+ let wordWithoutPrefix = word.slice(currentPrefix.length - word.length);
125
+ /*
126
+ * After removing a separable prefix, check whether the ge- belongs to the stem (e.g. the -ge- in opgebruikt).
127
+ * If it does, stem only the suffix.
128
+ */
129
+ if (separable) {
130
+ const exception = checkAndStemIfExceptionWithoutGePrefix(morphologyDataNL.pastParticipleStemmer.doNotStemGe, wordWithoutPrefix);
131
+ if (exception) {
132
+ return currentPrefix + exception;
133
+ }
134
+ wordWithoutPrefix = wordWithoutPrefix.slice(2);
135
+ }
136
+ // Check whether stem starts with ë. If yes, replace ë with e.
137
+ if (wordWithoutPrefix.startsWith('ë')) {
138
+ wordWithoutPrefix = 'e' + wordWithoutPrefix.slice(1);
139
+ }
140
+ if (shouldSuffixBeStemmed(wordWithoutPrefix, morphologyDataNL)) {
141
+ return currentPrefix + wordWithoutPrefix.slice(0, -1);
142
+ }
143
+ return currentPrefix + wordWithoutPrefix;
144
+ }
145
+ }
146
+ return null;
147
+ };
148
+
149
+ /**
150
+ * Detects whether a word is a regular participle of a compound verb. A compound verb has a prefix in addition to, or instead of, ge-.
151
+ * For example, afgemaakt has the separable prefix af-, and beantwoord has the inseparable prefix be-. If a participle
152
+ * of a compound verb is detected, it is stemmed by removing the ge- (in case of a verb with a separable prefix) and the suffix -t or -d.
153
+ *
154
+ * @param {Object} morphologyDataNL The Dutch morphology data.
155
+ * @param {string} word The word (not stemmed) to check.
156
+ *
157
+ * @returns {string|null} The stem or null if no participle with prefix was matched.
158
+ */
159
+ const detectAndStemParticiplesWithPrefixes = function (morphologyDataNL, word) {
160
+ /*
161
+ * It's important to preserve order here, since the ge + stem ending in -t regex is more specific than
162
+ * the stem + t regex, and therefore must be checked first.
163
+ */
164
+ for (const participleClass of morphologyDataNL.pastParticipleStemmer.participleStemmingClasses) {
165
+ const regex = participleClass.regex;
166
+ const separable = participleClass.separable;
167
+ const prefixes = separable ? morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes.separable : morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes.inseparable;
168
+ const stem = detectAndStemParticiplePerPrefixClass(morphologyDataNL, word, separable, prefixes, regex);
169
+ if (stem) {
170
+ return stem;
171
+ }
172
+ }
173
+ return null;
174
+ };
175
+
176
+ /**
177
+ * Checks whether the word is on the list of participles that do not need to be stemmed, because the participle form
178
+ * is the same as the stem.
179
+ *
180
+ * @param {string[]} dataParticiplesSameAsStem The list of exceptions whose stem is the same as the participle.
181
+ * @param {string} word The word to check.
182
+ * @returns {boolean} Whether the word is found on the exception list.
183
+ */
184
+ const checkIfParticipleIsSameAsStem = function (dataParticiplesSameAsStem, word) {
185
+ return dataParticiplesSameAsStem.includes(word);
186
+ };
187
+
188
+ /**
189
+ * Check whether the word is on an exception list of past participles with inseparable prefixes and ending in -end.
190
+ * If not, stem the word that starts with an inseparable verb prefix and ends in -end as a present participle.
191
+ *
192
+ * @param {array} inseparablePrefixes The list of inseparable prefixes.
193
+ * @param {array} dataExceptionListToCheck The list of the exception words.
194
+ * @param {array} finalChangesRules The array of regex-based rules to be applied to the stem.
195
+ * @param {string} word The (unstemmed) word to check.
196
+ *
197
+ * @returns {null|string} The stemmed word or null if the word was found on the exception list.
198
+ */
199
+ const checkAndStemIfInseparablePrefixWithEndEnding = function (inseparablePrefixes, dataExceptionListToCheck, finalChangesRules, word) {
200
+ const startsWithInseparablePrefix = inseparablePrefixes.map(prefix => word.startsWith(prefix)).some(value => value === true);
201
+ if (startsWithInseparablePrefix && word.endsWith('end') && !dataExceptionListToCheck.includes(word)) {
202
+ return (0, _stemModificationHelpers.modifyStem)(word.slice(0, -3), finalChangesRules);
203
+ }
204
+ return null;
205
+ };
206
+
207
+ /**
208
+ * Detects whether a word is a regular participle and if so, returns the stem.
209
+ *
210
+ * @param {Object} morphologyDataNL The Dutch morphology data.
211
+ * @param {string} word The word (not stemmed) to check.
212
+ *
213
+ * @returns {string|null} The participle stem or null if no regular participle was matched.
214
+ */
215
+ function detectAndStemRegularParticiple(morphologyDataNL, word) {
216
+ // Check whether the word is not a participle. If it is not, return empty string.
217
+ if (word.endsWith('heid') || word.endsWith('teit') || word.endsWith('tijd') || _nonParticiples.default.includes(word)) {
218
+ return '';
219
+ }
220
+
221
+ /**
222
+ * Check whether the word is on an exception list of verbs whose participle is the same as the stem. If the word is found
223
+ * on the list, return the stem.
224
+ */
225
+ if (checkIfParticipleIsSameAsStem(morphologyDataNL.pastParticipleStemmer.inseparableCompoundVerbsNotToBeStemmed, word)) {
226
+ return word;
227
+ }
228
+
229
+ // Check and stem if the word is a participle without any separable or inseparable prefix
230
+ let stem = detectAndStemParticiplesWithoutPrefixes(morphologyDataNL, word);
231
+ if (stem) {
232
+ return stem;
233
+ }
234
+
235
+ /**
236
+ * Check whether the word is on an exception list of inseparable compound verbs with a prefix that is usually separable.
237
+ * If it is, remove just the suffix and return the stem.
238
+ */
239
+ stem = checkAndStemIfExceptionWithoutGePrefix(morphologyDataNL.pastParticipleStemmer.inseparableCompoundVerbs, word);
240
+ if (stem) {
241
+ return stem;
242
+ }
243
+
244
+ /**
245
+ * Check whether the word is on an exception list of past participles with inseparable prefixes and ending in -end.
246
+ * If not, stem the word that starts with an inseparable verb prefix and ends in -end as a present participle.
247
+ */
248
+ stem = checkAndStemIfInseparablePrefixWithEndEnding(morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes.inseparable, morphologyDataNL.pastParticipleStemmer.pastParticiplesEndingOnEnd, morphologyDataNL.regularStemmer.stemModifications.finalChanges, word);
249
+ if (stem) {
250
+ return stem;
251
+ }
252
+
253
+ // Check and stem if the word is a participle with a separable or inseparable prefix
254
+ stem = detectAndStemParticiplesWithPrefixes(morphologyDataNL, word);
255
+ if (stem) {
256
+ return stem;
257
+ }
258
+ return null;
259
+ }
260
+ //# sourceMappingURL=detectAndStemRegularParticiple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectAndStemRegularParticiple.js","names":["_index","require","_nonParticiples","_interopRequireDefault","_stemModificationHelpers","e","__esModule","default","regexHelpers","doesWordMatchRegex","languageProcessing","checkAndStemIfExceptionWithoutGePrefix","dataExceptionListToCheck","word","includes","slice","shouldSuffixBeStemmed","wordWithoutPrefix","morphologyDataNL","endsWith","exceptionsTShouldBeStemmed","ambiguousTAndDEndings","wordsTShouldBeStemmed","tOrDArePartOfStem","tEnding","exceptionsTShouldNotBeStemmed","stemExceptions","wordsNotToBeStemmedExceptions","verbs","exceptionsDShouldNotBeStemmed","pastParticipleStemmer","doNotStemD","detectAndStemParticiplesWithoutPrefixes","geStemTParticipleRegex","RegExp","participleStemmingClasses","regex","test","exception","doNotStemGe","startsWith","detectAndStemParticiplePerPrefixClass","separable","prefixes","regexPart","currentPrefix","participleRegex","length","detectAndStemParticiplesWithPrefixes","participleClass","compoundVerbsPrefixes","inseparable","stem","checkIfParticipleIsSameAsStem","dataParticiplesSameAsStem","checkAndStemIfInseparablePrefixWithEndEnding","inseparablePrefixes","finalChangesRules","startsWithInseparablePrefix","map","prefix","some","value","modifyStem","detectAndStemRegularParticiple","nonParticiples","inseparableCompoundVerbsNotToBeStemmed","inseparableCompoundVerbs","pastParticiplesEndingOnEnd","regularStemmer","stemModifications","finalChanges"],"sources":["../../../../../../src/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js"],"sourcesContent":["import {languageProcessing} from '../../../index';\nconst {\n regexHelpers: {doesWordMatchRegex}\n} = languageProcessing;\n\nimport nonParticiples from '../../config/internal/nonParticiples.js';\nimport {modifyStem} from './stemModificationHelpers';\n\n/**\n * Checks whether the word is on an exception list of participles that do not have a ge- prefix. If it is found on the list,\n * remove only the last letter (the suffix).\n *\n * @param {array} dataExceptionListToCheck The list of the exception words.\n * @param {string} word \tThe (unstemmed) word to check.\n *\n * @returns {null|string} The stemmed word or null if the word was not found on the exception list.\n */\nconst checkAndStemIfExceptionWithoutGePrefix = function(dataExceptionListToCheck, word) {\n if (dataExceptionListToCheck.includes(word)) {\n return word.slice(0, -1);\n }\n return null;\n};\n\n/**\n * Checks whether a word that was detected as a participle should not have the suffix (-t or -d) removed because it is part\n * of the stem. For example, in the participle 'geantwoord', the -d belongs to the stem so it should not be removed.\n * The checks are conducted on the word without the prefix, so 'antwoord' in the case of 'geantwoord'.\n *\n * For words ending in -t, there are three checks:\n * 1) An exception list (exceptions to a rule) containing words where -t SHOULD be stemmed,\n * 2) The rule, defined using a regex with word endings where -t is part of the stem,\n * 3) A list of verbs with stem ending in -t, to cover cases that were not possible to find using a regex.\n *\n * For words ending in -d, we check a list of verbs with stem ending in -d.\n *\n * @param {string}\twordWithoutPrefix\tThe word without prefix(es).\n * @param {Object}\tmorphologyDataNL\tThe Dutch morphology data.\n *\n * @returns {boolean}\t\t\t\t\tWhether the suffix should be stemmed.\n */\nconst shouldSuffixBeStemmed = function(wordWithoutPrefix, morphologyDataNL) {\n if (wordWithoutPrefix.endsWith('t')) {\n // Return true (suffix should be stemmed) if word was found on the exception list of verbs which should have the final -t stemmed.\n const exceptionsTShouldBeStemmed = morphologyDataNL.ambiguousTAndDEndings.wordsTShouldBeStemmed;\n if (exceptionsTShouldBeStemmed.includes(wordWithoutPrefix)) {\n return true;\n }\n // Return false (suffix should not be stemmed) if word matches the regex for stems ending in -t.\n if (\n doesWordMatchRegex(\n wordWithoutPrefix,\n morphologyDataNL.ambiguousTAndDEndings.tOrDArePartOfStem.tEnding\n )\n ) {\n return false;\n }\n /*\n * Return false (suffix should not be stemmed) if the word was found on the list of verbs with stem ending in -t (e.g. haast)\n * Otherwise, return true (if no checks are matched, the default condition is for -t to be stemmed).\n */\n const exceptionsTShouldNotBeStemmed =\n morphologyDataNL.stemExceptions.wordsNotToBeStemmedExceptions.verbs;\n return !exceptionsTShouldNotBeStemmed.includes(wordWithoutPrefix);\n }\n const exceptionsDShouldNotBeStemmed = morphologyDataNL.pastParticipleStemmer.doNotStemD;\n return !exceptionsDShouldNotBeStemmed.includes(wordWithoutPrefix);\n};\n\n/**\n * Detects whether a word is a participle of a regular verb without prefixes other than ge-. If it is, checks whether\n * the word is an exception that should not have the prefix or the suffix stemmed. Then stems the word accordingly\n * (remove prefix, suffix, or both).\n *\n * @param {Object} morphologyDataNL\tThe Dutch morphology data.\n * @param {string} word The word (not stemmed) to check.\n *\n * @returns {string|null} The stem or null if no participle was matched.\n */\nconst detectAndStemParticiplesWithoutPrefixes = function(morphologyDataNL, word) {\n const geStemTParticipleRegex = new RegExp(\n '^' + morphologyDataNL.pastParticipleStemmer.participleStemmingClasses[0].regex\n );\n\n // Check if it's a ge + stem + t/d participle.\n if (geStemTParticipleRegex.test(word)) {\n // Check if the ge- is actually part of the stem. If yes, stem only the suffix.\n const exception = checkAndStemIfExceptionWithoutGePrefix(\n morphologyDataNL.pastParticipleStemmer.doNotStemGe,\n word\n );\n if (exception) {\n return exception;\n }\n\n // Remove the prefix.\n let wordWithoutPrefix = word.slice(2);\n\n // Check if stem starts with ë. If yes, replace ë with e.\n if (wordWithoutPrefix.startsWith('ë')) {\n wordWithoutPrefix = 'e' + wordWithoutPrefix.slice(1);\n }\n // Check whether the suffix should be stemmed. If yes, remove it and return the stem.\n if (shouldSuffixBeStemmed(wordWithoutPrefix, morphologyDataNL)) {\n return wordWithoutPrefix.slice(0, -1);\n }\n\n return wordWithoutPrefix;\n }\n\n return null;\n};\n\n/**\n * Determines whether a given participle pattern combined with prefixes from a given class (separable or inseparable)\n * applies to a given word and if so, returns the stem.\n *\n * @param {Object} morphologyDataNL \tThe Dutch morphology data.\n * @param {string} word \t\tThe word (not stemmed) to check.\n * @param {boolean} separable \t\t\tWhether the prefix is separable or not.\n * @param {string[]} prefixes \t\tThe prefixes of a certain prefix class.\n * @param {string} regexPart \t\tThe regex part for a given class (completed to a full regex within the function).\n *\n * @returns {string|null} The stem or null if no prefixed participle was matched.\n */\nconst detectAndStemParticiplePerPrefixClass = function(\n morphologyDataNL,\n word,\n separable,\n prefixes,\n regexPart\n) {\n for (const currentPrefix of prefixes) {\n const participleRegex = new RegExp('^' + currentPrefix + regexPart);\n\n if (participleRegex.test(word)) {\n let wordWithoutPrefix = word.slice(currentPrefix.length - word.length);\n /*\n * After removing a separable prefix, check whether the ge- belongs to the stem (e.g. the -ge- in opgebruikt).\n * If it does, stem only the suffix.\n */\n if (separable) {\n const exception = checkAndStemIfExceptionWithoutGePrefix(\n morphologyDataNL.pastParticipleStemmer.doNotStemGe,\n wordWithoutPrefix\n );\n if (exception) {\n return currentPrefix + exception;\n }\n wordWithoutPrefix = wordWithoutPrefix.slice(2);\n }\n // Check whether stem starts with ë. If yes, replace ë with e.\n if (wordWithoutPrefix.startsWith('ë')) {\n wordWithoutPrefix = 'e' + wordWithoutPrefix.slice(1);\n }\n\n if (shouldSuffixBeStemmed(wordWithoutPrefix, morphologyDataNL)) {\n return currentPrefix + wordWithoutPrefix.slice(0, -1);\n }\n return currentPrefix + wordWithoutPrefix;\n }\n }\n\n return null;\n};\n\n/**\n * Detects whether a word is a regular participle of a compound verb. A compound verb has a prefix in addition to, or instead of, ge-.\n * For example, afgemaakt has the separable prefix af-, and beantwoord has the inseparable prefix be-. If a participle\n * of a compound verb is detected, it is stemmed by removing the ge- (in case of a verb with a separable prefix) and the suffix -t or -d.\n *\n * @param {Object} morphologyDataNL \tThe Dutch morphology data.\n * @param {string} word The word (not stemmed) to check.\n *\n * @returns {string|null} The stem or null if no participle with prefix was matched.\n */\nconst detectAndStemParticiplesWithPrefixes = function(morphologyDataNL, word) {\n /*\n * It's important to preserve order here, since the ge + stem ending in -t regex is more specific than\n * the stem + t regex, and therefore must be checked first.\n */\n for (const participleClass of morphologyDataNL.pastParticipleStemmer.participleStemmingClasses) {\n const regex = participleClass.regex;\n const separable = participleClass.separable;\n\n const prefixes = separable\n ? morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes.separable\n : morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes.inseparable;\n\n const stem = detectAndStemParticiplePerPrefixClass(\n morphologyDataNL,\n word,\n separable,\n prefixes,\n regex\n );\n\n if (stem) {\n return stem;\n }\n }\n\n return null;\n};\n\n/**\n * Checks whether the word is on the list of participles that do not need to be stemmed, because the participle form\n * is the same as the stem.\n *\n * @param {string[]} dataParticiplesSameAsStem\tThe list of exceptions whose stem is the same as the participle.\n * @param {string} \t word\t\t\t\t\t\tThe word to check.\n * @returns {boolean} Whether the word is found on the exception list.\n */\nconst checkIfParticipleIsSameAsStem = function(dataParticiplesSameAsStem, word) {\n return dataParticiplesSameAsStem.includes(word);\n};\n\n/**\n * Check whether the word is on an exception list of past participles with inseparable prefixes and ending in -end.\n * If not, stem the word that starts with an inseparable verb prefix and ends in -end as a present participle.\n *\n * @param {array} inseparablePrefixes The list of inseparable prefixes.\n * @param {array} dataExceptionListToCheck The list of the exception words.\n * @param {array} finalChangesRules The array of regex-based rules to be applied to the stem.\n * @param {string} word \t The (unstemmed) word to check.\n *\n * @returns {null|string} The stemmed word or null if the word was found on the exception list.\n */\nconst checkAndStemIfInseparablePrefixWithEndEnding = function(\n inseparablePrefixes,\n dataExceptionListToCheck,\n finalChangesRules,\n word\n) {\n const startsWithInseparablePrefix = inseparablePrefixes\n .map(prefix => word.startsWith(prefix))\n .some(value => value === true);\n\n if (\n startsWithInseparablePrefix &&\n word.endsWith('end') &&\n !dataExceptionListToCheck.includes(word)\n ) {\n return modifyStem(word.slice(0, -3), finalChangesRules);\n }\n return null;\n};\n\n/**\n * Detects whether a word is a regular participle and if so, returns the stem.\n *\n * @param {Object} morphologyDataNL \tThe Dutch morphology data.\n * @param {string} word The word (not stemmed) to check.\n *\n * @returns {string|null} The participle stem or null if no regular participle was matched.\n */\nexport function detectAndStemRegularParticiple(morphologyDataNL, word) {\n // Check whether the word is not a participle. If it is not, return empty string.\n if (\n word.endsWith('heid') ||\n word.endsWith('teit') ||\n word.endsWith('tijd') ||\n nonParticiples.includes(word)\n ) {\n return '';\n }\n\n /**\n * Check whether the word is on an exception list of verbs whose participle is the same as the stem. If the word is found\n * on the list, return the stem.\n */\n if (\n checkIfParticipleIsSameAsStem(\n morphologyDataNL.pastParticipleStemmer.inseparableCompoundVerbsNotToBeStemmed,\n word\n )\n ) {\n return word;\n }\n\n // Check and stem if the word is a participle without any separable or inseparable prefix\n let stem = detectAndStemParticiplesWithoutPrefixes(morphologyDataNL, word);\n\n if (stem) {\n return stem;\n }\n\n /**\n * Check whether the word is on an exception list of inseparable compound verbs with a prefix that is usually separable.\n * If it is, remove just the suffix and return the stem.\n */\n stem = checkAndStemIfExceptionWithoutGePrefix(\n morphologyDataNL.pastParticipleStemmer.inseparableCompoundVerbs,\n word\n );\n\n if (stem) {\n return stem;\n }\n\n /**\n * Check whether the word is on an exception list of past participles with inseparable prefixes and ending in -end.\n * If not, stem the word that starts with an inseparable verb prefix and ends in -end as a present participle.\n */\n stem = checkAndStemIfInseparablePrefixWithEndEnding(\n morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes.inseparable,\n morphologyDataNL.pastParticipleStemmer.pastParticiplesEndingOnEnd,\n morphologyDataNL.regularStemmer.stemModifications.finalChanges,\n word\n );\n\n if (stem) {\n return stem;\n }\n\n // Check and stem if the word is a participle with a separable or inseparable prefix\n stem = detectAndStemParticiplesWithPrefixes(morphologyDataNL, word);\n\n if (stem) {\n return stem;\n }\n\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = detectAndStemSuffixes;
7
+ var _stemModificationHelpers = require("./stemModificationHelpers");
8
+ /**
9
+ * @file Dutch stemming algorithm. Adapted from:
10
+ * @author:
11
+ * @copyright
12
+ * All rights reserved.
13
+ * Implementation of the stemming algorithm from http://snowball.tartarus.org/algorithms/dutch/stemmer.html
14
+ * Copyright of the algorithm is: Copyright (c) 2001, Dr Martin Porter and can be found at http://snowball.tartarus.org/license.php
15
+ *
16
+ * Redistribution and use in source and binary forms, with or without modification, is covered by the standard BSD license.
17
+ */
18
+
19
+ /**
20
+ * Determines the start index of the R1 region.
21
+ * R1 is the region after the first non-vowel following a vowel. It should include at least 3 letters.
22
+ *
23
+ * @param {string} word The word for which to determine the R1 region.
24
+ * @returns {number} The start index of the R1 region.
25
+ */
26
+ const determineR1 = function (word) {
27
+ // Start with matching the first cluster that consists of a vowel and a non-vowel.
28
+ let r1Index = word.search(/[aeiouyèäüëïöáéíóú][^aeiouyèäüëïöáéíóú]/);
29
+ // Then add 2 since the R1 index is the index after the first vowel & non-vowel matched with the regex.
30
+ if (r1Index !== -1) {
31
+ r1Index += 2;
32
+ }
33
+
34
+ // Adjust R1 so that the region preceding it includes at least 3 letters.
35
+ if (r1Index !== -1 && r1Index < 3) {
36
+ r1Index = 3;
37
+ }
38
+ return r1Index;
39
+ };
40
+
41
+ /**
42
+ * Searches for suffixes in a word.
43
+ *
44
+ * @param {string} word The word in which to look for suffixes.
45
+ * @param {Object} suffixStep One of the three steps of findings suffixes.
46
+ * @param {number} r1Index The index of the R1 region.
47
+ *
48
+ * @returns {Object} The index of the suffix and extra information about whether, and how, the stem will need to be modified.
49
+ */
50
+ const findSuffix = function (word, suffixStep, r1Index) {
51
+ const suffixStepArray = Object.entries(suffixStep);
52
+ for (const suffixClass of suffixStepArray) {
53
+ const suffixes = suffixClass[1].suffixes;
54
+ const matchedRegex = suffixes.find(suffixRegex => new RegExp(suffixRegex).exec(word));
55
+ if (matchedRegex) {
56
+ const matched = new RegExp(matchedRegex).exec(word);
57
+ const suffix = matched[matched.length - 1];
58
+ const suffixIndex = word.lastIndexOf(suffix);
59
+ if (r1Index !== -1 && suffixIndex >= r1Index) {
60
+ return {
61
+ suffixIndex: suffixIndex,
62
+ stemModification: suffixClass[1].stemModification
63
+ };
64
+ }
65
+ }
66
+ }
67
+ };
68
+
69
+ /**
70
+ * Deletes the suffix and modifies the stem according to the required modifications.
71
+ *
72
+ * @param {string} word The word from which to delete the suffix.
73
+ * @param {Object} suffixStep One of the three steps of deleting a suffix.
74
+ * @param {number} suffixIndex The index of the found suffix.
75
+ * @param {string} stemModification The type of stem modification that needs to be done.
76
+ * @param {Object} morphologyDataNL The Dutch morphology data file.
77
+ * @returns {string} The stemmed and modified word.
78
+ */
79
+ const deleteSuffixAndModifyStem = function (word, suffixStep, suffixIndex, stemModification, morphologyDataNL) {
80
+ if (stemModification === "hedenToHeid") {
81
+ return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.hedenToHeid);
82
+ }
83
+ word = word.substring(0, suffixIndex);
84
+ if (stemModification === "changeIedtoId") {
85
+ return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.iedToId);
86
+ } 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);
90
+ }
91
+ return word;
92
+ };
93
+
94
+ /**
95
+ * Finds and deletes the suffix found in a particular step, and modifies the stem.
96
+ *
97
+ * @param {string} word The word for which to find and delete a suffix.
98
+ * @param {Object} suffixStep One of the three suffix steps.
99
+ * @param {number} r1Index The index of the R1 region.
100
+ * @param {Object} morphologyDataNL The Dutch morphology data file.
101
+ * @returns {string} The word with the deleted suffix.
102
+ */
103
+ const findAndDeleteSuffix = function (word, suffixStep, r1Index, morphologyDataNL) {
104
+ const foundSuffix = findSuffix(word, suffixStep, r1Index);
105
+ if (typeof foundSuffix !== "undefined") {
106
+ word = deleteSuffixAndModifyStem(word, suffixStep, foundSuffix.suffixIndex, foundSuffix.stemModification, morphologyDataNL);
107
+ }
108
+ return word;
109
+ };
110
+
111
+ /**
112
+ * Runs through three stemming steps that process different kinds of suffixes, determines if there is a valid suffix
113
+ * within the R1 region that can be deleted for stemming and deletes it, as well as applies suffix-specific stem
114
+ * modifications if needed.
115
+ *
116
+ * @param {string} word The word for which to find and delete suffixes.
117
+ * @param {Object} suffixSteps All of the suffix steps.
118
+ * @param {number} r1Index The index of the R1 region
119
+ * @param {Object} morphologyDataNL The Dutch morphology data file.
120
+ * @returns {string} The word with the delete suffix.
121
+ */
122
+ const findAndDeleteSuffixes = function (word, suffixSteps, r1Index, morphologyDataNL) {
123
+ const suffixStepsArray = Object.entries(suffixSteps);
124
+ for (const suffixStep of suffixStepsArray) {
125
+ word = findAndDeleteSuffix(word, suffixStep[1], r1Index, morphologyDataNL);
126
+ }
127
+ return word;
128
+ };
129
+
130
+ /**
131
+ * Search for suffixes in a word, remove them if found, and modify the stem if needed.
132
+ *
133
+ * @param {string} word The word to stem.
134
+ * @param {Object} morphologyDataNL The Dutch morphology data file.
135
+ *
136
+ * @returns {string} The stemmed word.
137
+ */
138
+ function detectAndStemSuffixes(word, morphologyDataNL) {
139
+ /*
140
+ * Put i and y in between vowels, initial y, and y after a vowel into upper case. This is because they should
141
+ * be treated as consonants so we want to differentiate them from other i's and y's when matching regexes.
142
+ */
143
+ word = (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.IAndYToUppercase);
144
+
145
+ // Find the start index of the R1 region.
146
+ const r1Index = determineR1(word);
147
+
148
+ // Import the suffixes from all three steps.
149
+ const suffixSteps = morphologyDataNL.regularStemmer.suffixes;
150
+
151
+ // Run through the three steps of possible de-suffixation.
152
+ word = findAndDeleteSuffixes(word, suffixSteps, r1Index, morphologyDataNL);
153
+
154
+ // Do final modifications to the stem.
155
+ return (0, _stemModificationHelpers.modifyStem)(word, morphologyDataNL.regularStemmer.stemModifications.finalChanges);
156
+ }
157
+ //# sourceMappingURL=detectAndStemSuffixes.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,120 @@
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");
9
+ var _stem = _interopRequireDefault(require("./stem"));
10
+ var _stemTOrDFromEndOfWord = require("./stemTOrDFromEndOfWord");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const {
13
+ flattenSortLength,
14
+ exceptionListHelpers: {
15
+ checkExceptionListWithTwoStems
16
+ }
17
+ } = _index.languageProcessing;
18
+ /**
19
+ * 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
+ * E.g. stems: help, hielp, geholp -> the stem returned would be "help".
21
+ *
22
+ * @param {Object} strongVerbsLists The exception lists of strong verbs.
23
+ * @param {string} stemmedWord The word to check.
24
+ * @returns {string} The unique stem.
25
+ */
26
+ const checkStrongVerbExceptionList = function (strongVerbsLists, stemmedWord) {
27
+ for (const key of Object.keys(strongVerbsLists)) {
28
+ for (const stemsSet of strongVerbsLists[key]) {
29
+ const stems = (0, _lodash.flatten)(Object.values(stemsSet));
30
+ if (stems.includes(stemmedWord)) {
31
+ return stems[0];
32
+ }
33
+ }
34
+ }
35
+ };
36
+
37
+ /**
38
+ * 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.
39
+ * 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.
40
+ * E.g. words to check: verhielp, stem set: help, hielp, geholp -> the stem returned would be "verhelp".
41
+ *
42
+ * @param {Object} morphologyDataNL The Dutch morphology data file.
43
+ * @param {string} stemmedWord The word to check.
44
+ *
45
+ * @returns {string} The unique stem.
46
+ */
47
+ const findStemOnVerbExceptionList = function (morphologyDataNL, stemmedWord) {
48
+ const prefixes = flattenSortLength(morphologyDataNL.pastParticipleStemmer.compoundVerbsPrefixes);
49
+ // Check whether the inputted stem is started with one of the separable compound prefixes
50
+ let foundPrefix = prefixes.find(prefix => stemmedWord.startsWith(prefix));
51
+ const doNotStemPrefix = morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.strongAndIrregularVerbs.doNotStemPrefix;
52
+ const doNotStemPrefixException = doNotStemPrefix.find(exception => stemmedWord.endsWith(exception));
53
+ let stemmedWordWithoutPrefix = '';
54
+
55
+ // Check whether the stemmedWord is in the list of strong verbs starting with be-, ont- or ver- that do not need to be stemmed.
56
+ if (doNotStemPrefixException) {
57
+ // Reset foundPrefix so that it won't be attached when the stem is found in the verb exception list.
58
+ foundPrefix = null;
59
+ // If the inputted stem is started with one of the separable compound prefixes, the prefix needs to be deleted for now.
60
+ } else if (foundPrefix) {
61
+ // Delete the prefix for now.
62
+ stemmedWordWithoutPrefix = stemmedWord.slice(foundPrefix.length, stemmedWord.length);
63
+ // At least 3 characters left after prefix deletion so that e.g. "be" is not found in the stem "berg".
64
+ if (stemmedWordWithoutPrefix.length > 2) {
65
+ stemmedWord = stemmedWordWithoutPrefix;
66
+ } else {
67
+ // Reset foundPrefix so that it won't be attached when the stem is found in the verb exception list.
68
+ foundPrefix = null;
69
+ }
70
+ }
71
+ const strongVerbExceptions = morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.strongAndIrregularVerbs.strongVerbStems;
72
+ // Find stem strong verbs lists.
73
+ const strongVerbsExceptionLists = [strongVerbExceptions.irregularStrongVerbs, strongVerbExceptions.regularStrongVerbs, strongVerbExceptions.bothRegularAndIrregularStrongVerbs];
74
+ for (let i = 0; i < strongVerbsExceptionLists.length; i++) {
75
+ const checkIfWordIsException = checkStrongVerbExceptionList(strongVerbsExceptionLists[i], stemmedWord);
76
+ if (checkIfWordIsException) {
77
+ // If the word checked had a prefix previously, attach it back.
78
+ if (foundPrefix) {
79
+ return foundPrefix + checkStrongVerbExceptionList(strongVerbsExceptionLists[i], stemmedWord);
80
+ }
81
+ // If the word checked did not have a prefix previously, only return the first stem.
82
+ return checkStrongVerbExceptionList(strongVerbsExceptionLists[i], stemmedWord);
83
+ }
84
+ }
85
+ };
86
+
87
+ /**
88
+ * Return the unique stem for a given Dutch input word.
89
+ *
90
+ * @param {string} word The word to be checked.
91
+ * @param {Object} morphologyDataNL The Dutch data file.
92
+ *
93
+ * @returns {string} The unique stem.
94
+ */
95
+ function determineStem(word, morphologyDataNL) {
96
+ const stemmedWord = (0, _stem.default)(word, morphologyDataNL);
97
+
98
+ // Check whether the stemmed word is on an exception list of words with multiple stems. If it is, return the canonical stem.
99
+ let stemFromExceptionList = checkExceptionListWithTwoStems(morphologyDataNL.stemExceptions.stemmingExceptionsWithMultipleStems.stemmingExceptionsWithTwoStems, stemmedWord);
100
+ if (stemFromExceptionList) {
101
+ return stemFromExceptionList;
102
+ }
103
+ stemFromExceptionList = findStemOnVerbExceptionList(morphologyDataNL, stemmedWord);
104
+ if (stemFromExceptionList) {
105
+ return stemFromExceptionList;
106
+ }
107
+
108
+ // 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.
109
+ const ambiguousEndings = morphologyDataNL.ambiguousTAndDEndings.tAndDEndings;
110
+ for (const ending of ambiguousEndings) {
111
+ if (stemmedWord.endsWith(ending)) {
112
+ const stemmedWordWithoutTOrD = (0, _stemTOrDFromEndOfWord.stemTOrDFromEndOfWord)(morphologyDataNL, stemmedWord, word);
113
+ if (stemmedWordWithoutTOrD) {
114
+ return stemmedWordWithoutTOrD;
115
+ }
116
+ }
117
+ }
118
+ return stemmedWord;
119
+ }
120
+ //# sourceMappingURL=determineStem.js.map