axyseo 2.0.0-alpha.0.0.4 → 2.0.0-alpha.0.0.6

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 (637) hide show
  1. package/package.json +5 -2
  2. package/.browserslistrc +0 -1
  3. package/.gitattributes +0 -1
  4. package/babel.config.js +0 -3
  5. package/eslint.config.mjs +0 -119
  6. package/src/bundledPlugins/index.js +0 -5
  7. package/src/bundledPlugins/previouslyUsedKeywords.js +0 -192
  8. package/src/config/diacritics.js +0 -106
  9. package/src/config/getTransliterations.js +0 -1447
  10. package/src/config/transliterationsWPstyle.js +0 -774
  11. package/src/config/wordBoundaries.js +0 -23
  12. package/src/config/wordBoundariesWithoutPunctuation.js +0 -9
  13. package/src/const/analysis.js +0 -41
  14. package/src/errors/invalidType.js +0 -14
  15. package/src/errors/missingArgument.js +0 -14
  16. package/src/helpers/createMeasurementElement.js +0 -40
  17. package/src/helpers/domManipulation.js +0 -65
  18. package/src/helpers/errors.js +0 -26
  19. package/src/helpers/factory.js +0 -219
  20. package/src/helpers/formatNumber.js +0 -12
  21. package/src/helpers/formatString.js +0 -33
  22. package/src/helpers/getLanguagesWithWordComplexity.js +0 -8
  23. package/src/helpers/getLanguagesWithWordFormSupport.js +0 -11
  24. package/src/helpers/getWordComplexityConfig.js +0 -20
  25. package/src/helpers/getWordComplexityHelper.js +0 -20
  26. package/src/helpers/htmlEntities.js +0 -41
  27. package/src/helpers/includesAny.js +0 -19
  28. package/src/helpers/index.js +0 -127
  29. package/src/helpers/shortlinker/Shortlinker.js +0 -75
  30. package/src/helpers/shortlinker/index.js +0 -1
  31. package/src/helpers/shortlinker/singleton.js +0 -68
  32. package/src/helpers/types.js +0 -34
  33. package/src/index.js +0 -60
  34. package/src/languageProcessing/AbstractResearcher.js +0 -366
  35. package/src/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +0 -125
  36. package/src/languageProcessing/helpers/html/getFieldsToMark.js +0 -29
  37. package/src/languageProcessing/helpers/html/getSubheadingTexts.js +0 -47
  38. package/src/languageProcessing/helpers/html/getSubheadings.js +0 -95
  39. package/src/languageProcessing/helpers/html/html.js +0 -176
  40. package/src/languageProcessing/helpers/html/htmlParser.js +0 -145
  41. package/src/languageProcessing/helpers/html/matchParagraphs.js +0 -62
  42. package/src/languageProcessing/helpers/html/normalizeHTML.js +0 -16
  43. package/src/languageProcessing/helpers/image/getAltAttribute.js +0 -20
  44. package/src/languageProcessing/helpers/image/getImagesInTree.js +0 -16
  45. package/src/languageProcessing/helpers/image/imageInText.js +0 -19
  46. package/src/languageProcessing/helpers/index.js +0 -12
  47. package/src/languageProcessing/helpers/language/getLanguage.js +0 -9
  48. package/src/languageProcessing/helpers/link/checkNofollow.js +0 -38
  49. package/src/languageProcessing/helpers/link/getAnchorsFromText.js +0 -32
  50. package/src/languageProcessing/helpers/link/getLinkType.js +0 -32
  51. package/src/languageProcessing/helpers/match/findKeywordFormsInString.js +0 -101
  52. package/src/languageProcessing/helpers/match/isDoubleQuoted.js +0 -13
  53. package/src/languageProcessing/helpers/match/matchTextWithArray.js +0 -36
  54. package/src/languageProcessing/helpers/match/matchTextWithTransliteration.js +0 -58
  55. package/src/languageProcessing/helpers/match/matchTextWithWord.js +0 -45
  56. package/src/languageProcessing/helpers/match/matchWordFormsWithSentence.js +0 -164
  57. package/src/languageProcessing/helpers/match/processExactMatchRequest.js +0 -20
  58. package/src/languageProcessing/helpers/morphology/baseStemmer.js +0 -11
  59. package/src/languageProcessing/helpers/morphology/buildFormRule.js +0 -19
  60. package/src/languageProcessing/helpers/morphology/buildTopicStems.js +0 -169
  61. package/src/languageProcessing/helpers/morphology/createRulesFromArrays.js +0 -45
  62. package/src/languageProcessing/helpers/morphology/exceptionListHelpers.js +0 -65
  63. package/src/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +0 -24
  64. package/src/languageProcessing/helpers/morphology/flattenSortLength.js +0 -14
  65. package/src/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +0 -39
  66. package/src/languageProcessing/helpers/morphology/regexHelpers.js +0 -44
  67. package/src/languageProcessing/helpers/morphology/stemHelpers.js +0 -38
  68. package/src/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +0 -31
  69. package/src/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +0 -36
  70. package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +0 -113
  71. package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +0 -45
  72. package/src/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +0 -231
  73. package/src/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +0 -20
  74. package/src/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +0 -23
  75. package/src/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +0 -40
  76. package/src/languageProcessing/helpers/prominentWords/determineProminentWords.js +0 -238
  77. package/src/languageProcessing/helpers/regex/createRegexFromArray.js +0 -35
  78. package/src/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +0 -34
  79. package/src/languageProcessing/helpers/regex/createWordRegex.js +0 -30
  80. package/src/languageProcessing/helpers/regex/matchStringWithRegex.js +0 -19
  81. package/src/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +0 -14
  82. package/src/languageProcessing/helpers/sanitize/doubleQuotes.js +0 -12
  83. package/src/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +0 -131
  84. package/src/languageProcessing/helpers/sanitize/mergeListItems.js +0 -24
  85. package/src/languageProcessing/helpers/sanitize/parseSynonyms.js +0 -20
  86. package/src/languageProcessing/helpers/sanitize/quotes.js +0 -46
  87. package/src/languageProcessing/helpers/sanitize/removeEmailAddresses.js +0 -12
  88. package/src/languageProcessing/helpers/sanitize/removePunctuation.js +0 -64
  89. package/src/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +0 -18
  90. package/src/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +0 -13
  91. package/src/languageProcessing/helpers/sanitize/removeURLs.js +0 -13
  92. package/src/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +0 -11
  93. package/src/languageProcessing/helpers/sanitize/sanitizeString.js +0 -18
  94. package/src/languageProcessing/helpers/sanitize/stripHTMLTags.js +0 -57
  95. package/src/languageProcessing/helpers/sanitize/stripNonTextTags.js +0 -15
  96. package/src/languageProcessing/helpers/sanitize/stripNumbers.js +0 -21
  97. package/src/languageProcessing/helpers/sanitize/stripSpaces.js +0 -23
  98. package/src/languageProcessing/helpers/sanitize/stripWordBoundaries.js +0 -65
  99. package/src/languageProcessing/helpers/sanitize/unifyWhitespace.js +0 -61
  100. package/src/languageProcessing/helpers/sentence/SentenceTokenizer.js +0 -640
  101. package/src/languageProcessing/helpers/sentence/countSentences.js +0 -20
  102. package/src/languageProcessing/helpers/sentence/getSentences.js +0 -65
  103. package/src/languageProcessing/helpers/sentence/getSentencesFromTree.js +0 -55
  104. package/src/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +0 -28
  105. package/src/languageProcessing/helpers/sentence/sentencesLength.js +0 -31
  106. package/src/languageProcessing/helpers/syllables/DeviationFragment.js +0 -112
  107. package/src/languageProcessing/helpers/syllables/countSyllables.js +0 -182
  108. package/src/languageProcessing/helpers/syllables/syllableCountIterator.js +0 -56
  109. package/src/languageProcessing/helpers/syllables/syllableCountStep.js +0 -68
  110. package/src/languageProcessing/helpers/transform/transformWordsWithHyphens.js +0 -17
  111. package/src/languageProcessing/helpers/transliterate/replaceDiacritics.js +0 -22
  112. package/src/languageProcessing/helpers/transliterate/specialCharacterMappings.js +0 -214
  113. package/src/languageProcessing/helpers/transliterate/transliterate.js +0 -20
  114. package/src/languageProcessing/helpers/transliterate/transliterateWPstyle.js +0 -21
  115. package/src/languageProcessing/helpers/url/parseSlug.js +0 -10
  116. package/src/languageProcessing/helpers/url/url.js +0 -172
  117. package/src/languageProcessing/helpers/word/addWordboundary.js +0 -37
  118. package/src/languageProcessing/helpers/word/areWordsInSentence.js +0 -16
  119. package/src/languageProcessing/helpers/word/countMetaDescriptionLength.js +0 -18
  120. package/src/languageProcessing/helpers/word/countWords.js +0 -14
  121. package/src/languageProcessing/helpers/word/createPunctuationTokens.js +0 -42
  122. package/src/languageProcessing/helpers/word/filterWordsFromArray.js +0 -15
  123. package/src/languageProcessing/helpers/word/followsIndex.js +0 -25
  124. package/src/languageProcessing/helpers/word/getAllWordsFromTree.js +0 -23
  125. package/src/languageProcessing/helpers/word/getWords.js +0 -43
  126. package/src/languageProcessing/helpers/word/includesIndex.js +0 -30
  127. package/src/languageProcessing/helpers/word/indices.js +0 -146
  128. package/src/languageProcessing/helpers/word/markWordsInSentences.js +0 -173
  129. package/src/languageProcessing/helpers/word/matchWordInSentence.js +0 -61
  130. package/src/languageProcessing/helpers/word/splitIntoTokens.js +0 -46
  131. package/src/languageProcessing/index.js +0 -91
  132. package/src/languageProcessing/languages/_default/Researcher.js +0 -34
  133. package/src/languageProcessing/languages/_default/helpers/getStemmer.js +0 -11
  134. package/src/languageProcessing/languages/ar/Researcher.js +0 -46
  135. package/src/languageProcessing/languages/ar/config/firstWordExceptions.js +0 -14
  136. package/src/languageProcessing/languages/ar/config/functionWords.js +0 -329
  137. package/src/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +0 -570
  138. package/src/languageProcessing/languages/ar/config/prefixedFunctionWords.js +0 -5
  139. package/src/languageProcessing/languages/ar/config/transitionWords.js +0 -19
  140. package/src/languageProcessing/languages/ar/config/twoPartTransitionWords.js +0 -7
  141. package/src/languageProcessing/languages/ar/helpers/createBasicWordForms.js +0 -32
  142. package/src/languageProcessing/languages/ar/helpers/getStemmer.js +0 -22
  143. package/src/languageProcessing/languages/ar/helpers/internal/stem.js +0 -632
  144. package/src/languageProcessing/languages/ar/helpers/isPassiveSentence.js +0 -33
  145. package/src/languageProcessing/languages/ca/Researcher.js +0 -43
  146. package/src/languageProcessing/languages/ca/config/sentenceLength.js +0 -3
  147. package/src/languageProcessing/languages/ca/config/transitionWords.js +0 -31
  148. package/src/languageProcessing/languages/ca/config/twoPartTransitionWords.js +0 -7
  149. package/src/languageProcessing/languages/ca/helpers/getStemmer.js +0 -11
  150. package/src/languageProcessing/languages/cs/Researcher.js +0 -44
  151. package/src/languageProcessing/languages/cs/config/firstWordExceptions.js +0 -15
  152. package/src/languageProcessing/languages/cs/config/functionWords.js +0 -121
  153. package/src/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +0 -38
  154. package/src/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +0 -54
  155. package/src/languageProcessing/languages/cs/config/stopWords.js +0 -42
  156. package/src/languageProcessing/languages/cs/config/transitionWords.js +0 -26
  157. package/src/languageProcessing/languages/cs/config/twoPartTransitionWords.js +0 -8
  158. package/src/languageProcessing/languages/cs/helpers/getClauses.js +0 -26
  159. package/src/languageProcessing/languages/cs/helpers/getStemmer.js +0 -22
  160. package/src/languageProcessing/languages/cs/helpers/internal/getParticiples.js +0 -16
  161. package/src/languageProcessing/languages/cs/helpers/internal/stem.js +0 -499
  162. package/src/languageProcessing/languages/cs/values/Clause.js +0 -34
  163. package/src/languageProcessing/languages/de/Researcher.js +0 -52
  164. package/src/languageProcessing/languages/de/config/firstWordExceptions.js +0 -17
  165. package/src/languageProcessing/languages/de/config/functionWords.js +0 -303
  166. package/src/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +0 -2231
  167. package/src/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +0 -96
  168. package/src/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +0 -368
  169. package/src/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +0 -72
  170. package/src/languageProcessing/languages/de/config/keyphraseLength.js +0 -11
  171. package/src/languageProcessing/languages/de/config/stopWords.js +0 -67
  172. package/src/languageProcessing/languages/de/config/syllables.json +0 -460
  173. package/src/languageProcessing/languages/de/config/transitionWords.js +0 -31
  174. package/src/languageProcessing/languages/de/config/twoPartTransitionWords.js +0 -12
  175. package/src/languageProcessing/languages/de/config/wordComplexity.js +0 -4
  176. package/src/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +0 -18
  177. package/src/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +0 -40
  178. package/src/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +0 -15
  179. package/src/languageProcessing/languages/de/helpers/getClauses.js +0 -25
  180. package/src/languageProcessing/languages/de/helpers/getStemmer.js +0 -22
  181. package/src/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +0 -31
  182. package/src/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +0 -128
  183. package/src/languageProcessing/languages/de/helpers/internal/determineStem.js +0 -128
  184. package/src/languageProcessing/languages/de/helpers/internal/getParticiples.js +0 -40
  185. package/src/languageProcessing/languages/de/helpers/internal/stem.js +0 -215
  186. package/src/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +0 -28
  187. package/src/languageProcessing/languages/de/values/Clause.js +0 -85
  188. package/src/languageProcessing/languages/el/Researcher.js +0 -46
  189. package/src/languageProcessing/languages/el/config/firstWordExceptions.js +0 -47
  190. package/src/languageProcessing/languages/el/config/functionWords.js +0 -116
  191. package/src/languageProcessing/languages/el/config/internal/auxiliaries.js +0 -19
  192. package/src/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +0 -87
  193. package/src/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +0 -138
  194. package/src/languageProcessing/languages/el/config/stopWords.js +0 -854
  195. package/src/languageProcessing/languages/el/config/transitionWords.js +0 -26
  196. package/src/languageProcessing/languages/el/config/twoPartTransitionWords.js +0 -10
  197. package/src/languageProcessing/languages/el/helpers/getClauses.js +0 -25
  198. package/src/languageProcessing/languages/el/helpers/getStemmer.js +0 -21
  199. package/src/languageProcessing/languages/el/helpers/internal/getParticiples.js +0 -20
  200. package/src/languageProcessing/languages/el/helpers/internal/stem.js +0 -368
  201. package/src/languageProcessing/languages/el/helpers/isPassiveSentence.js +0 -38
  202. package/src/languageProcessing/languages/el/values/Clause.js +0 -37
  203. package/src/languageProcessing/languages/en/Researcher.js +0 -46
  204. package/src/languageProcessing/languages/en/config/abbreviations.js +0 -55
  205. package/src/languageProcessing/languages/en/config/firstWordExceptions.js +0 -14
  206. package/src/languageProcessing/languages/en/config/functionWords.js +0 -186
  207. package/src/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +0 -44
  208. package/src/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +0 -354
  209. package/src/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +0 -3047
  210. package/src/languageProcessing/languages/en/config/regularParticiplesRegex.js +0 -5
  211. package/src/languageProcessing/languages/en/config/stopWords.js +0 -52
  212. package/src/languageProcessing/languages/en/config/syllables.json +0 -86
  213. package/src/languageProcessing/languages/en/config/transitionWords.js +0 -48
  214. package/src/languageProcessing/languages/en/config/twoPartTransitionWords.js +0 -7
  215. package/src/languageProcessing/languages/en/config/wordComplexity.js +0 -5
  216. package/src/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +0 -18
  217. package/src/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +0 -43
  218. package/src/languageProcessing/languages/en/helpers/getClauses.js +0 -49
  219. package/src/languageProcessing/languages/en/helpers/getStemmer.js +0 -22
  220. package/src/languageProcessing/languages/en/helpers/internal/determineStem.js +0 -178
  221. package/src/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +0 -162
  222. package/src/languageProcessing/languages/en/helpers/internal/getParticiples.js +0 -25
  223. package/src/languageProcessing/languages/en/helpers/internal/getVerbStem.js +0 -237
  224. package/src/languageProcessing/languages/en/values/Clause.js +0 -68
  225. package/src/languageProcessing/languages/es/Researcher.js +0 -48
  226. package/src/languageProcessing/languages/es/config/firstWordExceptions.js +0 -16
  227. package/src/languageProcessing/languages/es/config/functionWords.js +0 -321
  228. package/src/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +0 -60
  229. package/src/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +0 -7327
  230. package/src/languageProcessing/languages/es/config/sentenceLength.js +0 -3
  231. package/src/languageProcessing/languages/es/config/stopWords.js +0 -33
  232. package/src/languageProcessing/languages/es/config/syllables.json +0 -176
  233. package/src/languageProcessing/languages/es/config/transitionWords.js +0 -40
  234. package/src/languageProcessing/languages/es/config/twoPartTransitionWords.js +0 -10
  235. package/src/languageProcessing/languages/es/config/wordComplexity.js +0 -4
  236. package/src/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +0 -18
  237. package/src/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +0 -56
  238. package/src/languageProcessing/languages/es/helpers/getClauses.js +0 -29
  239. package/src/languageProcessing/languages/es/helpers/getStemmer.js +0 -22
  240. package/src/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +0 -41
  241. package/src/languageProcessing/languages/es/helpers/internal/getParticiples.js +0 -35
  242. package/src/languageProcessing/languages/es/helpers/internal/stem.js +0 -793
  243. package/src/languageProcessing/languages/es/values/Clause.js +0 -47
  244. package/src/languageProcessing/languages/fa/Researcher.js +0 -47
  245. package/src/languageProcessing/languages/fa/config/firstWordExceptions.js +0 -12
  246. package/src/languageProcessing/languages/fa/config/functionWords.js +0 -122
  247. package/src/languageProcessing/languages/fa/config/internal/participles.js +0 -1429
  248. package/src/languageProcessing/languages/fa/config/sentenceLength.js +0 -3
  249. package/src/languageProcessing/languages/fa/config/transitionWords.js +0 -20
  250. package/src/languageProcessing/languages/fa/config/twoPartTransitionWords.js +0 -9
  251. package/src/languageProcessing/languages/fa/helpers/createBasicWordForms.js +0 -97
  252. package/src/languageProcessing/languages/fa/helpers/getStemmer.js +0 -13
  253. package/src/languageProcessing/languages/fa/helpers/isPassiveSentence.js +0 -14
  254. package/src/languageProcessing/languages/fr/Researcher.js +0 -46
  255. package/src/languageProcessing/languages/fr/config/firstWordExceptions.js +0 -16
  256. package/src/languageProcessing/languages/fr/config/functionWords.js +0 -281
  257. package/src/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +0 -1510
  258. package/src/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +0 -108
  259. package/src/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +0 -565
  260. package/src/languageProcessing/languages/fr/config/stopWords.js +0 -119
  261. package/src/languageProcessing/languages/fr/config/syllables.json +0 -1426
  262. package/src/languageProcessing/languages/fr/config/transitionWords.js +0 -59
  263. package/src/languageProcessing/languages/fr/config/twoPartTransitionWords.js +0 -15
  264. package/src/languageProcessing/languages/fr/config/wordComplexity.js +0 -4
  265. package/src/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +0 -18
  266. package/src/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +0 -67
  267. package/src/languageProcessing/languages/fr/helpers/getClauses.js +0 -34
  268. package/src/languageProcessing/languages/fr/helpers/getStemmer.js +0 -22
  269. package/src/languageProcessing/languages/fr/helpers/internal/getParticiples.js +0 -72
  270. package/src/languageProcessing/languages/fr/helpers/internal/stem.js +0 -633
  271. package/src/languageProcessing/languages/fr/values/Clause.js +0 -96
  272. package/src/languageProcessing/languages/he/Researcher.js +0 -50
  273. package/src/languageProcessing/languages/he/config/firstWordExceptions.js +0 -13
  274. package/src/languageProcessing/languages/he/config/functionWords.js +0 -564
  275. package/src/languageProcessing/languages/he/config/internal/regularRootsHufal.js +0 -186
  276. package/src/languageProcessing/languages/he/config/internal/regularRootsNifal.js +0 -195
  277. package/src/languageProcessing/languages/he/config/internal/regularRootsPual.js +0 -168
  278. package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +0 -188
  279. package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +0 -197
  280. package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +0 -170
  281. package/src/languageProcessing/languages/he/config/prefixedFunctionWords.js +0 -2
  282. package/src/languageProcessing/languages/he/config/sentenceLength.js +0 -3
  283. package/src/languageProcessing/languages/he/config/transitionWords.js +0 -28
  284. package/src/languageProcessing/languages/he/config/twoPartTransitionWords.js +0 -8
  285. package/src/languageProcessing/languages/he/helpers/createBasicWordForms.js +0 -33
  286. package/src/languageProcessing/languages/he/helpers/getStemmer.js +0 -22
  287. package/src/languageProcessing/languages/he/helpers/internal/stem.js +0 -52
  288. package/src/languageProcessing/languages/he/helpers/isPassiveSentence.js +0 -96
  289. package/src/languageProcessing/languages/he/helpers/stem.js +0 -52
  290. package/src/languageProcessing/languages/hu/Researcher.js +0 -48
  291. package/src/languageProcessing/languages/hu/config/firstWordExceptions.js +0 -31
  292. package/src/languageProcessing/languages/hu/config/functionWords.js +0 -284
  293. package/src/languageProcessing/languages/hu/config/internal/auxiliaries.js +0 -97
  294. package/src/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +0 -125
  295. package/src/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +0 -265
  296. package/src/languageProcessing/languages/hu/config/internal/odikVerbs.js +0 -273
  297. package/src/languageProcessing/languages/hu/config/internal/participles.js +0 -412
  298. package/src/languageProcessing/languages/hu/config/stopWords.js +0 -213
  299. package/src/languageProcessing/languages/hu/config/transitionWords.js +0 -42
  300. package/src/languageProcessing/languages/hu/config/twoPartTransitionWords.js +0 -34
  301. package/src/languageProcessing/languages/hu/helpers/getClauses.js +0 -25
  302. package/src/languageProcessing/languages/hu/helpers/getStemmer.js +0 -22
  303. package/src/languageProcessing/languages/hu/helpers/internal/getParticiples.js +0 -21
  304. package/src/languageProcessing/languages/hu/helpers/internal/stem.js +0 -389
  305. package/src/languageProcessing/languages/hu/helpers/isPassiveSentence.js +0 -54
  306. package/src/languageProcessing/languages/hu/values/Clause.js +0 -41
  307. package/src/languageProcessing/languages/id/Researcher.js +0 -46
  308. package/src/languageProcessing/languages/id/config/firstWordExceptions.js +0 -13
  309. package/src/languageProcessing/languages/id/config/functionWords.js +0 -202
  310. package/src/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +0 -215
  311. package/src/languageProcessing/languages/id/config/transitionWords.js +0 -62
  312. package/src/languageProcessing/languages/id/config/twoPartTransitionWords.js +0 -13
  313. package/src/languageProcessing/languages/id/helpers/getStemmer.js +0 -22
  314. package/src/languageProcessing/languages/id/helpers/internal/stem.js +0 -462
  315. package/src/languageProcessing/languages/id/helpers/internal/stemHelpers.js +0 -78
  316. package/src/languageProcessing/languages/id/helpers/isPassiveSentence.js +0 -39
  317. package/src/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +0 -47
  318. package/src/languageProcessing/languages/it/Researcher.js +0 -48
  319. package/src/languageProcessing/languages/it/config/firstWordExceptions.js +0 -17
  320. package/src/languageProcessing/languages/it/config/functionWords.js +0 -277
  321. package/src/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +0 -98
  322. package/src/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +0 -7197
  323. package/src/languageProcessing/languages/it/config/sentenceLength.js +0 -3
  324. package/src/languageProcessing/languages/it/config/stopWords.js +0 -57
  325. package/src/languageProcessing/languages/it/config/syllables.json +0 -573
  326. package/src/languageProcessing/languages/it/config/transitionWords.js +0 -104
  327. package/src/languageProcessing/languages/it/config/twoPartTransitionWords.js +0 -9
  328. package/src/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +0 -15
  329. package/src/languageProcessing/languages/it/helpers/getClauses.js +0 -32
  330. package/src/languageProcessing/languages/it/helpers/getStemmer.js +0 -22
  331. package/src/languageProcessing/languages/it/helpers/internal/getParticiples.js +0 -34
  332. package/src/languageProcessing/languages/it/helpers/internal/stem.js +0 -436
  333. package/src/languageProcessing/languages/it/values/Clause.js +0 -47
  334. package/src/languageProcessing/languages/ja/Researcher.js +0 -86
  335. package/src/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +0 -4
  336. package/src/languageProcessing/languages/ja/config/firstWordExceptions.js +0 -8
  337. package/src/languageProcessing/languages/ja/config/functionWords.js +0 -563
  338. package/src/languageProcessing/languages/ja/config/keyphraseLength.js +0 -16
  339. package/src/languageProcessing/languages/ja/config/metaDescriptionLength.js +0 -4
  340. package/src/languageProcessing/languages/ja/config/paragraphLength.js +0 -10
  341. package/src/languageProcessing/languages/ja/config/sentenceLength.js +0 -4
  342. package/src/languageProcessing/languages/ja/config/subheadingsTooLong.js +0 -18
  343. package/src/languageProcessing/languages/ja/config/textLength.js +0 -47
  344. package/src/languageProcessing/languages/ja/config/topicLength.js +0 -5
  345. package/src/languageProcessing/languages/ja/config/transitionWords.js +0 -354
  346. package/src/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +0 -98
  347. package/src/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +0 -19
  348. package/src/languageProcessing/languages/ja/customResearches/getWordForms.js +0 -50
  349. package/src/languageProcessing/languages/ja/customResearches/textLength.js +0 -24
  350. package/src/languageProcessing/languages/ja/helpers/countCharacters.js +0 -19
  351. package/src/languageProcessing/languages/ja/helpers/customGetStemmer.js +0 -21
  352. package/src/languageProcessing/languages/ja/helpers/getContentWords.js +0 -21
  353. package/src/languageProcessing/languages/ja/helpers/getWords.js +0 -31
  354. package/src/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +0 -102
  355. package/src/languageProcessing/languages/ja/helpers/internal/createWordForms.js +0 -68
  356. package/src/languageProcessing/languages/ja/helpers/internal/determineStem.js +0 -17
  357. package/src/languageProcessing/languages/ja/helpers/matchTextWithWord.js +0 -53
  358. package/src/languageProcessing/languages/ja/helpers/matchTransitionWords.js +0 -25
  359. package/src/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +0 -28
  360. package/src/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +0 -20
  361. package/src/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +0 -13
  362. package/src/languageProcessing/languages/nb/Researcher.js +0 -45
  363. package/src/languageProcessing/languages/nb/config/firstWordExceptions.js +0 -12
  364. package/src/languageProcessing/languages/nb/config/functionWords.js +0 -106
  365. package/src/languageProcessing/languages/nb/config/internal/participles.js +0 -3127
  366. package/src/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +0 -15
  367. package/src/languageProcessing/languages/nb/config/stopWords.js +0 -39
  368. package/src/languageProcessing/languages/nb/config/transitionWords.js +0 -21
  369. package/src/languageProcessing/languages/nb/config/twoPartTransitionWords.js +0 -10
  370. package/src/languageProcessing/languages/nb/helpers/getClauses.js +0 -28
  371. package/src/languageProcessing/languages/nb/helpers/getStemmer.js +0 -22
  372. package/src/languageProcessing/languages/nb/helpers/internal/getParticiples.js +0 -24
  373. package/src/languageProcessing/languages/nb/helpers/internal/stem.js +0 -133
  374. package/src/languageProcessing/languages/nb/values/Clause.js +0 -43
  375. package/src/languageProcessing/languages/nl/Researcher.js +0 -48
  376. package/src/languageProcessing/languages/nl/config/firstWordExceptions.js +0 -15
  377. package/src/languageProcessing/languages/nl/config/functionWords.js +0 -233
  378. package/src/languageProcessing/languages/nl/config/internal/nonParticiples.js +0 -2515
  379. package/src/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +0 -13
  380. package/src/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +0 -474
  381. package/src/languageProcessing/languages/nl/config/keyphraseLength.js +0 -10
  382. package/src/languageProcessing/languages/nl/config/stopWords.js +0 -35
  383. package/src/languageProcessing/languages/nl/config/syllables.json +0 -343
  384. package/src/languageProcessing/languages/nl/config/transitionWords.js +0 -22
  385. package/src/languageProcessing/languages/nl/config/twoPartTransitionWords.js +0 -8
  386. package/src/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +0 -15
  387. package/src/languageProcessing/languages/nl/helpers/getClauses.js +0 -25
  388. package/src/languageProcessing/languages/nl/helpers/getStemmer.js +0 -22
  389. package/src/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +0 -128
  390. package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +0 -324
  391. package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +0 -164
  392. package/src/languageProcessing/languages/nl/helpers/internal/determineStem.js +0 -133
  393. package/src/languageProcessing/languages/nl/helpers/internal/getParticiples.js +0 -25
  394. package/src/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +0 -183
  395. package/src/languageProcessing/languages/nl/helpers/internal/stem.js +0 -146
  396. package/src/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +0 -109
  397. package/src/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +0 -65
  398. package/src/languageProcessing/languages/nl/values/Clause.js +0 -62
  399. package/src/languageProcessing/languages/pl/Researcher.js +0 -47
  400. package/src/languageProcessing/languages/pl/config/firstWordExceptions.js +0 -12
  401. package/src/languageProcessing/languages/pl/config/functionWords.js +0 -421
  402. package/src/languageProcessing/languages/pl/config/internal/auxiliaries.js +0 -85
  403. package/src/languageProcessing/languages/pl/config/internal/participles.js +0 -26433
  404. package/src/languageProcessing/languages/pl/config/sentenceLength.js +0 -10
  405. package/src/languageProcessing/languages/pl/config/stopWords.js +0 -36
  406. package/src/languageProcessing/languages/pl/config/transitionWords.js +0 -42
  407. package/src/languageProcessing/languages/pl/config/twoPartTransitionWords.js +0 -8
  408. package/src/languageProcessing/languages/pl/helpers/getClauses.js +0 -25
  409. package/src/languageProcessing/languages/pl/helpers/getStemmer.js +0 -22
  410. package/src/languageProcessing/languages/pl/helpers/internal/getParticiples.js +0 -18
  411. package/src/languageProcessing/languages/pl/helpers/internal/stem.js +0 -161
  412. package/src/languageProcessing/languages/pl/values/Clause.js +0 -53
  413. package/src/languageProcessing/languages/pt/Researcher.js +0 -48
  414. package/src/languageProcessing/languages/pt/config/firstWordExceptions.js +0 -15
  415. package/src/languageProcessing/languages/pt/config/functionWords.js +0 -226
  416. package/src/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +0 -66
  417. package/src/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +0 -4088
  418. package/src/languageProcessing/languages/pt/config/sentenceLength.js +0 -3
  419. package/src/languageProcessing/languages/pt/config/stopWords.js +0 -50
  420. package/src/languageProcessing/languages/pt/config/syllables.json +0 -38
  421. package/src/languageProcessing/languages/pt/config/transitionWords.js +0 -34
  422. package/src/languageProcessing/languages/pt/config/twoPartTransitionWords.js +0 -9
  423. package/src/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +0 -15
  424. package/src/languageProcessing/languages/pt/helpers/getClauses.js +0 -29
  425. package/src/languageProcessing/languages/pt/helpers/getStemmer.js +0 -22
  426. package/src/languageProcessing/languages/pt/helpers/internal/getParticiples.js +0 -35
  427. package/src/languageProcessing/languages/pt/helpers/internal/stem.js +0 -319
  428. package/src/languageProcessing/languages/pt/values/Clause.js +0 -43
  429. package/src/languageProcessing/languages/ru/Researcher.js +0 -48
  430. package/src/languageProcessing/languages/ru/config/firstWordExceptions.js +0 -14
  431. package/src/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +0 -20
  432. package/src/languageProcessing/languages/ru/config/functionWords.js +0 -519
  433. package/src/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +0 -2914
  434. package/src/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +0 -6295
  435. package/src/languageProcessing/languages/ru/config/sentenceLength.js +0 -3
  436. package/src/languageProcessing/languages/ru/config/syllables.json +0 -19
  437. package/src/languageProcessing/languages/ru/config/transitionWords.js +0 -62
  438. package/src/languageProcessing/languages/ru/config/twoPartTransitionWords.js +0 -14
  439. package/src/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +0 -16
  440. package/src/languageProcessing/languages/ru/helpers/getStemmer.js +0 -22
  441. package/src/languageProcessing/languages/ru/helpers/internal/stem.js +0 -288
  442. package/src/languageProcessing/languages/ru/helpers/isPassiveSentence.js +0 -14
  443. package/src/languageProcessing/languages/sk/Researcher.js +0 -46
  444. package/src/languageProcessing/languages/sk/config/firstWordExceptions.js +0 -14
  445. package/src/languageProcessing/languages/sk/config/functionWords.js +0 -855
  446. package/src/languageProcessing/languages/sk/config/internal/nonPassives.js +0 -1074
  447. package/src/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +0 -22
  448. package/src/languageProcessing/languages/sk/config/stopWords.js +0 -34
  449. package/src/languageProcessing/languages/sk/config/transitionWords.js +0 -23
  450. package/src/languageProcessing/languages/sk/config/twoPartTransitionWords.js +0 -10
  451. package/src/languageProcessing/languages/sk/helpers/getClauses.js +0 -26
  452. package/src/languageProcessing/languages/sk/helpers/getStemmer.js +0 -22
  453. package/src/languageProcessing/languages/sk/helpers/internal/getParticiples.js +0 -16
  454. package/src/languageProcessing/languages/sk/helpers/internal/stem.js +0 -319
  455. package/src/languageProcessing/languages/sk/values/Clause.js +0 -39
  456. package/src/languageProcessing/languages/sv/Researcher.js +0 -45
  457. package/src/languageProcessing/languages/sv/config/firstWordExceptions.js +0 -15
  458. package/src/languageProcessing/languages/sv/config/functionWords.js +0 -176
  459. package/src/languageProcessing/languages/sv/config/internal/passiveVerbs.js +0 -10400
  460. package/src/languageProcessing/languages/sv/config/keyphraseLength.js +0 -11
  461. package/src/languageProcessing/languages/sv/config/transitionWords.js +0 -35
  462. package/src/languageProcessing/languages/sv/config/twoPartTransitionWords.js +0 -8
  463. package/src/languageProcessing/languages/sv/helpers/getStemmer.js +0 -22
  464. package/src/languageProcessing/languages/sv/helpers/internal/stem.js +0 -152
  465. package/src/languageProcessing/languages/sv/helpers/isPassiveSentence.js +0 -14
  466. package/src/languageProcessing/languages/tr/Researcher.js +0 -44
  467. package/src/languageProcessing/languages/tr/config/firstWordExceptions.js +0 -13
  468. package/src/languageProcessing/languages/tr/config/functionWords.js +0 -116
  469. package/src/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +0 -574
  470. package/src/languageProcessing/languages/tr/config/internal/passiveEndings.js +0 -151
  471. package/src/languageProcessing/languages/tr/config/sentenceLength.js +0 -7
  472. package/src/languageProcessing/languages/tr/config/transitionWords.js +0 -42
  473. package/src/languageProcessing/languages/tr/config/twoPartTransitionWords.js +0 -7
  474. package/src/languageProcessing/languages/tr/helpers/getStemmer.js +0 -22
  475. package/src/languageProcessing/languages/tr/helpers/internal/stem.js +0 -20
  476. package/src/languageProcessing/languages/tr/helpers/isPassiveSentence.js +0 -43
  477. package/src/languageProcessing/researches/altTagCount.js +0 -70
  478. package/src/languageProcessing/researches/countSentencesFromText.js +0 -19
  479. package/src/languageProcessing/researches/findKeyphraseInSEOTitle.js +0 -257
  480. package/src/languageProcessing/researches/findKeywordInFirstParagraph.js +0 -86
  481. package/src/languageProcessing/researches/findTransitionWords.js +0 -123
  482. package/src/languageProcessing/researches/functionWordsInKeyphrase.js +0 -44
  483. package/src/languageProcessing/researches/getAnchorsWithKeyphrase.js +0 -227
  484. package/src/languageProcessing/researches/getFleschReadingScore.js +0 -150
  485. package/src/languageProcessing/researches/getKeywordDensity.js +0 -44
  486. package/src/languageProcessing/researches/getLinkStatistics.js +0 -54
  487. package/src/languageProcessing/researches/getLinks.js +0 -18
  488. package/src/languageProcessing/researches/getLongCenterAlignedTexts.js +0 -37
  489. package/src/languageProcessing/researches/getParagraphLength.js +0 -44
  490. package/src/languageProcessing/researches/getParagraphs.js +0 -18
  491. package/src/languageProcessing/researches/getPassiveVoiceResult.js +0 -129
  492. package/src/languageProcessing/researches/getProminentWordsForInsights.js +0 -48
  493. package/src/languageProcessing/researches/getProminentWordsForInternalLinking.js +0 -119
  494. package/src/languageProcessing/researches/getSentenceBeginnings.js +0 -124
  495. package/src/languageProcessing/researches/getSubheadingTextLengths.js +0 -59
  496. package/src/languageProcessing/researches/getWordForms.js +0 -204
  497. package/src/languageProcessing/researches/h1s.js +0 -10
  498. package/src/languageProcessing/researches/imageCount.js +0 -16
  499. package/src/languageProcessing/researches/index.js +0 -5
  500. package/src/languageProcessing/researches/keyphraseDistribution.js +0 -249
  501. package/src/languageProcessing/researches/keyphraseLength.js +0 -17
  502. package/src/languageProcessing/researches/keywordCount.js +0 -134
  503. package/src/languageProcessing/researches/keywordCountInUrl.js +0 -57
  504. package/src/languageProcessing/researches/matchKeywordInSubheadings.js +0 -62
  505. package/src/languageProcessing/researches/metaDescriptionKeyword.js +0 -85
  506. package/src/languageProcessing/researches/metaDescriptionLength.js +0 -12
  507. package/src/languageProcessing/researches/pageTitleWidth.js +0 -11
  508. package/src/languageProcessing/researches/readingTime.js +0 -82
  509. package/src/languageProcessing/researches/sentences.js +0 -20
  510. package/src/languageProcessing/researches/videoCount.js +0 -32
  511. package/src/languageProcessing/researches/wordComplexity.js +0 -129
  512. package/src/languageProcessing/researches/wordCountInText.js +0 -29
  513. package/src/languageProcessing/values/Clause.js +0 -108
  514. package/src/languageProcessing/values/ProminentWord.js +0 -95
  515. package/src/languageProcessing/values/Sentence.js +0 -111
  516. package/src/languageProcessing/values/index.js +0 -9
  517. package/src/markers/addMark.js +0 -9
  518. package/src/markers/addMarkSingleWord.js +0 -32
  519. package/src/markers/index.js +0 -7
  520. package/src/markers/removeDuplicateMarks.js +0 -27
  521. package/src/markers/removeMarks.js +0 -11
  522. package/src/parse/build/build.js +0 -52
  523. package/src/parse/build/index.js +0 -10
  524. package/src/parse/build/private/adapt.js +0 -113
  525. package/src/parse/build/private/adaptAttributes.js +0 -36
  526. package/src/parse/build/private/alwaysFilterElements.js +0 -75
  527. package/src/parse/build/private/combineIntoImplicitParagraphs.js +0 -130
  528. package/src/parse/build/private/filterBeforeTokenizing.js +0 -32
  529. package/src/parse/build/private/filterHelpers.js +0 -44
  530. package/src/parse/build/private/filterTree.js +0 -42
  531. package/src/parse/build/private/getTextElementPositions.js +0 -184
  532. package/src/parse/build/private/helpers/parseClassAttribute.js +0 -9
  533. package/src/parse/build/private/isPhrasingContent.js +0 -28
  534. package/src/parse/build/private/parseBlocks.js +0 -151
  535. package/src/parse/build/private/tokenize.js +0 -74
  536. package/src/parse/language/LanguageProcessor.js +0 -74
  537. package/src/parse/structure/Heading.js +0 -26
  538. package/src/parse/structure/Node.js +0 -69
  539. package/src/parse/structure/Paragraph.js +0 -48
  540. package/src/parse/structure/Sentence.js +0 -30
  541. package/src/parse/structure/SourceCodeLocation.js +0 -41
  542. package/src/parse/structure/Text.js +0 -27
  543. package/src/parse/structure/Token.js +0 -24
  544. package/src/parse/structure/index.js +0 -16
  545. package/src/parse/traverse/findAllInTree.js +0 -58
  546. package/src/parse/traverse/index.js +0 -12
  547. package/src/parse/traverse/innerText.js +0 -26
  548. package/src/parsedPaper/ParsedPaper.js +0 -92
  549. package/src/parsedPaper/assess/TreeAssessor.js +0 -184
  550. package/src/parsedPaper/assess/assessmentListFactories.js +0 -73
  551. package/src/parsedPaper/assess/assessments/Assessment.js +0 -79
  552. package/src/parsedPaper/assess/assessments/index.js +0 -6
  553. package/src/parsedPaper/assess/assessorFactories.js +0 -104
  554. package/src/parsedPaper/assess/cornerstone/assessmentListFactories.js +0 -47
  555. package/src/parsedPaper/assess/cornerstone/index.js +0 -5
  556. package/src/parsedPaper/assess/index.js +0 -20
  557. package/src/parsedPaper/build/PaperParser.js +0 -105
  558. package/src/parsedPaper/build/linguisticParsing/Sentence.js +0 -89
  559. package/src/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +0 -323
  560. package/src/parsedPaper/build/linguisticParsing/parseText.js +0 -20
  561. package/src/parsedPaper/build/tree/TreeBuilder.js +0 -75
  562. package/src/parsedPaper/build/tree/cleanup/calculateTextIndices.js +0 -190
  563. package/src/parsedPaper/build/tree/cleanup/getElementContent.js +0 -21
  564. package/src/parsedPaper/build/tree/cleanup/postParsing.js +0 -37
  565. package/src/parsedPaper/build/tree/html/HTMLTreeConverter.js +0 -230
  566. package/src/parsedPaper/build/tree/html/buildTree.js +0 -31
  567. package/src/parsedPaper/build/tree/html/htmlConstants.js +0 -37
  568. package/src/parsedPaper/build/tree/index.js +0 -14
  569. package/src/parsedPaper/build/tree/metadata/buildTree.js +0 -32
  570. package/src/parsedPaper/research/TreeResearcher.js +0 -134
  571. package/src/parsedPaper/research/index.js +0 -13
  572. package/src/parsedPaper/research/researches/Headings.js +0 -20
  573. package/src/parsedPaper/research/researches/LinkStatistics.js +0 -128
  574. package/src/parsedPaper/research/researches/Research.js +0 -50
  575. package/src/parsedPaper/research/researches/index.js +0 -1
  576. package/src/parsedPaper/structure/tree/FormattingElement.js +0 -67
  577. package/src/parsedPaper/structure/tree/SourceCodeLocation.js +0 -31
  578. package/src/parsedPaper/structure/tree/TextContainer.js +0 -85
  579. package/src/parsedPaper/structure/tree/index.js +0 -22
  580. package/src/parsedPaper/structure/tree/nodes/Heading.js +0 -26
  581. package/src/parsedPaper/structure/tree/nodes/LeafNode.js +0 -75
  582. package/src/parsedPaper/structure/tree/nodes/List.js +0 -47
  583. package/src/parsedPaper/structure/tree/nodes/ListItem.js +0 -26
  584. package/src/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +0 -46
  585. package/src/parsedPaper/structure/tree/nodes/MetadataText.js +0 -26
  586. package/src/parsedPaper/structure/tree/nodes/Node.js +0 -154
  587. package/src/parsedPaper/structure/tree/nodes/Paragraph.js +0 -24
  588. package/src/parsedPaper/structure/tree/nodes/StructuredNode.js +0 -52
  589. package/src/parsedPaper/structure/tree/nodes/index.js +0 -21
  590. package/src/scoring/assessments/assessment.js +0 -63
  591. package/src/scoring/assessments/index.js +0 -58
  592. package/src/scoring/assessments/readability/ParagraphTooLongAssessment.js +0 -173
  593. package/src/scoring/assessments/readability/SentenceBeginningsAssessment.js +0 -132
  594. package/src/scoring/assessments/readability/SentenceLengthInTextAssessment.js +0 -186
  595. package/src/scoring/assessments/readability/TransitionWordsAssessment.js +0 -168
  596. package/src/scoring/assessments/seo/ImageCountAssessment.js +0 -112
  597. package/src/scoring/assessments/seo/InternalLinksAssessment.js +0 -114
  598. package/src/scoring/assessments/seo/IntroductionKeywordAssessment.js +0 -110
  599. package/src/scoring/assessments/seo/KeyphraseAssessment.js +0 -104
  600. package/src/scoring/assessments/seo/KeyphraseLengthAssessment.js +0 -110
  601. package/src/scoring/assessments/seo/KeywordDensityAssessment.js +0 -116
  602. package/src/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +0 -114
  603. package/src/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +0 -112
  604. package/src/scoring/assessments/seo/MetaTitleKeywordAssessment.js +0 -111
  605. package/src/scoring/assessments/seo/NumberInMetaTitleAssessment.js +0 -107
  606. package/src/scoring/assessments/seo/OutboundLinksAssessment.js +0 -111
  607. package/src/scoring/assessments/seo/PageTitleWidthAssessment.js +0 -104
  608. package/src/scoring/assessments/seo/SingleH1Assessment.js +0 -118
  609. package/src/scoring/assessments/seo/SingleTitleAssessment.js +0 -108
  610. package/src/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +0 -107
  611. package/src/scoring/assessments/seo/TextImagesAssessment.js +0 -144
  612. package/src/scoring/assessments/seo/TextLengthAssessment.js +0 -100
  613. package/src/scoring/assessments/seo/UrlKeywordAssessment.js +0 -111
  614. package/src/scoring/assessments/seo/UrlLengthAssessment.js +0 -103
  615. package/src/scoring/assessors/assessor.js +0 -269
  616. package/src/scoring/assessors/avadaAssessor.js +0 -67
  617. package/src/scoring/assessors/contentAssessor.js +0 -159
  618. package/src/scoring/assessors/index.js +0 -4
  619. package/src/scoring/assessors/seoAssessor.js +0 -57
  620. package/src/scoring/helpers/assessments/checkForTooLongSentences.js +0 -13
  621. package/src/scoring/helpers/assessments/inRange.js +0 -49
  622. package/src/scoring/helpers/assessments/keyphraseLengthFactor.js +0 -10
  623. package/src/scoring/helpers/assessments/recommendedKeywordCount.js +0 -43
  624. package/src/scoring/helpers/index.js +0 -74
  625. package/src/scoring/interpreters/index.js +0 -5
  626. package/src/scoring/interpreters/scoreToRating.js +0 -31
  627. package/src/scoring/renderers/AssessorPresenter.js +0 -360
  628. package/src/scoring/scoreAggregators/ReadabilityScoreAggregator.js +0 -203
  629. package/src/scoring/scoreAggregators/SEOScoreAggregator.js +0 -54
  630. package/src/scoring/scoreAggregators/ScoreAggregator.js +0 -23
  631. package/src/scoring/scoreAggregators/index.js +0 -3
  632. package/src/values/AssessmentResult.js +0 -496
  633. package/src/values/Mark.js +0 -271
  634. package/src/values/Paper.js +0 -425
  635. package/src/values/index.js +0 -9
  636. package/src/vendor/turkishStemmer.js +0 -3435
  637. package/tsconfig.json +0 -15
@@ -1,57 +0,0 @@
1
- /** @module researches/keywordCountInSlug */
2
- import parseSlug from "../helpers/url/parseSlug";
3
- import { findTopicFormsInString } from "../helpers/match/findKeywordFormsInString.js";
4
- import { cloneDeep } from "lodash";
5
-
6
- /**
7
- * Matches the keyword in the slug. Replaces all dashes and underscores with whitespaces and uses whitespace as word boundary.
8
- *
9
- * @param {Paper} paper the Paper object to use in this count.
10
- * @param {Researcher} researcher The Researcher object containing all available researches.
11
- *
12
- * @returns {{keyphraseLength: int, percentWordMatches: int}} The length of the keyphrase and the percentage of keyphrase forms that has been found.
13
- */
14
- function keywordCountInSlug( paper, researcher ) {
15
- /*
16
- * We want to override the `areHyphensWordBoundaries` config value from the researcher so that it is `true` for all
17
- * languages. This is because slugs usually use hyphens (or underscores) as word boundaries. So if only the slug is
18
- * split on hyphens and not the keyphrase forms, some keyphrase forms won't be found in the slug.
19
- */
20
- const languageResearcher = cloneDeep( researcher );
21
- languageResearcher.addConfig( "areHyphensWordBoundaries", true );
22
- const topicForms = languageResearcher.getResearch( "morphology" );
23
-
24
- const parsedSlug = parseSlug( paper.getSlug() );
25
- const locale = paper.getLocale();
26
-
27
- const keyphraseInSlug = findTopicFormsInString( topicForms, parsedSlug, false, locale, false );
28
-
29
- return {
30
- keyphraseLength: topicForms.keyphraseForms.length,
31
- percentWordMatches: keyphraseInSlug.percentWordMatches,
32
- };
33
- }
34
-
35
- /**
36
- * Matches the keyword in the slug.
37
- * keywordCountInUrl was the previous name for keywordCountInSlug (hence the name of this file).
38
- * We keep (and expose) this research for backwards compatibility.
39
- *
40
- * @deprecated Since version 18.7. Use keywordCountInSlug instead.
41
- *
42
- * @param {Paper} paper the Paper object to use in this count.
43
- * @param {Researcher} researcher The Researcher object containing all available researches.
44
- *
45
- * @returns {{keyphraseLength: int, percentWordMatches: int}} The length of the keyphrase and the percentage of keyphrase forms that has been found.
46
- */
47
- function keywordCountInUrl( paper, researcher ) {
48
- console.warn( "This function is deprecated, use keywordCountInSlug instead." );
49
- return keywordCountInSlug( paper, researcher );
50
- }
51
-
52
- export {
53
- keywordCountInSlug,
54
- keywordCountInUrl,
55
- };
56
-
57
- export default keywordCountInSlug;
@@ -1,62 +0,0 @@
1
- import { getSubheadingContentsTopLevel } from "../helpers/html/getSubheadings";
2
- import stripSomeTags from "../helpers/sanitize/stripNonTextTags";
3
- import { findTopicFormsInString } from "../helpers/match/findKeywordFormsInString";
4
- import removeHtmlBlocks from "../helpers/html/htmlParser";
5
- import { filterShortcodesFromHTML } from "../helpers";
6
-
7
- /**
8
- * Computes the amount of subheadings reflecting the topic.
9
- *
10
- * @param {Object} topicForms The main key phrase and its synonyms to check.
11
- * @param {string[]} subheadings The subheadings to check.
12
- * @param {boolean} useSynonyms Whether to match synonyms or only main keyphrase.
13
- * @param {string} locale The current locale.
14
- * @param {Array} functionWords The function words list.
15
- * @param {function} matchWordCustomHelper The language-specific helper function to match word in text.
16
- *
17
- * @returns {number} The amount of subheadings reflecting the topic.
18
- */
19
- const numberOfSubheadingsReflectingTopic = function( topicForms, subheadings, useSynonyms, locale, functionWords, matchWordCustomHelper ) {
20
- return subheadings.filter( subheading => {
21
- const matchedTopicForms = findTopicFormsInString( topicForms, subheading, useSynonyms, locale, matchWordCustomHelper );
22
-
23
- if ( functionWords.length === 0 ) {
24
- return matchedTopicForms.percentWordMatches === 100;
25
- }
26
- return matchedTopicForms.percentWordMatches > 50;
27
- } ).length;
28
- };
29
-
30
- /**
31
- * Checks if there are any h2 or h3 subheadings in the text and if they have the keyphrase or synonyms in them.
32
- *
33
- * @param {Object} paper The paper object containing the text and keyword.
34
- * @param {Researcher} researcher The researcher object.
35
- *
36
- * @returns {Object} The result object.
37
- */
38
- export default function matchKeywordInSubheadings( paper, researcher ) {
39
- const functionWords = researcher.getConfig( "functionWords" );
40
-
41
- // A custom helper to match word in text.
42
- const matchWordCustomHelper = researcher.getHelper( "matchWordCustomHelper" );
43
-
44
-
45
- let text = paper.getText();
46
- text = removeHtmlBlocks( text );
47
- text = filterShortcodesFromHTML( text, paper._attributes && paper._attributes.shortcodes );
48
- text = stripSomeTags( text );
49
- const topicForms = researcher.getResearch( "morphology" );
50
- const locale = paper.getLocale();
51
- const result = { count: 0, matches: 0, percentReflectingTopic: 0 };
52
- const useSynonyms = true;
53
- const subheadings = getSubheadingContentsTopLevel( text );
54
-
55
- if ( subheadings.length !== 0 ) {
56
- result.count = subheadings.length;
57
- result.matches = numberOfSubheadingsReflectingTopic( topicForms, subheadings, useSynonyms, locale, functionWords, matchWordCustomHelper );
58
- result.percentReflectingTopic = result.matches / result.count * 100;
59
- }
60
-
61
- return result;
62
- }
@@ -1,85 +0,0 @@
1
- import matchWords from "../helpers/match/matchTextWithArray";
2
- import getSentences from "../helpers/sentence/getSentences";
3
-
4
- /**
5
- * Replaces found keyword forms in the given description.
6
- *
7
- * @param {string} description The description to remove the matched keyword forms from.
8
- * @param {Object[]} matchedKeywordForms The matched keyword forms to remove from the description.
9
- * @param {Number} maxToRemove The maximum amount of matches of each individual keyword to remove.
10
- *
11
- * @returns {string} The description with the keywords removed.
12
- */
13
- const replaceFoundKeywordForms = function( description, matchedKeywordForms, maxToRemove ) {
14
- // Replace matches so we do not match them for synonyms.
15
- matchedKeywordForms.forEach( keywordForm =>
16
- keywordForm.matches.slice( 0, maxToRemove ).forEach(
17
- match => {
18
- description = description.replace( match, "" );
19
- }
20
- )
21
- );
22
- return description;
23
- };
24
-
25
- /**
26
- * Counts the number of full keyphrase matches in the given sentence. Takes synonyms into account.
27
- * A full keyphrase is when all keywords in the keyphrase match.
28
- *
29
- * @param {string} sentence The sentence that needs to be analyzed.
30
- * @param {Object} topicForms The keyphrase (and its optional synonyms') word forms.
31
- * @param {string} locale The current locale.
32
- * @param {function} matchWordCustomHelper The language-specific helper function to match word in text.
33
- *
34
- * @returns {Number} The number of matched keyphrases in the sentence.
35
- */
36
- const matchPerSentence = function( sentence, topicForms, locale, matchWordCustomHelper ) {
37
- // Focus keyphrase matches.
38
- const matchesKeyphrase = topicForms.keyphraseForms.map( keywordForms => matchWords( sentence, keywordForms, locale, matchWordCustomHelper ) );
39
- // Count the number of matches that contain every word in the entire keyphrase.
40
- const fullKeyphraseMatches = Math.min( ...matchesKeyphrase.map( match => match.count ) );
41
-
42
- // Replace all full keyphrase matches so we do not match them for synonyms.
43
- sentence = replaceFoundKeywordForms( sentence, matchesKeyphrase, fullKeyphraseMatches );
44
-
45
- // Keyphrase synonyms matches.
46
- const fullSynonymsMatches = topicForms.synonymsForms.map(
47
- synonymForms => {
48
- // Synonym keyphrase matches.
49
- const matches = synonymForms.map( keywordForms => matchWords( sentence, keywordForms, locale, matchWordCustomHelper ) );
50
- // Count the number of matches that contain every word in the entire synonym keyphrase.
51
- const fullSynonymMatches = Math.min( ...matches.map( match => match.count ) );
52
- // Replace all full matches so we do not match them for other synonyms.
53
- sentence = replaceFoundKeywordForms( sentence, matchesKeyphrase, fullSynonymMatches );
54
- return fullSynonymMatches;
55
- }
56
- );
57
-
58
- return [ fullKeyphraseMatches, ...fullSynonymsMatches ].reduce( ( sum, count ) => sum + count, 0 );
59
- };
60
-
61
- /**
62
- * Counts the number of full keyphrase matches in the description.
63
- *
64
- * @param {Paper} paper The paper object containing the description.
65
- * @param {Researcher} researcher The researcher object to gather researchers from.
66
- *
67
- * @returns {Number} The number of keyphrase matches for the entire description.
68
- */
69
- export default function( paper, researcher ) {
70
- const description = paper.getDescription();
71
- const locale = paper.getLocale();
72
-
73
- const topicForms = researcher.getResearch( "morphology" );
74
- const matchWordCustomHelper = researcher.getHelper( "matchWordCustomHelper" );
75
- const memoizedTokenizer = researcher.getHelper( "memoizedTokenizer" );
76
-
77
- const sentences = getSentences( description, memoizedTokenizer );
78
-
79
- const sentenceMatches = sentences.map(
80
- sentence => matchPerSentence( sentence, topicForms, locale, matchWordCustomHelper )
81
- );
82
-
83
- return sentenceMatches.reduce( ( sum, count ) => sum + count, 0 );
84
- }
85
-
@@ -1,12 +0,0 @@
1
- import countMetaDescriptionLength from "../helpers/word/countMetaDescriptionLength";
2
-
3
- /**
4
- * Count the meta description length.
5
- *
6
- * @param {Paper} paper The paper to check for images.
7
- *
8
- * @returns {number|*} The meta description length.
9
- */
10
- export default function metaDescriptionLength( paper ) {
11
- return countMetaDescriptionLength( paper.getDate(), paper.getDescription() );
12
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Check the width of the title in pixels
3
- * @param {Paper} paper The paper object containing the title width in pixels.
4
- * @returns {number} The width of the title in pixels
5
- */
6
- export default function( paper ) {
7
- if ( paper.hasTitle() ) {
8
- return paper.getTitleWidth();
9
- }
10
- return 0;
11
- }
@@ -1,82 +0,0 @@
1
- import getLanguage from "../../languageProcessing/helpers/language/getLanguage";
2
- import wordCountInText from "./wordCountInText.js";
3
- import imageCount from "./imageCount.js";
4
-
5
- /**
6
- * Calculates the expected reading time of a text.
7
- *
8
- * @param {Paper} paper The paper to calculate the reading time for.
9
- * @param {Researcher} researcher The researcher.
10
- *
11
- * @returns {number} The expected reading time in minutes for a given language.
12
- */
13
- export default function( paper, researcher ) {
14
- const language = getLanguage( paper.getLocale() );
15
-
16
- // A helper to get words from the text for languages that don't use the default approach.
17
- const customGetWords = researcher.getHelper( "getWordsCustomHelper" );
18
- const countCharactersFromArray = researcher.getHelper( "wordsCharacterCount" );
19
-
20
- /*
21
- * These numbers (both in `wordsPerMinute` and `charactersPerMinute`) are based on research into average reading times:
22
- * Susanne Trauzettel-Klosinski, Klaus Dietz, the IReST Study Group;
23
- * Standardized Assessment of Reading Performance: The New International Reading Speed Texts IReST.
24
- * Invest. Ophthalmol. Vis. Sci. 2012;53(9):5452-5461
25
- */
26
- const wordsPerMinute = {
27
- ar: 138,
28
- cn: 158,
29
- de: 179,
30
- en: 228,
31
- es: 218,
32
- fi: 161,
33
- fr: 195,
34
- he: 187,
35
- it: 188,
36
- nl: 202,
37
- pl: 166,
38
- pt: 181,
39
- ru: 184,
40
- sl: 180,
41
- sv: 199,
42
- tr: 166,
43
- };
44
-
45
- const charactersPerMinute = {
46
- ja: 357,
47
- };
48
-
49
-
50
- const wordsPerMinuteScore = wordsPerMinute[ language ];
51
- const charactersPerMinuteScore = charactersPerMinute[ language ];
52
-
53
- // The default approach of calculating the text length is by counting the words in the text.
54
- let textLength = wordCountInText( paper ).count;
55
- let minutesToReadText;
56
-
57
- if ( charactersPerMinuteScore ) {
58
- /*
59
- * If a language has a characters per minute score, we assume that the language also uses a character count helper
60
- * for retrieving the text length and a custom helper to get words from the text.
61
- */
62
- textLength = countCharactersFromArray( customGetWords( paper.getText() ) );
63
- minutesToReadText = textLength / charactersPerMinuteScore;
64
- } else if ( wordsPerMinuteScore ) {
65
- minutesToReadText = textLength / wordsPerMinuteScore;
66
- } else {
67
- // If the language is not on both lists, assign the average of all language-dependent reading times as the score.
68
- const sumWordsPerMinute = Object.values( wordsPerMinute ).reduce( ( a, b ) => a + b );
69
- const sumNumberOfLanguages = Object.keys( wordsPerMinute ).length;
70
- minutesToReadText = textLength / ( sumWordsPerMinute / sumNumberOfLanguages );
71
- }
72
-
73
- const minutesPerImage = 0.2;
74
- const numberOfImages = imageCount( paper );
75
-
76
- /*
77
- * This formula is based on the average number of words a person is expected to read per minute,
78
- * plus extra time for each image in the text. It returns the expected reading time in whole minutes,
79
- * rounded up to the nearest minute.
80
- */
81
- return Math.ceil( minutesToReadText + ( numberOfImages * minutesPerImage ) );
82
- }
@@ -1,20 +0,0 @@
1
- import getSentences from "../helpers/sentence/getSentences";
2
- import removeHtmlBlocks from "../helpers/html/htmlParser";
3
- import { filterShortcodesFromHTML } from "../helpers";
4
-
5
- /**
6
- * Returns the sentences from a paper.
7
- *
8
- * @param {Paper} paper The paper to analyze.
9
- * @param {object} researcher The researcher.
10
- *
11
- * @returns {Array} Sentences found in the paper.
12
- */
13
- export default function( paper, researcher ) {
14
- const memoizedTokenizer = researcher.getHelper( "memoizedTokenizer" );
15
-
16
- let text = paper.getText();
17
- text = removeHtmlBlocks( text );
18
- text = filterShortcodesFromHTML( text, paper._attributes && paper._attributes.shortcodes );
19
- return getSentences( text, memoizedTokenizer );
20
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * Checks the amount of videos in the text, including embedded video iframes and specific video sources.
3
- *
4
- * @param {Paper} paper The paper to check for videos.
5
- *
6
- * @returns {number} The amount of found videos.
7
- */
8
- export default function countVideoInText(paper) {
9
- // Regular expression to match <video> tags.
10
- const videoTag = /<video.*?<\/video>/gis;
11
-
12
- // Regular expression to match <iframe> tags with video sources (YouTube, Vimeo, Shopify CDN, etc.).
13
- const iframeVideoTag = /<iframe[^>]*src=["']https?:\/\/(?:www\.)?(youtube\.com|youtu\.be|vimeo\.com|cdn\.shopify\.com)[^"']*["'][^>]*>/gis;
14
-
15
- // Regular expression to match any src attributes with common video file extensions.
16
- const videoSrcTag = /src=["'].*?\.(mp4|webm|ogg|mov|m4v|avi|mkv|flv|wmv)(\?.*?)?["']/gis;
17
-
18
- // Match occurrences of <video> tags in the text.
19
- const videoMatches = paper.getText().match(videoTag) || [];
20
-
21
- // Match occurrences of <iframe> tags with video sources in the text.
22
- const iframeVideoMatches = paper.getText().match(iframeVideoTag) || [];
23
-
24
- // Match occurrences of src attributes pointing to video files in the text.
25
- const videoSrcMatches = paper.getText().match(videoSrcTag) || [];
26
-
27
- // Combine all matches into a single set to remove duplicates.
28
- const allMatches = new Set([...videoMatches, ...iframeVideoMatches, ...videoSrcMatches]);
29
-
30
- // Return the unique count of all found matches.
31
- return allMatches.size;
32
- }
@@ -1,129 +0,0 @@
1
- import { flatMap, get } from "lodash";
2
-
3
- import getSentences from "../helpers/sentence/getSentences";
4
- import getWords from "../helpers/word/getWords";
5
- import removeHtmlBlocks from "../helpers/html/htmlParser";
6
- import { filterShortcodesFromHTML } from "../helpers";
7
- import { findTopicFormsInString } from "../helpers/match/findKeywordFormsInString";
8
-
9
- /**
10
- * An object containing the results of the complex words research for a single sentence.
11
- *
12
- * The structure of the data is:
13
- * @example
14
- * {
15
- * complexWords: ["word1", "word2", "word3" ],
16
- * sentence: "the sentence"
17
- * }
18
- *
19
- * @typedef {Object} ComplexWordsResult
20
- * @property {string[]} complexWords The complex words in the sentence.
21
- * @property {string} sentence The sentence.
22
- */
23
-
24
- /**
25
- * Retrieves all complex words in a sentence.
26
- *
27
- * @param {string} currentSentence The current sentence.
28
- * @param {Researcher} researcher The researcher object.
29
- * @param {Object} topicForms The object with word forms of all (content) words from the keyphrase and eventually synonyms,
30
- * comes in a shape {
31
- * keyphraseForms: [[ form1, form2, ... ], [ form1, form2, ... ]],
32
- * synonymsForms: [
33
- * [[ form1, form2, ... ], [ form1, form2, ... ]],
34
- * [[ form1, form2, ... ], [ form1, form2, ... ]],
35
- * [[ form1, form2, ... ], [ form1, form2, ... ]],
36
- * ],
37
- * }
38
- *
39
- * @returns {ComplexWordsResult} An object containing all complex words in a given sentence.
40
- */
41
- const getComplexWords = function( currentSentence, researcher, topicForms ) {
42
- const language = researcher.getConfig( "language" );
43
- const checkIfWordIsComplex = researcher.getHelper( "checkIfWordIsComplex" );
44
- const functionWords = researcher.getConfig( "functionWords" );
45
- const wordComplexityConfig = researcher.getConfig( "wordComplexity" );
46
- const checkIfWordIsFunction = researcher.getHelper( "checkIfWordIsFunction" );
47
- const premiumData = get( researcher.getData( "morphology" ), language, false );
48
-
49
- // Retrieve all words from the sentence.
50
- let words = getWords( currentSentence );
51
-
52
- // Filters out keyphrase forms (but not synonyms) because we consider them not to be complex.
53
- const matchWordCustomHelper = researcher.getHelper( "matchWordCustomHelper" );
54
- const foundTopicForms = findTopicFormsInString( topicForms, currentSentence, false, researcher.paper.getLocale(), matchWordCustomHelper );
55
- words = words.filter( word => ! foundTopicForms.matches.includes( word ) );
56
-
57
- // Filters out function words because function words are not complex.
58
- // Words are converted to lowercase before processing to avoid excluding function words that start with a capital letter.
59
- words = words.filter( word => ! ( checkIfWordIsFunction ? checkIfWordIsFunction( word ) : functionWords.includes( word ) ) );
60
-
61
- const result = {
62
- complexWords: [],
63
- sentence: currentSentence,
64
- };
65
-
66
- if ( ! premiumData ) {
67
- return result;
68
- }
69
-
70
- words.forEach( word => {
71
- if ( checkIfWordIsComplex( wordComplexityConfig, word, premiumData ) ) {
72
- result.complexWords.push( word );
73
- }
74
- } );
75
-
76
- return result;
77
- };
78
-
79
- /**
80
- * Calculates the percentage of the complex words compared to the total words in the text.
81
- *
82
- * @param {ComplexWordsResult[]} complexWordsResults The array of complex words results.
83
- * @param {string[]} words The array of words retrieved from the text.
84
- *
85
- * @returns {number} The percentage of the complex words compared to the total words in the text.
86
- */
87
- const calculateComplexWordsPercentage = function( complexWordsResults, words ) {
88
- const totalComplexWords = flatMap( complexWordsResults, result => result.complexWords );
89
- const percentage = ( totalComplexWords.length / words.length ) * 100;
90
-
91
- // If the number is a decimal, round it to two numbers after the period, e.g. 5.12345 -> 5.12.
92
- // This approach is inspired from this thread: https://stackoverflow.com/questions/11832914/how-to-round-to-at-most-2-decimal-places-if-necessary.
93
- return +percentage.toFixed( 2 );
94
- };
95
-
96
- /**
97
- * Gets the complex words from the sentences and calculates the percentage of complex words compared to the total words in the text.
98
- * This is a research for the Word Complexity assessment. As such, this research is not part of the AbstractResearcher, and not bundled in Yoast SEO.
99
- *
100
- * @param {Paper} paper The Paper object to get the text from.
101
- * @param {Researcher} researcher The researcher object.
102
- *
103
- * @returns {{complexWords: ComplexWordsResult[], percentage: number}}
104
- * The complex words found and their percentage compared to the total words in the text.
105
- */
106
- export default function wordComplexity( paper, researcher ) {
107
- const memoizedTokenizer = researcher.getHelper( "memoizedTokenizer" );
108
- let text = paper.getText();
109
- text = removeHtmlBlocks( text );
110
- text = filterShortcodesFromHTML( text, paper._attributes && paper._attributes.shortcodes );
111
- const sentences = getSentences( text, memoizedTokenizer );
112
-
113
- const topicForms = researcher.getResearch( "morphology" );
114
- // Find the complex words in each sentence.
115
- let results = sentences.map( sentence => getComplexWords( sentence, researcher, topicForms ) );
116
-
117
- // Remove sentences without complex words.
118
- results = results.filter( result => result.complexWords.length !== 0 );
119
-
120
- // Calculate the percentage of complex words in the text as a whole.
121
- const words = getWords( text );
122
- const percentage = calculateComplexWordsPercentage( results, words );
123
-
124
- return {
125
- complexWords: results,
126
- percentage: percentage,
127
- };
128
- }
129
-
@@ -1,29 +0,0 @@
1
- import wordCount from "../helpers/word/countWords.js";
2
- import removeHtmlBlocks from "../helpers/html/htmlParser";
3
- import { filterShortcodesFromHTML } from "../helpers";
4
-
5
- /**
6
- * A result of the word count calculation.
7
- *
8
- * @typedef WordCountResult
9
- * @param {number} count The number of words found in the text.
10
- * @param {"word"} unit The unit used in the text length calculations, always "word".
11
- */
12
-
13
- /**
14
- * Count the words in the text.
15
- *
16
- * @param {Paper} paper The Paper object.
17
- *
18
- * @returns {WordCountResult} The number of words found in the text, plus "word" as the unit used in calculating the text length.
19
- */
20
- export default function( paper ) {
21
- let text = paper.getText();
22
- text = removeHtmlBlocks( text );
23
- text = filterShortcodesFromHTML( text, paper._attributes && paper._attributes.shortcodes );
24
- return {
25
- text: text,
26
- count: wordCount( text ),
27
- unit: "word",
28
- };
29
- }
@@ -1,108 +0,0 @@
1
- /**
2
- * Sentence clause which should be checked for passiveness.
3
- *
4
- */
5
- class Clause {
6
- /**
7
- * Constructs a clause object.
8
- *
9
- * @param {string} clauseText The text in the clause.
10
- * @param {Array} auxiliaries The auxiliaries in the clause.
11
- *
12
- * @constructor
13
- */
14
- constructor( clauseText, auxiliaries ) {
15
- this._clauseText = clauseText;
16
- this._auxiliaries = auxiliaries;
17
- this._isPassive = false;
18
- this._participles = [];
19
- }
20
- /**
21
- * Returns the clause text.
22
- *
23
- * @returns {string} The clause text.
24
- */
25
- getClauseText() {
26
- return this._clauseText;
27
- }
28
-
29
- /**
30
- * Returns true if the clause is passive.
31
- *
32
- * @returns {boolean} Whether the clause is passive.
33
- */
34
- isPassive() {
35
- return this._isPassive;
36
- }
37
-
38
- /**
39
- * Returns the auxiliaries of the clause.
40
- *
41
- * @returns {Array} The auxiliaries present in the clause.
42
- */
43
- getAuxiliaries() {
44
- return this._auxiliaries;
45
- }
46
-
47
- /**
48
- * Sets the passiveness of the clause.
49
- *
50
- * @param {boolean} passive Whether the clause is passive.
51
- *
52
- * @returns {void}
53
- */
54
- setPassive( passive ) {
55
- this._isPassive = passive;
56
- }
57
-
58
- /**
59
- * Sets the participles.
60
- *
61
- * @param {Array} participles The participles.
62
- *
63
- * @returns {void}
64
- */
65
- setParticiples( participles ) {
66
- this._participles = participles;
67
- }
68
-
69
- /**
70
- * Returns the found participles.
71
- *
72
- * @returns {Array} The participles
73
- */
74
- getParticiples() {
75
- return this._participles;
76
- }
77
-
78
- /**
79
- * Serializes the Clause instance to an object.
80
- *
81
- * @returns {Object} The serialized Clause.
82
- */
83
- serialize() {
84
- return {
85
- _parseClass: "Clause",
86
- clauseText: this._clauseText,
87
- auxiliaries: this._auxiliaries,
88
- isPassive: this._isPassive,
89
- participles: this._participles,
90
- };
91
- }
92
-
93
- /**
94
- * Parses the object to a Clause.
95
- *
96
- * @param {Object} serialized The serialized object.
97
- *
98
- * @returns {Clause} The parsed Clause.
99
- */
100
- static parse( serialized ) {
101
- const clause = new Clause( serialized.clauseText, serialized.auxiliaries );
102
- clause.setPassive( serialized.isPassive );
103
-
104
- return clause;
105
- }
106
- }
107
-
108
- export default Clause;