axyseo 2.0.0-alpha.2 → 2.1.0

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 (1255) hide show
  1. package/build/config/diacritics.js +1 -7
  2. package/build/config/diacritics.js.map +1 -1
  3. package/build/config/getTransliterations.js +6 -14
  4. package/build/config/getTransliterations.js.map +1 -1
  5. package/build/config/transliterationsWPstyle.js +5 -12
  6. package/build/config/transliterationsWPstyle.js.map +1 -1
  7. package/build/config/wordBoundaries.js +1 -7
  8. package/build/config/wordBoundaries.js.map +1 -1
  9. package/build/config/wordBoundariesWithoutPunctuation.js +2 -8
  10. package/build/config/wordBoundariesWithoutPunctuation.js.map +1 -1
  11. package/build/const/analysis.js +32 -11
  12. package/build/const/analysis.js.map +1 -1
  13. package/build/errors/invalidType.js +1 -8
  14. package/build/errors/invalidType.js.map +1 -1
  15. package/build/errors/missingArgument.js +1 -8
  16. package/build/errors/missingArgument.js.map +1 -1
  17. package/build/helpers/createMeasurementElement.js +1 -8
  18. package/build/helpers/createMeasurementElement.js.map +1 -1
  19. package/build/helpers/domManipulation.js +3 -8
  20. package/build/helpers/domManipulation.js.map +1 -1
  21. package/build/helpers/errors.js +5 -10
  22. package/build/helpers/errors.js.map +1 -1
  23. package/build/helpers/factory.js +7 -13
  24. package/build/helpers/factory.js.map +1 -1
  25. package/build/helpers/formatNumber.js +1 -7
  26. package/build/helpers/formatNumber.js.map +1 -1
  27. package/build/helpers/formatString.js +4 -9
  28. package/build/helpers/formatString.js.map +1 -1
  29. package/build/helpers/getLanguagesWithWordComplexity.js +1 -7
  30. package/build/helpers/getLanguagesWithWordComplexity.js.map +1 -1
  31. package/build/helpers/getLanguagesWithWordFormSupport.js +1 -7
  32. package/build/helpers/getLanguagesWithWordFormSupport.js.map +1 -1
  33. package/build/helpers/getWordComplexityConfig.js +9 -15
  34. package/build/helpers/getWordComplexityConfig.js.map +1 -1
  35. package/build/helpers/getWordComplexityHelper.js +9 -15
  36. package/build/helpers/getWordComplexityHelper.js.map +1 -1
  37. package/build/helpers/htmlEntities.js +6 -11
  38. package/build/helpers/htmlEntities.js.map +1 -1
  39. package/build/helpers/includesAny.js +3 -8
  40. package/build/helpers/includesAny.js.map +1 -1
  41. package/build/helpers/index.js +30 -72
  42. package/build/helpers/index.js.map +1 -1
  43. package/build/helpers/shortlinker/Shortlinker.js +1 -8
  44. package/build/helpers/shortlinker/Shortlinker.js.map +1 -1
  45. package/build/helpers/shortlinker/index.js +1 -16
  46. package/build/helpers/shortlinker/index.js.map +1 -1
  47. package/build/helpers/shortlinker/singleton.js +5 -13
  48. package/build/helpers/shortlinker/singleton.js.map +1 -1
  49. package/build/helpers/types.js +2 -9
  50. package/build/helpers/types.js.map +1 -1
  51. package/build/index.js +25 -87
  52. package/build/index.js.map +1 -1
  53. package/build/languageProcessing/AbstractResearcher.js +88 -95
  54. package/build/languageProcessing/AbstractResearcher.js.map +1 -1
  55. package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +3 -10
  56. package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js.map +1 -1
  57. package/build/languageProcessing/helpers/html/getFieldsToMark.js +6 -11
  58. package/build/languageProcessing/helpers/html/getFieldsToMark.js.map +1 -1
  59. package/build/languageProcessing/helpers/html/getSubheadingTexts.js +3 -8
  60. package/build/languageProcessing/helpers/html/getSubheadingTexts.js.map +1 -1
  61. package/build/languageProcessing/helpers/html/getSubheadings.js +2 -12
  62. package/build/languageProcessing/helpers/html/getSubheadings.js.map +1 -1
  63. package/build/languageProcessing/helpers/html/html.js +9 -17
  64. package/build/languageProcessing/helpers/html/html.js.map +1 -1
  65. package/build/languageProcessing/helpers/html/htmlParser.js +3 -10
  66. package/build/languageProcessing/helpers/html/htmlParser.js.map +1 -1
  67. package/build/languageProcessing/helpers/html/matchParagraphs.js +7 -12
  68. package/build/languageProcessing/helpers/html/matchParagraphs.js.map +1 -1
  69. package/build/languageProcessing/helpers/html/normalizeHTML.js +4 -10
  70. package/build/languageProcessing/helpers/html/normalizeHTML.js.map +1 -1
  71. package/build/languageProcessing/helpers/image/getAltAttribute.js +3 -9
  72. package/build/languageProcessing/helpers/image/getAltAttribute.js.map +1 -1
  73. package/build/languageProcessing/helpers/image/getImagesInTree.js +1 -7
  74. package/build/languageProcessing/helpers/image/getImagesInTree.js.map +1 -1
  75. package/build/languageProcessing/helpers/image/imageInText.js +5 -12
  76. package/build/languageProcessing/helpers/image/imageInText.js.map +1 -1
  77. package/build/languageProcessing/helpers/index.js +5 -40
  78. package/build/languageProcessing/helpers/index.js.map +1 -1
  79. package/build/languageProcessing/helpers/language/getLanguage.js +1 -7
  80. package/build/languageProcessing/helpers/language/getLanguage.js.map +1 -1
  81. package/build/languageProcessing/helpers/link/checkNofollow.js +3 -10
  82. package/build/languageProcessing/helpers/link/checkNofollow.js.map +1 -1
  83. package/build/languageProcessing/helpers/link/getAnchorsFromText.js +1 -7
  84. package/build/languageProcessing/helpers/link/getAnchorsFromText.js.map +1 -1
  85. package/build/languageProcessing/helpers/link/getLinkType.js +7 -13
  86. package/build/languageProcessing/helpers/link/getLinkType.js.map +1 -1
  87. package/build/languageProcessing/helpers/match/findKeywordFormsInString.js +10 -17
  88. package/build/languageProcessing/helpers/match/findKeywordFormsInString.js.map +1 -1
  89. package/build/languageProcessing/helpers/match/isDoubleQuoted.js +4 -10
  90. package/build/languageProcessing/helpers/match/isDoubleQuoted.js.map +1 -1
  91. package/build/languageProcessing/helpers/match/matchTextWithArray.js +6 -12
  92. package/build/languageProcessing/helpers/match/matchTextWithArray.js.map +1 -1
  93. package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js +16 -22
  94. package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js.map +1 -1
  95. package/build/languageProcessing/helpers/match/matchTextWithWord.js +17 -23
  96. package/build/languageProcessing/helpers/match/matchTextWithWord.js.map +1 -1
  97. package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js +7 -15
  98. package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js.map +1 -1
  99. package/build/languageProcessing/helpers/match/processExactMatchRequest.js +3 -9
  100. package/build/languageProcessing/helpers/match/processExactMatchRequest.js.map +1 -1
  101. package/build/languageProcessing/helpers/morphology/baseStemmer.js +1 -7
  102. package/build/languageProcessing/helpers/morphology/baseStemmer.js.map +1 -1
  103. package/build/languageProcessing/helpers/morphology/buildFormRule.js +1 -7
  104. package/build/languageProcessing/helpers/morphology/buildFormRule.js.map +1 -1
  105. package/build/languageProcessing/helpers/morphology/buildTopicStems.js +13 -23
  106. package/build/languageProcessing/helpers/morphology/buildTopicStems.js.map +1 -1
  107. package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js +2 -9
  108. package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js.map +1 -1
  109. package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js +5 -13
  110. package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js.map +1 -1
  111. package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +1 -7
  112. package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js.map +1 -1
  113. package/build/languageProcessing/helpers/morphology/flattenSortLength.js +3 -8
  114. package/build/languageProcessing/helpers/morphology/flattenSortLength.js.map +1 -1
  115. package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +12 -18
  116. package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js.map +1 -1
  117. package/build/languageProcessing/helpers/morphology/regexHelpers.js +3 -11
  118. package/build/languageProcessing/helpers/morphology/regexHelpers.js.map +1 -1
  119. package/build/languageProcessing/helpers/morphology/stemHelpers.js +2 -9
  120. package/build/languageProcessing/helpers/morphology/stemHelpers.js.map +1 -1
  121. package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +1 -7
  122. package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js.map +1 -1
  123. package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +5 -11
  124. package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js.map +1 -1
  125. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +9 -15
  126. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js.map +1 -1
  127. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +9 -15
  128. package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js.map +1 -1
  129. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +28 -34
  130. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js.map +1 -1
  131. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +1 -7
  132. package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js.map +1 -1
  133. package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +3 -8
  134. package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js.map +1 -1
  135. package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +5 -11
  136. package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js.map +1 -1
  137. package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js +16 -28
  138. package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js.map +1 -1
  139. package/build/languageProcessing/helpers/regex/createRegexFromArray.js +10 -16
  140. package/build/languageProcessing/helpers/regex/createRegexFromArray.js.map +1 -1
  141. package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +4 -10
  142. package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js.map +1 -1
  143. package/build/languageProcessing/helpers/regex/createWordRegex.js +12 -18
  144. package/build/languageProcessing/helpers/regex/createWordRegex.js.map +1 -1
  145. package/build/languageProcessing/helpers/regex/matchStringWithRegex.js +1 -7
  146. package/build/languageProcessing/helpers/regex/matchStringWithRegex.js.map +1 -1
  147. package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +1 -7
  148. package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js.map +1 -1
  149. package/build/languageProcessing/helpers/sanitize/doubleQuotes.js +1 -7
  150. package/build/languageProcessing/helpers/sanitize/doubleQuotes.js.map +1 -1
  151. package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +3 -11
  152. package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js.map +1 -1
  153. package/build/languageProcessing/helpers/sanitize/mergeListItems.js +1 -7
  154. package/build/languageProcessing/helpers/sanitize/mergeListItems.js.map +1 -1
  155. package/build/languageProcessing/helpers/sanitize/parseSynonyms.js +5 -11
  156. package/build/languageProcessing/helpers/sanitize/parseSynonyms.js.map +1 -1
  157. package/build/languageProcessing/helpers/sanitize/quotes.js +4 -12
  158. package/build/languageProcessing/helpers/sanitize/quotes.js.map +1 -1
  159. package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js +1 -7
  160. package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js.map +1 -1
  161. package/build/languageProcessing/helpers/sanitize/removePunctuation.js +7 -13
  162. package/build/languageProcessing/helpers/sanitize/removePunctuation.js.map +1 -1
  163. package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +1 -7
  164. package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js.map +1 -1
  165. package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +1 -7
  166. package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js.map +1 -1
  167. package/build/languageProcessing/helpers/sanitize/removeURLs.js +1 -7
  168. package/build/languageProcessing/helpers/sanitize/removeURLs.js.map +1 -1
  169. package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +1 -7
  170. package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js.map +1 -1
  171. package/build/languageProcessing/helpers/sanitize/sanitizeString.js +5 -10
  172. package/build/languageProcessing/helpers/sanitize/sanitizeString.js.map +1 -1
  173. package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js +7 -16
  174. package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js.map +1 -1
  175. package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js +4 -10
  176. package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js.map +1 -1
  177. package/build/languageProcessing/helpers/sanitize/stripNumbers.js +4 -10
  178. package/build/languageProcessing/helpers/sanitize/stripNumbers.js.map +1 -1
  179. package/build/languageProcessing/helpers/sanitize/stripSpaces.js +1 -7
  180. package/build/languageProcessing/helpers/sanitize/stripSpaces.js.map +1 -1
  181. package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js +2 -10
  182. package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js.map +1 -1
  183. package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js +2 -11
  184. package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js.map +1 -1
  185. package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js +22 -29
  186. package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js.map +1 -1
  187. package/build/languageProcessing/helpers/sentence/countSentences.js +4 -10
  188. package/build/languageProcessing/helpers/sentence/countSentences.js.map +1 -1
  189. package/build/languageProcessing/helpers/sentence/getSentences.js +13 -20
  190. package/build/languageProcessing/helpers/sentence/getSentences.js.map +1 -1
  191. package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js +2 -9
  192. package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js.map +1 -1
  193. package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +4 -10
  194. package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js.map +1 -1
  195. package/build/languageProcessing/helpers/sentence/sentencesLength.js +7 -13
  196. package/build/languageProcessing/helpers/sentence/sentencesLength.js.map +1 -1
  197. package/build/languageProcessing/helpers/syllables/DeviationFragment.js +5 -11
  198. package/build/languageProcessing/helpers/syllables/DeviationFragment.js.map +1 -1
  199. package/build/languageProcessing/helpers/syllables/countSyllables.js +23 -30
  200. package/build/languageProcessing/helpers/syllables/countSyllables.js.map +1 -1
  201. package/build/languageProcessing/helpers/syllables/syllableCountIterator.js +7 -14
  202. package/build/languageProcessing/helpers/syllables/syllableCountIterator.js.map +1 -1
  203. package/build/languageProcessing/helpers/syllables/syllableCountStep.js +5 -12
  204. package/build/languageProcessing/helpers/syllables/syllableCountStep.js.map +1 -1
  205. package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js +1 -7
  206. package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js.map +1 -1
  207. package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js +4 -10
  208. package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js.map +1 -1
  209. package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js +12 -23
  210. package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js.map +1 -1
  211. package/build/languageProcessing/helpers/transliterate/transliterate.js +3 -9
  212. package/build/languageProcessing/helpers/transliterate/transliterate.js.map +1 -1
  213. package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js +3 -9
  214. package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js.map +1 -1
  215. package/build/languageProcessing/helpers/url/parseSlug.js +1 -7
  216. package/build/languageProcessing/helpers/url/parseSlug.js.map +1 -1
  217. package/build/languageProcessing/helpers/url/url.js +7 -13
  218. package/build/languageProcessing/helpers/url/url.js.map +1 -1
  219. package/build/languageProcessing/helpers/word/addWordboundary.js +1 -7
  220. package/build/languageProcessing/helpers/word/addWordboundary.js.map +1 -1
  221. package/build/languageProcessing/helpers/word/areWordsInSentence.js +4 -10
  222. package/build/languageProcessing/helpers/word/areWordsInSentence.js.map +1 -1
  223. package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js +1 -7
  224. package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js.map +1 -1
  225. package/build/languageProcessing/helpers/word/countWords.js +4 -10
  226. package/build/languageProcessing/helpers/word/countWords.js.map +1 -1
  227. package/build/languageProcessing/helpers/word/createPunctuationTokens.js +5 -10
  228. package/build/languageProcessing/helpers/word/createPunctuationTokens.js.map +1 -1
  229. package/build/languageProcessing/helpers/word/filterWordsFromArray.js +4 -9
  230. package/build/languageProcessing/helpers/word/filterWordsFromArray.js.map +1 -1
  231. package/build/languageProcessing/helpers/word/followsIndex.js +5 -10
  232. package/build/languageProcessing/helpers/word/followsIndex.js.map +1 -1
  233. package/build/languageProcessing/helpers/word/getAllWordsFromTree.js +7 -13
  234. package/build/languageProcessing/helpers/word/getAllWordsFromTree.js.map +1 -1
  235. package/build/languageProcessing/helpers/word/getWords.js +9 -19
  236. package/build/languageProcessing/helpers/word/getWords.js.map +1 -1
  237. package/build/languageProcessing/helpers/word/includesIndex.js +5 -10
  238. package/build/languageProcessing/helpers/word/includesIndex.js.map +1 -1
  239. package/build/languageProcessing/helpers/word/indices.js +14 -25
  240. package/build/languageProcessing/helpers/word/indices.js.map +1 -1
  241. package/build/languageProcessing/helpers/word/markWordsInSentences.js +23 -35
  242. package/build/languageProcessing/helpers/word/markWordsInSentences.js.map +1 -1
  243. package/build/languageProcessing/helpers/word/matchWordInSentence.js +8 -15
  244. package/build/languageProcessing/helpers/word/matchWordInSentence.js.map +1 -1
  245. package/build/languageProcessing/helpers/word/splitIntoTokens.js +3 -9
  246. package/build/languageProcessing/helpers/word/splitIntoTokens.js.map +1 -1
  247. package/build/languageProcessing/index.js +41 -282
  248. package/build/languageProcessing/index.js.map +1 -1
  249. package/build/languageProcessing/languages/_default/Researcher.js +5 -13
  250. package/build/languageProcessing/languages/_default/Researcher.js.map +1 -1
  251. package/build/languageProcessing/languages/_default/helpers/getStemmer.js +3 -9
  252. package/build/languageProcessing/languages/_default/helpers/getStemmer.js.map +1 -1
  253. package/build/languageProcessing/languages/ar/Researcher.js +19 -27
  254. package/build/languageProcessing/languages/ar/Researcher.js.map +1 -1
  255. package/build/languageProcessing/languages/ar/config/firstWordExceptions.js +1 -7
  256. package/build/languageProcessing/languages/ar/config/firstWordExceptions.js.map +1 -1
  257. package/build/languageProcessing/languages/ar/config/functionWords.js +7 -13
  258. package/build/languageProcessing/languages/ar/config/functionWords.js.map +1 -1
  259. package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +1 -7
  260. package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js.map +1 -1
  261. package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js +2 -8
  262. package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js.map +1 -1
  263. package/build/languageProcessing/languages/ar/config/transitionWords.js +4 -10
  264. package/build/languageProcessing/languages/ar/config/transitionWords.js.map +1 -1
  265. package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js +2 -7
  266. package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js.map +1 -1
  267. package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js +6 -11
  268. package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js.map +1 -1
  269. package/build/languageProcessing/languages/ar/helpers/getStemmer.js +8 -14
  270. package/build/languageProcessing/languages/ar/helpers/getStemmer.js.map +1 -1
  271. package/build/languageProcessing/languages/ar/helpers/internal/stem.js +1 -7
  272. package/build/languageProcessing/languages/ar/helpers/internal/stem.js.map +1 -1
  273. package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js +5 -12
  274. package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js.map +1 -1
  275. package/build/languageProcessing/languages/ca/Researcher.js +11 -19
  276. package/build/languageProcessing/languages/ca/Researcher.js.map +1 -1
  277. package/build/languageProcessing/languages/ca/config/sentenceLength.js +1 -7
  278. package/build/languageProcessing/languages/ca/config/sentenceLength.js.map +1 -1
  279. package/build/languageProcessing/languages/ca/config/transitionWords.js +4 -10
  280. package/build/languageProcessing/languages/ca/config/transitionWords.js.map +1 -1
  281. package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js +2 -7
  282. package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js.map +1 -1
  283. package/build/languageProcessing/languages/ca/helpers/getStemmer.js +3 -9
  284. package/build/languageProcessing/languages/ca/helpers/getStemmer.js.map +1 -1
  285. package/build/languageProcessing/languages/cs/Researcher.js +17 -25
  286. package/build/languageProcessing/languages/cs/Researcher.js.map +1 -1
  287. package/build/languageProcessing/languages/cs/config/firstWordExceptions.js +1 -7
  288. package/build/languageProcessing/languages/cs/config/firstWordExceptions.js.map +1 -1
  289. package/build/languageProcessing/languages/cs/config/functionWords.js +4 -10
  290. package/build/languageProcessing/languages/cs/config/functionWords.js.map +1 -1
  291. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +2 -8
  292. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  293. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +2 -8
  294. package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js.map +1 -1
  295. package/build/languageProcessing/languages/cs/config/stopWords.js +1 -7
  296. package/build/languageProcessing/languages/cs/config/stopWords.js.map +1 -1
  297. package/build/languageProcessing/languages/cs/config/transitionWords.js +4 -10
  298. package/build/languageProcessing/languages/cs/config/transitionWords.js.map +1 -1
  299. package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js +2 -7
  300. package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js.map +1 -1
  301. package/build/languageProcessing/languages/cs/helpers/getClauses.js +9 -16
  302. package/build/languageProcessing/languages/cs/helpers/getClauses.js.map +1 -1
  303. package/build/languageProcessing/languages/cs/helpers/getStemmer.js +8 -14
  304. package/build/languageProcessing/languages/cs/helpers/getStemmer.js.map +1 -1
  305. package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js +6 -12
  306. package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js.map +1 -1
  307. package/build/languageProcessing/languages/cs/helpers/internal/stem.js +1 -7
  308. package/build/languageProcessing/languages/cs/helpers/internal/stem.js.map +1 -1
  309. package/build/languageProcessing/languages/cs/values/Clause.js +5 -12
  310. package/build/languageProcessing/languages/cs/values/Clause.js.map +1 -1
  311. package/build/languageProcessing/languages/de/Researcher.js +27 -35
  312. package/build/languageProcessing/languages/de/Researcher.js.map +1 -1
  313. package/build/languageProcessing/languages/de/config/firstWordExceptions.js +1 -7
  314. package/build/languageProcessing/languages/de/config/firstWordExceptions.js.map +1 -1
  315. package/build/languageProcessing/languages/de/config/functionWords.js +11 -19
  316. package/build/languageProcessing/languages/de/config/functionWords.js.map +1 -1
  317. package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +1 -7
  318. package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js.map +1 -1
  319. package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +4 -10
  320. package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  321. package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +1 -7
  322. package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js.map +1 -1
  323. package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +1 -7
  324. package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js.map +1 -1
  325. package/build/languageProcessing/languages/de/config/keyphraseLength.js +1 -7
  326. package/build/languageProcessing/languages/de/config/keyphraseLength.js.map +1 -1
  327. package/build/languageProcessing/languages/de/config/stopWords.js +1 -7
  328. package/build/languageProcessing/languages/de/config/stopWords.js.map +1 -1
  329. package/build/languageProcessing/languages/de/config/transitionWords.js +4 -10
  330. package/build/languageProcessing/languages/de/config/transitionWords.js.map +1 -1
  331. package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js +2 -7
  332. package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js.map +1 -1
  333. package/build/languageProcessing/languages/de/config/wordComplexity.js +1 -7
  334. package/build/languageProcessing/languages/de/config/wordComplexity.js.map +1 -1
  335. package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +3 -9
  336. package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js.map +1 -1
  337. package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +1 -7
  338. package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js.map +1 -1
  339. package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +3 -8
  340. package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js.map +1 -1
  341. package/build/languageProcessing/languages/de/helpers/getClauses.js +9 -16
  342. package/build/languageProcessing/languages/de/helpers/getClauses.js.map +1 -1
  343. package/build/languageProcessing/languages/de/helpers/getStemmer.js +8 -14
  344. package/build/languageProcessing/languages/de/helpers/getStemmer.js.map +1 -1
  345. package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +4 -11
  346. package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js.map +1 -1
  347. package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +4 -10
  348. package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js.map +1 -1
  349. package/build/languageProcessing/languages/de/helpers/internal/determineStem.js +10 -16
  350. package/build/languageProcessing/languages/de/helpers/internal/determineStem.js.map +1 -1
  351. package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js +9 -16
  352. package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js.map +1 -1
  353. package/build/languageProcessing/languages/de/helpers/internal/stem.js +1 -7
  354. package/build/languageProcessing/languages/de/helpers/internal/stem.js.map +1 -1
  355. package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +4 -10
  356. package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js.map +1 -1
  357. package/build/languageProcessing/languages/de/values/Clause.js +11 -18
  358. package/build/languageProcessing/languages/de/values/Clause.js.map +1 -1
  359. package/build/languageProcessing/languages/el/Researcher.js +18 -26
  360. package/build/languageProcessing/languages/el/Researcher.js.map +1 -1
  361. package/build/languageProcessing/languages/el/config/firstWordExceptions.js +1 -7
  362. package/build/languageProcessing/languages/el/config/firstWordExceptions.js.map +1 -1
  363. package/build/languageProcessing/languages/el/config/functionWords.js +4 -10
  364. package/build/languageProcessing/languages/el/config/functionWords.js.map +1 -1
  365. package/build/languageProcessing/languages/el/config/internal/auxiliaries.js +1 -7
  366. package/build/languageProcessing/languages/el/config/internal/auxiliaries.js.map +1 -1
  367. package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +1 -7
  368. package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js.map +1 -1
  369. package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +1 -7
  370. package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js.map +1 -1
  371. package/build/languageProcessing/languages/el/config/stopWords.js +1 -7
  372. package/build/languageProcessing/languages/el/config/stopWords.js.map +1 -1
  373. package/build/languageProcessing/languages/el/config/transitionWords.js +4 -10
  374. package/build/languageProcessing/languages/el/config/transitionWords.js.map +1 -1
  375. package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js +2 -7
  376. package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js.map +1 -1
  377. package/build/languageProcessing/languages/el/helpers/getClauses.js +9 -16
  378. package/build/languageProcessing/languages/el/helpers/getClauses.js.map +1 -1
  379. package/build/languageProcessing/languages/el/helpers/getStemmer.js +7 -14
  380. package/build/languageProcessing/languages/el/helpers/getStemmer.js.map +1 -1
  381. package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js +3 -9
  382. package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js.map +1 -1
  383. package/build/languageProcessing/languages/el/helpers/internal/stem.js +4 -13
  384. package/build/languageProcessing/languages/el/helpers/internal/stem.js.map +1 -1
  385. package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js +7 -14
  386. package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js.map +1 -1
  387. package/build/languageProcessing/languages/el/values/Clause.js +6 -12
  388. package/build/languageProcessing/languages/el/values/Clause.js.map +1 -1
  389. package/build/languageProcessing/languages/en/Researcher.js +21 -29
  390. package/build/languageProcessing/languages/en/Researcher.js.map +1 -1
  391. package/build/languageProcessing/languages/en/config/abbreviations.js +2 -8
  392. package/build/languageProcessing/languages/en/config/abbreviations.js.map +1 -1
  393. package/build/languageProcessing/languages/en/config/firstWordExceptions.js +1 -7
  394. package/build/languageProcessing/languages/en/config/firstWordExceptions.js.map +1 -1
  395. package/build/languageProcessing/languages/en/config/functionWords.js +11 -18
  396. package/build/languageProcessing/languages/en/config/functionWords.js.map +1 -1
  397. package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +6 -12
  398. package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  399. package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +1 -7
  400. package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js.map +1 -1
  401. package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +1 -7
  402. package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js.map +1 -1
  403. package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js +1 -7
  404. package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js.map +1 -1
  405. package/build/languageProcessing/languages/en/config/stopWords.js +1 -7
  406. package/build/languageProcessing/languages/en/config/stopWords.js.map +1 -1
  407. package/build/languageProcessing/languages/en/config/transitionWords.js +4 -10
  408. package/build/languageProcessing/languages/en/config/transitionWords.js.map +1 -1
  409. package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js +2 -7
  410. package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js.map +1 -1
  411. package/build/languageProcessing/languages/en/config/wordComplexity.js +1 -7
  412. package/build/languageProcessing/languages/en/config/wordComplexity.js.map +1 -1
  413. package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +3 -9
  414. package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js.map +1 -1
  415. package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +4 -10
  416. package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js.map +1 -1
  417. package/build/languageProcessing/languages/en/helpers/getClauses.js +15 -22
  418. package/build/languageProcessing/languages/en/helpers/getClauses.js.map +1 -1
  419. package/build/languageProcessing/languages/en/helpers/getStemmer.js +8 -14
  420. package/build/languageProcessing/languages/en/helpers/getStemmer.js.map +1 -1
  421. package/build/languageProcessing/languages/en/helpers/internal/determineStem.js +21 -32
  422. package/build/languageProcessing/languages/en/helpers/internal/determineStem.js.map +1 -1
  423. package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +6 -13
  424. package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js.map +1 -1
  425. package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js +8 -14
  426. package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js.map +1 -1
  427. package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js +6 -16
  428. package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js.map +1 -1
  429. package/build/languageProcessing/languages/en/values/Clause.js +10 -17
  430. package/build/languageProcessing/languages/en/values/Clause.js.map +1 -1
  431. package/build/languageProcessing/languages/es/Researcher.js +23 -31
  432. package/build/languageProcessing/languages/es/Researcher.js.map +1 -1
  433. package/build/languageProcessing/languages/es/config/firstWordExceptions.js +1 -7
  434. package/build/languageProcessing/languages/es/config/firstWordExceptions.js.map +1 -1
  435. package/build/languageProcessing/languages/es/config/functionWords.js +11 -17
  436. package/build/languageProcessing/languages/es/config/functionWords.js.map +1 -1
  437. package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +1 -7
  438. package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  439. package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +1 -7
  440. package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js.map +1 -1
  441. package/build/languageProcessing/languages/es/config/sentenceLength.js +1 -7
  442. package/build/languageProcessing/languages/es/config/sentenceLength.js.map +1 -1
  443. package/build/languageProcessing/languages/es/config/stopWords.js +1 -7
  444. package/build/languageProcessing/languages/es/config/stopWords.js.map +1 -1
  445. package/build/languageProcessing/languages/es/config/transitionWords.js +4 -10
  446. package/build/languageProcessing/languages/es/config/transitionWords.js.map +1 -1
  447. package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js +2 -7
  448. package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js.map +1 -1
  449. package/build/languageProcessing/languages/es/config/wordComplexity.js +1 -7
  450. package/build/languageProcessing/languages/es/config/wordComplexity.js.map +1 -1
  451. package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +3 -9
  452. package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js.map +1 -1
  453. package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +1 -7
  454. package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js.map +1 -1
  455. package/build/languageProcessing/languages/es/helpers/getClauses.js +10 -17
  456. package/build/languageProcessing/languages/es/helpers/getClauses.js.map +1 -1
  457. package/build/languageProcessing/languages/es/helpers/getStemmer.js +8 -14
  458. package/build/languageProcessing/languages/es/helpers/getStemmer.js.map +1 -1
  459. package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +7 -13
  460. package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js.map +1 -1
  461. package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js +6 -12
  462. package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js.map +1 -1
  463. package/build/languageProcessing/languages/es/helpers/internal/stem.js +5 -13
  464. package/build/languageProcessing/languages/es/helpers/internal/stem.js.map +1 -1
  465. package/build/languageProcessing/languages/es/values/Clause.js +7 -14
  466. package/build/languageProcessing/languages/es/values/Clause.js.map +1 -1
  467. package/build/languageProcessing/languages/fa/Researcher.js +19 -27
  468. package/build/languageProcessing/languages/fa/Researcher.js.map +1 -1
  469. package/build/languageProcessing/languages/fa/config/firstWordExceptions.js +1 -7
  470. package/build/languageProcessing/languages/fa/config/firstWordExceptions.js.map +1 -1
  471. package/build/languageProcessing/languages/fa/config/functionWords.js +4 -10
  472. package/build/languageProcessing/languages/fa/config/functionWords.js.map +1 -1
  473. package/build/languageProcessing/languages/fa/config/internal/participles.js +1 -7
  474. package/build/languageProcessing/languages/fa/config/internal/participles.js.map +1 -1
  475. package/build/languageProcessing/languages/fa/config/sentenceLength.js +1 -7
  476. package/build/languageProcessing/languages/fa/config/sentenceLength.js.map +1 -1
  477. package/build/languageProcessing/languages/fa/config/transitionWords.js +4 -10
  478. package/build/languageProcessing/languages/fa/config/transitionWords.js.map +1 -1
  479. package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js +2 -7
  480. package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js.map +1 -1
  481. package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js +3 -9
  482. package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js.map +1 -1
  483. package/build/languageProcessing/languages/fa/helpers/getStemmer.js +3 -9
  484. package/build/languageProcessing/languages/fa/helpers/getStemmer.js.map +1 -1
  485. package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js +6 -12
  486. package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js.map +1 -1
  487. package/build/languageProcessing/languages/fr/Researcher.js +21 -29
  488. package/build/languageProcessing/languages/fr/Researcher.js.map +1 -1
  489. package/build/languageProcessing/languages/fr/config/firstWordExceptions.js +1 -7
  490. package/build/languageProcessing/languages/fr/config/firstWordExceptions.js.map +1 -1
  491. package/build/languageProcessing/languages/fr/config/functionWords.js +11 -17
  492. package/build/languageProcessing/languages/fr/config/functionWords.js.map +1 -1
  493. package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +4 -9
  494. package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js.map +1 -1
  495. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +1 -7
  496. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  497. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +4 -9
  498. package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js.map +1 -1
  499. package/build/languageProcessing/languages/fr/config/stopWords.js +1 -7
  500. package/build/languageProcessing/languages/fr/config/stopWords.js.map +1 -1
  501. package/build/languageProcessing/languages/fr/config/transitionWords.js +4 -10
  502. package/build/languageProcessing/languages/fr/config/transitionWords.js.map +1 -1
  503. package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js +2 -7
  504. package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js.map +1 -1
  505. package/build/languageProcessing/languages/fr/config/wordComplexity.js +1 -7
  506. package/build/languageProcessing/languages/fr/config/wordComplexity.js.map +1 -1
  507. package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +3 -9
  508. package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js.map +1 -1
  509. package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +3 -9
  510. package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js.map +1 -1
  511. package/build/languageProcessing/languages/fr/helpers/getClauses.js +10 -17
  512. package/build/languageProcessing/languages/fr/helpers/getClauses.js.map +1 -1
  513. package/build/languageProcessing/languages/fr/helpers/getStemmer.js +8 -14
  514. package/build/languageProcessing/languages/fr/helpers/getStemmer.js.map +1 -1
  515. package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js +11 -16
  516. package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js.map +1 -1
  517. package/build/languageProcessing/languages/fr/helpers/internal/stem.js +3 -10
  518. package/build/languageProcessing/languages/fr/helpers/internal/stem.js.map +1 -1
  519. package/build/languageProcessing/languages/fr/values/Clause.js +14 -20
  520. package/build/languageProcessing/languages/fr/values/Clause.js.map +1 -1
  521. package/build/languageProcessing/languages/he/Researcher.js +21 -29
  522. package/build/languageProcessing/languages/he/Researcher.js.map +1 -1
  523. package/build/languageProcessing/languages/he/config/firstWordExceptions.js +1 -7
  524. package/build/languageProcessing/languages/he/config/firstWordExceptions.js.map +1 -1
  525. package/build/languageProcessing/languages/he/config/functionWords.js +4 -11
  526. package/build/languageProcessing/languages/he/config/functionWords.js.map +1 -1
  527. package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js +1 -7
  528. package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js.map +1 -1
  529. package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js +1 -7
  530. package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js.map +1 -1
  531. package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js +1 -7
  532. package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js.map +1 -1
  533. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +1 -7
  534. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js.map +1 -1
  535. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +1 -7
  536. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js.map +1 -1
  537. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +1 -7
  538. package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js.map +1 -1
  539. package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js +2 -8
  540. package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js.map +1 -1
  541. package/build/languageProcessing/languages/he/config/sentenceLength.js +1 -7
  542. package/build/languageProcessing/languages/he/config/sentenceLength.js.map +1 -1
  543. package/build/languageProcessing/languages/he/config/transitionWords.js +4 -10
  544. package/build/languageProcessing/languages/he/config/transitionWords.js.map +1 -1
  545. package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js +2 -7
  546. package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js.map +1 -1
  547. package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js +6 -11
  548. package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js.map +1 -1
  549. package/build/languageProcessing/languages/he/helpers/getStemmer.js +8 -14
  550. package/build/languageProcessing/languages/he/helpers/getStemmer.js.map +1 -1
  551. package/build/languageProcessing/languages/he/helpers/internal/stem.js +1 -7
  552. package/build/languageProcessing/languages/he/helpers/internal/stem.js.map +1 -1
  553. package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js +10 -16
  554. package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js.map +1 -1
  555. package/build/languageProcessing/languages/he/helpers/stem.js +1 -7
  556. package/build/languageProcessing/languages/he/helpers/stem.js.map +1 -1
  557. package/build/languageProcessing/languages/hu/Researcher.js +19 -27
  558. package/build/languageProcessing/languages/hu/Researcher.js.map +1 -1
  559. package/build/languageProcessing/languages/hu/config/firstWordExceptions.js +1 -7
  560. package/build/languageProcessing/languages/hu/config/firstWordExceptions.js.map +1 -1
  561. package/build/languageProcessing/languages/hu/config/functionWords.js +4 -10
  562. package/build/languageProcessing/languages/hu/config/functionWords.js.map +1 -1
  563. package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js +1 -7
  564. package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js.map +1 -1
  565. package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +3 -9
  566. package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js.map +1 -1
  567. package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +2 -7
  568. package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js.map +1 -1
  569. package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js +1 -7
  570. package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js.map +1 -1
  571. package/build/languageProcessing/languages/hu/config/internal/participles.js +2 -7
  572. package/build/languageProcessing/languages/hu/config/internal/participles.js.map +1 -1
  573. package/build/languageProcessing/languages/hu/config/stopWords.js +2 -7
  574. package/build/languageProcessing/languages/hu/config/stopWords.js.map +1 -1
  575. package/build/languageProcessing/languages/hu/config/transitionWords.js +4 -10
  576. package/build/languageProcessing/languages/hu/config/transitionWords.js.map +1 -1
  577. package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js +2 -7
  578. package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js.map +1 -1
  579. package/build/languageProcessing/languages/hu/helpers/getClauses.js +9 -16
  580. package/build/languageProcessing/languages/hu/helpers/getClauses.js.map +1 -1
  581. package/build/languageProcessing/languages/hu/helpers/getStemmer.js +8 -14
  582. package/build/languageProcessing/languages/hu/helpers/getStemmer.js.map +1 -1
  583. package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js +6 -12
  584. package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js.map +1 -1
  585. package/build/languageProcessing/languages/hu/helpers/internal/stem.js +1 -7
  586. package/build/languageProcessing/languages/hu/helpers/internal/stem.js.map +1 -1
  587. package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js +9 -15
  588. package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js.map +1 -1
  589. package/build/languageProcessing/languages/hu/values/Clause.js +8 -14
  590. package/build/languageProcessing/languages/hu/values/Clause.js.map +1 -1
  591. package/build/languageProcessing/languages/id/Researcher.js +17 -25
  592. package/build/languageProcessing/languages/id/Researcher.js.map +1 -1
  593. package/build/languageProcessing/languages/id/config/firstWordExceptions.js +1 -7
  594. package/build/languageProcessing/languages/id/config/firstWordExceptions.js.map +1 -1
  595. package/build/languageProcessing/languages/id/config/functionWords.js +8 -16
  596. package/build/languageProcessing/languages/id/config/functionWords.js.map +1 -1
  597. package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +1 -7
  598. package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js.map +1 -1
  599. package/build/languageProcessing/languages/id/config/transitionWords.js +4 -10
  600. package/build/languageProcessing/languages/id/config/transitionWords.js.map +1 -1
  601. package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js +2 -7
  602. package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js.map +1 -1
  603. package/build/languageProcessing/languages/id/helpers/getStemmer.js +8 -14
  604. package/build/languageProcessing/languages/id/helpers/getStemmer.js.map +1 -1
  605. package/build/languageProcessing/languages/id/helpers/internal/stem.js +29 -34
  606. package/build/languageProcessing/languages/id/helpers/internal/stem.js.map +1 -1
  607. package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js +5 -13
  608. package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js.map +1 -1
  609. package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js +5 -12
  610. package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js.map +1 -1
  611. package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +3 -9
  612. package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js.map +1 -1
  613. package/build/languageProcessing/languages/it/Researcher.js +23 -31
  614. package/build/languageProcessing/languages/it/Researcher.js.map +1 -1
  615. package/build/languageProcessing/languages/it/config/firstWordExceptions.js +1 -7
  616. package/build/languageProcessing/languages/it/config/firstWordExceptions.js.map +1 -1
  617. package/build/languageProcessing/languages/it/config/functionWords.js +11 -17
  618. package/build/languageProcessing/languages/it/config/functionWords.js.map +1 -1
  619. package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +1 -7
  620. package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  621. package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +1 -7
  622. package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js.map +1 -1
  623. package/build/languageProcessing/languages/it/config/sentenceLength.js +1 -7
  624. package/build/languageProcessing/languages/it/config/sentenceLength.js.map +1 -1
  625. package/build/languageProcessing/languages/it/config/stopWords.js +1 -7
  626. package/build/languageProcessing/languages/it/config/stopWords.js.map +1 -1
  627. package/build/languageProcessing/languages/it/config/transitionWords.js +4 -10
  628. package/build/languageProcessing/languages/it/config/transitionWords.js.map +1 -1
  629. package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js +1 -7
  630. package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js.map +1 -1
  631. package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +3 -9
  632. package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js.map +1 -1
  633. package/build/languageProcessing/languages/it/helpers/getClauses.js +10 -17
  634. package/build/languageProcessing/languages/it/helpers/getClauses.js.map +1 -1
  635. package/build/languageProcessing/languages/it/helpers/getStemmer.js +8 -14
  636. package/build/languageProcessing/languages/it/helpers/getStemmer.js.map +1 -1
  637. package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js +6 -12
  638. package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js.map +1 -1
  639. package/build/languageProcessing/languages/it/helpers/internal/stem.js +3 -9
  640. package/build/languageProcessing/languages/it/helpers/internal/stem.js.map +1 -1
  641. package/build/languageProcessing/languages/it/values/Clause.js +7 -14
  642. package/build/languageProcessing/languages/it/values/Clause.js.map +1 -1
  643. package/build/languageProcessing/languages/ja/Researcher.js +51 -59
  644. package/build/languageProcessing/languages/ja/Researcher.js.map +1 -1
  645. package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +1 -7
  646. package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js.map +1 -1
  647. package/build/languageProcessing/languages/ja/config/firstWordExceptions.js +1 -7
  648. package/build/languageProcessing/languages/ja/config/firstWordExceptions.js.map +1 -1
  649. package/build/languageProcessing/languages/ja/config/functionWords.js +1 -7
  650. package/build/languageProcessing/languages/ja/config/functionWords.js.map +1 -1
  651. package/build/languageProcessing/languages/ja/config/keyphraseLength.js +1 -7
  652. package/build/languageProcessing/languages/ja/config/keyphraseLength.js.map +1 -1
  653. package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js +1 -7
  654. package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js.map +1 -1
  655. package/build/languageProcessing/languages/ja/config/paragraphLength.js +1 -7
  656. package/build/languageProcessing/languages/ja/config/paragraphLength.js.map +1 -1
  657. package/build/languageProcessing/languages/ja/config/sentenceLength.js +1 -7
  658. package/build/languageProcessing/languages/ja/config/sentenceLength.js.map +1 -1
  659. package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js +1 -7
  660. package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js.map +1 -1
  661. package/build/languageProcessing/languages/ja/config/textLength.js +1 -7
  662. package/build/languageProcessing/languages/ja/config/textLength.js.map +1 -1
  663. package/build/languageProcessing/languages/ja/config/topicLength.js +1 -7
  664. package/build/languageProcessing/languages/ja/config/topicLength.js.map +1 -1
  665. package/build/languageProcessing/languages/ja/config/transitionWords.js +2 -7
  666. package/build/languageProcessing/languages/ja/config/transitionWords.js.map +1 -1
  667. package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +16 -22
  668. package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js.map +1 -1
  669. package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +5 -11
  670. package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js.map +1 -1
  671. package/build/languageProcessing/languages/ja/customResearches/getWordForms.js +11 -17
  672. package/build/languageProcessing/languages/ja/customResearches/getWordForms.js.map +1 -1
  673. package/build/languageProcessing/languages/ja/customResearches/textLength.js +3 -9
  674. package/build/languageProcessing/languages/ja/customResearches/textLength.js.map +1 -1
  675. package/build/languageProcessing/languages/ja/helpers/countCharacters.js +6 -12
  676. package/build/languageProcessing/languages/ja/helpers/countCharacters.js.map +1 -1
  677. package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js +8 -14
  678. package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js.map +1 -1
  679. package/build/languageProcessing/languages/ja/helpers/getContentWords.js +5 -11
  680. package/build/languageProcessing/languages/ja/helpers/getContentWords.js.map +1 -1
  681. package/build/languageProcessing/languages/ja/helpers/getWords.js +8 -15
  682. package/build/languageProcessing/languages/ja/helpers/getWords.js.map +1 -1
  683. package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +6 -13
  684. package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js.map +1 -1
  685. package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js +4 -9
  686. package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js.map +1 -1
  687. package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js +3 -9
  688. package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js.map +1 -1
  689. package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js +7 -13
  690. package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js.map +1 -1
  691. package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js +3 -9
  692. package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js.map +1 -1
  693. package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +4 -10
  694. package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js.map +1 -1
  695. package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +5 -11
  696. package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js.map +1 -1
  697. package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +1 -7
  698. package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js.map +1 -1
  699. package/build/languageProcessing/languages/nb/Researcher.js +17 -25
  700. package/build/languageProcessing/languages/nb/Researcher.js.map +1 -1
  701. package/build/languageProcessing/languages/nb/config/firstWordExceptions.js +1 -7
  702. package/build/languageProcessing/languages/nb/config/firstWordExceptions.js.map +1 -1
  703. package/build/languageProcessing/languages/nb/config/functionWords.js +5 -11
  704. package/build/languageProcessing/languages/nb/config/functionWords.js.map +1 -1
  705. package/build/languageProcessing/languages/nb/config/internal/participles.js +2 -7
  706. package/build/languageProcessing/languages/nb/config/internal/participles.js.map +1 -1
  707. package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +1 -7
  708. package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  709. package/build/languageProcessing/languages/nb/config/stopWords.js +1 -7
  710. package/build/languageProcessing/languages/nb/config/stopWords.js.map +1 -1
  711. package/build/languageProcessing/languages/nb/config/transitionWords.js +4 -10
  712. package/build/languageProcessing/languages/nb/config/transitionWords.js.map +1 -1
  713. package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js +2 -7
  714. package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js.map +1 -1
  715. package/build/languageProcessing/languages/nb/helpers/getClauses.js +11 -18
  716. package/build/languageProcessing/languages/nb/helpers/getClauses.js.map +1 -1
  717. package/build/languageProcessing/languages/nb/helpers/getStemmer.js +8 -14
  718. package/build/languageProcessing/languages/nb/helpers/getStemmer.js.map +1 -1
  719. package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js +8 -14
  720. package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js.map +1 -1
  721. package/build/languageProcessing/languages/nb/helpers/internal/stem.js +1 -7
  722. package/build/languageProcessing/languages/nb/helpers/internal/stem.js.map +1 -1
  723. package/build/languageProcessing/languages/nb/values/Clause.js +8 -14
  724. package/build/languageProcessing/languages/nb/values/Clause.js.map +1 -1
  725. package/build/languageProcessing/languages/nl/Researcher.js +23 -31
  726. package/build/languageProcessing/languages/nl/Researcher.js.map +1 -1
  727. package/build/languageProcessing/languages/nl/config/firstWordExceptions.js +1 -7
  728. package/build/languageProcessing/languages/nl/config/firstWordExceptions.js.map +1 -1
  729. package/build/languageProcessing/languages/nl/config/functionWords.js +10 -16
  730. package/build/languageProcessing/languages/nl/config/functionWords.js.map +1 -1
  731. package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js +1 -7
  732. package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js.map +1 -1
  733. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +1 -7
  734. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  735. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +1 -7
  736. package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js.map +1 -1
  737. package/build/languageProcessing/languages/nl/config/keyphraseLength.js +1 -7
  738. package/build/languageProcessing/languages/nl/config/keyphraseLength.js.map +1 -1
  739. package/build/languageProcessing/languages/nl/config/stopWords.js +1 -7
  740. package/build/languageProcessing/languages/nl/config/stopWords.js.map +1 -1
  741. package/build/languageProcessing/languages/nl/config/transitionWords.js +4 -10
  742. package/build/languageProcessing/languages/nl/config/transitionWords.js.map +1 -1
  743. package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js +1 -7
  744. package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js.map +1 -1
  745. package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +3 -9
  746. package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js.map +1 -1
  747. package/build/languageProcessing/languages/nl/helpers/getClauses.js +9 -16
  748. package/build/languageProcessing/languages/nl/helpers/getClauses.js.map +1 -1
  749. package/build/languageProcessing/languages/nl/helpers/getStemmer.js +8 -14
  750. package/build/languageProcessing/languages/nl/helpers/getStemmer.js.map +1 -1
  751. package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +7 -13
  752. package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js.map +1 -1
  753. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +8 -14
  754. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js.map +1 -1
  755. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +10 -15
  756. package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js.map +1 -1
  757. package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js +10 -16
  758. package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js.map +1 -1
  759. package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js +7 -13
  760. package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js.map +1 -1
  761. package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +7 -12
  762. package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js.map +1 -1
  763. package/build/languageProcessing/languages/nl/helpers/internal/stem.js +17 -23
  764. package/build/languageProcessing/languages/nl/helpers/internal/stem.js.map +1 -1
  765. package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +4 -11
  766. package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js.map +1 -1
  767. package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +8 -14
  768. package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js.map +1 -1
  769. package/build/languageProcessing/languages/nl/values/Clause.js +10 -16
  770. package/build/languageProcessing/languages/nl/values/Clause.js.map +1 -1
  771. package/build/languageProcessing/languages/pl/Researcher.js +19 -27
  772. package/build/languageProcessing/languages/pl/Researcher.js.map +1 -1
  773. package/build/languageProcessing/languages/pl/config/firstWordExceptions.js +1 -7
  774. package/build/languageProcessing/languages/pl/config/firstWordExceptions.js.map +1 -1
  775. package/build/languageProcessing/languages/pl/config/functionWords.js +9 -16
  776. package/build/languageProcessing/languages/pl/config/functionWords.js.map +1 -1
  777. package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js +1 -7
  778. package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js.map +1 -1
  779. package/build/languageProcessing/languages/pl/config/internal/participles.js +1 -7
  780. package/build/languageProcessing/languages/pl/config/internal/participles.js.map +1 -1
  781. package/build/languageProcessing/languages/pl/config/sentenceLength.js +1 -7
  782. package/build/languageProcessing/languages/pl/config/sentenceLength.js.map +1 -1
  783. package/build/languageProcessing/languages/pl/config/stopWords.js +1 -7
  784. package/build/languageProcessing/languages/pl/config/stopWords.js.map +1 -1
  785. package/build/languageProcessing/languages/pl/config/transitionWords.js +4 -10
  786. package/build/languageProcessing/languages/pl/config/transitionWords.js.map +1 -1
  787. package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js +2 -7
  788. package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js.map +1 -1
  789. package/build/languageProcessing/languages/pl/helpers/getClauses.js +9 -16
  790. package/build/languageProcessing/languages/pl/helpers/getClauses.js.map +1 -1
  791. package/build/languageProcessing/languages/pl/helpers/getStemmer.js +8 -14
  792. package/build/languageProcessing/languages/pl/helpers/getStemmer.js.map +1 -1
  793. package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js +7 -13
  794. package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js.map +1 -1
  795. package/build/languageProcessing/languages/pl/helpers/internal/stem.js +1 -7
  796. package/build/languageProcessing/languages/pl/helpers/internal/stem.js.map +1 -1
  797. package/build/languageProcessing/languages/pl/values/Clause.js +8 -14
  798. package/build/languageProcessing/languages/pl/values/Clause.js.map +1 -1
  799. package/build/languageProcessing/languages/pt/Researcher.js +23 -31
  800. package/build/languageProcessing/languages/pt/Researcher.js.map +1 -1
  801. package/build/languageProcessing/languages/pt/config/firstWordExceptions.js +1 -7
  802. package/build/languageProcessing/languages/pt/config/firstWordExceptions.js.map +1 -1
  803. package/build/languageProcessing/languages/pt/config/functionWords.js +10 -16
  804. package/build/languageProcessing/languages/pt/config/functionWords.js.map +1 -1
  805. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +1 -7
  806. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  807. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +1 -7
  808. package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js.map +1 -1
  809. package/build/languageProcessing/languages/pt/config/sentenceLength.js +1 -7
  810. package/build/languageProcessing/languages/pt/config/sentenceLength.js.map +1 -1
  811. package/build/languageProcessing/languages/pt/config/stopWords.js +1 -7
  812. package/build/languageProcessing/languages/pt/config/stopWords.js.map +1 -1
  813. package/build/languageProcessing/languages/pt/config/transitionWords.js +4 -10
  814. package/build/languageProcessing/languages/pt/config/transitionWords.js.map +1 -1
  815. package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js +1 -7
  816. package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js.map +1 -1
  817. package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +3 -9
  818. package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js.map +1 -1
  819. package/build/languageProcessing/languages/pt/helpers/getClauses.js +10 -17
  820. package/build/languageProcessing/languages/pt/helpers/getClauses.js.map +1 -1
  821. package/build/languageProcessing/languages/pt/helpers/getStemmer.js +8 -14
  822. package/build/languageProcessing/languages/pt/helpers/getStemmer.js.map +1 -1
  823. package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js +6 -12
  824. package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js.map +1 -1
  825. package/build/languageProcessing/languages/pt/helpers/internal/stem.js +3 -9
  826. package/build/languageProcessing/languages/pt/helpers/internal/stem.js.map +1 -1
  827. package/build/languageProcessing/languages/pt/values/Clause.js +7 -14
  828. package/build/languageProcessing/languages/pt/values/Clause.js.map +1 -1
  829. package/build/languageProcessing/languages/ru/Researcher.js +23 -31
  830. package/build/languageProcessing/languages/ru/Researcher.js.map +1 -1
  831. package/build/languageProcessing/languages/ru/config/firstWordExceptions.js +1 -7
  832. package/build/languageProcessing/languages/ru/config/firstWordExceptions.js.map +1 -1
  833. package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +1 -7
  834. package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js.map +1 -1
  835. package/build/languageProcessing/languages/ru/config/functionWords.js +8 -14
  836. package/build/languageProcessing/languages/ru/config/functionWords.js.map +1 -1
  837. package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +2 -8
  838. package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js.map +1 -1
  839. package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +1 -7
  840. package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js.map +1 -1
  841. package/build/languageProcessing/languages/ru/config/sentenceLength.js +1 -7
  842. package/build/languageProcessing/languages/ru/config/sentenceLength.js.map +1 -1
  843. package/build/languageProcessing/languages/ru/config/transitionWords.js +4 -10
  844. package/build/languageProcessing/languages/ru/config/transitionWords.js.map +1 -1
  845. package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js +2 -7
  846. package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js.map +1 -1
  847. package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +3 -9
  848. package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js.map +1 -1
  849. package/build/languageProcessing/languages/ru/helpers/getStemmer.js +8 -14
  850. package/build/languageProcessing/languages/ru/helpers/getStemmer.js.map +1 -1
  851. package/build/languageProcessing/languages/ru/helpers/internal/stem.js +1 -7
  852. package/build/languageProcessing/languages/ru/helpers/internal/stem.js.map +1 -1
  853. package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js +6 -12
  854. package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js.map +1 -1
  855. package/build/languageProcessing/languages/sk/Researcher.js +17 -25
  856. package/build/languageProcessing/languages/sk/Researcher.js.map +1 -1
  857. package/build/languageProcessing/languages/sk/config/firstWordExceptions.js +1 -7
  858. package/build/languageProcessing/languages/sk/config/firstWordExceptions.js.map +1 -1
  859. package/build/languageProcessing/languages/sk/config/functionWords.js +5 -11
  860. package/build/languageProcessing/languages/sk/config/functionWords.js.map +1 -1
  861. package/build/languageProcessing/languages/sk/config/internal/nonPassives.js +1 -7
  862. package/build/languageProcessing/languages/sk/config/internal/nonPassives.js.map +1 -1
  863. package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +2 -8
  864. package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
  865. package/build/languageProcessing/languages/sk/config/stopWords.js +1 -7
  866. package/build/languageProcessing/languages/sk/config/stopWords.js.map +1 -1
  867. package/build/languageProcessing/languages/sk/config/transitionWords.js +4 -10
  868. package/build/languageProcessing/languages/sk/config/transitionWords.js.map +1 -1
  869. package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js +2 -7
  870. package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js.map +1 -1
  871. package/build/languageProcessing/languages/sk/helpers/getClauses.js +9 -16
  872. package/build/languageProcessing/languages/sk/helpers/getClauses.js.map +1 -1
  873. package/build/languageProcessing/languages/sk/helpers/getStemmer.js +8 -14
  874. package/build/languageProcessing/languages/sk/helpers/getStemmer.js.map +1 -1
  875. package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js +3 -9
  876. package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js.map +1 -1
  877. package/build/languageProcessing/languages/sk/helpers/internal/stem.js +1 -7
  878. package/build/languageProcessing/languages/sk/helpers/internal/stem.js.map +1 -1
  879. package/build/languageProcessing/languages/sk/values/Clause.js +8 -14
  880. package/build/languageProcessing/languages/sk/values/Clause.js.map +1 -1
  881. package/build/languageProcessing/languages/sv/Researcher.js +17 -25
  882. package/build/languageProcessing/languages/sv/Researcher.js.map +1 -1
  883. package/build/languageProcessing/languages/sv/config/firstWordExceptions.js +1 -7
  884. package/build/languageProcessing/languages/sv/config/firstWordExceptions.js.map +1 -1
  885. package/build/languageProcessing/languages/sv/config/functionWords.js +7 -13
  886. package/build/languageProcessing/languages/sv/config/functionWords.js.map +1 -1
  887. package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js +2 -7
  888. package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js.map +1 -1
  889. package/build/languageProcessing/languages/sv/config/keyphraseLength.js +1 -7
  890. package/build/languageProcessing/languages/sv/config/keyphraseLength.js.map +1 -1
  891. package/build/languageProcessing/languages/sv/config/transitionWords.js +4 -10
  892. package/build/languageProcessing/languages/sv/config/transitionWords.js.map +1 -1
  893. package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js +2 -7
  894. package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js.map +1 -1
  895. package/build/languageProcessing/languages/sv/helpers/getStemmer.js +8 -14
  896. package/build/languageProcessing/languages/sv/helpers/getStemmer.js.map +1 -1
  897. package/build/languageProcessing/languages/sv/helpers/internal/stem.js +1 -7
  898. package/build/languageProcessing/languages/sv/helpers/internal/stem.js.map +1 -1
  899. package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js +6 -12
  900. package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js.map +1 -1
  901. package/build/languageProcessing/languages/tr/Researcher.js +17 -25
  902. package/build/languageProcessing/languages/tr/Researcher.js.map +1 -1
  903. package/build/languageProcessing/languages/tr/config/firstWordExceptions.js +1 -7
  904. package/build/languageProcessing/languages/tr/config/firstWordExceptions.js.map +1 -1
  905. package/build/languageProcessing/languages/tr/config/functionWords.js +4 -10
  906. package/build/languageProcessing/languages/tr/config/functionWords.js.map +1 -1
  907. package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +3 -8
  908. package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js.map +1 -1
  909. package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js +1 -7
  910. package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js.map +1 -1
  911. package/build/languageProcessing/languages/tr/config/sentenceLength.js +1 -7
  912. package/build/languageProcessing/languages/tr/config/sentenceLength.js.map +1 -1
  913. package/build/languageProcessing/languages/tr/config/transitionWords.js +4 -10
  914. package/build/languageProcessing/languages/tr/config/transitionWords.js.map +1 -1
  915. package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js +2 -7
  916. package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js.map +1 -1
  917. package/build/languageProcessing/languages/tr/helpers/getStemmer.js +8 -14
  918. package/build/languageProcessing/languages/tr/helpers/getStemmer.js.map +1 -1
  919. package/build/languageProcessing/languages/tr/helpers/internal/stem.js +3 -9
  920. package/build/languageProcessing/languages/tr/helpers/internal/stem.js.map +1 -1
  921. package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js +9 -15
  922. package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js.map +1 -1
  923. package/build/languageProcessing/researches/altTagCount.js +10 -16
  924. package/build/languageProcessing/researches/altTagCount.js.map +1 -1
  925. package/build/languageProcessing/researches/checkRelatedKeywords.js +72 -0
  926. package/build/languageProcessing/researches/checkRelatedKeywords.js.map +1 -0
  927. package/build/languageProcessing/researches/countSentencesFromText.js +9 -15
  928. package/build/languageProcessing/researches/countSentencesFromText.js.map +1 -1
  929. package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js +19 -26
  930. package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js.map +1 -1
  931. package/build/languageProcessing/researches/findKeywordInFirstParagraph.js +17 -23
  932. package/build/languageProcessing/researches/findKeywordInFirstParagraph.js.map +1 -1
  933. package/build/languageProcessing/researches/findTransitionWords.js +16 -23
  934. package/build/languageProcessing/researches/findTransitionWords.js.map +1 -1
  935. package/build/languageProcessing/researches/functionWordsInKeyphrase.js +10 -16
  936. package/build/languageProcessing/researches/functionWordsInKeyphrase.js.map +1 -1
  937. package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js +21 -28
  938. package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js.map +1 -1
  939. package/build/languageProcessing/researches/getFleschReadingScore.js +18 -25
  940. package/build/languageProcessing/researches/getFleschReadingScore.js.map +1 -1
  941. package/build/languageProcessing/researches/getKeywordDensity.js +7 -14
  942. package/build/languageProcessing/researches/getKeywordDensity.js.map +1 -1
  943. package/build/languageProcessing/researches/getLinkStatistics.js +7 -13
  944. package/build/languageProcessing/researches/getLinkStatistics.js.map +1 -1
  945. package/build/languageProcessing/researches/getLinks.js +7 -13
  946. package/build/languageProcessing/researches/getLinks.js.map +1 -1
  947. package/build/languageProcessing/researches/getLongCenterAlignedTexts.js +1 -7
  948. package/build/languageProcessing/researches/getLongCenterAlignedTexts.js.map +1 -1
  949. package/build/languageProcessing/researches/getParagraphLength.js +15 -21
  950. package/build/languageProcessing/researches/getParagraphLength.js.map +1 -1
  951. package/build/languageProcessing/researches/getParagraphs.js +4 -9
  952. package/build/languageProcessing/researches/getParagraphs.js.map +1 -1
  953. package/build/languageProcessing/researches/getPassiveVoiceResult.js +21 -30
  954. package/build/languageProcessing/researches/getPassiveVoiceResult.js.map +1 -1
  955. package/build/languageProcessing/researches/getProminentWordsForInsights.js +12 -18
  956. package/build/languageProcessing/researches/getProminentWordsForInsights.js.map +1 -1
  957. package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js +20 -26
  958. package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js.map +1 -1
  959. package/build/languageProcessing/researches/getSentenceBeginnings.js +30 -36
  960. package/build/languageProcessing/researches/getSentenceBeginnings.js.map +1 -1
  961. package/build/languageProcessing/researches/getSubheadingTextLengths.js +12 -18
  962. package/build/languageProcessing/researches/getSubheadingTextLengths.js.map +1 -1
  963. package/build/languageProcessing/researches/getWordForms.js +13 -19
  964. package/build/languageProcessing/researches/getWordForms.js.map +1 -1
  965. package/build/languageProcessing/researches/h1s.js +1 -7
  966. package/build/languageProcessing/researches/h1s.js.map +1 -1
  967. package/build/languageProcessing/researches/imageCount.js +4 -10
  968. package/build/languageProcessing/researches/imageCount.js.map +1 -1
  969. package/build/languageProcessing/researches/index.js +4 -27
  970. package/build/languageProcessing/researches/index.js.map +1 -1
  971. package/build/languageProcessing/researches/keyphraseDistribution.js +22 -32
  972. package/build/languageProcessing/researches/keyphraseDistribution.js.map +1 -1
  973. package/build/languageProcessing/researches/keyphraseLength.js +1 -7
  974. package/build/languageProcessing/researches/keyphraseLength.js.map +1 -1
  975. package/build/languageProcessing/researches/keywordCount.js +30 -39
  976. package/build/languageProcessing/researches/keywordCount.js.map +1 -1
  977. package/build/languageProcessing/researches/keywordCountInUrl.js +8 -16
  978. package/build/languageProcessing/researches/keywordCountInUrl.js.map +1 -1
  979. package/build/languageProcessing/researches/matchKeywordInSubheadings.js +15 -20
  980. package/build/languageProcessing/researches/matchKeywordInSubheadings.js.map +1 -1
  981. package/build/languageProcessing/researches/metaDescriptionKeyword.js +6 -12
  982. package/build/languageProcessing/researches/metaDescriptionKeyword.js.map +1 -1
  983. package/build/languageProcessing/researches/metaDescriptionLength.js +3 -9
  984. package/build/languageProcessing/researches/metaDescriptionLength.js.map +1 -1
  985. package/build/languageProcessing/researches/pageTitleWidth.js +1 -7
  986. package/build/languageProcessing/researches/pageTitleWidth.js.map +1 -1
  987. package/build/languageProcessing/researches/readingTime.js +7 -13
  988. package/build/languageProcessing/researches/readingTime.js.map +1 -1
  989. package/build/languageProcessing/researches/sentences.js +7 -13
  990. package/build/languageProcessing/researches/sentences.js.map +1 -1
  991. package/build/languageProcessing/researches/videoCount.js +1 -7
  992. package/build/languageProcessing/researches/videoCount.js.map +1 -1
  993. package/build/languageProcessing/researches/wordComplexity.js +15 -21
  994. package/build/languageProcessing/researches/wordComplexity.js.map +1 -1
  995. package/build/languageProcessing/researches/wordCountInText.js +10 -15
  996. package/build/languageProcessing/researches/wordCountInText.js.map +1 -1
  997. package/build/languageProcessing/values/Clause.js +1 -7
  998. package/build/languageProcessing/values/Clause.js.map +1 -1
  999. package/build/languageProcessing/values/ProminentWord.js +1 -7
  1000. package/build/languageProcessing/values/ProminentWord.js.map +1 -1
  1001. package/build/languageProcessing/values/Sentence.js +1 -7
  1002. package/build/languageProcessing/values/Sentence.js.map +1 -1
  1003. package/build/languageProcessing/values/index.js +4 -27
  1004. package/build/languageProcessing/values/index.js.map +1 -1
  1005. package/build/markers/addMark.js +1 -7
  1006. package/build/markers/addMark.js.map +1 -1
  1007. package/build/markers/addMarkSingleWord.js +7 -12
  1008. package/build/markers/addMarkSingleWord.js.map +1 -1
  1009. package/build/markers/index.js +3 -20
  1010. package/build/markers/index.js.map +1 -1
  1011. package/build/markers/removeDuplicateMarks.js +3 -8
  1012. package/build/markers/removeDuplicateMarks.js.map +1 -1
  1013. package/build/markers/removeMarks.js +1 -7
  1014. package/build/markers/removeMarks.js.map +1 -1
  1015. package/build/parse/build/build.js +17 -25
  1016. package/build/parse/build/build.js.map +1 -1
  1017. package/build/parse/build/index.js +7 -12
  1018. package/build/parse/build/index.js.map +1 -1
  1019. package/build/parse/build/private/adapt.js +15 -21
  1020. package/build/parse/build/private/adapt.js.map +1 -1
  1021. package/build/parse/build/private/adaptAttributes.js +3 -9
  1022. package/build/parse/build/private/adaptAttributes.js.map +1 -1
  1023. package/build/parse/build/private/alwaysFilterElements.js +9 -14
  1024. package/build/parse/build/private/alwaysFilterElements.js.map +1 -1
  1025. package/build/parse/build/private/combineIntoImplicitParagraphs.js +12 -18
  1026. package/build/parse/build/private/combineIntoImplicitParagraphs.js.map +1 -1
  1027. package/build/parse/build/private/filterBeforeTokenizing.js +5 -10
  1028. package/build/parse/build/private/filterBeforeTokenizing.js.map +1 -1
  1029. package/build/parse/build/private/filterHelpers.js +3 -11
  1030. package/build/parse/build/private/filterHelpers.js.map +1 -1
  1031. package/build/parse/build/private/filterTree.js +3 -8
  1032. package/build/parse/build/private/filterTree.js.map +1 -1
  1033. package/build/parse/build/private/getTextElementPositions.js +5 -10
  1034. package/build/parse/build/private/getTextElementPositions.js.map +1 -1
  1035. package/build/parse/build/private/helpers/parseClassAttribute.js +1 -7
  1036. package/build/parse/build/private/helpers/parseClassAttribute.js.map +1 -1
  1037. package/build/parse/build/private/isPhrasingContent.js +1 -7
  1038. package/build/parse/build/private/isPhrasingContent.js.map +1 -1
  1039. package/build/parse/build/private/parseBlocks.js +4 -11
  1040. package/build/parse/build/private/parseBlocks.js.map +1 -1
  1041. package/build/parse/build/private/tokenize.js +8 -14
  1042. package/build/parse/build/private/tokenize.js.map +1 -1
  1043. package/build/parse/language/LanguageProcessor.js +8 -15
  1044. package/build/parse/language/LanguageProcessor.js.map +1 -1
  1045. package/build/parse/structure/Heading.js +3 -9
  1046. package/build/parse/structure/Heading.js.map +1 -1
  1047. package/build/parse/structure/Node.js +8 -14
  1048. package/build/parse/structure/Node.js.map +1 -1
  1049. package/build/parse/structure/Paragraph.js +3 -9
  1050. package/build/parse/structure/Paragraph.js.map +1 -1
  1051. package/build/parse/structure/Sentence.js +1 -7
  1052. package/build/parse/structure/Sentence.js.map +1 -1
  1053. package/build/parse/structure/SourceCodeLocation.js +1 -7
  1054. package/build/parse/structure/SourceCodeLocation.js.map +1 -1
  1055. package/build/parse/structure/Text.js +3 -10
  1056. package/build/parse/structure/Text.js.map +1 -1
  1057. package/build/parse/structure/Token.js +3 -8
  1058. package/build/parse/structure/Token.js.map +1 -1
  1059. package/build/parse/structure/index.js +10 -33
  1060. package/build/parse/structure/index.js.map +1 -1
  1061. package/build/parse/traverse/findAllInTree.js +1 -7
  1062. package/build/parse/traverse/findAllInTree.js.map +1 -1
  1063. package/build/parse/traverse/index.js +8 -19
  1064. package/build/parse/traverse/index.js.map +1 -1
  1065. package/build/parse/traverse/innerText.js +3 -8
  1066. package/build/parse/traverse/innerText.js.map +1 -1
  1067. package/build/parsedPaper/ParsedPaper.js +1 -8
  1068. package/build/parsedPaper/ParsedPaper.js.map +1 -1
  1069. package/build/parsedPaper/assess/TreeAssessor.js +6 -12
  1070. package/build/parsedPaper/assess/TreeAssessor.js.map +1 -1
  1071. package/build/parsedPaper/assess/assessmentListFactories.js +1 -11
  1072. package/build/parsedPaper/assess/assessmentListFactories.js.map +1 -1
  1073. package/build/parsedPaper/assess/assessments/Assessment.js +15 -9
  1074. package/build/parsedPaper/assess/assessments/Assessment.js.map +1 -1
  1075. package/build/parsedPaper/assess/assessments/index.js +6 -13
  1076. package/build/parsedPaper/assess/assessments/index.js.map +1 -1
  1077. package/build/parsedPaper/assess/assessorFactories.js +16 -24
  1078. package/build/parsedPaper/assess/assessorFactories.js.map +1 -1
  1079. package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js +1 -9
  1080. package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js.map +1 -1
  1081. package/build/parsedPaper/assess/cornerstone/index.js +2 -10
  1082. package/build/parsedPaper/assess/cornerstone/index.js.map +1 -1
  1083. package/build/parsedPaper/assess/index.js +13 -29
  1084. package/build/parsedPaper/assess/index.js.map +1 -1
  1085. package/build/parsedPaper/build/PaperParser.js +5 -11
  1086. package/build/parsedPaper/build/PaperParser.js.map +1 -1
  1087. package/build/parsedPaper/build/linguisticParsing/Sentence.js +1 -7
  1088. package/build/parsedPaper/build/linguisticParsing/Sentence.js.map +1 -1
  1089. package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +16 -23
  1090. package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js.map +1 -1
  1091. package/build/parsedPaper/build/linguisticParsing/parseText.js +3 -9
  1092. package/build/parsedPaper/build/linguisticParsing/parseText.js.map +1 -1
  1093. package/build/parsedPaper/build/tree/TreeBuilder.js +3 -9
  1094. package/build/parsedPaper/build/tree/TreeBuilder.js.map +1 -1
  1095. package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js +5 -10
  1096. package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js.map +1 -1
  1097. package/build/parsedPaper/build/tree/cleanup/getElementContent.js +1 -7
  1098. package/build/parsedPaper/build/tree/cleanup/getElementContent.js.map +1 -1
  1099. package/build/parsedPaper/build/tree/cleanup/postParsing.js +5 -11
  1100. package/build/parsedPaper/build/tree/cleanup/postParsing.js.map +1 -1
  1101. package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js +21 -27
  1102. package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js.map +1 -1
  1103. package/build/parsedPaper/build/tree/html/buildTree.js +7 -13
  1104. package/build/parsedPaper/build/tree/html/buildTree.js.map +1 -1
  1105. package/build/parsedPaper/build/tree/html/htmlConstants.js +4 -9
  1106. package/build/parsedPaper/build/tree/html/htmlConstants.js.map +1 -1
  1107. package/build/parsedPaper/build/tree/index.js +3 -8
  1108. package/build/parsedPaper/build/tree/index.js.map +1 -1
  1109. package/build/parsedPaper/build/tree/metadata/buildTree.js +12 -18
  1110. package/build/parsedPaper/build/tree/metadata/buildTree.js.map +1 -1
  1111. package/build/parsedPaper/research/TreeResearcher.js +4 -9
  1112. package/build/parsedPaper/research/TreeResearcher.js.map +1 -1
  1113. package/build/parsedPaper/research/index.js +10 -12
  1114. package/build/parsedPaper/research/index.js.map +1 -1
  1115. package/build/parsedPaper/research/researches/Headings.js +5 -11
  1116. package/build/parsedPaper/research/researches/Headings.js.map +1 -1
  1117. package/build/parsedPaper/research/researches/LinkStatistics.js +6 -12
  1118. package/build/parsedPaper/research/researches/LinkStatistics.js.map +1 -1
  1119. package/build/parsedPaper/research/researches/Research.js +5 -10
  1120. package/build/parsedPaper/research/researches/Research.js.map +1 -1
  1121. package/build/parsedPaper/research/researches/index.js +1 -13
  1122. package/build/parsedPaper/research/researches/index.js.map +1 -1
  1123. package/build/parsedPaper/structure/tree/FormattingElement.js +3 -9
  1124. package/build/parsedPaper/structure/tree/FormattingElement.js.map +1 -1
  1125. package/build/parsedPaper/structure/tree/SourceCodeLocation.js +1 -7
  1126. package/build/parsedPaper/structure/tree/SourceCodeLocation.js.map +1 -1
  1127. package/build/parsedPaper/structure/tree/TextContainer.js +5 -10
  1128. package/build/parsedPaper/structure/tree/TextContainer.js.map +1 -1
  1129. package/build/parsedPaper/structure/tree/index.js +9 -74
  1130. package/build/parsedPaper/structure/tree/index.js.map +1 -1
  1131. package/build/parsedPaper/structure/tree/nodes/Heading.js +3 -9
  1132. package/build/parsedPaper/structure/tree/nodes/Heading.js.map +1 -1
  1133. package/build/parsedPaper/structure/tree/nodes/LeafNode.js +5 -12
  1134. package/build/parsedPaper/structure/tree/nodes/LeafNode.js.map +1 -1
  1135. package/build/parsedPaper/structure/tree/nodes/List.js +5 -11
  1136. package/build/parsedPaper/structure/tree/nodes/List.js.map +1 -1
  1137. package/build/parsedPaper/structure/tree/nodes/ListItem.js +3 -10
  1138. package/build/parsedPaper/structure/tree/nodes/ListItem.js.map +1 -1
  1139. package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +3 -9
  1140. package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js.map +1 -1
  1141. package/build/parsedPaper/structure/tree/nodes/MetadataText.js +3 -9
  1142. package/build/parsedPaper/structure/tree/nodes/MetadataText.js.map +1 -1
  1143. package/build/parsedPaper/structure/tree/nodes/Node.js +6 -12
  1144. package/build/parsedPaper/structure/tree/nodes/Node.js.map +1 -1
  1145. package/build/parsedPaper/structure/tree/nodes/Paragraph.js +3 -9
  1146. package/build/parsedPaper/structure/tree/nodes/Paragraph.js.map +1 -1
  1147. package/build/parsedPaper/structure/tree/nodes/StructuredNode.js +3 -10
  1148. package/build/parsedPaper/structure/tree/nodes/StructuredNode.js.map +1 -1
  1149. package/build/parsedPaper/structure/tree/nodes/index.js +10 -69
  1150. package/build/parsedPaper/structure/tree/nodes/index.js.map +1 -1
  1151. package/build/scoring/assessments/assessment.js +17 -15
  1152. package/build/scoring/assessments/assessment.js.map +1 -1
  1153. package/build/scoring/assessments/index.js +53 -56
  1154. package/build/scoring/assessments/index.js.map +1 -1
  1155. package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js +30 -47
  1156. package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js.map +1 -1
  1157. package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js +98 -0
  1158. package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js.map +1 -0
  1159. package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js +22 -35
  1160. package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js.map +1 -1
  1161. package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js +24 -39
  1162. package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js.map +1 -1
  1163. package/build/scoring/assessments/readability/TransitionWordsAssessment.js +29 -47
  1164. package/build/scoring/assessments/readability/TransitionWordsAssessment.js.map +1 -1
  1165. package/build/scoring/assessments/seo/FAQsAssessment.js +162 -0
  1166. package/build/scoring/assessments/seo/FAQsAssessment.js.map +1 -0
  1167. package/build/scoring/assessments/seo/ImageCountAssessment.js +17 -33
  1168. package/build/scoring/assessments/seo/ImageCountAssessment.js.map +1 -1
  1169. package/build/scoring/assessments/seo/InternalLinksAssessment.js +21 -35
  1170. package/build/scoring/assessments/seo/InternalLinksAssessment.js.map +1 -1
  1171. package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js +20 -34
  1172. package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js.map +1 -1
  1173. package/build/scoring/assessments/seo/KeyphraseAssessment.js +18 -32
  1174. package/build/scoring/assessments/seo/KeyphraseAssessment.js.map +1 -1
  1175. package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js +21 -34
  1176. package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js.map +1 -1
  1177. package/build/scoring/assessments/seo/KeywordDensityAssessment.js +26 -40
  1178. package/build/scoring/assessments/seo/KeywordDensityAssessment.js.map +1 -1
  1179. package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +23 -42
  1180. package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js.map +1 -1
  1181. package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +19 -34
  1182. package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js.map +1 -1
  1183. package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js +25 -41
  1184. package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js.map +1 -1
  1185. package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js +16 -30
  1186. package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js.map +1 -1
  1187. package/build/scoring/assessments/seo/OutboundLinksAssessment.js +21 -40
  1188. package/build/scoring/assessments/seo/OutboundLinksAssessment.js.map +1 -1
  1189. package/build/scoring/assessments/seo/PageTitleWidthAssessment.js +17 -31
  1190. package/build/scoring/assessments/seo/PageTitleWidthAssessment.js.map +1 -1
  1191. package/build/scoring/assessments/seo/SchemaAssessment.js +95 -0
  1192. package/build/scoring/assessments/seo/SchemaAssessment.js.map +1 -0
  1193. package/build/scoring/assessments/seo/SingleH1Assessment.js +20 -33
  1194. package/build/scoring/assessments/seo/SingleH1Assessment.js.map +1 -1
  1195. package/build/scoring/assessments/seo/SingleTitleAssessment.js +20 -33
  1196. package/build/scoring/assessments/seo/SingleTitleAssessment.js.map +1 -1
  1197. package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +18 -35
  1198. package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js.map +1 -1
  1199. package/build/scoring/assessments/seo/TextImagesAssessment.js +20 -36
  1200. package/build/scoring/assessments/seo/TextImagesAssessment.js.map +1 -1
  1201. package/build/scoring/assessments/seo/TextLengthAssessment.js +21 -37
  1202. package/build/scoring/assessments/seo/TextLengthAssessment.js.map +1 -1
  1203. package/build/scoring/assessments/seo/UrlKeywordAssessment.js +20 -36
  1204. package/build/scoring/assessments/seo/UrlKeywordAssessment.js.map +1 -1
  1205. package/build/scoring/assessments/seo/UrlLengthAssessment.js +19 -33
  1206. package/build/scoring/assessments/seo/UrlLengthAssessment.js.map +1 -1
  1207. package/build/scoring/assessors/assessor.js +53 -33
  1208. package/build/scoring/assessors/assessor.js.map +1 -1
  1209. package/build/scoring/assessors/avadaAssessor.js +37 -17
  1210. package/build/scoring/assessors/avadaAssessor.js.map +1 -1
  1211. package/build/scoring/assessors/contentAssessor.js +16 -22
  1212. package/build/scoring/assessors/contentAssessor.js.map +1 -1
  1213. package/build/scoring/assessors/index.js +4 -34
  1214. package/build/scoring/assessors/index.js.map +1 -1
  1215. package/build/scoring/assessors/seoAssessor.js +27 -32
  1216. package/build/scoring/assessors/seoAssessor.js.map +1 -1
  1217. package/build/scoring/helpers/assessments/checkForTooLongSentences.js +3 -8
  1218. package/build/scoring/helpers/assessments/checkForTooLongSentences.js.map +1 -1
  1219. package/build/scoring/helpers/assessments/inRange.js +2 -10
  1220. package/build/scoring/helpers/assessments/inRange.js.map +1 -1
  1221. package/build/scoring/helpers/assessments/keyphraseLengthFactor.js +1 -7
  1222. package/build/scoring/helpers/assessments/keyphraseLengthFactor.js.map +1 -1
  1223. package/build/scoring/helpers/assessments/recommendedKeywordCount.js +5 -11
  1224. package/build/scoring/helpers/assessments/recommendedKeywordCount.js.map +1 -1
  1225. package/build/scoring/helpers/index.js +27 -18
  1226. package/build/scoring/helpers/index.js.map +1 -1
  1227. package/build/scoring/interpreters/index.js +2 -13
  1228. package/build/scoring/interpreters/index.js.map +1 -1
  1229. package/build/scoring/interpreters/scoreToRating.js +1 -7
  1230. package/build/scoring/interpreters/scoreToRating.js.map +1 -1
  1231. package/build/scoring/renderers/AssessorPresenter.js +12 -18
  1232. package/build/scoring/renderers/AssessorPresenter.js.map +1 -1
  1233. package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js +8 -14
  1234. package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js.map +1 -1
  1235. package/build/scoring/scoreAggregators/SEOScoreAggregator.js +3 -9
  1236. package/build/scoring/scoreAggregators/SEOScoreAggregator.js.map +1 -1
  1237. package/build/scoring/scoreAggregators/ScoreAggregator.js +1 -7
  1238. package/build/scoring/scoreAggregators/ScoreAggregator.js.map +1 -1
  1239. package/build/scoring/scoreAggregators/index.js +3 -27
  1240. package/build/scoring/scoreAggregators/index.js.map +1 -1
  1241. package/build/values/AssessmentResult.js +31 -57
  1242. package/build/values/AssessmentResult.js.map +1 -1
  1243. package/build/values/Mark.js +9 -15
  1244. package/build/values/Mark.js.map +1 -1
  1245. package/build/values/Paper.js +115 -16
  1246. package/build/values/Paper.js.map +1 -1
  1247. package/build/values/index.js +4 -27
  1248. package/build/values/index.js.map +1 -1
  1249. package/build/vendor/turkishStemmer.js +1 -7
  1250. package/build/vendor/turkishStemmer.js.map +1 -1
  1251. package/package.json +10 -2
  1252. package/build/bundledPlugins/index.js +0 -14
  1253. package/build/bundledPlugins/index.js.map +0 -1
  1254. package/build/bundledPlugins/previouslyUsedKeywords.js +0 -171
  1255. package/build/bundledPlugins/previouslyUsedKeywords.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stem.js","names":["matchWithRegexAndReplace","word","regexAndReplacement","replace","RegExp","checkWordsWithRemovedLastLetter","morphologyData","externalStemmer","characters","wordsWithLastAlefRemoved","includes","alef","wordsWithLastHamzaRemoved","alef_hamza_above","wordsWithLastMaksoraRemoved","yeh_maksorah","wordsWithLastYehRemoved","yeh","checkWordsWithRemovedFirstLetter","wordsWithFirstWawRemoved","waw","wordsWithFirstYehRemoved","checkWordsWithRemovedMiddleLetter","wordsWithMiddleWawRemoved","wordsWithMiddleYehRemoved","processTwoLetterWords","wordsWithRemovedDuplicateLetter","substring","wordAfterLastLetterCheck","wordAfterFirstLetterCheck","wordAfterMiddleLetterCheck","processThreeLetterWordsWithWeakLetterOrHamza","replacementPattern","functionToRunToGetRoot","wordAfterRemovingWeakLetterOrHamza","processThreeLetterWords","threeLetterRoots","waw_hamza","yeh_hamza","slice","wordAfterLastWeakLetterOrHamzaCheck","regexRemoveLastWeakLetterOrHamza","wordAfterMiddleWeakLetterOrHamzaCheck","regexRemoveMiddleWeakLetterOrHamza","regexReplaceMiddleLetterWithAlef","regexReplaceMiddleLetterWithAlefWithHamza","wordAfterReplacingMiddleLetterWithAlef","regexRemoveShaddaAndDuplicateLastLetter","checkFirstPatternAndGetRoot","numberSameLetters","length","checkSecondPatternAndGetRoot","pattern","root","i","feh","aen","lam","concat","countSharedLettersBetweenWordAndPattern","checkPatterns","wordAfterModification","regexReplaceFirstHamzaWithAlef","patterns","wordAfterCheckingFirstPattern","rootFound","wordAfterCheckingSecondPattern","checkIfWordIsRoot","fourLetterRoots","removeSuffix","suffixes","suffix","endsWith","removePrefix","prefixes","prefix","startsWith","processWordWithSuffix","wordAfterRemovingSuffix","outputAfterCheckingPatterns","processWordWithPrefix","wordAfterRemovingPrefix","outputAfterCheckingForSuffixes","findRoot","stemmedWord","outputAfterProcessingSuffix","outputAfterRemovingPrefix","processWordWithDefiniteArticle","wordAfterRemovingDefiniteArticle","definiteArticles","outputAfterTryingToFindRoot","processWordWithPrefixWaw","wordAfterRemovingWaw","stem","regexRemovingDiacritics","outputAfterProcessingDefiniteArticle","outputAfterProcessingPrefixWaw","wordAfterProcessingPrefix"],"sources":["../../../../../../src/languageProcessing/languages/ar/helpers/internal/stem.js"],"sourcesContent":["/**\n * Copyright (c) 2015 Mouaffak A. Sarhan\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * Tries to match a word with a regex. If matched, modifies the string according to the indicated pattern.\n *\n * @param {string}\t\tword\t\t\t\tThe word to check.\n * @param {string[]}\tregexAndReplacement\tThe regex to match the word with and what the word should be replaced with if it is matched.\n *\n * @returns {string}\tThe modified word or the original word if it was not matched.\n */\nconst matchWithRegexAndReplace = function( word, regexAndReplacement ) {\n\treturn word.replace( new RegExp( regexAndReplacement[ 0 ] ),\n\t\tregexAndReplacement[ 1 ] );\n};\n\n/**\n * Check if the word is on the list of three-letter roots which had the last weak letter removed (so are now two letters long).\n * If the word is on the list, add back the removed last letter and return the three-letter root.\n * Examples: طر -> طري (word with last weak letter ي (yeh) removed) , حص -> حصا (word with last weak letter ا (alef) removed)\n *\n * @param {string}\tword\t\t\tThe two-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe word with the last weak letter added back or null if the word was not found on a list.\n */\nconst checkWordsWithRemovedLastLetter = function( word, morphologyData ) {\n\tconst externalStemmer = morphologyData.externalStemmer;\n\tconst characters = externalStemmer.characters;\n\n\tif ( externalStemmer.wordsWithLastAlefRemoved.includes( word ) ) {\n\t\treturn word + characters.alef;\n\t}\n\tif ( externalStemmer.wordsWithLastHamzaRemoved.includes( word ) ) {\n\t\treturn word + characters.alef_hamza_above;\n\t}\n\tif ( externalStemmer.wordsWithLastMaksoraRemoved.includes( word ) ) {\n\t\treturn word + characters.yeh_maksorah;\n\t}\n\tif ( externalStemmer.wordsWithLastYehRemoved.includes( word ) ) {\n\t\treturn word + characters.yeh;\n\t}\n};\n\n/**\n * Check if the word is on the list of three-letter roots which had the first weak letter removed (so are now two letters long).\n * If the word is on the list, add back the removed first letter and return the three-letter root.\n * Examples: مض -> ومض (word with first weak letter و (waw) removed) , سن -> يسن (word with first weak letter ي (yeh) removed)\n *\n * @param {string}\tword\t\t\tThe two-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe word with the first weak letter added back or null if the word was not found on any list.\n */\nconst checkWordsWithRemovedFirstLetter = function( word, morphologyData ) {\n\tconst externalStemmer = morphologyData.externalStemmer;\n\tconst characters = externalStemmer.characters;\n\n\tif ( externalStemmer.wordsWithFirstWawRemoved.includes( word ) ) {\n\t\treturn characters.waw + word;\n\t}\n\tif ( externalStemmer.wordsWithFirstYehRemoved.includes( word ) ) {\n\t\treturn characters.yeh + word;\n\t}\n};\n\n/**\n * Check if the word is on the list of three-letter roots which had the middle weak letter removed (so are now two letters long).\n * If the word is on the list, add back the removed middle letter and return the three-letter root.\n * Examples: غز -> غوز (word with middle weak letter و (waw) removed), لن -> لين (word with middle weak letter ي (yeh) removed)\n *\n * @param {string}\tword\t\t\tThe two-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe word with the middle weak letter added back or null if the word was not found on a list.\n */\nconst checkWordsWithRemovedMiddleLetter = function( word, morphologyData ) {\n\tconst externalStemmer = morphologyData.externalStemmer;\n\tconst characters = externalStemmer.characters;\n\n\tif ( externalStemmer.wordsWithMiddleWawRemoved.includes( word ) ) {\n\t\treturn word[ 0 ] + characters.waw + word[ 1 ];\n\t}\n\tif ( externalStemmer.wordsWithMiddleYehRemoved.includes( word ) ) {\n\t\treturn word[ 0 ] + characters.yeh + word[ 1 ];\n\t}\n};\n\n\n/**\n * Find the root of two-letter words. Two-letter words usually come from three-letter roots for which a letter was deleted\n * as it is a duplicated last letter or a weak letter.\n *\n * @param {string}\tword\t\t\tThe two-letter word to process.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string}\tThe three-letter root or the input word if no root was found.\n */\nconst processTwoLetterWords = function( word, morphologyData ) {\n\t// Check whether the word is on the list of words with removed duplicate last letter. If it is, add back the removed letter to get the root.\n\tif ( morphologyData.externalStemmer.wordsWithRemovedDuplicateLetter.includes( word ) ) {\n\t\treturn word + word.substring( 1 );\n\t}\n\t// Check whether the word is on one of the lists of words with removed weak letter or hamza.\n\tconst wordAfterLastLetterCheck = checkWordsWithRemovedLastLetter( word, morphologyData );\n\tif ( wordAfterLastLetterCheck ) {\n\t\treturn wordAfterLastLetterCheck;\n\t}\n\tconst wordAfterFirstLetterCheck = checkWordsWithRemovedFirstLetter( word, morphologyData );\n\tif ( wordAfterFirstLetterCheck ) {\n\t\treturn wordAfterFirstLetterCheck;\n\t}\n\tconst wordAfterMiddleLetterCheck = checkWordsWithRemovedMiddleLetter( word, morphologyData );\n\tif ( wordAfterMiddleLetterCheck ) {\n\t\treturn wordAfterMiddleLetterCheck;\n\t}\n\n\treturn word;\n};\n\n/**\n * Remove the middle/last weak letter or hamza in a three letter word. Find its root by checking the appropriate exception lists\n * (words with middle letter removed or words with last letter removed) and attaching the removed letter back.\n * Example: بدء -> بد -> بدأ (three letter word with (ء) hamza ending,\n * which is found on the list of words with last letter removed after removing the suffix)\n *\n * @param {string}\t\tword\t\t\t\t\tThe three-letter word to check.\n * @param {Object}\t\tmorphologyData\t\t\tThe Arabic morphology data.\n * @param {string[]}\treplacementPattern\t\tThe regex to find and remove middle or last weak letter/hamza in three letter words\n * @param {function}\tfunctionToRunToGetRoot\tThe function that checks lists of words with either middle or last letter removed\n * \t\t\t\t\t\t\t\t\t\t\t\tand attaches it back.\n *\n * @returns {string|null}\tThe root or null if no root was found.\n */\nconst processThreeLetterWordsWithWeakLetterOrHamza = function( word, morphologyData, replacementPattern, functionToRunToGetRoot ) {\n\t// Find and remove middle or last weak letter or hamza\n\tconst wordAfterRemovingWeakLetterOrHamza = word.replace( new RegExp( replacementPattern[ 0 ] ),\n\t\treplacementPattern[ 1 ] );\n\tif ( wordAfterRemovingWeakLetterOrHamza !== word ) {\n\t\t/*\n\t\t * If the weak letter or hamza was removed, get the root by checking lists of words with middle/last weak letter\n\t\t * or hamza removed and attaching it back.\n\t\t */\n\t\treturn functionToRunToGetRoot( wordAfterRemovingWeakLetterOrHamza, morphologyData );\n\t}\n};\n\n/**\n * Get the root of three letter words.\n * Examples: ؤكد -> أكد (three letter word with ؤ (waw_hamza) beginning, قدّ -> قدد (three letter word which has a shadda on the second letter)\n *\n * @param {string}\tword\t\t\tThe three-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe root or the original input word (which may already be the root).\n */\nconst processThreeLetterWords = function( word, morphologyData ) {\n\tconst characters = morphologyData.externalStemmer.characters;\n\n\t// If the word exists on the list of three letter roots, return the word.\n\tif ( morphologyData.externalStemmer.threeLetterRoots.includes( word ) ) {\n\t\treturn word;\n\t}\n\t// If the first letter is ا/ ؤ/ ئ (yeh_hamza/waw_hamza/alef), change it to أ (alef_hamza_above).\n\tif ( word[ 0 ] === characters.alef || word[ 0 ] === characters.waw_hamza ||\n\t\t\tword[ 0 ] === characters.yeh_hamza ) {\n\t\tword = characters.alef_hamza_above + word.slice( 1 );\n\t}\n\n\t// If the last letter is a weak letter or a hamza, check if the word is a root that may get the last weak letter/hamza removed.\n\tconst wordAfterLastWeakLetterOrHamzaCheck = processThreeLetterWordsWithWeakLetterOrHamza( word, morphologyData,\n\t\tmorphologyData.externalStemmer.regexRemoveLastWeakLetterOrHamza, checkWordsWithRemovedLastLetter );\n\tif ( wordAfterLastWeakLetterOrHamzaCheck ) {\n\t\treturn wordAfterLastWeakLetterOrHamzaCheck;\n\t}\n\n\t// If the middle letter is a waw, yeh, alef or a yeh_hamza, check if the word is a root that may get the middle weak letter/hamza removed..\n\tconst wordAfterMiddleWeakLetterOrHamzaCheck = processThreeLetterWordsWithWeakLetterOrHamza( word, morphologyData,\n\t\tmorphologyData.externalStemmer.regexRemoveMiddleWeakLetterOrHamza, checkWordsWithRemovedMiddleLetter );\n\tif ( wordAfterMiddleWeakLetterOrHamzaCheck ) {\n\t\treturn wordAfterMiddleWeakLetterOrHamzaCheck;\n\t}\n\n\tconst regexReplaceMiddleLetterWithAlef = morphologyData.externalStemmer.regexReplaceMiddleLetterWithAlef;\n\tconst regexReplaceMiddleLetterWithAlefWithHamza = morphologyData.externalStemmer.regexReplaceMiddleLetterWithAlefWithHamza;\n\n\t// If the word has ئ/ؤ (yeh_hamza/waw_hamza) as the second letter and ends in ر/ز/ن (noon/zai/reh), change ئ/ؤ (yeh_hamza/waw_hamza) to ا (alef).\n\tconst wordAfterReplacingMiddleLetterWithAlef = word.replace( new RegExp( regexReplaceMiddleLetterWithAlef[ 0 ] ),\n\t\tregexReplaceMiddleLetterWithAlef[ 1 ] );\n\tif ( wordAfterReplacingMiddleLetterWithAlef === word ) {\n\t\t// If the second letter is a ئ/ؤ (yeh_hamza/waw_hamza) and it doesn't end in noon/zai/reh, change ئ/ؤ d to أ (alef_hamza_above).\n\t\tword = word.replace( new RegExp( regexReplaceMiddleLetterWithAlefWithHamza[ 0 ] ),\n\t\t\tregexReplaceMiddleLetterWithAlefWithHamza[ 1 ] );\n\t} else {\n\t\tword = wordAfterReplacingMiddleLetterWithAlef;\n\t}\n\t// If the last letter is a shadda, remove it and duplicate the last letter.\n\tconst regexRemoveShaddaAndDuplicateLastLetter = morphologyData.externalStemmer.regexRemoveShaddaAndDuplicateLastLetter;\n\tword = word.replace( new RegExp( regexRemoveShaddaAndDuplicateLastLetter[ 0 ] ),\n\t\tregexRemoveShaddaAndDuplicateLastLetter[ 1 ] );\n\n\treturn word;\n};\n\n/**\n * Check whether the word matches the pattern (it is a 6 letter-word, the fourth and sixth letter are the same, and the pattern\n * and the word share two same letters at the same index). If it does, remove the first character and the two last characters and\n * get the root.\n * Example: احولال -> حول (the stem is the 2nd to 4th character)\n *\n * @param {string}\tword\t\t\t\tThe word to check.\n * @param {number}\tnumberSameLetters\tThe number of letters the word and the pattern share at the same index.\n * @param {Object}\tmorphologyData\t\tThe Arabic morphology data.\n *\n * @returns {string} The root or the original word if word was not matched by the pattern.\n */\nconst checkFirstPatternAndGetRoot = function( word, numberSameLetters, morphologyData ) {\n\tif ( word.length === 6 && word[ 3 ] === word[ 5 ] && numberSameLetters === 2 ) {\n\t\treturn processThreeLetterWords( word.substring( 1, 4 ), morphologyData );\n\t}\n\treturn word;\n};\n\n/**\n * Checks whether the word matches the pattern (the word shares three characters with the pattern) and get the root if it does.\n * Example: استكتب -> كتب (A word that matches pattern (استفعل))\n *\n * @param {string}\tword\t\t\t\tThe word to check.\n * @param {string}\tpattern\t\t\t\tThe pattern to check.\n * @param {number}\tnumberSameLetters\tThe number of letters the word and the pattern share at the same index.\n * @param {Object}\tmorphologyData\t\tThe Arabic morphology data.\n *\n * @returns {string} The root or the original word if no root was found.\n */\nconst checkSecondPatternAndGetRoot = function( word, pattern, numberSameLetters, morphologyData ) {\n\tconst characters = morphologyData.externalStemmer.characters;\n\t// If the word length minus three is equal to or less than the number of same letters found in the checkPatterns function.\n\tif ( word.length - 3 <= numberSameLetters ) {\n\t\tlet root = \"\";\n\t\tfor ( let i = 0; i < word.length; i++ ) {\n\t\t\tif ( pattern[ i ] === characters.feh ||\n\t\t\t\tpattern[ i ] === characters.aen ||\n\t\t\t\tpattern[ i ] === characters.lam ) {\n\t\t\t\troot = root.concat( word[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn processThreeLetterWords( root, morphologyData );\n\t}\n\treturn word;\n};\n\n/**\n * Count the number of letters the word and the pattern to match with share at the same index.\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {string}\tpattern\t\t\tThe pattern to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {number}\tThe number of shared letters between the word and the pattern at the same index.\n */\nconst countSharedLettersBetweenWordAndPattern = function( word, pattern, morphologyData ) {\n\tconst characters = morphologyData.externalStemmer.characters;\n\n\tlet numberSameLetters = 0;\n\tfor ( let i = 0; i < word.length; i++ ) {\n\t\tif ( pattern[ i ] === word[ i ] &&\n\t\t\tpattern[ i ] !== characters.feh &&\n\t\t\tpattern[ i ] !== characters.aen &&\n\t\t\tpattern[ i ] !== characters.lam ) {\n\t\t\tnumberSameLetters++;\n\t\t}\n\t}\n\treturn numberSameLetters;\n};\n\n/**\n * Check if a word matches a specific pattern of letters, and if it does, modify the word to get the root.\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null} An object with either the root or the modified word and the information whether the root was found,\n * \t\t\t\t\t\t or null if the word was not modified and the root was not found.\n */\nconst checkPatterns = function( word, morphologyData ) {\n\t// If the first letter is an alef_madda, alef_hamza_above, or alef_hamza_below (أ/إ/آ), change it to an alef (ا)\n\tconst wordAfterModification = matchWithRegexAndReplace( word, morphologyData.externalStemmer.regexReplaceFirstHamzaWithAlef );\n\n\t// Try and find a pattern that matches the word\n\tfor ( const pattern of morphologyData.externalStemmer.patterns ) {\n\t\tif ( pattern.length === wordAfterModification.length ) {\n\t\t\t// Count the number of letters the word and the pattern share at the same index.\n\t\t\tconst numberSameLetters = countSharedLettersBetweenWordAndPattern( wordAfterModification, pattern, morphologyData );\n\n\t\t\tconst wordAfterCheckingFirstPattern = checkFirstPatternAndGetRoot( wordAfterModification, numberSameLetters, morphologyData );\n\t\t\tif ( wordAfterCheckingFirstPattern !== wordAfterModification ) {\n\t\t\t\treturn { word: wordAfterCheckingFirstPattern, rootFound: true };\n\t\t\t}\n\n\t\t\tconst wordAfterCheckingSecondPattern = checkSecondPatternAndGetRoot( wordAfterModification, pattern, numberSameLetters, morphologyData );\n\t\t\tif ( wordAfterCheckingSecondPattern !== wordAfterModification ) {\n\t\t\t\treturn { word: wordAfterCheckingSecondPattern, rootFound: true };\n\t\t\t}\n\t\t}\n\t}\n\n\t// If a pattern was not matched but the word was modified, return the modified word.\n\tif ( wordAfterModification !== word ) {\n\t\treturn { word: wordAfterModification, rootFound: false };\n\t}\n};\n\n/**\n * Tries to find the root of two-, three- and four-letter words by checking lists and/or applying modifications to the word.\n *\n * Example: the word أبطر is on the list of four-letter roots.\n *\n * @param {string} \tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null} The root or null if the root was not found.\n */\nconst checkIfWordIsRoot = function( word, morphologyData ) {\n\t// Check if the word consists of two letters and find its root.\n\tif ( word.length === 2 ) {\n\t\treturn processTwoLetterWords( word, morphologyData );\n\t}\n\t// Check if the word consists of three letters.\n\tif ( word.length === 3 ) {\n\t\treturn processThreeLetterWords( word, morphologyData );\n\t}\n\t// If the word consists of four letters, check if it is on the list of four-letter roots.\n\tif ( word.length === 4 ) {\n\t\tif ( morphologyData.externalStemmer.fourLetterRoots.includes( word ) ) {\n\t\t\treturn word;\n\t\t}\n\t}\n};\n\n/**\n * Checks whether the word ends in a suffix, and removes it if it does.\n *\n * @param {string}\t\tword\t\tThe word to check.\n * @param {string[]}\tsuffixes\tThe suffixes to check.\n *\n * @returns {string}\tThe word with the suffix removed or the input word if no suffix was found.\n */\nconst removeSuffix = function( word, suffixes ) {\n\tfor ( const suffix of suffixes ) {\n\t\tif ( word.endsWith( suffix ) ) {\n\t\t\treturn word.slice( 0, -suffix.length );\n\t\t}\n\t}\n\treturn word;\n};\n\n/**\n * Checks whether the word starts with a prefix, and removes it if it does.\n *\n * @param {string}\t\tword\t\tThe word to check.\n * @param {string[]}\tprefixes\tThe prefixes to check.\n *\n * @returns {string}\tThe word with the prefix removed or the input word if no prefix was found.\n */\nconst removePrefix = function( word, prefixes ) {\n\tfor ( const prefix of prefixes ) {\n\t\tif ( word.startsWith( prefix ) ) {\n\t\t\treturn word.substring( prefix.length, word.length );\n\t\t}\n\t}\n\treturn word;\n};\n\n/**\n * Searches for a suffix, removes it if found, and tries to find the root of the stemmed word. If the root is not found, the\n * function returns null, with one exception: it is possible that in the checkPatterns function that is ran inside of this one,\n * the word is modified but no root is found. In this case, the function returns the modified word.\n *\n * Example: جمعكم -> جمع (word with suffix كم which is found on the list of three-letter roots after removing the suffix).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null} An object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithSuffix = function( word, morphologyData ) {\n\t// Find and remove suffix.\n\tconst wordAfterRemovingSuffix = removeSuffix( word, morphologyData.externalStemmer.suffixes );\n\tif ( wordAfterRemovingSuffix !== word ) {\n\t\t// If suffix was removed, check if the stemmed word is a root.\n\t\tconst root = checkIfWordIsRoot( wordAfterRemovingSuffix, morphologyData );\n\t\tif ( root ) {\n\t\t\treturn { word: root, rootFound: true };\n\t\t}\n\t\t// If no root was found, try to get the root by matching with a pattern.\n\t\tconst outputAfterCheckingPatterns = checkPatterns( wordAfterRemovingSuffix, morphologyData );\n\t\tif ( outputAfterCheckingPatterns ) {\n\t\t\treturn outputAfterCheckingPatterns;\n\t\t}\n\t}\n};\n\n/**\n * Searches for a prefix (other than the definite article), removes it if found, and tries to find the root of the stemmed\n * word. If the root is not found, the function returns null, with one exception: it is possible that in the checkPatterns\n * function that is ran inside of this one, the word is modified but no root is found. In this case, the function returns\n * the modified word.\n *\n * Example: للزهور -> زهر (word with prefix لل that gets its root by matching with a pattern after removing the prefix).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithPrefix = function( word, morphologyData ) {\n\t// Find and remove prefix.\n\tlet wordAfterRemovingPrefix = removePrefix( word, morphologyData.externalStemmer.prefixes );\n\tif ( wordAfterRemovingPrefix !== word ) {\n\t\t// If prefix was removed, check if the stemmed word is a root.\n\t\tconst root = checkIfWordIsRoot( wordAfterRemovingPrefix, morphologyData );\n\t\tif ( root ) {\n\t\t\treturn { word: root, rootFound: true };\n\t\t}\n\t\t// If no root was found, try to get the root by matching with a pattern.\n\t\tconst outputAfterCheckingPatterns = checkPatterns( wordAfterRemovingPrefix, morphologyData );\n\t\tif ( outputAfterCheckingPatterns ) {\n\t\t\tif ( outputAfterCheckingPatterns.rootFound === true ) {\n\t\t\t\treturn outputAfterCheckingPatterns;\n\t\t\t}\n\t\t\twordAfterRemovingPrefix = outputAfterCheckingPatterns.word;\n\t\t}\n\t\t// If the root was still not found, try to find and remove suffixes and find the root again.\n\t\tconst outputAfterCheckingForSuffixes = processWordWithSuffix( wordAfterRemovingPrefix, morphologyData );\n\t\tif ( outputAfterCheckingForSuffixes ) {\n\t\t\treturn outputAfterCheckingForSuffixes;\n\t\t}\n\t}\n};\n\n/**\n * Checks if the word is a root. If root is not found, checks whether the root can be derived using a pattern. If the root is\n * still not found, removes affixes and tries to find the root again. If the root is not found, the function returns null,\n * with one exception: it is possible that in the checkPatterns function that is ran inside of this one, the word is modified\n * but no root is found. In this case, the function returns the modified word.\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst findRoot = function( word, morphologyData ) {\n\t// Check if the word is a root.\n\tconst root = checkIfWordIsRoot( word, morphologyData );\n\tif ( root ) {\n\t\treturn { word: root, rootFound: true };\n\t}\n\n\t// Check if the root can be derived by matching a pattern. إعدجص\n\tconst outputAfterCheckingPatterns = checkPatterns( word, morphologyData );\n\tlet stemmedWord = word;\n\tif ( outputAfterCheckingPatterns ) {\n\t\tif ( outputAfterCheckingPatterns.rootFound === true ) {\n\t\t\treturn outputAfterCheckingPatterns;\n\t\t}\n\t\t// Word: اعدجص\n\t\tstemmedWord = outputAfterCheckingPatterns.word;\n\t}\n\t// Remove affixes and check if the stemmed word is a root\n\tconst outputAfterProcessingSuffix = processWordWithSuffix( stemmedWord, morphologyData );\n\tif ( outputAfterProcessingSuffix ) {\n\t\treturn outputAfterProcessingSuffix;\n\t}\n\tconst outputAfterRemovingPrefix = processWordWithPrefix( stemmedWord, morphologyData );\n\tif ( outputAfterRemovingPrefix ) {\n\t\treturn outputAfterRemovingPrefix;\n\t}\n\n\tif ( stemmedWord !== word ) {\n\t\treturn { word: stemmedWord, rootFound: false };\n\t}\n};\n\n/**\n * Search for and remove a definite article and try to get the root of the word. If the root was not found, but the word\n * was modified inside the checkPatterns function, returns the modified word. If the definite article was removed and the\n * stemmed word is longer than three letters, but the root was not found, returns the stemmed word. Otherwise, if the root\n * was not found, returns null.\n *\n * Example: الجدولين -> جدول (word with definite article ال and suffix ين ).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithDefiniteArticle = function( word, morphologyData ) {\n\t// Search for and remove the definite article.\n\tconst wordAfterRemovingDefiniteArticle = removePrefix( word, morphologyData.externalStemmer.definiteArticles );\n\t// If a definite article was removed, try to find the root.\n\tif ( wordAfterRemovingDefiniteArticle !== word ) {\n\t\t/**\n\t\t * If definite article was removed, try to find root by checking whether the word is a root, matching with a pattern, and/or\n\t\t * searching for and removing prefixes.\n\t\t */\n\t\tconst outputAfterTryingToFindRoot = findRoot( wordAfterRemovingDefiniteArticle, morphologyData );\n\t\tif ( outputAfterTryingToFindRoot ) {\n\t\t\treturn outputAfterTryingToFindRoot;\n\t\t}\n\n\t\t// Return it even if no root was found.\n\t\treturn { word: wordAfterRemovingDefiniteArticle, rootFound: false };\n\t}\n};\n\n/**\n * Searches for prefix waw (و) and removes it if found, then tries to find the root. If the root is still not found, removes\n * affixes and tries to find the root again. If the root is not found, the function returns null, with one exception: it\n * is possible that in the checkPatterns function that is ran inside of this one, the word is modified but no root is found.\n * In this case, the function returns the modified word.\n *\n * Example: وتمثّل -> مثل (word with prefix waw which matches a pattern after removing the prefix).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithPrefixWaw = function( word, morphologyData ) {\n\tlet wordAfterRemovingWaw = \"\";\n\tif ( word.length > 3 && word.startsWith( morphologyData.externalStemmer.characters.waw ) ) {\n\t\twordAfterRemovingWaw = word.substring( 1 );\n\t\t/*\n\t\t * If the prefix waw was removed, try to find the root by checking whether the word is a root, matching with a pattern,\n\t\t * and/or searching for and removing prefixes.\n\t\t */\n\t\tconst outputAfterTryingToFindRoot = findRoot( wordAfterRemovingWaw, morphologyData );\n\n\t\tif ( outputAfterTryingToFindRoot ) {\n\t\t\treturn outputAfterTryingToFindRoot;\n\t\t}\n\t}\n};\n\n/**\n * Stems Arabic words.\n *\n * @param {string}\tword\t\t\tThe word to stem.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string}\tThe stemmed word.\n */\nexport default function stem( word, morphologyData ) {\n\t// Remove diacritics that serve as phonetic guides and are not usually used in regular writing.\n\tconst regexRemovingDiacritics = morphologyData.externalStemmer.regexRemovingDiacritics;\n\tword.replace( new RegExp( regexRemovingDiacritics ), \"\" );\n\n\tconst root = checkIfWordIsRoot( word, morphologyData );\n\tif ( root ) {\n\t\treturn root;\n\t}\n\t// If the root still hasn't been found, check if the word matches a pattern and get its root if it does.\n\tconst outputAfterCheckingPatterns = checkPatterns( word, morphologyData );\n\tif ( outputAfterCheckingPatterns ) {\n\t\t// Return the root if it was found in the checkPatterns function\n\t\tif ( outputAfterCheckingPatterns.rootFound === true ) {\n\t\t\treturn outputAfterCheckingPatterns.word;\n\t\t}\n\t\t// If the checkPatterns function modified the word but did not find the root, replace the word with the modified word.\n\t\tword = outputAfterCheckingPatterns.word;\n\t}\n\n\t// If the root still hasn't been found, remove the definite article and try to find the root.\n\tconst outputAfterProcessingDefiniteArticle = processWordWithDefiniteArticle( word, morphologyData );\n\tif ( outputAfterProcessingDefiniteArticle ) {\n\t\t// Return the root if it was found after removing the definite article.\n\t\tif ( outputAfterProcessingDefiniteArticle.rootFound === true ) {\n\t\t\treturn outputAfterProcessingDefiniteArticle.word;\n\t\t}\n\t\t// If the definite article was removed but the root was not found, replace the word with the stemmed word.\n\n\t\tword = outputAfterProcessingDefiniteArticle.word;\n\t}\n\n\t// If the root still hasn't been found, remove the prefix waw and try to find the root.\n\tconst outputAfterProcessingPrefixWaw = processWordWithPrefixWaw( word, morphologyData );\n\tif ( outputAfterProcessingPrefixWaw ) {\n\t\tif ( outputAfterProcessingPrefixWaw.rootFound === true ) {\n\t\t\treturn outputAfterProcessingPrefixWaw.word;\n\t\t}\n\t\t// If the checkPatterns function modified the word but did not find the root, replace the word with the modified word.\n\t\tword = outputAfterProcessingPrefixWaw.word;\n\t}\n\t// If the root still hasn't been found, remove a suffix and try to find the root.\n\tconst outputAfterProcessingSuffix = processWordWithSuffix( word, morphologyData );\n\tif ( outputAfterProcessingSuffix ) {\n\t\treturn outputAfterProcessingSuffix.word;\n\t}\n\n\t// If the root still hasn't been found, remove a prefix and try to find the root.\n\tconst wordAfterProcessingPrefix = processWordWithPrefix( word, morphologyData );\n\tif ( wordAfterProcessingPrefix ) {\n\t\treturn wordAfterProcessingPrefix.word;\n\t}\n\n\treturn word;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"stem.js","names":["matchWithRegexAndReplace","word","regexAndReplacement","replace","RegExp","checkWordsWithRemovedLastLetter","morphologyData","externalStemmer","characters","wordsWithLastAlefRemoved","includes","alef","wordsWithLastHamzaRemoved","alef_hamza_above","wordsWithLastMaksoraRemoved","yeh_maksorah","wordsWithLastYehRemoved","yeh","checkWordsWithRemovedFirstLetter","wordsWithFirstWawRemoved","waw","wordsWithFirstYehRemoved","checkWordsWithRemovedMiddleLetter","wordsWithMiddleWawRemoved","wordsWithMiddleYehRemoved","processTwoLetterWords","wordsWithRemovedDuplicateLetter","substring","wordAfterLastLetterCheck","wordAfterFirstLetterCheck","wordAfterMiddleLetterCheck","processThreeLetterWordsWithWeakLetterOrHamza","replacementPattern","functionToRunToGetRoot","wordAfterRemovingWeakLetterOrHamza","processThreeLetterWords","threeLetterRoots","waw_hamza","yeh_hamza","slice","wordAfterLastWeakLetterOrHamzaCheck","regexRemoveLastWeakLetterOrHamza","wordAfterMiddleWeakLetterOrHamzaCheck","regexRemoveMiddleWeakLetterOrHamza","regexReplaceMiddleLetterWithAlef","regexReplaceMiddleLetterWithAlefWithHamza","wordAfterReplacingMiddleLetterWithAlef","regexRemoveShaddaAndDuplicateLastLetter","checkFirstPatternAndGetRoot","numberSameLetters","length","checkSecondPatternAndGetRoot","pattern","root","i","feh","aen","lam","concat","countSharedLettersBetweenWordAndPattern","checkPatterns","wordAfterModification","regexReplaceFirstHamzaWithAlef","patterns","wordAfterCheckingFirstPattern","rootFound","wordAfterCheckingSecondPattern","checkIfWordIsRoot","fourLetterRoots","removeSuffix","suffixes","suffix","endsWith","removePrefix","prefixes","prefix","startsWith","processWordWithSuffix","wordAfterRemovingSuffix","outputAfterCheckingPatterns","processWordWithPrefix","wordAfterRemovingPrefix","outputAfterCheckingForSuffixes","findRoot","stemmedWord","outputAfterProcessingSuffix","outputAfterRemovingPrefix","processWordWithDefiniteArticle","wordAfterRemovingDefiniteArticle","definiteArticles","outputAfterTryingToFindRoot","processWordWithPrefixWaw","wordAfterRemovingWaw","stem","regexRemovingDiacritics","outputAfterProcessingDefiniteArticle","outputAfterProcessingPrefixWaw","wordAfterProcessingPrefix"],"sources":["../../../../../../src/languageProcessing/languages/ar/helpers/internal/stem.js"],"sourcesContent":["/**\n * Copyright (c) 2015 Mouaffak A. Sarhan\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * Tries to match a word with a regex. If matched, modifies the string according to the indicated pattern.\n *\n * @param {string}\t\tword\t\t\t\tThe word to check.\n * @param {string[]}\tregexAndReplacement\tThe regex to match the word with and what the word should be replaced with if it is matched.\n *\n * @returns {string}\tThe modified word or the original word if it was not matched.\n */\nconst matchWithRegexAndReplace = function( word, regexAndReplacement ) {\n\treturn word.replace( new RegExp( regexAndReplacement[ 0 ] ),\n\t\tregexAndReplacement[ 1 ] );\n};\n\n/**\n * Check if the word is on the list of three-letter roots which had the last weak letter removed (so are now two letters long).\n * If the word is on the list, add back the removed last letter and return the three-letter root.\n * Examples: طر -> طري (word with last weak letter ي (yeh) removed) , حص -> حصا (word with last weak letter ا (alef) removed)\n *\n * @param {string}\tword\t\t\tThe two-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe word with the last weak letter added back or null if the word was not found on a list.\n */\nconst checkWordsWithRemovedLastLetter = function( word, morphologyData ) {\n\tconst externalStemmer = morphologyData.externalStemmer;\n\tconst characters = externalStemmer.characters;\n\n\tif ( externalStemmer.wordsWithLastAlefRemoved.includes( word ) ) {\n\t\treturn word + characters.alef;\n\t}\n\tif ( externalStemmer.wordsWithLastHamzaRemoved.includes( word ) ) {\n\t\treturn word + characters.alef_hamza_above;\n\t}\n\tif ( externalStemmer.wordsWithLastMaksoraRemoved.includes( word ) ) {\n\t\treturn word + characters.yeh_maksorah;\n\t}\n\tif ( externalStemmer.wordsWithLastYehRemoved.includes( word ) ) {\n\t\treturn word + characters.yeh;\n\t}\n};\n\n/**\n * Check if the word is on the list of three-letter roots which had the first weak letter removed (so are now two letters long).\n * If the word is on the list, add back the removed first letter and return the three-letter root.\n * Examples: مض -> ومض (word with first weak letter و (waw) removed) , سن -> يسن (word with first weak letter ي (yeh) removed)\n *\n * @param {string}\tword\t\t\tThe two-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe word with the first weak letter added back or null if the word was not found on any list.\n */\nconst checkWordsWithRemovedFirstLetter = function( word, morphologyData ) {\n\tconst externalStemmer = morphologyData.externalStemmer;\n\tconst characters = externalStemmer.characters;\n\n\tif ( externalStemmer.wordsWithFirstWawRemoved.includes( word ) ) {\n\t\treturn characters.waw + word;\n\t}\n\tif ( externalStemmer.wordsWithFirstYehRemoved.includes( word ) ) {\n\t\treturn characters.yeh + word;\n\t}\n};\n\n/**\n * Check if the word is on the list of three-letter roots which had the middle weak letter removed (so are now two letters long).\n * If the word is on the list, add back the removed middle letter and return the three-letter root.\n * Examples: غز -> غوز (word with middle weak letter و (waw) removed), لن -> لين (word with middle weak letter ي (yeh) removed)\n *\n * @param {string}\tword\t\t\tThe two-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe word with the middle weak letter added back or null if the word was not found on a list.\n */\nconst checkWordsWithRemovedMiddleLetter = function( word, morphologyData ) {\n\tconst externalStemmer = morphologyData.externalStemmer;\n\tconst characters = externalStemmer.characters;\n\n\tif ( externalStemmer.wordsWithMiddleWawRemoved.includes( word ) ) {\n\t\treturn word[ 0 ] + characters.waw + word[ 1 ];\n\t}\n\tif ( externalStemmer.wordsWithMiddleYehRemoved.includes( word ) ) {\n\t\treturn word[ 0 ] + characters.yeh + word[ 1 ];\n\t}\n};\n\n\n/**\n * Find the root of two-letter words. Two-letter words usually come from three-letter roots for which a letter was deleted\n * as it is a duplicated last letter or a weak letter.\n *\n * @param {string}\tword\t\t\tThe two-letter word to process.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string}\tThe three-letter root or the input word if no root was found.\n */\nconst processTwoLetterWords = function( word, morphologyData ) {\n\t// Check whether the word is on the list of words with removed duplicate last letter. If it is, add back the removed letter to get the root.\n\tif ( morphologyData.externalStemmer.wordsWithRemovedDuplicateLetter.includes( word ) ) {\n\t\treturn word + word.substring( 1 );\n\t}\n\t// Check whether the word is on one of the lists of words with removed weak letter or hamza.\n\tconst wordAfterLastLetterCheck = checkWordsWithRemovedLastLetter( word, morphologyData );\n\tif ( wordAfterLastLetterCheck ) {\n\t\treturn wordAfterLastLetterCheck;\n\t}\n\tconst wordAfterFirstLetterCheck = checkWordsWithRemovedFirstLetter( word, morphologyData );\n\tif ( wordAfterFirstLetterCheck ) {\n\t\treturn wordAfterFirstLetterCheck;\n\t}\n\tconst wordAfterMiddleLetterCheck = checkWordsWithRemovedMiddleLetter( word, morphologyData );\n\tif ( wordAfterMiddleLetterCheck ) {\n\t\treturn wordAfterMiddleLetterCheck;\n\t}\n\n\treturn word;\n};\n\n/**\n * Remove the middle/last weak letter or hamza in a three letter word. Find its root by checking the appropriate exception lists\n * (words with middle letter removed or words with last letter removed) and attaching the removed letter back.\n * Example: بدء -> بد -> بدأ (three letter word with (ء) hamza ending,\n * which is found on the list of words with last letter removed after removing the suffix)\n *\n * @param {string}\t\tword\t\t\t\t\tThe three-letter word to check.\n * @param {Object}\t\tmorphologyData\t\t\tThe Arabic morphology data.\n * @param {string[]}\treplacementPattern\t\tThe regex to find and remove middle or last weak letter/hamza in three letter words\n * @param {function}\tfunctionToRunToGetRoot\tThe function that checks lists of words with either middle or last letter removed\n * \t\t\t\t\t\t\t\t\t\t\t\tand attaches it back.\n *\n * @returns {string|null}\tThe root or null if no root was found.\n */\nconst processThreeLetterWordsWithWeakLetterOrHamza = function( word, morphologyData, replacementPattern, functionToRunToGetRoot ) {\n\t// Find and remove middle or last weak letter or hamza\n\tconst wordAfterRemovingWeakLetterOrHamza = word.replace( new RegExp( replacementPattern[ 0 ] ),\n\t\treplacementPattern[ 1 ] );\n\tif ( wordAfterRemovingWeakLetterOrHamza !== word ) {\n\t\t/*\n\t\t * If the weak letter or hamza was removed, get the root by checking lists of words with middle/last weak letter\n\t\t * or hamza removed and attaching it back.\n\t\t */\n\t\treturn functionToRunToGetRoot( wordAfterRemovingWeakLetterOrHamza, morphologyData );\n\t}\n};\n\n/**\n * Get the root of three letter words.\n * Examples: ؤكد -> أكد (three letter word with ؤ (waw_hamza) beginning, قدّ -> قدد (three letter word which has a shadda on the second letter)\n *\n * @param {string}\tword\t\t\tThe three-letter word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null}\tThe root or the original input word (which may already be the root).\n */\nconst processThreeLetterWords = function( word, morphologyData ) {\n\tconst characters = morphologyData.externalStemmer.characters;\n\n\t// If the word exists on the list of three letter roots, return the word.\n\tif ( morphologyData.externalStemmer.threeLetterRoots.includes( word ) ) {\n\t\treturn word;\n\t}\n\t// If the first letter is ا/ ؤ/ ئ (yeh_hamza/waw_hamza/alef), change it to أ (alef_hamza_above).\n\tif ( word[ 0 ] === characters.alef || word[ 0 ] === characters.waw_hamza ||\n\t\t\tword[ 0 ] === characters.yeh_hamza ) {\n\t\tword = characters.alef_hamza_above + word.slice( 1 );\n\t}\n\n\t// If the last letter is a weak letter or a hamza, check if the word is a root that may get the last weak letter/hamza removed.\n\tconst wordAfterLastWeakLetterOrHamzaCheck = processThreeLetterWordsWithWeakLetterOrHamza( word, morphologyData,\n\t\tmorphologyData.externalStemmer.regexRemoveLastWeakLetterOrHamza, checkWordsWithRemovedLastLetter );\n\tif ( wordAfterLastWeakLetterOrHamzaCheck ) {\n\t\treturn wordAfterLastWeakLetterOrHamzaCheck;\n\t}\n\n\t// If the middle letter is a waw, yeh, alef or a yeh_hamza, check if the word is a root that may get the middle weak letter/hamza removed..\n\tconst wordAfterMiddleWeakLetterOrHamzaCheck = processThreeLetterWordsWithWeakLetterOrHamza( word, morphologyData,\n\t\tmorphologyData.externalStemmer.regexRemoveMiddleWeakLetterOrHamza, checkWordsWithRemovedMiddleLetter );\n\tif ( wordAfterMiddleWeakLetterOrHamzaCheck ) {\n\t\treturn wordAfterMiddleWeakLetterOrHamzaCheck;\n\t}\n\n\tconst regexReplaceMiddleLetterWithAlef = morphologyData.externalStemmer.regexReplaceMiddleLetterWithAlef;\n\tconst regexReplaceMiddleLetterWithAlefWithHamza = morphologyData.externalStemmer.regexReplaceMiddleLetterWithAlefWithHamza;\n\n\t// If the word has ئ/ؤ (yeh_hamza/waw_hamza) as the second letter and ends in ر/ز/ن (noon/zai/reh), change ئ/ؤ (yeh_hamza/waw_hamza) to ا (alef).\n\tconst wordAfterReplacingMiddleLetterWithAlef = word.replace( new RegExp( regexReplaceMiddleLetterWithAlef[ 0 ] ),\n\t\tregexReplaceMiddleLetterWithAlef[ 1 ] );\n\tif ( wordAfterReplacingMiddleLetterWithAlef === word ) {\n\t\t// If the second letter is a ئ/ؤ (yeh_hamza/waw_hamza) and it doesn't end in noon/zai/reh, change ئ/ؤ d to أ (alef_hamza_above).\n\t\tword = word.replace( new RegExp( regexReplaceMiddleLetterWithAlefWithHamza[ 0 ] ),\n\t\t\tregexReplaceMiddleLetterWithAlefWithHamza[ 1 ] );\n\t} else {\n\t\tword = wordAfterReplacingMiddleLetterWithAlef;\n\t}\n\t// If the last letter is a shadda, remove it and duplicate the last letter.\n\tconst regexRemoveShaddaAndDuplicateLastLetter = morphologyData.externalStemmer.regexRemoveShaddaAndDuplicateLastLetter;\n\tword = word.replace( new RegExp( regexRemoveShaddaAndDuplicateLastLetter[ 0 ] ),\n\t\tregexRemoveShaddaAndDuplicateLastLetter[ 1 ] );\n\n\treturn word;\n};\n\n/**\n * Check whether the word matches the pattern (it is a 6 letter-word, the fourth and sixth letter are the same, and the pattern\n * and the word share two same letters at the same index). If it does, remove the first character and the two last characters and\n * get the root.\n * Example: احولال -> حول (the stem is the 2nd to 4th character)\n *\n * @param {string}\tword\t\t\t\tThe word to check.\n * @param {number}\tnumberSameLetters\tThe number of letters the word and the pattern share at the same index.\n * @param {Object}\tmorphologyData\t\tThe Arabic morphology data.\n *\n * @returns {string} The root or the original word if word was not matched by the pattern.\n */\nconst checkFirstPatternAndGetRoot = function( word, numberSameLetters, morphologyData ) {\n\tif ( word.length === 6 && word[ 3 ] === word[ 5 ] && numberSameLetters === 2 ) {\n\t\treturn processThreeLetterWords( word.substring( 1, 4 ), morphologyData );\n\t}\n\treturn word;\n};\n\n/**\n * Checks whether the word matches the pattern (the word shares three characters with the pattern) and get the root if it does.\n * Example: استكتب -> كتب (A word that matches pattern (استفعل))\n *\n * @param {string}\tword\t\t\t\tThe word to check.\n * @param {string}\tpattern\t\t\t\tThe pattern to check.\n * @param {number}\tnumberSameLetters\tThe number of letters the word and the pattern share at the same index.\n * @param {Object}\tmorphologyData\t\tThe Arabic morphology data.\n *\n * @returns {string} The root or the original word if no root was found.\n */\nconst checkSecondPatternAndGetRoot = function( word, pattern, numberSameLetters, morphologyData ) {\n\tconst characters = morphologyData.externalStemmer.characters;\n\t// If the word length minus three is equal to or less than the number of same letters found in the checkPatterns function.\n\tif ( word.length - 3 <= numberSameLetters ) {\n\t\tlet root = \"\";\n\t\tfor ( let i = 0; i < word.length; i++ ) {\n\t\t\tif ( pattern[ i ] === characters.feh ||\n\t\t\t\tpattern[ i ] === characters.aen ||\n\t\t\t\tpattern[ i ] === characters.lam ) {\n\t\t\t\troot = root.concat( word[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn processThreeLetterWords( root, morphologyData );\n\t}\n\treturn word;\n};\n\n/**\n * Count the number of letters the word and the pattern to match with share at the same index.\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {string}\tpattern\t\t\tThe pattern to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {number}\tThe number of shared letters between the word and the pattern at the same index.\n */\nconst countSharedLettersBetweenWordAndPattern = function( word, pattern, morphologyData ) {\n\tconst characters = morphologyData.externalStemmer.characters;\n\n\tlet numberSameLetters = 0;\n\tfor ( let i = 0; i < word.length; i++ ) {\n\t\tif ( pattern[ i ] === word[ i ] &&\n\t\t\tpattern[ i ] !== characters.feh &&\n\t\t\tpattern[ i ] !== characters.aen &&\n\t\t\tpattern[ i ] !== characters.lam ) {\n\t\t\tnumberSameLetters++;\n\t\t}\n\t}\n\treturn numberSameLetters;\n};\n\n/**\n * Check if a word matches a specific pattern of letters, and if it does, modify the word to get the root.\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null} An object with either the root or the modified word and the information whether the root was found,\n * \t\t\t\t\t\t or null if the word was not modified and the root was not found.\n */\nconst checkPatterns = function( word, morphologyData ) {\n\t// If the first letter is an alef_madda, alef_hamza_above, or alef_hamza_below (أ/إ/آ), change it to an alef (ا)\n\tconst wordAfterModification = matchWithRegexAndReplace( word, morphologyData.externalStemmer.regexReplaceFirstHamzaWithAlef );\n\n\t// Try and find a pattern that matches the word\n\tfor ( const pattern of morphologyData.externalStemmer.patterns ) {\n\t\tif ( pattern.length === wordAfterModification.length ) {\n\t\t\t// Count the number of letters the word and the pattern share at the same index.\n\t\t\tconst numberSameLetters = countSharedLettersBetweenWordAndPattern( wordAfterModification, pattern, morphologyData );\n\n\t\t\tconst wordAfterCheckingFirstPattern = checkFirstPatternAndGetRoot( wordAfterModification, numberSameLetters, morphologyData );\n\t\t\tif ( wordAfterCheckingFirstPattern !== wordAfterModification ) {\n\t\t\t\treturn { word: wordAfterCheckingFirstPattern, rootFound: true };\n\t\t\t}\n\n\t\t\tconst wordAfterCheckingSecondPattern = checkSecondPatternAndGetRoot( wordAfterModification, pattern, numberSameLetters, morphologyData );\n\t\t\tif ( wordAfterCheckingSecondPattern !== wordAfterModification ) {\n\t\t\t\treturn { word: wordAfterCheckingSecondPattern, rootFound: true };\n\t\t\t}\n\t\t}\n\t}\n\n\t// If a pattern was not matched but the word was modified, return the modified word.\n\tif ( wordAfterModification !== word ) {\n\t\treturn { word: wordAfterModification, rootFound: false };\n\t}\n};\n\n/**\n * Tries to find the root of two-, three- and four-letter words by checking lists and/or applying modifications to the word.\n *\n * Example: the word أبطر is on the list of four-letter roots.\n *\n * @param {string} \tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string|null} The root or null if the root was not found.\n */\nconst checkIfWordIsRoot = function( word, morphologyData ) {\n\t// Check if the word consists of two letters and find its root.\n\tif ( word.length === 2 ) {\n\t\treturn processTwoLetterWords( word, morphologyData );\n\t}\n\t// Check if the word consists of three letters.\n\tif ( word.length === 3 ) {\n\t\treturn processThreeLetterWords( word, morphologyData );\n\t}\n\t// If the word consists of four letters, check if it is on the list of four-letter roots.\n\tif ( word.length === 4 ) {\n\t\tif ( morphologyData.externalStemmer.fourLetterRoots.includes( word ) ) {\n\t\t\treturn word;\n\t\t}\n\t}\n};\n\n/**\n * Checks whether the word ends in a suffix, and removes it if it does.\n *\n * @param {string}\t\tword\t\tThe word to check.\n * @param {string[]}\tsuffixes\tThe suffixes to check.\n *\n * @returns {string}\tThe word with the suffix removed or the input word if no suffix was found.\n */\nconst removeSuffix = function( word, suffixes ) {\n\tfor ( const suffix of suffixes ) {\n\t\tif ( word.endsWith( suffix ) ) {\n\t\t\treturn word.slice( 0, -suffix.length );\n\t\t}\n\t}\n\treturn word;\n};\n\n/**\n * Checks whether the word starts with a prefix, and removes it if it does.\n *\n * @param {string}\t\tword\t\tThe word to check.\n * @param {string[]}\tprefixes\tThe prefixes to check.\n *\n * @returns {string}\tThe word with the prefix removed or the input word if no prefix was found.\n */\nconst removePrefix = function( word, prefixes ) {\n\tfor ( const prefix of prefixes ) {\n\t\tif ( word.startsWith( prefix ) ) {\n\t\t\treturn word.substring( prefix.length, word.length );\n\t\t}\n\t}\n\treturn word;\n};\n\n/**\n * Searches for a suffix, removes it if found, and tries to find the root of the stemmed word. If the root is not found, the\n * function returns null, with one exception: it is possible that in the checkPatterns function that is ran inside of this one,\n * the word is modified but no root is found. In this case, the function returns the modified word.\n *\n * Example: جمعكم -> جمع (word with suffix كم which is found on the list of three-letter roots after removing the suffix).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null} An object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithSuffix = function( word, morphologyData ) {\n\t// Find and remove suffix.\n\tconst wordAfterRemovingSuffix = removeSuffix( word, morphologyData.externalStemmer.suffixes );\n\tif ( wordAfterRemovingSuffix !== word ) {\n\t\t// If suffix was removed, check if the stemmed word is a root.\n\t\tconst root = checkIfWordIsRoot( wordAfterRemovingSuffix, morphologyData );\n\t\tif ( root ) {\n\t\t\treturn { word: root, rootFound: true };\n\t\t}\n\t\t// If no root was found, try to get the root by matching with a pattern.\n\t\tconst outputAfterCheckingPatterns = checkPatterns( wordAfterRemovingSuffix, morphologyData );\n\t\tif ( outputAfterCheckingPatterns ) {\n\t\t\treturn outputAfterCheckingPatterns;\n\t\t}\n\t}\n};\n\n/**\n * Searches for a prefix (other than the definite article), removes it if found, and tries to find the root of the stemmed\n * word. If the root is not found, the function returns null, with one exception: it is possible that in the checkPatterns\n * function that is ran inside of this one, the word is modified but no root is found. In this case, the function returns\n * the modified word.\n *\n * Example: للزهور -> زهر (word with prefix لل that gets its root by matching with a pattern after removing the prefix).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithPrefix = function( word, morphologyData ) {\n\t// Find and remove prefix.\n\tlet wordAfterRemovingPrefix = removePrefix( word, morphologyData.externalStemmer.prefixes );\n\tif ( wordAfterRemovingPrefix !== word ) {\n\t\t// If prefix was removed, check if the stemmed word is a root.\n\t\tconst root = checkIfWordIsRoot( wordAfterRemovingPrefix, morphologyData );\n\t\tif ( root ) {\n\t\t\treturn { word: root, rootFound: true };\n\t\t}\n\t\t// If no root was found, try to get the root by matching with a pattern.\n\t\tconst outputAfterCheckingPatterns = checkPatterns( wordAfterRemovingPrefix, morphologyData );\n\t\tif ( outputAfterCheckingPatterns ) {\n\t\t\tif ( outputAfterCheckingPatterns.rootFound === true ) {\n\t\t\t\treturn outputAfterCheckingPatterns;\n\t\t\t}\n\t\t\twordAfterRemovingPrefix = outputAfterCheckingPatterns.word;\n\t\t}\n\t\t// If the root was still not found, try to find and remove suffixes and find the root again.\n\t\tconst outputAfterCheckingForSuffixes = processWordWithSuffix( wordAfterRemovingPrefix, morphologyData );\n\t\tif ( outputAfterCheckingForSuffixes ) {\n\t\t\treturn outputAfterCheckingForSuffixes;\n\t\t}\n\t}\n};\n\n/**\n * Checks if the word is a root. If root is not found, checks whether the root can be derived using a pattern. If the root is\n * still not found, removes affixes and tries to find the root again. If the root is not found, the function returns null,\n * with one exception: it is possible that in the checkPatterns function that is ran inside of this one, the word is modified\n * but no root is found. In this case, the function returns the modified word.\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst findRoot = function( word, morphologyData ) {\n\t// Check if the word is a root.\n\tconst root = checkIfWordIsRoot( word, morphologyData );\n\tif ( root ) {\n\t\treturn { word: root, rootFound: true };\n\t}\n\n\t// Check if the root can be derived by matching a pattern. إعدجص\n\tconst outputAfterCheckingPatterns = checkPatterns( word, morphologyData );\n\tlet stemmedWord = word;\n\tif ( outputAfterCheckingPatterns ) {\n\t\tif ( outputAfterCheckingPatterns.rootFound === true ) {\n\t\t\treturn outputAfterCheckingPatterns;\n\t\t}\n\t\t// Word: اعدجص\n\t\tstemmedWord = outputAfterCheckingPatterns.word;\n\t}\n\t// Remove affixes and check if the stemmed word is a root\n\tconst outputAfterProcessingSuffix = processWordWithSuffix( stemmedWord, morphologyData );\n\tif ( outputAfterProcessingSuffix ) {\n\t\treturn outputAfterProcessingSuffix;\n\t}\n\tconst outputAfterRemovingPrefix = processWordWithPrefix( stemmedWord, morphologyData );\n\tif ( outputAfterRemovingPrefix ) {\n\t\treturn outputAfterRemovingPrefix;\n\t}\n\n\tif ( stemmedWord !== word ) {\n\t\treturn { word: stemmedWord, rootFound: false };\n\t}\n};\n\n/**\n * Search for and remove a definite article and try to get the root of the word. If the root was not found, but the word\n * was modified inside the checkPatterns function, returns the modified word. If the definite article was removed and the\n * stemmed word is longer than three letters, but the root was not found, returns the stemmed word. Otherwise, if the root\n * was not found, returns null.\n *\n * Example: الجدولين -> جدول (word with definite article ال and suffix ين ).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithDefiniteArticle = function( word, morphologyData ) {\n\t// Search for and remove the definite article.\n\tconst wordAfterRemovingDefiniteArticle = removePrefix( word, morphologyData.externalStemmer.definiteArticles );\n\t// If a definite article was removed, try to find the root.\n\tif ( wordAfterRemovingDefiniteArticle !== word ) {\n\t\t/**\n\t\t * If definite article was removed, try to find root by checking whether the word is a root, matching with a pattern, and/or\n\t\t * searching for and removing prefixes.\n\t\t */\n\t\tconst outputAfterTryingToFindRoot = findRoot( wordAfterRemovingDefiniteArticle, morphologyData );\n\t\tif ( outputAfterTryingToFindRoot ) {\n\t\t\treturn outputAfterTryingToFindRoot;\n\t\t}\n\n\t\t// Return it even if no root was found.\n\t\treturn { word: wordAfterRemovingDefiniteArticle, rootFound: false };\n\t}\n};\n\n/**\n * Searches for prefix waw (و) and removes it if found, then tries to find the root. If the root is still not found, removes\n * affixes and tries to find the root again. If the root is not found, the function returns null, with one exception: it\n * is possible that in the checkPatterns function that is ran inside of this one, the word is modified but no root is found.\n * In this case, the function returns the modified word.\n *\n * Example: وتمثّل -> مثل (word with prefix waw which matches a pattern after removing the prefix).\n *\n * @param {string}\tword\t\t\tThe word to check.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {Object|null}\tAn object with the root/modified word and information about whether the root was found, or null if\n * \t\t\t\t\t\t the word is not modified and no root is found.\n */\nconst processWordWithPrefixWaw = function( word, morphologyData ) {\n\tlet wordAfterRemovingWaw = \"\";\n\tif ( word.length > 3 && word.startsWith( morphologyData.externalStemmer.characters.waw ) ) {\n\t\twordAfterRemovingWaw = word.substring( 1 );\n\t\t/*\n\t\t * If the prefix waw was removed, try to find the root by checking whether the word is a root, matching with a pattern,\n\t\t * and/or searching for and removing prefixes.\n\t\t */\n\t\tconst outputAfterTryingToFindRoot = findRoot( wordAfterRemovingWaw, morphologyData );\n\n\t\tif ( outputAfterTryingToFindRoot ) {\n\t\t\treturn outputAfterTryingToFindRoot;\n\t\t}\n\t}\n};\n\n/**\n * Stems Arabic words.\n *\n * @param {string}\tword\t\t\tThe word to stem.\n * @param {Object}\tmorphologyData\tThe Arabic morphology data.\n *\n * @returns {string}\tThe stemmed word.\n */\nexport default function stem( word, morphologyData ) {\n\t// Remove diacritics that serve as phonetic guides and are not usually used in regular writing.\n\tconst regexRemovingDiacritics = morphologyData.externalStemmer.regexRemovingDiacritics;\n\tword.replace( new RegExp( regexRemovingDiacritics ), \"\" );\n\n\tconst root = checkIfWordIsRoot( word, morphologyData );\n\tif ( root ) {\n\t\treturn root;\n\t}\n\t// If the root still hasn't been found, check if the word matches a pattern and get its root if it does.\n\tconst outputAfterCheckingPatterns = checkPatterns( word, morphologyData );\n\tif ( outputAfterCheckingPatterns ) {\n\t\t// Return the root if it was found in the checkPatterns function\n\t\tif ( outputAfterCheckingPatterns.rootFound === true ) {\n\t\t\treturn outputAfterCheckingPatterns.word;\n\t\t}\n\t\t// If the checkPatterns function modified the word but did not find the root, replace the word with the modified word.\n\t\tword = outputAfterCheckingPatterns.word;\n\t}\n\n\t// If the root still hasn't been found, remove the definite article and try to find the root.\n\tconst outputAfterProcessingDefiniteArticle = processWordWithDefiniteArticle( word, morphologyData );\n\tif ( outputAfterProcessingDefiniteArticle ) {\n\t\t// Return the root if it was found after removing the definite article.\n\t\tif ( outputAfterProcessingDefiniteArticle.rootFound === true ) {\n\t\t\treturn outputAfterProcessingDefiniteArticle.word;\n\t\t}\n\t\t// If the definite article was removed but the root was not found, replace the word with the stemmed word.\n\n\t\tword = outputAfterProcessingDefiniteArticle.word;\n\t}\n\n\t// If the root still hasn't been found, remove the prefix waw and try to find the root.\n\tconst outputAfterProcessingPrefixWaw = processWordWithPrefixWaw( word, morphologyData );\n\tif ( outputAfterProcessingPrefixWaw ) {\n\t\tif ( outputAfterProcessingPrefixWaw.rootFound === true ) {\n\t\t\treturn outputAfterProcessingPrefixWaw.word;\n\t\t}\n\t\t// If the checkPatterns function modified the word but did not find the root, replace the word with the modified word.\n\t\tword = outputAfterProcessingPrefixWaw.word;\n\t}\n\t// If the root still hasn't been found, remove a suffix and try to find the root.\n\tconst outputAfterProcessingSuffix = processWordWithSuffix( word, morphologyData );\n\tif ( outputAfterProcessingSuffix ) {\n\t\treturn outputAfterProcessingSuffix.word;\n\t}\n\n\t// If the root still hasn't been found, remove a prefix and try to find the root.\n\tconst wordAfterProcessingPrefix = processWordWithPrefix( word, morphologyData );\n\tif ( wordAfterProcessingPrefix ) {\n\t\treturn wordAfterProcessingPrefix.word;\n\t}\n\n\treturn word;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = isPassiveSentence;
7
- var _passiveVerbsWithLongVowel = _interopRequireDefault(require("../config/internal/passiveVerbsWithLongVowel"));
8
- var _index = require("../../../index");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import getPassiveVerbs from "../config/internal/passiveVerbsWithLongVowel";
2
+ import { languageProcessing } from "../../../../index.js";
10
3
  const {
11
4
  getWords
12
- } = _index.languageProcessing;
5
+ } = languageProcessing;
13
6
 
