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,130 +0,0 @@
1
- import isPhrasingContent from "./isPhrasingContent";
2
- import { Paragraph } from "../../structure";
3
- import { isEmpty } from "lodash";
4
- import SourceCodeLocation from "../../structure/SourceCodeLocation";
5
-
6
- /**
7
- * Checks whether a node is inter-element whitespace.
8
- *
9
- * @see https://html.spec.whatwg.org/#inter-element-whitespace
10
- *
11
- * @param {Object} node The node to check.
12
- *
13
- * @returns {boolean} Whether the node is inter-element whitespace.
14
- */
15
- function isInterElementWhitespace( node ) {
16
- return node.name === "#text" && node.value && node.value.match( /^[\n\s]+$/g );
17
- }
18
-
19
- /**
20
- * Checks whether a node has any children.
21
- *
22
- * @param {Object} node The node to check.
23
- *
24
- * @returns {boolean} Whether the node has any children.
25
- */
26
- function hasChildren( node ) {
27
- return node && node.childNodes.length > 0;
28
- }
29
-
30
- /**
31
- * Updates the source code location of an implicit paragraph based on its children.
32
- * @param {Paragraph} implicitParagraph The implicit paragraph to update.
33
- * @returns {void}
34
- */
35
- const updateImplicitParagraphLocation = ( implicitParagraph ) => {
36
- const [ firstChild ] = implicitParagraph.childNodes.slice( 0 );
37
- const [ lastChild ] = implicitParagraph.childNodes.slice( -1 );
38
- if ( ( firstChild.sourceCodeRange || firstChild.sourceCodeLocation ) && ( lastChild.sourceCodeRange || lastChild.sourceCodeLocation ) ) {
39
- const startOffset = firstChild.sourceCodeRange ? firstChild.sourceCodeRange.startOffset : firstChild.sourceCodeLocation.startOffset;
40
- const endOffset = lastChild.sourceCodeRange ? lastChild.sourceCodeRange.endOffset : lastChild.sourceCodeLocation.endOffset;
41
- implicitParagraph.sourceCodeLocation = new SourceCodeLocation( { startOffset: startOffset, endOffset: endOffset } );
42
- }
43
- };
44
-
45
- /**
46
- * Checks whether the current node is part of a double line break.
47
- * @param {Node} currentNode The current node.
48
- * @param {Node} prevNode The previous node (if available).
49
- * @param {Node} nextNode The next node (if available).
50
- * @returns {boolean} Whether the current node is part of a double line break
51
- */
52
- const isPartOfDoubleBreak = ( currentNode, prevNode, nextNode ) => {
53
- const prevNodeIsBreak = prevNode && prevNode.name === "br";
54
- const nextNodeIsBreak = nextNode && nextNode.name === "br";
55
- return currentNode.name === "br" && ( prevNodeIsBreak || nextNodeIsBreak );
56
- };
57
-
58
- /**
59
- * Combines series of consecutive phrasing content ("inline" tags like `a` and `span`, and text) into implicit paragraphs.
60
- *
61
- * @see https://html.spec.whatwg.org/#paragraphs
62
- *
63
- * @param {Array} nodes The nodes to combine where able to.
64
- * @param {Object} parentSourceCodeLocation This parent node's location in the source code, from parse5.
65
- *
66
- * @returns {Array} The combined nodes.
67
- */
68
- function combineIntoImplicitParagraphs( nodes, parentSourceCodeLocation = {} ) {
69
- const newNodes = [];
70
- let currentSourceCodeLocation = {};
71
- // For implicit paragraphs, strip off the start and end tag information from the parent's source code location.
72
- if ( isEmpty( parentSourceCodeLocation ) ) {
73
- const firstNode = nodes[ 0 ];
74
- const lastNode = nodes[ nodes.length - 1 ];
75
-
76
- if ( firstNode && lastNode && firstNode.sourceCodeLocation && lastNode.sourceCodeLocation ) {
77
- currentSourceCodeLocation = new SourceCodeLocation( {
78
- startOffset: firstNode.sourceCodeLocation.startOffset,
79
- endOffset: lastNode.sourceCodeLocation.endOffset,
80
- } );
81
- }
82
- } else {
83
- currentSourceCodeLocation = new SourceCodeLocation( {
84
- startOffset: parentSourceCodeLocation.startTag
85
- ? parentSourceCodeLocation.startTag.endOffset
86
- : parentSourceCodeLocation.startOffset,
87
- endOffset: parentSourceCodeLocation.endTag
88
- ? parentSourceCodeLocation.endTag.startOffset
89
- : parentSourceCodeLocation.endOffset,
90
- } );
91
- }
92
-
93
- let implicitParagraph = Paragraph.createImplicit( {}, [], currentSourceCodeLocation );
94
- nodes.forEach( ( node, index, allNodes ) => {
95
- const prevNode = 0 !== index && allNodes[ index - 1 ];
96
- const nextNode = allNodes.length - 1 !== index && allNodes[ index + 1 ];
97
-
98
- if ( isPhrasingContent( node.name ) && ! isInterElementWhitespace( node ) && ! isPartOfDoubleBreak( node, prevNode, nextNode ) ) {
99
- // If the node is phrasing content, add it to the implicit paragraph.
100
- implicitParagraph.childNodes.push( node );
101
- } else {
102
- // If the node is not phrasing content, this means that the implicit paragraph has ended.
103
- if ( hasChildren( implicitParagraph ) ) {
104
- // If the implicit paragraph has children this means an implicit paragraph was created:
105
- // end the current implicit paragraph and start a new one.
106
-
107
- // But before pushing, we need to update the source code location of the implicit paragraph based on its child nodes.
108
- updateImplicitParagraphLocation( implicitParagraph );
109
-
110
- // Update the startOffset of the next implicit paragraph to be the end of the current node.
111
- if ( node.sourceCodeLocation ) {
112
- currentSourceCodeLocation.startOffset = node.sourceCodeLocation.endOffset;
113
- }
114
-
115
- newNodes.push( implicitParagraph );
116
- implicitParagraph = Paragraph.createImplicit( {}, [], currentSourceCodeLocation );
117
- }
118
- newNodes.push( node );
119
- }
120
- } );
121
-
122
- if ( hasChildren( implicitParagraph ) ) {
123
- updateImplicitParagraphLocation( implicitParagraph );
124
-
125
- newNodes.push( implicitParagraph );
126
- }
127
- return newNodes;
128
- }
129
-
130
- export default combineIntoImplicitParagraphs;
@@ -1,32 +0,0 @@
1
- import { isEmpty } from "lodash";
2
- import { canBeChildOfParagraph as excludeFromAnalysis } from "./alwaysFilterElements";
3
-
4
- /**
5
- * Removes all child nodes from nodes that we want to exclude from the analysis, and that can be children of a paragraph
6
- * or heading.
7
- *
8
- * The child nodes are removed because we don't want to include any text between those nodes in the analysis.
9
- * If we don't remove them here, the text between those nodes will be considered as part of the paragraph's
10
- * inner text and will be tokenized.
11
- *
12
- * These changes are only necessary for elements that can be children of paragraphs or headings. For example, we also
13
- * don't want to analyze content in between `blockquote` tags, but these cannot be children of paragraphs/headings.
14
- * Because of that, they wouldn't interfere with tokenizing the text inside paragraphs and headings and calculating
15
- * the positions.
16
- *
17
- * @param {Node} node The node to check.
18
- *
19
- * @returns {Node} The filtered out node that's ready to be tokenized.
20
- */
21
- export function filterBeforeTokenizing( node ) {
22
- if ( excludeFromAnalysis.includes( node.name ) ) {
23
- node.childNodes = [];
24
- }
25
-
26
- // Recursively filters the node's children.
27
- if ( ! isEmpty( node.childNodes ) ) {
28
- node.childNodes.map( filterBeforeTokenizing );
29
- }
30
-
31
- return node;
32
- }
@@ -1,44 +0,0 @@
1
- /**
2
- * Filter helpers for the html tree filter.
3
- * All helpers are functions that return a callback with the element as the only argument.
4
- */
5
-
6
-
7
- /**
8
- * Creates a callback that checks if an element has a specific name.
9
- *
10
- * @param {string} name The name to check.
11
- *
12
- * @returns {function(*)} A function that returns true if the element has a specific name.
13
- */
14
- export function elementHasName( name ) {
15
- return ( element ) => {
16
- return element.name === name;
17
- };
18
- }
19
-
20
- /**
21
- * Creates a callback that checks the class of an element.
22
- *
23
- * @param {string} className The classname to filter out.
24
- *
25
- * @returns {function(*): boolean} A function that returns true if a Node has a certain class.
26
- */
27
- export function elementHasClass( className ) {
28
- return ( blockElement ) => {
29
- return !! blockElement.attributes.class && blockElement.attributes.class.has( className );
30
- };
31
- }
32
-
33
- /**
34
- * Creates a callback that checks if an element has a certain ID.
35
- *
36
- * @param {string} id The ID we want to check against.
37
- *
38
- * @returns {function(*): boolean} A function that returns true if an element has a certain ID.
39
- */
40
- export function elementHasID( id ) {
41
- return ( element ) => {
42
- return element.attributes.id === id;
43
- };
44
- }
@@ -1,42 +0,0 @@
1
- import { Paragraph } from "../../structure";
2
-
3
- /**
4
- * Checks if a node should be kept or discarded.
5
- * @param {Node} node A node.
6
- * @param {Function[]} filters An array of filter callbacks.
7
- * @returns {boolean} True if the node should be kept, false if the node should be discarded.
8
- */
9
- function shouldRemoveNode( node, filters ) {
10
- // Always keep text nodes.
11
- if ( node.name === "#text" ) {
12
- return false;
13
- }
14
-
15
- // If any of the filters returns true, the node will be discarded.
16
- return filters.some( filter => filter( node ) );
17
- }
18
-
19
- /**
20
- * A recursive function that removes all nodes based on an array of filters.
21
- * @param {Node} node A node. (Could be the entire tree.)
22
- * @param {Function[]} filters An array of callbacks. If a callback returns true, the node is discarded.
23
- * @returns {Node|undefined} A Node with all undesired subtrees removed.
24
- */
25
- export default function filterTree( node, filters ) {
26
- // Returns undefined when the node should be disregarded.
27
- if ( shouldRemoveNode( node, filters ) ) {
28
- return;
29
- }
30
-
31
- // Recursively filters the node's children.
32
- if ( node.childNodes ) {
33
- node.childNodes = node.childNodes.filter( childNode => filterTree( childNode, filters ) );
34
-
35
- // Drops implicit paragraphs if all their child nodes have been removed.
36
- if ( node.childNodes.length === 0 && node instanceof Paragraph && node.isImplicit ) {
37
- return;
38
- }
39
- }
40
-
41
- return node;
42
- }
@@ -1,184 +0,0 @@
1
- import { Paragraph } from "../../structure";
2
- import { canBeChildOfParagraph as excludeFromAnalysis } from "./alwaysFilterElements";
3
-
4
- /**
5
- * Gets the start and end positions of all descendant nodes' tags and stores them in an array.
6
- * Each object in the array represents an opening or closing tag for nodes that have tags, or the full node for nodes
7
- * without tags (such as 'comment' nodes).
8
- * The startOffset and endOffset properties of the objects correspond to the start and end positions of the tags, or the
9
- * start and end positions of the full node for nodes without tags.
10
- * Extracting this data into a separate array makes it easier to work with it (e.g. sort it and loop over it).
11
- *
12
- * @param {Node[]} descendantNodes The descendant nodes to get positions from.
13
- *
14
- * @returns {SourceCodeRange[]} An array of the locations of each start and end tag in the source code, or the start and
15
- * end locations of the full node for nodes without tags.
16
- *
17
- */
18
- function getDescendantPositions( descendantNodes ) {
19
- const descendantTagPositions = [];
20
- descendantNodes.forEach( ( node ) => {
21
- /*
22
- * For nodes whose content we don't want to analyze, we should add the length of the full node to the array, to
23
- * still take into account the whole element's length when calculating positions.
24
- */
25
- if ( excludeFromAnalysis.includes( node.name ) ) {
26
- descendantTagPositions.push( node.sourceCodeLocation );
27
- } else {
28
- if ( node.sourceCodeLocation.startTag ) {
29
- const startRange = {
30
- startOffset: node.sourceCodeLocation.startTag.startOffset,
31
- endOffset: node.sourceCodeLocation.startTag.endOffset,
32
- };
33
- /*
34
- * Here, we need to account for the fact that earlier (in innerText.js), we treated a <br> as a newline character.
35
- * Therefore, we need to subtract 1 from the endOffset to not count it twice.
36
- */
37
- if ( node.name === "br" ) {
38
- startRange.endOffset = startRange.endOffset - 1;
39
- }
40
- descendantTagPositions.push( startRange );
41
- }
42
- /*
43
- * Check whether node has an end tag before adding it to the array.
44
- * Some nodes, such as the 'img' node, only have a start tag.
45
- */
46
- if ( node.sourceCodeLocation.endTag ) {
47
- descendantTagPositions.push( node.sourceCodeLocation.endTag );
48
- }
49
- }
50
- } );
51
- // Sort the tag position objects by the start tag position in ascending order.
52
- descendantTagPositions.sort( ( a, b ) => a.startOffset - b.startOffset );
53
-
54
- return descendantTagPositions;
55
- }
56
-
57
- /**
58
- * Adjusts the end position of the text element to account for descendant node tags that overlap with the text element.
59
- * We want to add the length of tags that are directly preceding the start of the text, or that are between the start
60
- * and end of the text, to the end position of the text element.
61
- * For example, if the text is "<span><em>Hello</em>, world!</span>", the length of all tags except for the closing
62
- * </span> tag should be added to the end position of the sentence.
63
- *
64
- * @param {SourceCodeRange[]} descendantTagPositions The positions of the descendant nodes' tags.
65
- * @param {number} textElementStart The start position of a text element.
66
- * @param {number} textElementEnd The end position of a text element.
67
- *
68
- * @returns {number} The adjusted end position of the text element.
69
- */
70
- function adjustElementEnd( descendantTagPositions, textElementStart, textElementEnd ) {
71
- /*
72
- * If the start position of a descendant's node tag is between the start and end position of the text element, or is
73
- * the same as the start position of the text element, add the tag's length to the end position of the text element.
74
- */
75
- descendantTagPositions.forEach( ( position ) => {
76
- if ( position.startOffset >= textElementStart && position.startOffset < textElementEnd ) {
77
- textElementEnd += ( position.endOffset - position.startOffset );
78
- }
79
- } );
80
-
81
- return textElementEnd;
82
- }
83
-
84
- /**
85
- * Adjusts the start position of the text element to exclude descendant node tags at the beginning of the text element.
86
- * For example, the start position of the text element `<span>Hello!</span>`
87
- * should be adjusted to start at the `H`, not at the start tag of the opening `<span>` tag.
88
- * @param {SourceCodeRange[]} descendantTagPositions The positions of the descendant nodes' tags.
89
- * @param {Number} textElementStart The start position of a text element.
90
- *
91
- * @returns {Number} The adjusted start position of the text element.
92
- */
93
- function adjustTextElementStart( descendantTagPositions, textElementStart ) {
94
- /*
95
- * If the start position of a descendant's node tag is between the start and end position of the text element, or is
96
- * the same as the start/end position of the text element, add the tag's length to the end position of the text element.
97
- */
98
- descendantTagPositions.forEach( ( position ) => {
99
- if ( position.startOffset === textElementStart ) {
100
- textElementStart += ( position.endOffset - position.startOffset );
101
- }
102
- } );
103
-
104
- return textElementStart;
105
- }
106
-
107
- /**
108
- * Retrieves the initial start offset for the first text element.
109
- * Normally, that is the end offset of the start tag of the parent node.
110
- * In case of implicit paragraphs, we use the start offset of the node as a whole.
111
- *
112
- * @param {Paragraph|Heading} node The node to retrieve the start position from.
113
- * @returns {number} The start offset for the first text element.
114
- */
115
- const getTextElementStart = ( node ) => {
116
- return node instanceof Paragraph && node.isImplicit
117
- ? node.sourceCodeLocation.startOffset
118
- : node.sourceCodeLocation.startTag.endOffset;
119
- };
120
-
121
- /**
122
- * Gets the start and end positions of text elements (sentences or tokens) in the source code.
123
- *
124
- * @param {Paragraph|Heading} node The paragraph or heading node.
125
- * @param {Sentence[]|Token[]} textElements The sentences or tokens in the node.
126
- * @param {number} startOffset The start position of the node in the source code.
127
- * Defaults to -1 which signals that it should not be used.
128
- *
129
- * @returns {Sentence[]|Token[]} The sentences or tokens, with their positions in the source code.
130
- */
131
- export default function getTextElementPositions( node, textElements, startOffset = -1 ) {
132
- // We cannot calculate positions if there are no text elements, or if we don't know the node's source code location.
133
- if ( textElements.length === 0 || ! node.sourceCodeLocation ) {
134
- return textElements;
135
- }
136
-
137
- /*
138
- * Set the (initial) start offset of the first text element.
139
- * If the start offset has been provided (in the case of Tokens), use that.
140
- * Otherwise, determine the start offset from the parent Paragraph or Heading node.
141
- */
142
- let textElementStart = startOffset >= 0 ? startOffset : getTextElementStart( node );
143
-
144
- let textElementEnd;
145
- let descendantTagPositions = [];
146
-
147
- /*
148
- * Check if the node has any descendant nodes that have a sourceCodeLocation property (all nodes other than Text nodes
149
- * should have this property). If such nodes exist, store the positions of each node's opening and closing tags in
150
- * an array. These positions will have to be taken into account when calculating the position of the text elements.
151
- */
152
- if ( node.findAll ) {
153
- const descendantNodes = node.findAll( descendantNode => descendantNode.sourceCodeLocation, true );
154
- if ( descendantNodes.length > 0 ) {
155
- descendantTagPositions = getDescendantPositions( descendantNodes );
156
- }
157
- }
158
-
159
- textElements.forEach( ( textElement ) => {
160
- // Set the end position to the start position + the length of the textElement.
161
- textElementEnd = textElementStart + textElement.text.length;
162
-
163
- /*
164
- * If there are descendant tags, possibly adjust the textElementEnd and textElementStart.
165
- * The textElementEnd should be adjusted to include the length of any descendant tags until the end of the text, in
166
- * addition to the length of the text itself. Descendant tags AFTER the end of the text should not be included.
167
- * The textElementStart should be adjusted so that it is where the actual text starts, not including any descendant
168
- * tags preceding the text.
169
- */
170
- if ( descendantTagPositions.length > 0 ) {
171
- textElementEnd = adjustElementEnd( descendantTagPositions, textElementStart, textElementEnd );
172
-
173
- textElementStart = adjustTextElementStart( descendantTagPositions, textElementStart );
174
- }
175
-
176
- // Add the start and end positions to the textElement object.
177
- textElement.sourceCodeRange = { startOffset: textElementStart, endOffset: textElementEnd };
178
-
179
- // Start position of the next textElement is the end position of current textElement.
180
- textElementStart = textElementEnd;
181
- } );
182
-
183
- return textElements;
184
- }
@@ -1,9 +0,0 @@
1
-
2
- /**
3
- * When splits a string of html classes into a set html classes.
4
- * @param {string} classString The value of the class attribute.
5
- * @returns {Set} A set containing all individual values of the class.
6
- */
7
- export default function parseClassAttribute( classString ) {
8
- return new Set( classString.split( " " ) );
9
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Tag names of HTML elements that are considered phrasing content
3
- * in the HTML content model.
4
- *
5
- * @see https://html.spec.whatwg.org/#phrasing-content
6
- *
7
- * @type {string[]}
8
- */
9
- const phrasingContentTags = [
10
- "b", "big", "i", "small", "tt", "abbr", "acronym", "cite", "code", "dfn", "em", "kbd", "strong",
11
- "samp", "time", "var", "a", "bdo", "br", "img", "map", "object", "q", "script", "span", "sub", "sup", "button",
12
- "input", "label", "select", "textarea",
13
- ];
14
-
15
- /**
16
- * Checks whether a node is considered phrasing content.
17
- *
18
- * @see https://html.spec.whatwg.org/#phrasing-content
19
- *
20
- * @param {string} nodeName The name/tag of the node to check if it is phrasing content.
21
- *
22
- * @returns {boolean} Whether the node is phrasing content.
23
- */
24
- function isPhrasingContent( nodeName ) {
25
- return phrasingContentTags.includes( nodeName ) || nodeName === "#text";
26
- }
27
-
28
- export default isPhrasingContent;
@@ -1,151 +0,0 @@
1
- import { isUndefined } from "lodash";
2
- const blockTokenizer = /<!--\s+wp:([a-z][a-z0-9_-]*\/)?([a-z][a-z0-9_-]*)\s+({(?:(?=([^}]+|}+(?=})|(?!}\s+\/?-->)[^])*)\5|[^]*?)}\s+)?(\/)?-->/g;
3
-
4
- /**
5
- * Get all the blocks including the inner blocks.
6
- *
7
- * @param {Paper} paper The paper to get all the blocks from.
8
- *
9
- * @returns {Object[]} An array of blocks.
10
- */
11
- const getAllBlocks = ( paper ) => {
12
- const blocks = paper._attributes.wpBlocks;
13
- const flattenBlocks = [];
14
- if ( ! ( blocks && blocks.length > 0 ) ) {
15
- return [];
16
- }
17
- blocks.forEach( ( block ) => {
18
- if ( block.innerBlocks.length > 0 ) {
19
- const innerBlocks = block.innerBlocks;
20
- flattenBlocks.push(
21
- block, ...innerBlocks
22
- );
23
- } else {
24
- flattenBlocks.push( block );
25
- }
26
- } );
27
- return flattenBlocks;
28
- };
29
-
30
-
31
- /**
32
- * Gets the offset of each block and set it to the tree.
33
- *
34
- * @param {Object[]} blocks An array of blocks.
35
- * @param {string} text The text.
36
- *
37
- * @returns {void}
38
- */
39
- export function updateBlocksOffset( blocks, text ) {
40
- if ( blocks.length === 0 ) {
41
- return;
42
- }
43
- blocks.forEach( ( currentBlock, index ) => {
44
- const matches = blockTokenizer.exec( text );
45
- if ( currentBlock.name === "core/freeform" ) {
46
- const previousBlock = blocks[ index - 1 ];
47
- if ( previousBlock ) {
48
- const previousBlockEndOffset = previousBlock.endOffset;
49
- const startedAt = previousBlockEndOffset + 2;
50
- currentBlock.startOffset = startedAt;
51
- currentBlock.endOffset = startedAt + currentBlock.blockLength;
52
- currentBlock.contentOffset = startedAt;
53
- } else {
54
- currentBlock.startOffset = 0;
55
- currentBlock.endOffset = 0 + currentBlock.blockLength;
56
- currentBlock.contentOffset = 0;
57
- }
58
- } else {
59
- if ( null === matches ) {
60
- return;
61
- }
62
- const [ match ] = matches;
63
- const startedAt = matches.index;
64
- const length = match.length;
65
- currentBlock.startOffset = startedAt;
66
- currentBlock.endOffset = startedAt + currentBlock.blockLength;
67
- currentBlock.contentOffset = startedAt + length + 1;
68
- }
69
-
70
- if ( currentBlock.innerBlocks && currentBlock.innerBlocks.length > 0 ) {
71
- updateBlocksOffset( currentBlock.innerBlocks, text );
72
- }
73
- } );
74
- }
75
-
76
-
77
- /**
78
- * Gets the client id for each block and set it to the child nodes.
79
- * Additionally, when a node has an attribute with 'id' key, also set this id to the first.
80
- *
81
- * @param {Node} rootNode The root node.
82
- * @param {Object[]} blocks An array of blocks.
83
- * @param {string} clientId The client id to set.
84
- *
85
- * @returns {void}
86
- */
87
- function updateClientIdAndAttrIdForSubtree( rootNode, blocks, clientId ) {
88
- if ( ! rootNode ) {
89
- return;
90
- }
91
-
92
- let currentClientId = clientId;
93
- if ( rootNode.sourceCodeLocation && ! isUndefined( rootNode.sourceCodeLocation.startOffset ) ) {
94
- const foundBlock = blocks.find( block => block.contentOffset === rootNode.sourceCodeLocation.startOffset );
95
- if ( foundBlock ) {
96
- currentClientId = foundBlock.clientId;
97
- }
98
- }
99
-
100
- // If the clientId is not undefined, also set this to the root node.
101
- if ( currentClientId ) {
102
- rootNode.clientId = currentClientId;
103
- }
104
-
105
- // If the node has children, update the clientId for them.
106
- ( rootNode.childNodes || [] ).forEach( ( node ) => {
107
- if ( node.attributes && node.attributes.id ) {
108
- /*
109
- * If the node's child has an attribute with 'id' key, also set this id to the first and third child node.
110
- * This step is specifically for parsing the Yoast blocks.
111
- *
112
- * For Yoast blocks, if a node has attribute with 'id' key, this means that this node represents a sub-block.
113
- * A sub-block has four child nodes:
114
- * 1. The first child node of the sub-block, represents the first section of that sub-block.
115
- * - For example, in Yoast FAQ block, the first child node would represent the "question" section.
116
- * 2. The second child node of the sub-block, only contains a new line.
117
- * 3. The third child node of the sub-block, represents the second section of that sub-block.
118
- * - For example, in Yoast FAQ block, the second child node would represent the "answer" section.
119
- * 4. The fourth child node of the sub-block, only contains a new line.
120
- */
121
- if ( node.childNodes && node.childNodes.length > 3 ) {
122
- node.childNodes[ 0 ].attributeId = node.attributes.id;
123
- node.childNodes[ 0 ].isFirstSection = true;
124
-
125
- node.childNodes[ 2 ].attributeId = node.attributes.id;
126
- node.childNodes[ 2 ].isFirstSection = false;
127
- }
128
- }
129
- updateClientIdAndAttrIdForSubtree( node, blocks, currentClientId );
130
- } );
131
- }
132
-
133
- /**
134
- * Parses blocks and updates the clientId for the subtree.
135
- * Additionally, when a node has an attribute with 'id' key, also set this id to the first and third child node of that node.
136
- *
137
- * @param {Paper} paper The paper to parse.
138
- * @param {Node} node The node to parse.
139
- *
140
- * @returns {void}
141
- */
142
- export default function( paper, node ) {
143
- const blocks = paper._attributes.wpBlocks || [];
144
- blockTokenizer.lastIndex = 0;
145
- updateBlocksOffset( blocks, paper.getText() );
146
-
147
- const rawBlocks = getAllBlocks( paper );
148
-
149
- // eslint-disable-next-line no-undefined
150
- updateClientIdAndAttrIdForSubtree( node, rawBlocks, undefined );
151
- }