14
7
  /**
15
8
  * Checks the passed sentence to see if it contains Arabic passive verb-forms.
@@ -18,7 +11,7 @@ const {
18
11
  *
19
12
  * @returns {Boolean} Whether the sentence contains Arabic passive voice.
20
13
  */
21
- function isPassiveSentence(sentence) {
14
+ export default function isPassiveSentence(sentence) {
22
15
  const arabicPrepositionalPrefix = 'و';
23
16
  const words = getWords(sentence);
24
17
  const passiveVerbs = [];
@@ -32,7 +25,7 @@ function isPassiveSentence(sentence) {
32
25
  if (word.length >= 2) {
33
26
  wordWithDamma = word[1].search('\u064F');
34
27
  }
35
- if (wordWithDamma !== -1 || _passiveVerbsWithLongVowel.default.includes(word)) {
28
+ if (wordWithDamma !== -1 || getPassiveVerbs.includes(word)) {
36
29
  passiveVerbs.push(word);
37
30
  }
38
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"isPassiveSentence.js","names":["_passiveVerbsWithLongVowel","_interopRequireDefault","require","_index","e","__esModule","default","getWords","languageProcessing","isPassiveSentence","sentence","arabicPrepositionalPrefix","words","passiveVerbs","word","startsWith","slice","wordWithDamma","length","search","getPassiveVerbs","includes","push"],"sources":["../../../../../src/languageProcessing/languages/ar/helpers/isPassiveSentence.js"],"sourcesContent":["import getPassiveVerbs from '../config/internal/passiveVerbsWithLongVowel';\nimport {languageProcessing} from '../../../index';\nconst {getWords} = languageProcessing;\n\n/**\n * Checks the passed sentence to see if it contains Arabic passive verb-forms.\n *\n * @param {string} sentence The sentence to match against.\n *\n * @returns {Boolean} Whether the sentence contains Arabic passive voice.\n */\nexport default function isPassiveSentence(sentence) {\n const arabicPrepositionalPrefix = 'و';\n const words = getWords(sentence);\n const passiveVerbs = [];\n\n for (let word of words) {\n // Check if the word starts with prefix و\n if (word.startsWith(arabicPrepositionalPrefix)) {\n word = word.slice(1);\n }\n let wordWithDamma = -1;\n // Check if the first character has a damma or if the word is in the list of Arabic passive verbs\n if (word.length >= 2) {\n wordWithDamma = word[1].search('\\u064F');\n }\n if (wordWithDamma !== -1 || getPassiveVerbs.includes(word)) {\n passiveVerbs.push(word);\n }\n }\n\n return passiveVerbs.length !== 0;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAkD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAClD,MAAM;EAACG;AAAQ,CAAC,GAAGC,yBAAkB;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,iBAAiBA,CAACC,QAAQ,EAAE;EAClD,MAAMC,yBAAyB,GAAG,GAAG;EACrC,MAAMC,KAAK,GAAGL,QAAQ,CAACG,QAAQ,CAAC;EAChC,MAAMG,YAAY,GAAG,EAAE;EAEvB,KAAK,IAAIC,IAAI,IAAIF,KAAK,EAAE;IACtB;IACA,IAAIE,IAAI,CAACC,UAAU,CAACJ,yBAAyB,CAAC,EAAE;MAC9CG,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IACtB;IACA,IAAIC,aAAa,GAAG,CAAC,CAAC;IACtB;IACA,IAAIH,IAAI,CAACI,MAAM,IAAI,CAAC,EAAE;MACpBD,aAAa,GAAGH,IAAI,CAAC,CAAC,CAAC,CAACK,MAAM,CAAC,QAAQ,CAAC;IAC1C;IACA,IAAIF,aAAa,KAAK,CAAC,CAAC,IAAIG,kCAAe,CAACC,QAAQ,CAACP,IAAI,CAAC,EAAE;MAC1DD,YAAY,CAACS,IAAI,CAACR,IAAI,CAAC;IACzB;EACF;EAEA,OAAOD,YAAY,CAACK,MAAM,KAAK,CAAC;AAClC","ignoreList":[]}
1
+ {"version":3,"file":"isPassiveSentence.js","names":["getPassiveVerbs","languageProcessing","getWords","isPassiveSentence","sentence","arabicPrepositionalPrefix","words","passiveVerbs","word","startsWith","slice","wordWithDamma","length","search","includes","push"],"sources":["../../../../../src/languageProcessing/languages/ar/helpers/isPassiveSentence.js"],"sourcesContent":["import getPassiveVerbs from '../config/internal/passiveVerbsWithLongVowel';\nimport {languageProcessing} from '@axyseo/index.js';\nconst {getWords} = languageProcessing;\n\n/**\n * Checks the passed sentence to see if it contains Arabic passive verb-forms.\n *\n * @param {string} sentence The sentence to match against.\n *\n * @returns {Boolean} Whether the sentence contains Arabic passive voice.\n */\nexport default function isPassiveSentence(sentence) {\n const arabicPrepositionalPrefix = 'و';\n const words = getWords(sentence);\n const passiveVerbs = [];\n\n for (let word of words) {\n // Check if the word starts with prefix و\n if (word.startsWith(arabicPrepositionalPrefix)) {\n word = word.slice(1);\n }\n let wordWithDamma = -1;\n // Check if the first character has a damma or if the word is in the list of Arabic passive verbs\n if (word.length >= 2) {\n wordWithDamma = word[1].search('\\u064F');\n }\n if (wordWithDamma !== -1 || getPassiveVerbs.includes(word)) {\n passiveVerbs.push(word);\n }\n }\n\n return passiveVerbs.length !== 0;\n}\n"],"mappings":"AAAA,OAAOA,eAAe;AACtB,SAAQC,kBAAkB;AAC1B,MAAM;EAACC;AAAQ,CAAC,GAAGD,kBAAkB;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASE,iBAAiBA,CAACC,QAAQ,EAAE;EAClD,MAAMC,yBAAyB,GAAG,GAAG;EACrC,MAAMC,KAAK,GAAGJ,QAAQ,CAACE,QAAQ,CAAC;EAChC,MAAMG,YAAY,GAAG,EAAE;EAEvB,KAAK,IAAIC,IAAI,IAAIF,KAAK,EAAE;IACtB;IACA,IAAIE,IAAI,CAACC,UAAU,CAACJ,yBAAyB,CAAC,EAAE;MAC9CG,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IACtB;IACA,IAAIC,aAAa,GAAG,CAAC,CAAC;IACtB;IACA,IAAIH,IAAI,CAACI,MAAM,IAAI,CAAC,EAAE;MACpBD,aAAa,GAAGH,IAAI,CAAC,CAAC,CAAC,CAACK,MAAM,CAAC,QAAQ,CAAC;IAC1C;IACA,IAAIF,aAAa,KAAK,CAAC,CAAC,IAAIX,eAAe,CAACc,QAAQ,CAACN,IAAI,CAAC,EAAE;MAC1DD,YAAY,CAACQ,IAAI,CAACP,IAAI,CAAC;IACzB;EACF;EAEA,OAAOD,YAAY,CAACK,MAAM,KAAK,CAAC;AAClC","ignoreList":[]}
@@ -1,27 +1,20 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _index = require("../../../index");
8
- var _transitionWords = _interopRequireDefault(require("./config/transitionWords"));
9
- var _twoPartTransitionWords = _interopRequireDefault(require("./config/twoPartTransitionWords"));
10
- var _sentenceLength = _interopRequireDefault(require("./config/sentenceLength"));
11
- var _getStemmer = _interopRequireDefault(require("./helpers/getStemmer"));
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import { languageProcessing } from "../../../index.js";
13
2
  const {
14
3
  AbstractResearcher
15
- } = _index.languageProcessing;
4
+ } = languageProcessing;
16
5
 
17
6
  // All config
7
+ import transitionWords from "./config/transitionWords";
8
+ import twoPartTransitionWords from "./config/twoPartTransitionWords";
9
+ import sentenceLength from "./config/sentenceLength";
18
10
 
19
11
  // All helpers
12
+ import getStemmer from "./helpers/getStemmer";
20
13
 
21
14
  /**
22
15
  * The researcher contains all the researches, helpers, data, and config.
23
16
  */
24
- class Researcher extends AbstractResearcher {
17
+ export default class Researcher extends AbstractResearcher {
25
18
  /**
26
19
  * Constructor
27
20
  * @param {Paper} paper The Paper object that is needed within the researches.
@@ -39,14 +32,13 @@ class Researcher extends AbstractResearcher {
39
32
  Object.assign(this.config, {
40
33
  language: 'ca',
41
34
  functionWords: [],
42
- transitionWords: _transitionWords.default,
43
- twoPartTransitionWords: _twoPartTransitionWords.default,
44
- sentenceLength: _sentenceLength.default
35
+ transitionWords,
36
+ twoPartTransitionWords,
37
+ sentenceLength
45
38
  });
46
39
  Object.assign(this.helpers, {
47
- getStemmer: _getStemmer.default
40
+ getStemmer
48
41
  });
49
42
  }
50
43
  }
51
- exports.default = Researcher;
52
44
  //# sourceMappingURL=Researcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Researcher.js","names":["_index","require","_transitionWords","_interopRequireDefault","_twoPartTransitionWords","_sentenceLength","_getStemmer","e","__esModule","default","AbstractResearcher","languageProcessing","Researcher","constructor","paper","defaultResearches","getFleschReadingScore","getPassiveVoiceResult","getSentenceBeginnings","functionWordsInKeyphrase","Object","assign","config","language","functionWords","transitionWords","twoPartTransitionWords","sentenceLength","helpers","getStemmer","exports"],"sources":["../../../../src/languageProcessing/languages/ca/Researcher.js"],"sourcesContent":["import {languageProcessing} from '../../../index';\nconst {AbstractResearcher} = languageProcessing;\n\n// All config\nimport transitionWords from './config/transitionWords';\nimport twoPartTransitionWords from './config/twoPartTransitionWords';\nimport sentenceLength from './config/sentenceLength';\n\n// All helpers\nimport getStemmer from './helpers/getStemmer';\n\n/**\n * The researcher contains all the researches, helpers, data, and config.\n */\nexport default class Researcher extends AbstractResearcher {\n /**\n * Constructor\n * @param {Paper} paper The Paper object that is needed within the researches.\n * @constructor\n */\n constructor(paper) {\n super(paper);\n\n // Deletes researches that are currently not available in Catalan.\n // When the research is available, this line should be removed.\n delete this.defaultResearches.getFleschReadingScore;\n delete this.defaultResearches.getPassiveVoiceResult;\n delete this.defaultResearches.getSentenceBeginnings;\n delete this.defaultResearches.functionWordsInKeyphrase;\n\n Object.assign(this.config, {\n language: 'ca',\n functionWords: [],\n transitionWords,\n twoPartTransitionWords,\n sentenceLength\n });\n\n Object.assign(this.helpers, {\n getStemmer\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,gBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,eAAA,GAAAF,sBAAA,CAAAF,OAAA;AAGA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AAA8C,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAR9C,MAAM;EAACG;AAAkB,CAAC,GAAGC,yBAAkB;;AAE/C;;AAKA;;AAGA;AACA;AACA;AACe,MAAMC,UAAU,SAASF,kBAAkB,CAAC;EACzD;AACF;AACA;AACA;AACA;EACEG,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;;IAEZ;IACA;IACA,OAAO,IAAI,CAACC,iBAAiB,CAACC,qBAAqB;IACnD,OAAO,IAAI,CAACD,iBAAiB,CAACE,qBAAqB;IACnD,OAAO,IAAI,CAACF,iBAAiB,CAACG,qBAAqB;IACnD,OAAO,IAAI,CAACH,iBAAiB,CAACI,wBAAwB;IAEtDC,MAAM,CAACC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAE;MACzBC,QAAQ,EAAE,IAAI;MACdC,aAAa,EAAE,EAAE;MACjBC,eAAe,EAAfA,wBAAe;MACfC,sBAAsB,EAAtBA,+BAAsB;MACtBC,cAAc,EAAdA;IACF,CAAC,CAAC;IAEFP,MAAM,CAACC,MAAM,CAAC,IAAI,CAACO,OAAO,EAAE;MAC1BC,UAAU,EAAVA;IACF,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAArB,OAAA,GAAAG,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"Researcher.js","names":["languageProcessing","AbstractResearcher","transitionWords","twoPartTransitionWords","sentenceLength","getStemmer","Researcher","constructor","paper","defaultResearches","getFleschReadingScore","getPassiveVoiceResult","getSentenceBeginnings","functionWordsInKeyphrase","Object","assign","config","language","functionWords","helpers"],"sources":["../../../../src/languageProcessing/languages/ca/Researcher.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {AbstractResearcher} = languageProcessing;\n\n// All config\nimport transitionWords from './config/transitionWords';\nimport twoPartTransitionWords from './config/twoPartTransitionWords';\nimport sentenceLength from './config/sentenceLength';\n\n// All helpers\nimport getStemmer from './helpers/getStemmer';\n\n/**\n * The researcher contains all the researches, helpers, data, and config.\n */\nexport default class Researcher extends AbstractResearcher {\n /**\n * Constructor\n * @param {Paper} paper The Paper object that is needed within the researches.\n * @constructor\n */\n constructor(paper) {\n super(paper);\n\n // Deletes researches that are currently not available in Catalan.\n // When the research is available, this line should be removed.\n delete this.defaultResearches.getFleschReadingScore;\n delete this.defaultResearches.getPassiveVoiceResult;\n delete this.defaultResearches.getSentenceBeginnings;\n delete this.defaultResearches.functionWordsInKeyphrase;\n\n Object.assign(this.config, {\n language: 'ca',\n functionWords: [],\n transitionWords,\n twoPartTransitionWords,\n sentenceLength\n });\n\n Object.assign(this.helpers, {\n getStemmer\n });\n }\n}\n"],"mappings":"AAAA,SAAQA,kBAAkB;AAC1B,MAAM;EAACC;AAAkB,CAAC,GAAGD,kBAAkB;;AAE/C;AACA,OAAOE,eAAe;AACtB,OAAOC,sBAAsB;AAC7B,OAAOC,cAAc;;AAErB;AACA,OAAOC,UAAU;;AAEjB;AACA;AACA;AACA,eAAe,MAAMC,UAAU,SAASL,kBAAkB,CAAC;EACzD;AACF;AACA;AACA;AACA;EACEM,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;;IAEZ;IACA;IACA,OAAO,IAAI,CAACC,iBAAiB,CAACC,qBAAqB;IACnD,OAAO,IAAI,CAACD,iBAAiB,CAACE,qBAAqB;IACnD,OAAO,IAAI,CAACF,iBAAiB,CAACG,qBAAqB;IACnD,OAAO,IAAI,CAACH,iBAAiB,CAACI,wBAAwB;IAEtDC,MAAM,CAACC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAE;MACzBC,QAAQ,EAAE,IAAI;MACdC,aAAa,EAAE,EAAE;MACjBhB,eAAe;MACfC,sBAAsB;MACtBC;IACF,CAAC,CAAC;IAEFU,MAAM,CAACC,MAAM,CAAC,IAAI,CAACI,OAAO,EAAE;MAC1Bd;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = exports.default = {
1
+ export default {
8
2
  recommendedLength: 25
9
3
  };
10
4
  //# sourceMappingURL=sentenceLength.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentenceLength.js","names":["recommendedLength"],"sources":["../../../../../src/languageProcessing/languages/ca/config/sentenceLength.js"],"sourcesContent":["export default {\n\trecommendedLength: 25,\n};\n"],"mappings":";;;;;;iCAAe;EACdA,iBAAiB,EAAE;AACpB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"sentenceLength.js","names":["recommendedLength"],"sources":["../../../../../src/languageProcessing/languages/ca/config/sentenceLength.js"],"sourcesContent":["export default {\n\trecommendedLength: 25,\n};\n"],"mappings":"AAAA,eAAe;EACdA,iBAAiB,EAAE;AACpB,CAAC","ignoreList":[]}
@@ -1,13 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.singleWords = exports.multipleWords = exports.default = exports.allWords = void 0;
7
1
  /** @module config/transitionWords */
8
2
 
9
- const singleWords = exports.singleWords = ["abans", "així", "alhora", "aleshores", "altrament", "anteriorment", "breument", "bàsicament", "contràriament", "després", "doncs", "efectivament", "endemés", "especialment", "evidentment", "finalment", "fins a", "fins que", "generalment", "igualment", "malgrat", "mentre", "mentrestant", "parallelament", "paral·lelament", "però", "perquè", "quan", "primerament", "resumidament", "resumint", "segurament", "segons això", "sens dubte", "sinó", "sobretot", "també", "tanmateix"];
10
- const multipleWords = exports.multipleWords = ["a banda d'això", "a continuació", "a diferència de", "a fi de", "a fi que", "a força de", "a manera de resum", "a més", "a partir d'aquí", "a partir d'ara", "a tall d'exemple", "a tall de recapitulació", "a tall de resum", "al capdavall", "al contrari", "al mateix temps", "amb relació a", "tot plegat", "ara bé", "atès que", "com a conseqüència", "com a exemple", "com a resultat", "com a resum", "com que", "comptat i debatut", "considerant que", "convé destacar", "convé recalcar", "convé ressaltar que", "d'altra banda", "d’una banda", "d’una forma breu", "de la mateixa manera", "de manera parallela", "de manera paral·lela", "de manera que", "de tota manera", "degut a", "deixant de banda", "dit d'una altra manera", "donat que", "en a resum", "en lloc de", "en altres paraules", "en aquest sentit", "en canvi", "en conclusió", "en conjunt", "en conseqüència", "encara que", "en darrer lloc", "en darrer terme", "en definitiva", "en efecte", "en general", "en particular", "en pocs mots", "en poques paraules", "en primer lloc", "en relació amb", "en resum", "en segon lloc", "en síntesi", "en suma", "en tercer lloc", "en últim terme", "és a dir", "és més", "és per això que", "fins i tot", "gràcies a", "gràcies de", "igual com", "igual que", "ja que", "llevat que", "més aviat", "més tard", "més endavant", "no obstant", "o sia", "o sigui", "òbviament", "pel fet que", "pel general", "pel que", "per acabar", "per això", "per altra banda", "per aquest motiu", "per causa de", "per causa que", "per cert", "per començar", "per concloure", "per concretar", "per contra", "per exemple", "per illustrar", "per il·lustrar", "per l'altra part", "per l'altre cantó", "per la qual cosa", "per mitjà de", "per posar un exemple", "per raó de", "per raó que", "per tal de", "per tal que", "per tant", "per últim", "per un cantó", "per un costat", "per una altra banda", "per una part", "quant a", "recapitulant", "respecte de", "s'ha de tenir en compte que", "sempre que", "tal com s’ha dit", "tan bon punt", "tan aviat com", "tenint en compte que", "tot i", "tot seguit", "val a dir", "val la pena dir que", "vist que"];
11
- const allWords = exports.allWords = singleWords.concat(multipleWords);
12
- var _default = exports.default = allWords;
3
+ export const singleWords = ["abans", "així", "alhora", "aleshores", "altrament", "anteriorment", "breument", "bàsicament", "contràriament", "després", "doncs", "efectivament", "endemés", "especialment", "evidentment", "finalment", "fins a", "fins que", "generalment", "igualment", "malgrat", "mentre", "mentrestant", "parallelament", "paral·lelament", "però", "perquè", "quan", "primerament", "resumidament", "resumint", "segurament", "segons això", "sens dubte", "sinó", "sobretot", "també", "tanmateix"];
4
+ export const multipleWords = ["a banda d'això", "a continuació", "a diferència de", "a fi de", "a fi que", "a força de", "a manera de resum", "a més", "a partir d'aquí", "a partir d'ara", "a tall d'exemple", "a tall de recapitulació", "a tall de resum", "al capdavall", "al contrari", "al mateix temps", "amb relació a", "tot plegat", "ara bé", "atès que", "com a conseqüència", "com a exemple", "com a resultat", "com a resum", "com que", "comptat i debatut", "considerant que", "convé destacar", "convé recalcar", "convé ressaltar que", "d'altra banda", "d’una banda", "d’una forma breu", "de la mateixa manera", "de manera parallela", "de manera paral·lela", "de manera que", "de tota manera", "degut a", "deixant de banda", "dit d'una altra manera", "donat que", "en a resum", "en lloc de", "en altres paraules", "en aquest sentit", "en canvi", "en conclusió", "en conjunt", "en conseqüència", "encara que", "en darrer lloc", "en darrer terme", "en definitiva", "en efecte", "en general", "en particular", "en pocs mots", "en poques paraules", "en primer lloc", "en relació amb", "en resum", "en segon lloc", "en síntesi", "en suma", "en tercer lloc", "en últim terme", "és a dir", "és més", "és per això que", "fins i tot", "gràcies a", "gràcies de", "igual com", "igual que", "ja que", "llevat que", "més aviat", "més tard", "més endavant", "no obstant", "o sia", "o sigui", "òbviament", "pel fet que", "pel general", "pel que", "per acabar", "per això", "per altra banda", "per aquest motiu", "per causa de", "per causa que", "per cert", "per començar", "per concloure", "per concretar", "per contra", "per exemple", "per illustrar", "per il·lustrar", "per l'altra part", "per l'altre cantó", "per la qual cosa", "per mitjà de", "per posar un exemple", "per raó de", "per raó que", "per tal de", "per tal que", "per tant", "per últim", "per un cantó", "per un costat", "per una altra banda", "per una part", "quant a", "recapitulant", "respecte de", "s'ha de tenir en compte que", "sempre que", "tal com s’ha dit", "tan bon punt", "tan aviat com", "tenint en compte que", "tot i", "tot seguit", "val a dir", "val la pena dir que", "vist que"];
5
+ export const allWords = singleWords.concat(multipleWords);
6
+ export default allWords;
13
7
  //# sourceMappingURL=transitionWords.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitionWords.js","names":["singleWords","exports","multipleWords","allWords","concat","_default","default"],"sources":["../../../../../src/languageProcessing/languages/ca/config/transitionWords.js"],"sourcesContent":["/** @module config/transitionWords */\n\nexport const singleWords = [ \"abans\", \"així\", \"alhora\", \"aleshores\", \"altrament\", \"anteriorment\", \"breument\", \"bàsicament\",\n\t\"contràriament\", \"després\", \"doncs\", \"efectivament\", \"endemés\", \"especialment\", \"evidentment\", \"finalment\", \"fins a\",\n\t\"fins que\", \"generalment\", \"igualment\", \"malgrat\", \"mentre\", \"mentrestant\", \"parallelament\", \"paral·lelament\", \"però\",\n\t\"perquè\", \"quan\", \"primerament\", \"resumidament\", \"resumint\", \"segurament\", \"segons això\", \"sens dubte\", \"sinó\",\n\t\"sobretot\", \"també\", \"tanmateix\" ];\n\nexport const multipleWords = [ \"a banda d'això\", \"a continuació\", \"a diferència de\", \"a fi de\", \"a fi que\", \"a força de\",\n\t\"a manera de resum\", \"a més\", \"a partir d'aquí\", \"a partir d'ara\",\n\t\"a tall d'exemple\", \"a tall de recapitulació\", \"a tall de resum\", \"al capdavall\", \"al contrari\", \"al mateix temps\",\n\t\"amb relació a\", \"tot plegat\", \"ara bé\", \"atès que\", \"com a conseqüència\", \"com a exemple\", \"com a resultat\",\n\t\"com a resum\", \"com que\", \"comptat i debatut\", \"considerant que\", \"convé destacar\", \"convé recalcar\",\n\t\"convé ressaltar que\", \"d'altra banda\", \"d’una banda\", \"d’una forma breu\", \"de la mateixa manera\", \"de manera parallela\",\n\t\"de manera paral·lela\", \"de manera que\", \"de tota manera\", \"degut a\", \"deixant de banda\", \"dit d'una altra manera\",\n\t\"donat que\", \"en a resum\", \"en lloc de\", \"en altres paraules\", \"en aquest sentit\", \"en canvi\", \"en conclusió\", \"en conjunt\",\n\t\"en conseqüència\", \"encara que\", \"en darrer lloc\", \"en darrer terme\", \"en definitiva\", \"en efecte\", \"en general\",\n\t\"en particular\", \"en pocs mots\", \"en poques paraules\", \"en primer lloc\", \"en relació amb\", \"en resum\", \"en segon lloc\",\n\t\"en síntesi\", \"en suma\", \"en tercer lloc\", \"en últim terme\", \"és a dir\", \"és més\", \"és per això que\", \"fins i tot\",\n\t\"gràcies a\", \"gràcies de\", \"igual com\", \"igual que\", \"ja que\", \"llevat que\", \"més aviat\", \"més tard\", \"més endavant\",\n\t\"no obstant\", \"o sia\", \"o sigui\", \"òbviament\", \"pel fet que\", \"pel general\", \"pel que\", \"per acabar\", \"per això\",\n\t\"per altra banda\", \"per aquest motiu\", \"per causa de\", \"per causa que\", \"per cert\", \"per començar\", \"per concloure\",\n\t\"per concretar\", \"per contra\", \"per exemple\", \"per illustrar\", \"per il·lustrar\", \"per l'altra part\", \"per l'altre cantó\",\n\t\"per la qual cosa\", \"per mitjà de\", \"per posar un exemple\", \"per raó de\", \"per raó que\", \"per tal de\", \"per tal que\", \"per tant\",\n\t\"per últim\", \"per un cantó\", \"per un costat\", \"per una altra banda\", \"per una part\", \"quant a\", \"recapitulant\",\n\t\"respecte de\", \"s'ha de tenir en compte que\", \"sempre que\", \"tal com s’ha dit\", \"tan bon punt\", \"tan aviat com\",\n\t\"tenint en compte que\", \"tot i\", \"tot seguit\", \"val a dir\", \"val la pena dir que\", \"vist que\" ];\n\nexport const allWords = singleWords.concat( multipleWords );\n\nexport default allWords;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"transitionWords.js","names":["singleWords","multipleWords","allWords","concat"],"sources":["../../../../../src/languageProcessing/languages/ca/config/transitionWords.js"],"sourcesContent":["/** @module config/transitionWords */\n\nexport const singleWords = [ \"abans\", \"així\", \"alhora\", \"aleshores\", \"altrament\", \"anteriorment\", \"breument\", \"bàsicament\",\n\t\"contràriament\", \"després\", \"doncs\", \"efectivament\", \"endemés\", \"especialment\", \"evidentment\", \"finalment\", \"fins a\",\n\t\"fins que\", \"generalment\", \"igualment\", \"malgrat\", \"mentre\", \"mentrestant\", \"parallelament\", \"paral·lelament\", \"però\",\n\t\"perquè\", \"quan\", \"primerament\", \"resumidament\", \"resumint\", \"segurament\", \"segons això\", \"sens dubte\", \"sinó\",\n\t\"sobretot\", \"també\", \"tanmateix\" ];\n\nexport const multipleWords = [ \"a banda d'això\", \"a continuació\", \"a diferència de\", \"a fi de\", \"a fi que\", \"a força de\",\n\t\"a manera de resum\", \"a més\", \"a partir d'aquí\", \"a partir d'ara\",\n\t\"a tall d'exemple\", \"a tall de recapitulació\", \"a tall de resum\", \"al capdavall\", \"al contrari\", \"al mateix temps\",\n\t\"amb relació a\", \"tot plegat\", \"ara bé\", \"atès que\", \"com a conseqüència\", \"com a exemple\", \"com a resultat\",\n\t\"com a resum\", \"com que\", \"comptat i debatut\", \"considerant que\", \"convé destacar\", \"convé recalcar\",\n\t\"convé ressaltar que\", \"d'altra banda\", \"d’una banda\", \"d’una forma breu\", \"de la mateixa manera\", \"de manera parallela\",\n\t\"de manera paral·lela\", \"de manera que\", \"de tota manera\", \"degut a\", \"deixant de banda\", \"dit d'una altra manera\",\n\t\"donat que\", \"en a resum\", \"en lloc de\", \"en altres paraules\", \"en aquest sentit\", \"en canvi\", \"en conclusió\", \"en conjunt\",\n\t\"en conseqüència\", \"encara que\", \"en darrer lloc\", \"en darrer terme\", \"en definitiva\", \"en efecte\", \"en general\",\n\t\"en particular\", \"en pocs mots\", \"en poques paraules\", \"en primer lloc\", \"en relació amb\", \"en resum\", \"en segon lloc\",\n\t\"en síntesi\", \"en suma\", \"en tercer lloc\", \"en últim terme\", \"és a dir\", \"és més\", \"és per això que\", \"fins i tot\",\n\t\"gràcies a\", \"gràcies de\", \"igual com\", \"igual que\", \"ja que\", \"llevat que\", \"més aviat\", \"més tard\", \"més endavant\",\n\t\"no obstant\", \"o sia\", \"o sigui\", \"òbviament\", \"pel fet que\", \"pel general\", \"pel que\", \"per acabar\", \"per això\",\n\t\"per altra banda\", \"per aquest motiu\", \"per causa de\", \"per causa que\", \"per cert\", \"per començar\", \"per concloure\",\n\t\"per concretar\", \"per contra\", \"per exemple\", \"per illustrar\", \"per il·lustrar\", \"per l'altra part\", \"per l'altre cantó\",\n\t\"per la qual cosa\", \"per mitjà de\", \"per posar un exemple\", \"per raó de\", \"per raó que\", \"per tal de\", \"per tal que\", \"per tant\",\n\t\"per últim\", \"per un cantó\", \"per un costat\", \"per una altra banda\", \"per una part\", \"quant a\", \"recapitulant\",\n\t\"respecte de\", \"s'ha de tenir en compte que\", \"sempre que\", \"tal com s’ha dit\", \"tan bon punt\", \"tan aviat com\",\n\t\"tenint en compte que\", \"tot i\", \"tot seguit\", \"val a dir\", \"val la pena dir que\", \"vist que\" ];\n\nexport const allWords = singleWords.concat( multipleWords );\n\nexport default allWords;\n"],"mappings":"AAAA;;AAEA,OAAO,MAAMA,WAAW,GAAG,CAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EACzH,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EACpH,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,EACrH,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAC9G,UAAU,EAAE,OAAO,EAAE,WAAW,CAAE;AAEnC,OAAO,MAAMC,aAAa,GAAG,CAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EACvH,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EACjE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAClH,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAC5G,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EACpG,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,qBAAqB,EACxH,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,wBAAwB,EAClH,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAC3H,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAChH,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EACtH,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAClH,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EACpH,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAChH,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EACnH,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EACxH,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAChI,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAC9G,aAAa,EAAE,6BAA6B,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAC/G,sBAAsB,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,CAAE;AAEhG,OAAO,MAAMC,QAAQ,GAAGF,WAAW,CAACG,MAAM,CAAEF,aAAc,CAAC;AAE3D,eAAeC,QAAQ","ignoreList":[]}
@@ -1,13 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
1
  /** @module config/twoPartTransitionWords */
2
+
8
3
  /**
9
4
  * Returns an array with two-part transition words to be used by the assessments.
10
5
  * @returns {Array} The array filled with two-part transition words.
11
6
  */
12
- var _default = exports.default = [["ara", "ara"], ["ni", "ni"]];
7
+ export default [["ara", "ara"], ["ni", "ni"]];
13
8
  //# sourceMappingURL=twoPartTransitionWords.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"twoPartTransitionWords.js","names":["_default","exports","default"],"sources":["../../../../../src/languageProcessing/languages/ca/config/twoPartTransitionWords.js"],"sourcesContent":["/** @module config/twoPartTransitionWords */\n\n/**\n * Returns an array with two-part transition words to be used by the assessments.\n * @returns {Array} The array filled with two-part transition words.\n */\nexport default [ [ \"ara\", \"ara\" ], [ \"ni\", \"ni\" ] ];\n"],"mappings":";;;;;;AAAA;AAEA;AACA;AACA;AACA;AAHA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe,CAAE,CAAE,KAAK,EAAE,KAAK,CAAE,EAAE,CAAE,IAAI,EAAE,IAAI,CAAE,CAAE","ignoreList":[]}
1
+ {"version":3,"file":"twoPartTransitionWords.js","names":[],"sources":["../../../../../src/languageProcessing/languages/ca/config/twoPartTransitionWords.js"],"sourcesContent":["/** @module config/twoPartTransitionWords */\n\n/**\n * Returns an array with two-part transition words to be used by the assessments.\n * @returns {Array} The array filled with two-part transition words.\n */\nexport default [ [ \"ara\", \"ara\" ], [ \"ni\", \"ni\" ] ];\n"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACA,eAAe,CAAE,CAAE,KAAK,EAAE,KAAK,CAAE,EAAE,CAAE,IAAI,EAAE,IAAI,CAAE,CAAE","ignoreList":[]}
@@ -1,20 +1,14 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = getStemmer;
7
- var _index = require("../../../index");
1
+ import { languageProcessing } from "../../../../index.js";
8
2
  const {
9
3
  baseStemmer
10
- } = _index.languageProcessing;
4
+ } = languageProcessing;
11
5
 
12
6
  /**
13
7
  * Returns the stemmer for a researcher.
14
8
  *
15
9
  * @returns {Function} The stemmer.
16
10
  */
17
- function getStemmer() {
11
+ export default function getStemmer() {
18
12
  return baseStemmer;
19
13
  }
20
14
  //# sourceMappingURL=getStemmer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStemmer.js","names":["_index","require","baseStemmer","languageProcessing","getStemmer"],"sources":["../../../../../src/languageProcessing/languages/ca/helpers/getStemmer.js"],"sourcesContent":["import {languageProcessing} from '../../../index';\nconst {baseStemmer} = languageProcessing;\n\n/**\n * Returns the stemmer for a researcher.\n *\n * @returns {Function} The stemmer.\n */\nexport default function getStemmer() {\n return baseStemmer;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,MAAM;EAACC;AAAW,CAAC,GAAGC,yBAAkB;;AAExC;AACA;AACA;AACA;AACA;AACe,SAASC,UAAUA,CAAA,EAAG;EACnC,OAAOF,WAAW;AACpB","ignoreList":[]}
1
+ {"version":3,"file":"getStemmer.js","names":["languageProcessing","baseStemmer","getStemmer"],"sources":["../../../../../src/languageProcessing/languages/ca/helpers/getStemmer.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {baseStemmer} = languageProcessing;\n\n/**\n * Returns the stemmer for a researcher.\n *\n * @returns {Function} The stemmer.\n */\nexport default function getStemmer() {\n return baseStemmer;\n}\n"],"mappings":"AAAA,SAAQA,kBAAkB;AAC1B,MAAM;EAACC;AAAW,CAAC,GAAGD,kBAAkB;;AAExC;AACA;AACA;AACA;AACA;AACA,eAAe,SAASE,UAAUA,CAAA,EAAG;EACnC,OAAOD,WAAW;AACpB","ignoreList":[]}
@@ -1,30 +1,23 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _index = require("../../../index");
8
- var _firstWordExceptions = _interopRequireDefault(require("./config/firstWordExceptions"));
9
- var _stopWords = _interopRequireDefault(require("./config/stopWords"));
10
- var _functionWords = require("./config/functionWords");
11
- var _transitionWords = _interopRequireDefault(require("./config/transitionWords"));
12
- var _twoPartTransitionWords = _interopRequireDefault(require("./config/twoPartTransitionWords"));
13
- var _getClauses = _interopRequireDefault(require("./helpers/getClauses"));
14
- var _getStemmer = _interopRequireDefault(require("./helpers/getStemmer"));
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
1
+ import { languageProcessing } from "../../../index.js";
16
2
  const {
17
3
  AbstractResearcher
18
- } = _index.languageProcessing;
4
+ } = languageProcessing;
19
5
 
20
6
  // All config
7
+ import firstWordExceptions from "./config/firstWordExceptions";
8
+ import stopWords from "./config/stopWords";
9
+ import { all as functionWords } from "./config/functionWords";
10
+ import transitionWords from "./config/transitionWords";
11
+ import twoPartTransitionWords from "./config/twoPartTransitionWords";
21
12
 
22
13
  // All helpers
14
+ import getClauses from "./helpers/getClauses";
15
+ import getStemmer from "./helpers/getStemmer";
23
16
 
24
17
  /**
25
18
  * The researcher contains all the researches, helpers, data, and config.
26
19
  */
27
- class Researcher extends AbstractResearcher {
20
+ export default class Researcher extends AbstractResearcher {
28
21
  /**
29
22
  * Constructor
30
23
  * @param {Paper} paper The Paper object that is needed within the researches.
@@ -36,17 +29,16 @@ class Researcher extends AbstractResearcher {
36
29
  Object.assign(this.config, {
37
30
  language: 'cs',
38
31
  passiveConstructionType: 'periphrastic',
39
- firstWordExceptions: _firstWordExceptions.default,
40
- stopWords: _stopWords.default,
41
- functionWords: _functionWords.all,
42
- transitionWords: _transitionWords.default,
43
- twoPartTransitionWords: _twoPartTransitionWords.default
32
+ firstWordExceptions,
33
+ stopWords,
34
+ functionWords,
35
+ transitionWords,
36
+ twoPartTransitionWords
44
37
  });
45
38
  Object.assign(this.helpers, {
46
- getClauses: _getClauses.default,
47
- getStemmer: _getStemmer.default
39
+ getClauses,
40
+ getStemmer
48
41
  });
49
42
  }
50
43
  }
51
- exports.default = Researcher;
52
44
  //# sourceMappingURL=Researcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Researcher.js","names":["_index","require","_firstWordExceptions","_interopRequireDefault","_stopWords","_functionWords","_transitionWords","_twoPartTransitionWords","_getClauses","_getStemmer","e","__esModule","default","AbstractResearcher","languageProcessing","Researcher","constructor","paper","defaultResearches","getFleschReadingScore","Object","assign","config","language","passiveConstructionType","firstWordExceptions","stopWords","functionWords","transitionWords","twoPartTransitionWords","helpers","getClauses","getStemmer","exports"],"sources":["../../../../src/languageProcessing/languages/cs/Researcher.js"],"sourcesContent":["import {languageProcessing} from '../../../index';\nconst {AbstractResearcher} = languageProcessing;\n\n// All config\nimport firstWordExceptions from './config/firstWordExceptions';\nimport stopWords from './config/stopWords';\nimport {all as functionWords} from './config/functionWords';\nimport transitionWords from './config/transitionWords';\nimport twoPartTransitionWords from './config/twoPartTransitionWords';\n\n// All helpers\nimport getClauses from './helpers/getClauses';\nimport getStemmer from './helpers/getStemmer';\n\n/**\n * The researcher contains all the researches, helpers, data, and config.\n */\nexport default class Researcher extends AbstractResearcher {\n /**\n * Constructor\n * @param {Paper} paper The Paper object that is needed within the researches.\n * @constructor\n */\n constructor(paper) {\n super(paper);\n\n delete this.defaultResearches.getFleschReadingScore;\n\n Object.assign(this.config, {\n language: 'cs',\n passiveConstructionType: 'periphrastic',\n firstWordExceptions,\n stopWords,\n functionWords,\n transitionWords,\n twoPartTransitionWords\n });\n\n Object.assign(this.helpers, {\n getClauses,\n getStemmer\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,uBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAGA,IAAAO,WAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,WAAA,GAAAN,sBAAA,CAAAF,OAAA;AAA8C,SAAAE,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAX9C,MAAM;EAACG;AAAkB,CAAC,GAAGC,yBAAkB;;AAE/C;;AAOA;;AAIA;AACA;AACA;AACe,MAAMC,UAAU,SAASF,kBAAkB,CAAC;EACzD;AACF;AACA;AACA;AACA;EACEG,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAEZ,OAAO,IAAI,CAACC,iBAAiB,CAACC,qBAAqB;IAEnDC,MAAM,CAACC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAE;MACzBC,QAAQ,EAAE,IAAI;MACdC,uBAAuB,EAAE,cAAc;MACvCC,mBAAmB,EAAnBA,4BAAmB;MACnBC,SAAS,EAATA,kBAAS;MACTC,aAAa,EAAbA,kBAAa;MACbC,eAAe,EAAfA,wBAAe;MACfC,sBAAsB,EAAtBA;IACF,CAAC,CAAC;IAEFT,MAAM,CAACC,MAAM,CAAC,IAAI,CAACS,OAAO,EAAE;MAC1BC,UAAU,EAAVA,mBAAU;MACVC,UAAU,EAAVA;IACF,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAArB,OAAA,GAAAG,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"Researcher.js","names":["languageProcessing","AbstractResearcher","firstWordExceptions","stopWords","all","functionWords","transitionWords","twoPartTransitionWords","getClauses","getStemmer","Researcher","constructor","paper","defaultResearches","getFleschReadingScore","Object","assign","config","language","passiveConstructionType","helpers"],"sources":["../../../../src/languageProcessing/languages/cs/Researcher.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {AbstractResearcher} = languageProcessing;\n\n// All config\nimport firstWordExceptions from './config/firstWordExceptions';\nimport stopWords from './config/stopWords';\nimport {all as functionWords} from './config/functionWords';\nimport transitionWords from './config/transitionWords';\nimport twoPartTransitionWords from './config/twoPartTransitionWords';\n\n// All helpers\nimport getClauses from './helpers/getClauses';\nimport getStemmer from './helpers/getStemmer';\n\n/**\n * The researcher contains all the researches, helpers, data, and config.\n */\nexport default class Researcher extends AbstractResearcher {\n /**\n * Constructor\n * @param {Paper} paper The Paper object that is needed within the researches.\n * @constructor\n */\n constructor(paper) {\n super(paper);\n\n delete this.defaultResearches.getFleschReadingScore;\n\n Object.assign(this.config, {\n language: 'cs',\n passiveConstructionType: 'periphrastic',\n firstWordExceptions,\n stopWords,\n functionWords,\n transitionWords,\n twoPartTransitionWords\n });\n\n Object.assign(this.helpers, {\n getClauses,\n getStemmer\n });\n }\n}\n"],"mappings":"AAAA,SAAQA,kBAAkB;AAC1B,MAAM;EAACC;AAAkB,CAAC,GAAGD,kBAAkB;;AAE/C;AACA,OAAOE,mBAAmB;AAC1B,OAAOC,SAAS;AAChB,SAAQC,GAAG,IAAIC,aAAa;AAC5B,OAAOC,eAAe;AACtB,OAAOC,sBAAsB;;AAE7B;AACA,OAAOC,UAAU;AACjB,OAAOC,UAAU;;AAEjB;AACA;AACA;AACA,eAAe,MAAMC,UAAU,SAAST,kBAAkB,CAAC;EACzD;AACF;AACA;AACA;AACA;EACEU,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAEZ,OAAO,IAAI,CAACC,iBAAiB,CAACC,qBAAqB;IAEnDC,MAAM,CAACC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAE;MACzBC,QAAQ,EAAE,IAAI;MACdC,uBAAuB,EAAE,cAAc;MACvCjB,mBAAmB;MACnBC,SAAS;MACTE,aAAa;MACbC,eAAe;MACfC;IACF,CAAC,CAAC;IAEFQ,MAAM,CAACC,MAAM,CAAC,IAAI,CAACI,OAAO,EAAE;MAC1BZ,UAAU;MACVC;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -1,14 +1,8 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
1
  /**
8
2
  * Returns an array with exceptions for the sentence beginning researcher.
9
3
  * @type {Array} The array filled with exceptions.
10
4
  */
11
- var _default = exports.default = [
5
+ export default [
12
6
  // Definite articles:
13
7
  "ten",
14
8
  // Numbers 0-10, 100, 1000: