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.
- package/package.json +5 -2
- package/.browserslistrc +0 -1
- package/.gitattributes +0 -1
- package/babel.config.js +0 -3
- package/eslint.config.mjs +0 -119
- package/src/bundledPlugins/index.js +0 -5
- package/src/bundledPlugins/previouslyUsedKeywords.js +0 -192
- package/src/config/diacritics.js +0 -106
- package/src/config/getTransliterations.js +0 -1447
- package/src/config/transliterationsWPstyle.js +0 -774
- package/src/config/wordBoundaries.js +0 -23
- package/src/config/wordBoundariesWithoutPunctuation.js +0 -9
- package/src/const/analysis.js +0 -41
- package/src/errors/invalidType.js +0 -14
- package/src/errors/missingArgument.js +0 -14
- package/src/helpers/createMeasurementElement.js +0 -40
- package/src/helpers/domManipulation.js +0 -65
- package/src/helpers/errors.js +0 -26
- package/src/helpers/factory.js +0 -219
- package/src/helpers/formatNumber.js +0 -12
- package/src/helpers/formatString.js +0 -33
- package/src/helpers/getLanguagesWithWordComplexity.js +0 -8
- package/src/helpers/getLanguagesWithWordFormSupport.js +0 -11
- package/src/helpers/getWordComplexityConfig.js +0 -20
- package/src/helpers/getWordComplexityHelper.js +0 -20
- package/src/helpers/htmlEntities.js +0 -41
- package/src/helpers/includesAny.js +0 -19
- package/src/helpers/index.js +0 -127
- package/src/helpers/shortlinker/Shortlinker.js +0 -75
- package/src/helpers/shortlinker/index.js +0 -1
- package/src/helpers/shortlinker/singleton.js +0 -68
- package/src/helpers/types.js +0 -34
- package/src/index.js +0 -60
- package/src/languageProcessing/AbstractResearcher.js +0 -366
- package/src/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +0 -125
- package/src/languageProcessing/helpers/html/getFieldsToMark.js +0 -29
- package/src/languageProcessing/helpers/html/getSubheadingTexts.js +0 -47
- package/src/languageProcessing/helpers/html/getSubheadings.js +0 -95
- package/src/languageProcessing/helpers/html/html.js +0 -176
- package/src/languageProcessing/helpers/html/htmlParser.js +0 -145
- package/src/languageProcessing/helpers/html/matchParagraphs.js +0 -62
- package/src/languageProcessing/helpers/html/normalizeHTML.js +0 -16
- package/src/languageProcessing/helpers/image/getAltAttribute.js +0 -20
- package/src/languageProcessing/helpers/image/getImagesInTree.js +0 -16
- package/src/languageProcessing/helpers/image/imageInText.js +0 -19
- package/src/languageProcessing/helpers/index.js +0 -12
- package/src/languageProcessing/helpers/language/getLanguage.js +0 -9
- package/src/languageProcessing/helpers/link/checkNofollow.js +0 -38
- package/src/languageProcessing/helpers/link/getAnchorsFromText.js +0 -32
- package/src/languageProcessing/helpers/link/getLinkType.js +0 -32
- package/src/languageProcessing/helpers/match/findKeywordFormsInString.js +0 -101
- package/src/languageProcessing/helpers/match/isDoubleQuoted.js +0 -13
- package/src/languageProcessing/helpers/match/matchTextWithArray.js +0 -36
- package/src/languageProcessing/helpers/match/matchTextWithTransliteration.js +0 -58
- package/src/languageProcessing/helpers/match/matchTextWithWord.js +0 -45
- package/src/languageProcessing/helpers/match/matchWordFormsWithSentence.js +0 -164
- package/src/languageProcessing/helpers/match/processExactMatchRequest.js +0 -20
- package/src/languageProcessing/helpers/morphology/baseStemmer.js +0 -11
- package/src/languageProcessing/helpers/morphology/buildFormRule.js +0 -19
- package/src/languageProcessing/helpers/morphology/buildTopicStems.js +0 -169
- package/src/languageProcessing/helpers/morphology/createRulesFromArrays.js +0 -45
- package/src/languageProcessing/helpers/morphology/exceptionListHelpers.js +0 -65
- package/src/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +0 -24
- package/src/languageProcessing/helpers/morphology/flattenSortLength.js +0 -14
- package/src/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +0 -39
- package/src/languageProcessing/helpers/morphology/regexHelpers.js +0 -44
- package/src/languageProcessing/helpers/morphology/stemHelpers.js +0 -38
- package/src/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +0 -31
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +0 -36
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +0 -113
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +0 -45
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +0 -231
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +0 -20
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +0 -23
- package/src/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +0 -40
- package/src/languageProcessing/helpers/prominentWords/determineProminentWords.js +0 -238
- package/src/languageProcessing/helpers/regex/createRegexFromArray.js +0 -35
- package/src/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +0 -34
- package/src/languageProcessing/helpers/regex/createWordRegex.js +0 -30
- package/src/languageProcessing/helpers/regex/matchStringWithRegex.js +0 -19
- package/src/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +0 -14
- package/src/languageProcessing/helpers/sanitize/doubleQuotes.js +0 -12
- package/src/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +0 -131
- package/src/languageProcessing/helpers/sanitize/mergeListItems.js +0 -24
- package/src/languageProcessing/helpers/sanitize/parseSynonyms.js +0 -20
- package/src/languageProcessing/helpers/sanitize/quotes.js +0 -46
- package/src/languageProcessing/helpers/sanitize/removeEmailAddresses.js +0 -12
- package/src/languageProcessing/helpers/sanitize/removePunctuation.js +0 -64
- package/src/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +0 -18
- package/src/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +0 -13
- package/src/languageProcessing/helpers/sanitize/removeURLs.js +0 -13
- package/src/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +0 -11
- package/src/languageProcessing/helpers/sanitize/sanitizeString.js +0 -18
- package/src/languageProcessing/helpers/sanitize/stripHTMLTags.js +0 -57
- package/src/languageProcessing/helpers/sanitize/stripNonTextTags.js +0 -15
- package/src/languageProcessing/helpers/sanitize/stripNumbers.js +0 -21
- package/src/languageProcessing/helpers/sanitize/stripSpaces.js +0 -23
- package/src/languageProcessing/helpers/sanitize/stripWordBoundaries.js +0 -65
- package/src/languageProcessing/helpers/sanitize/unifyWhitespace.js +0 -61
- package/src/languageProcessing/helpers/sentence/SentenceTokenizer.js +0 -640
- package/src/languageProcessing/helpers/sentence/countSentences.js +0 -20
- package/src/languageProcessing/helpers/sentence/getSentences.js +0 -65
- package/src/languageProcessing/helpers/sentence/getSentencesFromTree.js +0 -55
- package/src/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +0 -28
- package/src/languageProcessing/helpers/sentence/sentencesLength.js +0 -31
- package/src/languageProcessing/helpers/syllables/DeviationFragment.js +0 -112
- package/src/languageProcessing/helpers/syllables/countSyllables.js +0 -182
- package/src/languageProcessing/helpers/syllables/syllableCountIterator.js +0 -56
- package/src/languageProcessing/helpers/syllables/syllableCountStep.js +0 -68
- package/src/languageProcessing/helpers/transform/transformWordsWithHyphens.js +0 -17
- package/src/languageProcessing/helpers/transliterate/replaceDiacritics.js +0 -22
- package/src/languageProcessing/helpers/transliterate/specialCharacterMappings.js +0 -214
- package/src/languageProcessing/helpers/transliterate/transliterate.js +0 -20
- package/src/languageProcessing/helpers/transliterate/transliterateWPstyle.js +0 -21
- package/src/languageProcessing/helpers/url/parseSlug.js +0 -10
- package/src/languageProcessing/helpers/url/url.js +0 -172
- package/src/languageProcessing/helpers/word/addWordboundary.js +0 -37
- package/src/languageProcessing/helpers/word/areWordsInSentence.js +0 -16
- package/src/languageProcessing/helpers/word/countMetaDescriptionLength.js +0 -18
- package/src/languageProcessing/helpers/word/countWords.js +0 -14
- package/src/languageProcessing/helpers/word/createPunctuationTokens.js +0 -42
- package/src/languageProcessing/helpers/word/filterWordsFromArray.js +0 -15
- package/src/languageProcessing/helpers/word/followsIndex.js +0 -25
- package/src/languageProcessing/helpers/word/getAllWordsFromTree.js +0 -23
- package/src/languageProcessing/helpers/word/getWords.js +0 -43
- package/src/languageProcessing/helpers/word/includesIndex.js +0 -30
- package/src/languageProcessing/helpers/word/indices.js +0 -146
- package/src/languageProcessing/helpers/word/markWordsInSentences.js +0 -173
- package/src/languageProcessing/helpers/word/matchWordInSentence.js +0 -61
- package/src/languageProcessing/helpers/word/splitIntoTokens.js +0 -46
- package/src/languageProcessing/index.js +0 -91
- package/src/languageProcessing/languages/_default/Researcher.js +0 -34
- package/src/languageProcessing/languages/_default/helpers/getStemmer.js +0 -11
- package/src/languageProcessing/languages/ar/Researcher.js +0 -46
- package/src/languageProcessing/languages/ar/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/ar/config/functionWords.js +0 -329
- package/src/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +0 -570
- package/src/languageProcessing/languages/ar/config/prefixedFunctionWords.js +0 -5
- package/src/languageProcessing/languages/ar/config/transitionWords.js +0 -19
- package/src/languageProcessing/languages/ar/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/ar/helpers/createBasicWordForms.js +0 -32
- package/src/languageProcessing/languages/ar/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/ar/helpers/internal/stem.js +0 -632
- package/src/languageProcessing/languages/ar/helpers/isPassiveSentence.js +0 -33
- package/src/languageProcessing/languages/ca/Researcher.js +0 -43
- package/src/languageProcessing/languages/ca/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/ca/config/transitionWords.js +0 -31
- package/src/languageProcessing/languages/ca/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/ca/helpers/getStemmer.js +0 -11
- package/src/languageProcessing/languages/cs/Researcher.js +0 -44
- package/src/languageProcessing/languages/cs/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/cs/config/functionWords.js +0 -121
- package/src/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +0 -38
- package/src/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +0 -54
- package/src/languageProcessing/languages/cs/config/stopWords.js +0 -42
- package/src/languageProcessing/languages/cs/config/transitionWords.js +0 -26
- package/src/languageProcessing/languages/cs/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/cs/helpers/getClauses.js +0 -26
- package/src/languageProcessing/languages/cs/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/cs/helpers/internal/getParticiples.js +0 -16
- package/src/languageProcessing/languages/cs/helpers/internal/stem.js +0 -499
- package/src/languageProcessing/languages/cs/values/Clause.js +0 -34
- package/src/languageProcessing/languages/de/Researcher.js +0 -52
- package/src/languageProcessing/languages/de/config/firstWordExceptions.js +0 -17
- package/src/languageProcessing/languages/de/config/functionWords.js +0 -303
- package/src/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +0 -2231
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +0 -96
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +0 -368
- package/src/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +0 -72
- package/src/languageProcessing/languages/de/config/keyphraseLength.js +0 -11
- package/src/languageProcessing/languages/de/config/stopWords.js +0 -67
- package/src/languageProcessing/languages/de/config/syllables.json +0 -460
- package/src/languageProcessing/languages/de/config/transitionWords.js +0 -31
- package/src/languageProcessing/languages/de/config/twoPartTransitionWords.js +0 -12
- package/src/languageProcessing/languages/de/config/wordComplexity.js +0 -4
- package/src/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +0 -40
- package/src/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +0 -15
- package/src/languageProcessing/languages/de/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/de/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +0 -31
- package/src/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +0 -128
- package/src/languageProcessing/languages/de/helpers/internal/determineStem.js +0 -128
- package/src/languageProcessing/languages/de/helpers/internal/getParticiples.js +0 -40
- package/src/languageProcessing/languages/de/helpers/internal/stem.js +0 -215
- package/src/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +0 -28
- package/src/languageProcessing/languages/de/values/Clause.js +0 -85
- package/src/languageProcessing/languages/el/Researcher.js +0 -46
- package/src/languageProcessing/languages/el/config/firstWordExceptions.js +0 -47
- package/src/languageProcessing/languages/el/config/functionWords.js +0 -116
- package/src/languageProcessing/languages/el/config/internal/auxiliaries.js +0 -19
- package/src/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +0 -87
- package/src/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +0 -138
- package/src/languageProcessing/languages/el/config/stopWords.js +0 -854
- package/src/languageProcessing/languages/el/config/transitionWords.js +0 -26
- package/src/languageProcessing/languages/el/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/el/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/el/helpers/getStemmer.js +0 -21
- package/src/languageProcessing/languages/el/helpers/internal/getParticiples.js +0 -20
- package/src/languageProcessing/languages/el/helpers/internal/stem.js +0 -368
- package/src/languageProcessing/languages/el/helpers/isPassiveSentence.js +0 -38
- package/src/languageProcessing/languages/el/values/Clause.js +0 -37
- package/src/languageProcessing/languages/en/Researcher.js +0 -46
- package/src/languageProcessing/languages/en/config/abbreviations.js +0 -55
- package/src/languageProcessing/languages/en/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/en/config/functionWords.js +0 -186
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +0 -44
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +0 -354
- package/src/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +0 -3047
- package/src/languageProcessing/languages/en/config/regularParticiplesRegex.js +0 -5
- package/src/languageProcessing/languages/en/config/stopWords.js +0 -52
- package/src/languageProcessing/languages/en/config/syllables.json +0 -86
- package/src/languageProcessing/languages/en/config/transitionWords.js +0 -48
- package/src/languageProcessing/languages/en/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/en/config/wordComplexity.js +0 -5
- package/src/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +0 -43
- package/src/languageProcessing/languages/en/helpers/getClauses.js +0 -49
- package/src/languageProcessing/languages/en/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/en/helpers/internal/determineStem.js +0 -178
- package/src/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +0 -162
- package/src/languageProcessing/languages/en/helpers/internal/getParticiples.js +0 -25
- package/src/languageProcessing/languages/en/helpers/internal/getVerbStem.js +0 -237
- package/src/languageProcessing/languages/en/values/Clause.js +0 -68
- package/src/languageProcessing/languages/es/Researcher.js +0 -48
- package/src/languageProcessing/languages/es/config/firstWordExceptions.js +0 -16
- package/src/languageProcessing/languages/es/config/functionWords.js +0 -321
- package/src/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +0 -60
- package/src/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +0 -7327
- package/src/languageProcessing/languages/es/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/es/config/stopWords.js +0 -33
- package/src/languageProcessing/languages/es/config/syllables.json +0 -176
- package/src/languageProcessing/languages/es/config/transitionWords.js +0 -40
- package/src/languageProcessing/languages/es/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/es/config/wordComplexity.js +0 -4
- package/src/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +0 -56
- package/src/languageProcessing/languages/es/helpers/getClauses.js +0 -29
- package/src/languageProcessing/languages/es/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +0 -41
- package/src/languageProcessing/languages/es/helpers/internal/getParticiples.js +0 -35
- package/src/languageProcessing/languages/es/helpers/internal/stem.js +0 -793
- package/src/languageProcessing/languages/es/values/Clause.js +0 -47
- package/src/languageProcessing/languages/fa/Researcher.js +0 -47
- package/src/languageProcessing/languages/fa/config/firstWordExceptions.js +0 -12
- package/src/languageProcessing/languages/fa/config/functionWords.js +0 -122
- package/src/languageProcessing/languages/fa/config/internal/participles.js +0 -1429
- package/src/languageProcessing/languages/fa/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/fa/config/transitionWords.js +0 -20
- package/src/languageProcessing/languages/fa/config/twoPartTransitionWords.js +0 -9
- package/src/languageProcessing/languages/fa/helpers/createBasicWordForms.js +0 -97
- package/src/languageProcessing/languages/fa/helpers/getStemmer.js +0 -13
- package/src/languageProcessing/languages/fa/helpers/isPassiveSentence.js +0 -14
- package/src/languageProcessing/languages/fr/Researcher.js +0 -46
- package/src/languageProcessing/languages/fr/config/firstWordExceptions.js +0 -16
- package/src/languageProcessing/languages/fr/config/functionWords.js +0 -281
- package/src/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +0 -1510
- package/src/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +0 -108
- package/src/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +0 -565
- package/src/languageProcessing/languages/fr/config/stopWords.js +0 -119
- package/src/languageProcessing/languages/fr/config/syllables.json +0 -1426
- package/src/languageProcessing/languages/fr/config/transitionWords.js +0 -59
- package/src/languageProcessing/languages/fr/config/twoPartTransitionWords.js +0 -15
- package/src/languageProcessing/languages/fr/config/wordComplexity.js +0 -4
- package/src/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +0 -18
- package/src/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +0 -67
- package/src/languageProcessing/languages/fr/helpers/getClauses.js +0 -34
- package/src/languageProcessing/languages/fr/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/fr/helpers/internal/getParticiples.js +0 -72
- package/src/languageProcessing/languages/fr/helpers/internal/stem.js +0 -633
- package/src/languageProcessing/languages/fr/values/Clause.js +0 -96
- package/src/languageProcessing/languages/he/Researcher.js +0 -50
- package/src/languageProcessing/languages/he/config/firstWordExceptions.js +0 -13
- package/src/languageProcessing/languages/he/config/functionWords.js +0 -564
- package/src/languageProcessing/languages/he/config/internal/regularRootsHufal.js +0 -186
- package/src/languageProcessing/languages/he/config/internal/regularRootsNifal.js +0 -195
- package/src/languageProcessing/languages/he/config/internal/regularRootsPual.js +0 -168
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +0 -188
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +0 -197
- package/src/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +0 -170
- package/src/languageProcessing/languages/he/config/prefixedFunctionWords.js +0 -2
- package/src/languageProcessing/languages/he/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/he/config/transitionWords.js +0 -28
- package/src/languageProcessing/languages/he/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/he/helpers/createBasicWordForms.js +0 -33
- package/src/languageProcessing/languages/he/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/he/helpers/internal/stem.js +0 -52
- package/src/languageProcessing/languages/he/helpers/isPassiveSentence.js +0 -96
- package/src/languageProcessing/languages/he/helpers/stem.js +0 -52
- package/src/languageProcessing/languages/hu/Researcher.js +0 -48
- package/src/languageProcessing/languages/hu/config/firstWordExceptions.js +0 -31
- package/src/languageProcessing/languages/hu/config/functionWords.js +0 -284
- package/src/languageProcessing/languages/hu/config/internal/auxiliaries.js +0 -97
- package/src/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +0 -125
- package/src/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +0 -265
- package/src/languageProcessing/languages/hu/config/internal/odikVerbs.js +0 -273
- package/src/languageProcessing/languages/hu/config/internal/participles.js +0 -412
- package/src/languageProcessing/languages/hu/config/stopWords.js +0 -213
- package/src/languageProcessing/languages/hu/config/transitionWords.js +0 -42
- package/src/languageProcessing/languages/hu/config/twoPartTransitionWords.js +0 -34
- package/src/languageProcessing/languages/hu/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/hu/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/hu/helpers/internal/getParticiples.js +0 -21
- package/src/languageProcessing/languages/hu/helpers/internal/stem.js +0 -389
- package/src/languageProcessing/languages/hu/helpers/isPassiveSentence.js +0 -54
- package/src/languageProcessing/languages/hu/values/Clause.js +0 -41
- package/src/languageProcessing/languages/id/Researcher.js +0 -46
- package/src/languageProcessing/languages/id/config/firstWordExceptions.js +0 -13
- package/src/languageProcessing/languages/id/config/functionWords.js +0 -202
- package/src/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +0 -215
- package/src/languageProcessing/languages/id/config/transitionWords.js +0 -62
- package/src/languageProcessing/languages/id/config/twoPartTransitionWords.js +0 -13
- package/src/languageProcessing/languages/id/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/id/helpers/internal/stem.js +0 -462
- package/src/languageProcessing/languages/id/helpers/internal/stemHelpers.js +0 -78
- package/src/languageProcessing/languages/id/helpers/isPassiveSentence.js +0 -39
- package/src/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +0 -47
- package/src/languageProcessing/languages/it/Researcher.js +0 -48
- package/src/languageProcessing/languages/it/config/firstWordExceptions.js +0 -17
- package/src/languageProcessing/languages/it/config/functionWords.js +0 -277
- package/src/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +0 -98
- package/src/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +0 -7197
- package/src/languageProcessing/languages/it/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/it/config/stopWords.js +0 -57
- package/src/languageProcessing/languages/it/config/syllables.json +0 -573
- package/src/languageProcessing/languages/it/config/transitionWords.js +0 -104
- package/src/languageProcessing/languages/it/config/twoPartTransitionWords.js +0 -9
- package/src/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +0 -15
- package/src/languageProcessing/languages/it/helpers/getClauses.js +0 -32
- package/src/languageProcessing/languages/it/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/it/helpers/internal/getParticiples.js +0 -34
- package/src/languageProcessing/languages/it/helpers/internal/stem.js +0 -436
- package/src/languageProcessing/languages/it/values/Clause.js +0 -47
- package/src/languageProcessing/languages/ja/Researcher.js +0 -86
- package/src/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +0 -4
- package/src/languageProcessing/languages/ja/config/firstWordExceptions.js +0 -8
- package/src/languageProcessing/languages/ja/config/functionWords.js +0 -563
- package/src/languageProcessing/languages/ja/config/keyphraseLength.js +0 -16
- package/src/languageProcessing/languages/ja/config/metaDescriptionLength.js +0 -4
- package/src/languageProcessing/languages/ja/config/paragraphLength.js +0 -10
- package/src/languageProcessing/languages/ja/config/sentenceLength.js +0 -4
- package/src/languageProcessing/languages/ja/config/subheadingsTooLong.js +0 -18
- package/src/languageProcessing/languages/ja/config/textLength.js +0 -47
- package/src/languageProcessing/languages/ja/config/topicLength.js +0 -5
- package/src/languageProcessing/languages/ja/config/transitionWords.js +0 -354
- package/src/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +0 -98
- package/src/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +0 -19
- package/src/languageProcessing/languages/ja/customResearches/getWordForms.js +0 -50
- package/src/languageProcessing/languages/ja/customResearches/textLength.js +0 -24
- package/src/languageProcessing/languages/ja/helpers/countCharacters.js +0 -19
- package/src/languageProcessing/languages/ja/helpers/customGetStemmer.js +0 -21
- package/src/languageProcessing/languages/ja/helpers/getContentWords.js +0 -21
- package/src/languageProcessing/languages/ja/helpers/getWords.js +0 -31
- package/src/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +0 -102
- package/src/languageProcessing/languages/ja/helpers/internal/createWordForms.js +0 -68
- package/src/languageProcessing/languages/ja/helpers/internal/determineStem.js +0 -17
- package/src/languageProcessing/languages/ja/helpers/matchTextWithWord.js +0 -53
- package/src/languageProcessing/languages/ja/helpers/matchTransitionWords.js +0 -25
- package/src/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +0 -28
- package/src/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +0 -20
- package/src/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +0 -13
- package/src/languageProcessing/languages/nb/Researcher.js +0 -45
- package/src/languageProcessing/languages/nb/config/firstWordExceptions.js +0 -12
- package/src/languageProcessing/languages/nb/config/functionWords.js +0 -106
- package/src/languageProcessing/languages/nb/config/internal/participles.js +0 -3127
- package/src/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +0 -15
- package/src/languageProcessing/languages/nb/config/stopWords.js +0 -39
- package/src/languageProcessing/languages/nb/config/transitionWords.js +0 -21
- package/src/languageProcessing/languages/nb/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/nb/helpers/getClauses.js +0 -28
- package/src/languageProcessing/languages/nb/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/nb/helpers/internal/getParticiples.js +0 -24
- package/src/languageProcessing/languages/nb/helpers/internal/stem.js +0 -133
- package/src/languageProcessing/languages/nb/values/Clause.js +0 -43
- package/src/languageProcessing/languages/nl/Researcher.js +0 -48
- package/src/languageProcessing/languages/nl/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/nl/config/functionWords.js +0 -233
- package/src/languageProcessing/languages/nl/config/internal/nonParticiples.js +0 -2515
- package/src/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +0 -13
- package/src/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +0 -474
- package/src/languageProcessing/languages/nl/config/keyphraseLength.js +0 -10
- package/src/languageProcessing/languages/nl/config/stopWords.js +0 -35
- package/src/languageProcessing/languages/nl/config/syllables.json +0 -343
- package/src/languageProcessing/languages/nl/config/transitionWords.js +0 -22
- package/src/languageProcessing/languages/nl/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +0 -15
- package/src/languageProcessing/languages/nl/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/nl/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +0 -128
- package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +0 -324
- package/src/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +0 -164
- package/src/languageProcessing/languages/nl/helpers/internal/determineStem.js +0 -133
- package/src/languageProcessing/languages/nl/helpers/internal/getParticiples.js +0 -25
- package/src/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +0 -183
- package/src/languageProcessing/languages/nl/helpers/internal/stem.js +0 -146
- package/src/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +0 -109
- package/src/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +0 -65
- package/src/languageProcessing/languages/nl/values/Clause.js +0 -62
- package/src/languageProcessing/languages/pl/Researcher.js +0 -47
- package/src/languageProcessing/languages/pl/config/firstWordExceptions.js +0 -12
- package/src/languageProcessing/languages/pl/config/functionWords.js +0 -421
- package/src/languageProcessing/languages/pl/config/internal/auxiliaries.js +0 -85
- package/src/languageProcessing/languages/pl/config/internal/participles.js +0 -26433
- package/src/languageProcessing/languages/pl/config/sentenceLength.js +0 -10
- package/src/languageProcessing/languages/pl/config/stopWords.js +0 -36
- package/src/languageProcessing/languages/pl/config/transitionWords.js +0 -42
- package/src/languageProcessing/languages/pl/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/pl/helpers/getClauses.js +0 -25
- package/src/languageProcessing/languages/pl/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/pl/helpers/internal/getParticiples.js +0 -18
- package/src/languageProcessing/languages/pl/helpers/internal/stem.js +0 -161
- package/src/languageProcessing/languages/pl/values/Clause.js +0 -53
- package/src/languageProcessing/languages/pt/Researcher.js +0 -48
- package/src/languageProcessing/languages/pt/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/pt/config/functionWords.js +0 -226
- package/src/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +0 -66
- package/src/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +0 -4088
- package/src/languageProcessing/languages/pt/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/pt/config/stopWords.js +0 -50
- package/src/languageProcessing/languages/pt/config/syllables.json +0 -38
- package/src/languageProcessing/languages/pt/config/transitionWords.js +0 -34
- package/src/languageProcessing/languages/pt/config/twoPartTransitionWords.js +0 -9
- package/src/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +0 -15
- package/src/languageProcessing/languages/pt/helpers/getClauses.js +0 -29
- package/src/languageProcessing/languages/pt/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/pt/helpers/internal/getParticiples.js +0 -35
- package/src/languageProcessing/languages/pt/helpers/internal/stem.js +0 -319
- package/src/languageProcessing/languages/pt/values/Clause.js +0 -43
- package/src/languageProcessing/languages/ru/Researcher.js +0 -48
- package/src/languageProcessing/languages/ru/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +0 -20
- package/src/languageProcessing/languages/ru/config/functionWords.js +0 -519
- package/src/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +0 -2914
- package/src/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +0 -6295
- package/src/languageProcessing/languages/ru/config/sentenceLength.js +0 -3
- package/src/languageProcessing/languages/ru/config/syllables.json +0 -19
- package/src/languageProcessing/languages/ru/config/transitionWords.js +0 -62
- package/src/languageProcessing/languages/ru/config/twoPartTransitionWords.js +0 -14
- package/src/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +0 -16
- package/src/languageProcessing/languages/ru/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/ru/helpers/internal/stem.js +0 -288
- package/src/languageProcessing/languages/ru/helpers/isPassiveSentence.js +0 -14
- package/src/languageProcessing/languages/sk/Researcher.js +0 -46
- package/src/languageProcessing/languages/sk/config/firstWordExceptions.js +0 -14
- package/src/languageProcessing/languages/sk/config/functionWords.js +0 -855
- package/src/languageProcessing/languages/sk/config/internal/nonPassives.js +0 -1074
- package/src/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +0 -22
- package/src/languageProcessing/languages/sk/config/stopWords.js +0 -34
- package/src/languageProcessing/languages/sk/config/transitionWords.js +0 -23
- package/src/languageProcessing/languages/sk/config/twoPartTransitionWords.js +0 -10
- package/src/languageProcessing/languages/sk/helpers/getClauses.js +0 -26
- package/src/languageProcessing/languages/sk/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/sk/helpers/internal/getParticiples.js +0 -16
- package/src/languageProcessing/languages/sk/helpers/internal/stem.js +0 -319
- package/src/languageProcessing/languages/sk/values/Clause.js +0 -39
- package/src/languageProcessing/languages/sv/Researcher.js +0 -45
- package/src/languageProcessing/languages/sv/config/firstWordExceptions.js +0 -15
- package/src/languageProcessing/languages/sv/config/functionWords.js +0 -176
- package/src/languageProcessing/languages/sv/config/internal/passiveVerbs.js +0 -10400
- package/src/languageProcessing/languages/sv/config/keyphraseLength.js +0 -11
- package/src/languageProcessing/languages/sv/config/transitionWords.js +0 -35
- package/src/languageProcessing/languages/sv/config/twoPartTransitionWords.js +0 -8
- package/src/languageProcessing/languages/sv/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/sv/helpers/internal/stem.js +0 -152
- package/src/languageProcessing/languages/sv/helpers/isPassiveSentence.js +0 -14
- package/src/languageProcessing/languages/tr/Researcher.js +0 -44
- package/src/languageProcessing/languages/tr/config/firstWordExceptions.js +0 -13
- package/src/languageProcessing/languages/tr/config/functionWords.js +0 -116
- package/src/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +0 -574
- package/src/languageProcessing/languages/tr/config/internal/passiveEndings.js +0 -151
- package/src/languageProcessing/languages/tr/config/sentenceLength.js +0 -7
- package/src/languageProcessing/languages/tr/config/transitionWords.js +0 -42
- package/src/languageProcessing/languages/tr/config/twoPartTransitionWords.js +0 -7
- package/src/languageProcessing/languages/tr/helpers/getStemmer.js +0 -22
- package/src/languageProcessing/languages/tr/helpers/internal/stem.js +0 -20
- package/src/languageProcessing/languages/tr/helpers/isPassiveSentence.js +0 -43
- package/src/languageProcessing/researches/altTagCount.js +0 -70
- package/src/languageProcessing/researches/countSentencesFromText.js +0 -19
- package/src/languageProcessing/researches/findKeyphraseInSEOTitle.js +0 -257
- package/src/languageProcessing/researches/findKeywordInFirstParagraph.js +0 -86
- package/src/languageProcessing/researches/findTransitionWords.js +0 -123
- package/src/languageProcessing/researches/functionWordsInKeyphrase.js +0 -44
- package/src/languageProcessing/researches/getAnchorsWithKeyphrase.js +0 -227
- package/src/languageProcessing/researches/getFleschReadingScore.js +0 -150
- package/src/languageProcessing/researches/getKeywordDensity.js +0 -44
- package/src/languageProcessing/researches/getLinkStatistics.js +0 -54
- package/src/languageProcessing/researches/getLinks.js +0 -18
- package/src/languageProcessing/researches/getLongCenterAlignedTexts.js +0 -37
- package/src/languageProcessing/researches/getParagraphLength.js +0 -44
- package/src/languageProcessing/researches/getParagraphs.js +0 -18
- package/src/languageProcessing/researches/getPassiveVoiceResult.js +0 -129
- package/src/languageProcessing/researches/getProminentWordsForInsights.js +0 -48
- package/src/languageProcessing/researches/getProminentWordsForInternalLinking.js +0 -119
- package/src/languageProcessing/researches/getSentenceBeginnings.js +0 -124
- package/src/languageProcessing/researches/getSubheadingTextLengths.js +0 -59
- package/src/languageProcessing/researches/getWordForms.js +0 -204
- package/src/languageProcessing/researches/h1s.js +0 -10
- package/src/languageProcessing/researches/imageCount.js +0 -16
- package/src/languageProcessing/researches/index.js +0 -5
- package/src/languageProcessing/researches/keyphraseDistribution.js +0 -249
- package/src/languageProcessing/researches/keyphraseLength.js +0 -17
- package/src/languageProcessing/researches/keywordCount.js +0 -134
- package/src/languageProcessing/researches/keywordCountInUrl.js +0 -57
- package/src/languageProcessing/researches/matchKeywordInSubheadings.js +0 -62
- package/src/languageProcessing/researches/metaDescriptionKeyword.js +0 -85
- package/src/languageProcessing/researches/metaDescriptionLength.js +0 -12
- package/src/languageProcessing/researches/pageTitleWidth.js +0 -11
- package/src/languageProcessing/researches/readingTime.js +0 -82
- package/src/languageProcessing/researches/sentences.js +0 -20
- package/src/languageProcessing/researches/videoCount.js +0 -32
- package/src/languageProcessing/researches/wordComplexity.js +0 -129
- package/src/languageProcessing/researches/wordCountInText.js +0 -29
- package/src/languageProcessing/values/Clause.js +0 -108
- package/src/languageProcessing/values/ProminentWord.js +0 -95
- package/src/languageProcessing/values/Sentence.js +0 -111
- package/src/languageProcessing/values/index.js +0 -9
- package/src/markers/addMark.js +0 -9
- package/src/markers/addMarkSingleWord.js +0 -32
- package/src/markers/index.js +0 -7
- package/src/markers/removeDuplicateMarks.js +0 -27
- package/src/markers/removeMarks.js +0 -11
- package/src/parse/build/build.js +0 -52
- package/src/parse/build/index.js +0 -10
- package/src/parse/build/private/adapt.js +0 -113
- package/src/parse/build/private/adaptAttributes.js +0 -36
- package/src/parse/build/private/alwaysFilterElements.js +0 -75
- package/src/parse/build/private/combineIntoImplicitParagraphs.js +0 -130
- package/src/parse/build/private/filterBeforeTokenizing.js +0 -32
- package/src/parse/build/private/filterHelpers.js +0 -44
- package/src/parse/build/private/filterTree.js +0 -42
- package/src/parse/build/private/getTextElementPositions.js +0 -184
- package/src/parse/build/private/helpers/parseClassAttribute.js +0 -9
- package/src/parse/build/private/isPhrasingContent.js +0 -28
- package/src/parse/build/private/parseBlocks.js +0 -151
- package/src/parse/build/private/tokenize.js +0 -74
- package/src/parse/language/LanguageProcessor.js +0 -74
- package/src/parse/structure/Heading.js +0 -26
- package/src/parse/structure/Node.js +0 -69
- package/src/parse/structure/Paragraph.js +0 -48
- package/src/parse/structure/Sentence.js +0 -30
- package/src/parse/structure/SourceCodeLocation.js +0 -41
- package/src/parse/structure/Text.js +0 -27
- package/src/parse/structure/Token.js +0 -24
- package/src/parse/structure/index.js +0 -16
- package/src/parse/traverse/findAllInTree.js +0 -58
- package/src/parse/traverse/index.js +0 -12
- package/src/parse/traverse/innerText.js +0 -26
- package/src/parsedPaper/ParsedPaper.js +0 -92
- package/src/parsedPaper/assess/TreeAssessor.js +0 -184
- package/src/parsedPaper/assess/assessmentListFactories.js +0 -73
- package/src/parsedPaper/assess/assessments/Assessment.js +0 -79
- package/src/parsedPaper/assess/assessments/index.js +0 -6
- package/src/parsedPaper/assess/assessorFactories.js +0 -104
- package/src/parsedPaper/assess/cornerstone/assessmentListFactories.js +0 -47
- package/src/parsedPaper/assess/cornerstone/index.js +0 -5
- package/src/parsedPaper/assess/index.js +0 -20
- package/src/parsedPaper/build/PaperParser.js +0 -105
- package/src/parsedPaper/build/linguisticParsing/Sentence.js +0 -89
- package/src/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +0 -323
- package/src/parsedPaper/build/linguisticParsing/parseText.js +0 -20
- package/src/parsedPaper/build/tree/TreeBuilder.js +0 -75
- package/src/parsedPaper/build/tree/cleanup/calculateTextIndices.js +0 -190
- package/src/parsedPaper/build/tree/cleanup/getElementContent.js +0 -21
- package/src/parsedPaper/build/tree/cleanup/postParsing.js +0 -37
- package/src/parsedPaper/build/tree/html/HTMLTreeConverter.js +0 -230
- package/src/parsedPaper/build/tree/html/buildTree.js +0 -31
- package/src/parsedPaper/build/tree/html/htmlConstants.js +0 -37
- package/src/parsedPaper/build/tree/index.js +0 -14
- package/src/parsedPaper/build/tree/metadata/buildTree.js +0 -32
- package/src/parsedPaper/research/TreeResearcher.js +0 -134
- package/src/parsedPaper/research/index.js +0 -13
- package/src/parsedPaper/research/researches/Headings.js +0 -20
- package/src/parsedPaper/research/researches/LinkStatistics.js +0 -128
- package/src/parsedPaper/research/researches/Research.js +0 -50
- package/src/parsedPaper/research/researches/index.js +0 -1
- package/src/parsedPaper/structure/tree/FormattingElement.js +0 -67
- package/src/parsedPaper/structure/tree/SourceCodeLocation.js +0 -31
- package/src/parsedPaper/structure/tree/TextContainer.js +0 -85
- package/src/parsedPaper/structure/tree/index.js +0 -22
- package/src/parsedPaper/structure/tree/nodes/Heading.js +0 -26
- package/src/parsedPaper/structure/tree/nodes/LeafNode.js +0 -75
- package/src/parsedPaper/structure/tree/nodes/List.js +0 -47
- package/src/parsedPaper/structure/tree/nodes/ListItem.js +0 -26
- package/src/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +0 -46
- package/src/parsedPaper/structure/tree/nodes/MetadataText.js +0 -26
- package/src/parsedPaper/structure/tree/nodes/Node.js +0 -154
- package/src/parsedPaper/structure/tree/nodes/Paragraph.js +0 -24
- package/src/parsedPaper/structure/tree/nodes/StructuredNode.js +0 -52
- package/src/parsedPaper/structure/tree/nodes/index.js +0 -21
- package/src/scoring/assessments/assessment.js +0 -63
- package/src/scoring/assessments/index.js +0 -58
- package/src/scoring/assessments/readability/ParagraphTooLongAssessment.js +0 -173
- package/src/scoring/assessments/readability/SentenceBeginningsAssessment.js +0 -132
- package/src/scoring/assessments/readability/SentenceLengthInTextAssessment.js +0 -186
- package/src/scoring/assessments/readability/TransitionWordsAssessment.js +0 -168
- package/src/scoring/assessments/seo/ImageCountAssessment.js +0 -112
- package/src/scoring/assessments/seo/InternalLinksAssessment.js +0 -114
- package/src/scoring/assessments/seo/IntroductionKeywordAssessment.js +0 -110
- package/src/scoring/assessments/seo/KeyphraseAssessment.js +0 -104
- package/src/scoring/assessments/seo/KeyphraseLengthAssessment.js +0 -110
- package/src/scoring/assessments/seo/KeywordDensityAssessment.js +0 -116
- package/src/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +0 -114
- package/src/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +0 -112
- package/src/scoring/assessments/seo/MetaTitleKeywordAssessment.js +0 -111
- package/src/scoring/assessments/seo/NumberInMetaTitleAssessment.js +0 -107
- package/src/scoring/assessments/seo/OutboundLinksAssessment.js +0 -111
- package/src/scoring/assessments/seo/PageTitleWidthAssessment.js +0 -104
- package/src/scoring/assessments/seo/SingleH1Assessment.js +0 -118
- package/src/scoring/assessments/seo/SingleTitleAssessment.js +0 -108
- package/src/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +0 -107
- package/src/scoring/assessments/seo/TextImagesAssessment.js +0 -144
- package/src/scoring/assessments/seo/TextLengthAssessment.js +0 -100
- package/src/scoring/assessments/seo/UrlKeywordAssessment.js +0 -111
- package/src/scoring/assessments/seo/UrlLengthAssessment.js +0 -103
- package/src/scoring/assessors/assessor.js +0 -269
- package/src/scoring/assessors/avadaAssessor.js +0 -67
- package/src/scoring/assessors/contentAssessor.js +0 -159
- package/src/scoring/assessors/index.js +0 -4
- package/src/scoring/assessors/seoAssessor.js +0 -57
- package/src/scoring/helpers/assessments/checkForTooLongSentences.js +0 -13
- package/src/scoring/helpers/assessments/inRange.js +0 -49
- package/src/scoring/helpers/assessments/keyphraseLengthFactor.js +0 -10
- package/src/scoring/helpers/assessments/recommendedKeywordCount.js +0 -43
- package/src/scoring/helpers/index.js +0 -74
- package/src/scoring/interpreters/index.js +0 -5
- package/src/scoring/interpreters/scoreToRating.js +0 -31
- package/src/scoring/renderers/AssessorPresenter.js +0 -360
- package/src/scoring/scoreAggregators/ReadabilityScoreAggregator.js +0 -203
- package/src/scoring/scoreAggregators/SEOScoreAggregator.js +0 -54
- package/src/scoring/scoreAggregators/ScoreAggregator.js +0 -23
- package/src/scoring/scoreAggregators/index.js +0 -3
- package/src/values/AssessmentResult.js +0 -496
- package/src/values/Mark.js +0 -271
- package/src/values/Paper.js +0 -425
- package/src/values/index.js +0 -9
- package/src/vendor/turkishStemmer.js +0 -3435
- package/tsconfig.json +0 -15
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// Lodash imports.
|
|
2
|
-
import { filter, flatMap, isEmpty, negate } from "lodash";
|
|
3
|
-
|
|
4
|
-
// Internal dependencies.
|
|
5
|
-
import { getBlocks } from "../html/html.js";
|
|
6
|
-
import { imageRegex } from "../image/imageInText";
|
|
7
|
-
import { stripBlockTagsAtStartEnd } from "../sanitize/stripHTMLTags";
|
|
8
|
-
import { unifyNonBreakingSpace } from "../sanitize/unifyWhitespace";
|
|
9
|
-
import defaultSentenceTokenizer from "./memoizedSentenceTokenizer";
|
|
10
|
-
|
|
11
|
-
// Character classes.
|
|
12
|
-
const newLines = "\n\r|\n|\r";
|
|
13
|
-
|
|
14
|
-
// Regular expressions.
|
|
15
|
-
const newLineRegex = new RegExp( newLines );
|
|
16
|
-
const paragraphTagsRegex = new RegExp( "^(<p>|</p>)$" );
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Returns sentences in a string.
|
|
20
|
-
*
|
|
21
|
-
* @param {String} text The string to count sentences in.
|
|
22
|
-
* @param {function} memoizedTokenizer The memoized sentence tokenizer.
|
|
23
|
-
*
|
|
24
|
-
* @returns {Array} Sentences found in the text.
|
|
25
|
-
*/
|
|
26
|
-
export default function( text, memoizedTokenizer = defaultSentenceTokenizer ) {
|
|
27
|
-
// We don't remove the other HTML tags here since removing them might lead to incorrect results when running the sentence tokenizer.
|
|
28
|
-
// Unify only non-breaking spaces and not the other whitespaces since a whitespace could signify a sentence break or a new line.
|
|
29
|
-
text = unifyNonBreakingSpace( text );
|
|
30
|
-
/*
|
|
31
|
-
* Remove images from text before tokenizing it into sentences.
|
|
32
|
-
* This is necessary since the highlighting feature doesn't work if the yoastmark tags are enclosing a sentence starting with an image.
|
|
33
|
-
* This step is done here so that applying highlight in captions is possible for all assessments that use this helper.
|
|
34
|
-
*/
|
|
35
|
-
text = text.replace( imageRegex, "" );
|
|
36
|
-
|
|
37
|
-
let blocks = getBlocks( text );
|
|
38
|
-
|
|
39
|
-
// Split each block on newlines.
|
|
40
|
-
blocks = flatMap( blocks, function( block ) {
|
|
41
|
-
return block.split( newLineRegex );
|
|
42
|
-
} );
|
|
43
|
-
|
|
44
|
-
/*
|
|
45
|
-
* Filter blocks that contain only paragraph tags. This step is necessary
|
|
46
|
-
* since switching between editors might add extra paragraph tags with a new line tag in the end
|
|
47
|
-
* that are incorrectly converted into separate blocks.
|
|
48
|
-
*/
|
|
49
|
-
blocks = blocks.filter( block => ! paragraphTagsRegex.test( block ) );
|
|
50
|
-
|
|
51
|
-
/*
|
|
52
|
-
* We use the `map` method followed by `flat` instead of `flatMap` because `flatMap` would override the second
|
|
53
|
-
* argument of the memoizedTokenizer with the index of the iteratee.
|
|
54
|
-
*/
|
|
55
|
-
let sentences = blocks.map( block => memoizedTokenizer( block ) ).flat();
|
|
56
|
-
|
|
57
|
-
/*
|
|
58
|
-
* Strip block tags from the start and/or the end of each sentence and whitespaces if present.
|
|
59
|
-
* After tokenized, sometimes there are still block tags present in the beginning/end of a sentence.
|
|
60
|
-
* Unstripped, these tags could potentially break the highlighting functionality.
|
|
61
|
-
*/
|
|
62
|
-
sentences = sentences.map( sentence => stripBlockTagsAtStartEnd( sentence ).trim() );
|
|
63
|
-
|
|
64
|
-
return filter( sentences, negate( isEmpty ) );
|
|
65
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Retrieves the start offset for a given node.
|
|
3
|
-
* @param {Node} node The current node.
|
|
4
|
-
* @returns {number} The start offset.
|
|
5
|
-
*/
|
|
6
|
-
function getStartOffset( node ) {
|
|
7
|
-
return node.sourceCodeLocation &&
|
|
8
|
-
( ( node.sourceCodeLocation.startTag && node.sourceCodeLocation.startTag.endOffset ) || node.sourceCodeLocation.startOffset ) || 0;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Retrieves the parent node for a given node.
|
|
13
|
-
* @param {Paper} paper The current paper.
|
|
14
|
-
* @param {Node} node The current node.
|
|
15
|
-
* @returns {Node} The parent node.
|
|
16
|
-
*/
|
|
17
|
-
export function getParentNode( paper, node ) {
|
|
18
|
-
// Includes a fallback so that if a parent node cannot be found for an implicit paragraph, we use the current node as the parent node.
|
|
19
|
-
return paper.getTree().findAll( treeNode => treeNode.childNodes && treeNode.childNodes.includes( node ) )[ 0 ] || node;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Gets all the sentences from paragraph and heading nodes.
|
|
24
|
-
* These two node types are the nodes that should contain sentences for the analysis.
|
|
25
|
-
*
|
|
26
|
-
* @param {Paper} paper The paper to get the sentences from.
|
|
27
|
-
*
|
|
28
|
-
* @returns {Sentence[]} The array of sentences retrieved from paragraph and heading nodes plus sourceCodeLocation of the parent node.
|
|
29
|
-
*/
|
|
30
|
-
export default function( paper ) {
|
|
31
|
-
// Get all nodes that have a sentence property which is not an empty array.
|
|
32
|
-
const tree = paper.getTree().findAll( treeNode => !! treeNode.sentences );
|
|
33
|
-
|
|
34
|
-
return tree.flatMap( node => node.sentences.map( sentence => {
|
|
35
|
-
let parentNode = node;
|
|
36
|
-
|
|
37
|
-
// For implicit paragraphs, base the details on the parent of this node.
|
|
38
|
-
if ( node.isImplicit ) {
|
|
39
|
-
parentNode = getParentNode( paper, node );
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return {
|
|
43
|
-
...sentence,
|
|
44
|
-
// The parent node's start offset is the start offset of the parent node if it doesn't have a `startTag` property.
|
|
45
|
-
parentStartOffset: getStartOffset( parentNode ),
|
|
46
|
-
// The block client id of the parent node.
|
|
47
|
-
parentClientId: parentNode.clientId || "",
|
|
48
|
-
// The attribute id of the parent node, if available, otherwise an empty string.
|
|
49
|
-
// Only used for position-based highlighting in sub-blocks of Yoast blocks.
|
|
50
|
-
parentAttributeId: node.attributeId || "",
|
|
51
|
-
// Whether the parent node is the first section of Yoast sub-blocks. Only used for position-based highlighting.
|
|
52
|
-
isParentFirstSectionOfBlock: node.isFirstSection || false,
|
|
53
|
-
};
|
|
54
|
-
} ) );
|
|
55
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import SentenceTokenizer from "./SentenceTokenizer";
|
|
2
|
-
import { memoize } from "lodash";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Returns the sentences from a certain text.
|
|
6
|
-
*
|
|
7
|
-
* @param {string} text The text to retrieve sentences from.
|
|
8
|
-
* @param {boolean} [trimSentences=true] Whether to trim whitespace from the beginning and end of the sentences or not.
|
|
9
|
-
*
|
|
10
|
-
* @returns {Array<string>} The list of sentences in the text.
|
|
11
|
-
*/
|
|
12
|
-
function getSentenceTokenizer( text, trimSentences = true ) {
|
|
13
|
-
const sentenceTokenizer = new SentenceTokenizer();
|
|
14
|
-
const { tokenizer, tokens } = sentenceTokenizer.createTokenizer();
|
|
15
|
-
sentenceTokenizer.tokenize( tokenizer, text );
|
|
16
|
-
|
|
17
|
-
return ( tokens.length === 0 ? [] : sentenceTokenizer.getSentencesFromTokens( tokens, trimSentences ) );
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/*
|
|
21
|
-
* The second argument to the memoize function is a so-called resolver function.
|
|
22
|
-
* It creates a cache key consisting of a combination of all arguments to a function.
|
|
23
|
-
* This is needed because by default, only the first argument to a function is used as the map cache key by the memoize function.
|
|
24
|
-
* This means that a function is only re-run if the value of the first argument changes.
|
|
25
|
-
* We want to re-run the getSentenceTokenizer function also when only the second argument changes to prevent cache collisions.
|
|
26
|
-
* @see https://lodash.com/docs/4.17.15#memoize
|
|
27
|
-
*/
|
|
28
|
-
export default memoize( getSentenceTokenizer, ( ...args ) => JSON.stringify( args ) );
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import wordCount from "../word/countWords.js";
|
|
2
|
-
import { forEach } from "lodash";
|
|
3
|
-
import { stripFullTags as stripHTMLTags } from "../sanitize/stripHTMLTags.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Returns an array with the length of each sentence.
|
|
7
|
-
*
|
|
8
|
-
* @param {Array} sentences Array with sentences from text.
|
|
9
|
-
* @param {Researcher} researcher The researcher to use for analysis.
|
|
10
|
-
*
|
|
11
|
-
* @returns {Array} Array with the length of each sentence.
|
|
12
|
-
*/
|
|
13
|
-
export default function( sentences, researcher ) {
|
|
14
|
-
const sentencesWordCount = [];
|
|
15
|
-
forEach( sentences, function( sentence ) {
|
|
16
|
-
// For counting words we want to omit the HTMLtags.
|
|
17
|
-
const strippedSentence = stripHTMLTags( sentence );
|
|
18
|
-
// A helper to count characters for languages that don't count number of words for text length.
|
|
19
|
-
const countCharacters = researcher.getHelper( "customCountLength" );
|
|
20
|
-
const length = countCharacters ? countCharacters( strippedSentence ) : wordCount( strippedSentence );
|
|
21
|
-
if ( length <= 0 ) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
sentencesWordCount.push( {
|
|
26
|
-
sentence: sentence,
|
|
27
|
-
sentenceLength: length,
|
|
28
|
-
} );
|
|
29
|
-
} );
|
|
30
|
-
return sentencesWordCount;
|
|
31
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { isUndefined, pick } from "lodash";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* A DeviationFragment represents a partial deviation when counting syllables.
|
|
5
|
-
*/
|
|
6
|
-
export default class DeviationFragment {
|
|
7
|
-
/**
|
|
8
|
-
* Constructs a new DeviationFragment.
|
|
9
|
-
*
|
|
10
|
-
* @param {Object} options Extra options that are used to match this deviation fragment.
|
|
11
|
-
* @param {string} options.location The location in the word where this deviation can occur.
|
|
12
|
-
* @param {string} options.word The actual string that should be counted differently.
|
|
13
|
-
* @param {number} options.syllables The amount of syllables this fragment has.
|
|
14
|
-
* @param {string[]} [options.notFollowedBy] A list of characters that this fragment shouldn't be followed with.
|
|
15
|
-
* @param {string[]} [options.alsoFollowedBy] A list of characters that this fragment could be followed with.
|
|
16
|
-
*
|
|
17
|
-
* @constructor
|
|
18
|
-
*/
|
|
19
|
-
constructor( options ) {
|
|
20
|
-
this._location = options.location;
|
|
21
|
-
this._fragment = options.word;
|
|
22
|
-
this._syllables = options.syllables;
|
|
23
|
-
this._regex = null;
|
|
24
|
-
|
|
25
|
-
this._options = pick( options, [ "notFollowedBy", "alsoFollowedBy" ] );
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Creates a regex that matches this fragment inside a word.
|
|
30
|
-
*
|
|
31
|
-
* @returns {void}
|
|
32
|
-
*/
|
|
33
|
-
createRegex() {
|
|
34
|
-
const options = this._options;
|
|
35
|
-
|
|
36
|
-
let fragment = this._fragment;
|
|
37
|
-
|
|
38
|
-
if ( ! isUndefined( options.notFollowedBy ) ) {
|
|
39
|
-
fragment += "(?![" + options.notFollowedBy.join( "" ) + "])";
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if ( ! isUndefined( options.alsoFollowedBy ) ) {
|
|
43
|
-
fragment += "[" + options.alsoFollowedBy.join( "" ) + "]?";
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
let regexString;
|
|
47
|
-
switch ( this._location ) {
|
|
48
|
-
case "atBeginning":
|
|
49
|
-
regexString = "^" + fragment;
|
|
50
|
-
break;
|
|
51
|
-
|
|
52
|
-
case "atEnd":
|
|
53
|
-
regexString = fragment + "$";
|
|
54
|
-
break;
|
|
55
|
-
|
|
56
|
-
case "atBeginningOrEnd":
|
|
57
|
-
regexString = "(^" + fragment + ")|(" + fragment + "$)";
|
|
58
|
-
break;
|
|
59
|
-
|
|
60
|
-
default:
|
|
61
|
-
regexString = fragment;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
this._regex = new RegExp( regexString );
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Returns the regex that matches this fragment inside a word.
|
|
70
|
-
*
|
|
71
|
-
* @returns {RegExp} The regex that matches this fragment.
|
|
72
|
-
*/
|
|
73
|
-
getRegex() {
|
|
74
|
-
if ( null === this._regex ) {
|
|
75
|
-
this.createRegex();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return this._regex;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Returns whether this fragment occurs in a word.
|
|
83
|
-
*
|
|
84
|
-
* @param {string} word The word to match the fragment in.
|
|
85
|
-
* @returns {boolean} Whether or not this fragment occurs in a word.
|
|
86
|
-
*/
|
|
87
|
-
occursIn( word ) {
|
|
88
|
-
const regex = this.getRegex();
|
|
89
|
-
|
|
90
|
-
return regex.test( word );
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Removes this fragment from the given word.
|
|
95
|
-
*
|
|
96
|
-
* @param {string} word The word to remove this fragment from.
|
|
97
|
-
* @returns {string} The modified word.
|
|
98
|
-
*/
|
|
99
|
-
removeFrom( word ) {
|
|
100
|
-
// Replace by a space to keep the remaining parts separated.
|
|
101
|
-
return word.replace( this._fragment, " " );
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Returns the amount of syllables for this fragment.
|
|
106
|
-
*
|
|
107
|
-
* @returns {number} The amount of syllables for this fragment.
|
|
108
|
-
*/
|
|
109
|
-
getSyllables() {
|
|
110
|
-
return this._syllables;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/** @module stringProcessing/countSyllables */
|
|
2
|
-
|
|
3
|
-
import getWords from "../word/getWords.js";
|
|
4
|
-
|
|
5
|
-
import { filter, find, flatMap, forEach, isUndefined, map, memoize, sum } from "lodash";
|
|
6
|
-
|
|
7
|
-
import SyllableCountIterator from "./syllableCountIterator.js";
|
|
8
|
-
import DeviationFragment from "./DeviationFragment";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Counts vowel groups inside a word.
|
|
12
|
-
*
|
|
13
|
-
* @param {string} word A text with words to count syllables.
|
|
14
|
-
* @param {Object} syllables The syllables data for the specific language.
|
|
15
|
-
*
|
|
16
|
-
* @returns {number} the syllable count.
|
|
17
|
-
*/
|
|
18
|
-
const countVowelGroups = function( word, syllables ) {
|
|
19
|
-
let numberOfSyllables = 0;
|
|
20
|
-
const vowelRegex = new RegExp( "[^" + syllables.vowels + "]", "ig" );
|
|
21
|
-
const foundVowels = word.split( vowelRegex );
|
|
22
|
-
const filteredWords = filter( foundVowels, function( vowel ) {
|
|
23
|
-
return vowel !== "";
|
|
24
|
-
} );
|
|
25
|
-
numberOfSyllables += filteredWords.length;
|
|
26
|
-
|
|
27
|
-
return numberOfSyllables;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Counts the syllables using vowel exclusions. These are used for groups of vowels that are more or less
|
|
32
|
-
* than 1 syllable.
|
|
33
|
-
*
|
|
34
|
-
* @param {String} word The word to count syllables of.
|
|
35
|
-
* @param {Object} syllables The syllables data for the specific language.
|
|
36
|
-
*
|
|
37
|
-
* @returns {number} The number of syllables found in the given word.
|
|
38
|
-
*/
|
|
39
|
-
const countVowelDeviations = function( word, syllables ) {
|
|
40
|
-
const syllableCountIterator = new SyllableCountIterator( syllables );
|
|
41
|
-
return syllableCountIterator.countSyllables( word );
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Returns the number of syllables for the word if it is in the list of full word deviations.
|
|
46
|
-
*
|
|
47
|
-
* @param {String} word The word to retrieve the syllables for.
|
|
48
|
-
* @param {Object} syllables The syllables data for the specific language.
|
|
49
|
-
*
|
|
50
|
-
* @returns {number} The number of syllables found.
|
|
51
|
-
*/
|
|
52
|
-
const countFullWordDeviations = function( word, syllables ) {
|
|
53
|
-
const fullWordDeviations = syllables.deviations.words.full;
|
|
54
|
-
|
|
55
|
-
const deviation = find( fullWordDeviations, function( fullWordDeviation ) {
|
|
56
|
-
return fullWordDeviation.word === word;
|
|
57
|
-
} );
|
|
58
|
-
|
|
59
|
-
if ( ! isUndefined( deviation ) ) {
|
|
60
|
-
return deviation.syllables;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return 0;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Creates an array of deviation fragments for a certain locale.
|
|
68
|
-
*
|
|
69
|
-
* @param {Object} syllableConfig Syllable config for a certain locale.
|
|
70
|
-
* @returns {DeviationFragment[]} A list of deviation fragments
|
|
71
|
-
*/
|
|
72
|
-
function createDeviationFragments( syllableConfig ) {
|
|
73
|
-
let deviationFragments = [];
|
|
74
|
-
|
|
75
|
-
const deviations = syllableConfig.deviations;
|
|
76
|
-
|
|
77
|
-
deviationFragments = flatMap( deviations.words.fragments, function( fragments, fragmentLocation ) {
|
|
78
|
-
return map( fragments, function( fragment ) {
|
|
79
|
-
fragment.location = fragmentLocation;
|
|
80
|
-
|
|
81
|
-
return new DeviationFragment( fragment );
|
|
82
|
-
} );
|
|
83
|
-
} );
|
|
84
|
-
|
|
85
|
-
return deviationFragments;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
const createDeviationFragmentsMemoized = memoize( createDeviationFragments );
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Counts syllables in partial exclusions. If these are found, returns the number of syllables found, and the modified word.
|
|
92
|
-
* The word is modified so the excluded part isn't counted by the normal syllable counter.
|
|
93
|
-
*
|
|
94
|
-
* @param {String} word The word to count syllables of.
|
|
95
|
-
* @param {Object} syllables The syllables data for the specific language.
|
|
96
|
-
*
|
|
97
|
-
* @returns {object} The number of syllables found and the modified word.
|
|
98
|
-
*/
|
|
99
|
-
const countPartialWordDeviations = function( word, syllables ) {
|
|
100
|
-
const deviationFragments = createDeviationFragmentsMemoized( syllables );
|
|
101
|
-
let remainingParts = word;
|
|
102
|
-
let syllableCount = 0;
|
|
103
|
-
|
|
104
|
-
forEach( deviationFragments, function( deviationFragment ) {
|
|
105
|
-
if ( deviationFragment.occursIn( remainingParts ) ) {
|
|
106
|
-
remainingParts = deviationFragment.removeFrom( remainingParts );
|
|
107
|
-
syllableCount += deviationFragment.getSyllables();
|
|
108
|
-
}
|
|
109
|
-
} );
|
|
110
|
-
|
|
111
|
-
return { word: remainingParts, syllableCount: syllableCount };
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Count the number of syllables in a word, using vowels and exceptions.
|
|
116
|
-
*
|
|
117
|
-
* @param {String} word The word to count the number of syllables of.
|
|
118
|
-
* @param {Object} syllables The syllables data for the specific language.
|
|
119
|
-
*
|
|
120
|
-
* @returns {number} The number of syllables found in a word.
|
|
121
|
-
*/
|
|
122
|
-
const countUsingVowels = function( word, syllables ) {
|
|
123
|
-
let syllableCount = 0;
|
|
124
|
-
|
|
125
|
-
syllableCount += countVowelGroups( word, syllables );
|
|
126
|
-
if ( ! isUndefined( syllables.deviations ) && ! isUndefined( syllables.deviations.vowels ) ) {
|
|
127
|
-
syllableCount += countVowelDeviations( word, syllables );
|
|
128
|
-
}
|
|
129
|
-
return syllableCount;
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Counts the number of syllables in a word.
|
|
134
|
-
*
|
|
135
|
-
* @param {string} word The word to count syllables of.
|
|
136
|
-
* @param {Object} syllables The syllables data for the specific language.
|
|
137
|
-
*
|
|
138
|
-
* @returns {number} The syllable count for the word.
|
|
139
|
-
*/
|
|
140
|
-
export const countSyllablesInWord = function( word, syllables ) {
|
|
141
|
-
let syllableCount = 0;
|
|
142
|
-
|
|
143
|
-
if ( ! isUndefined( syllables.deviations ) && ! isUndefined( syllables.deviations.words ) ) {
|
|
144
|
-
if ( ! isUndefined( syllables.deviations.words.full ) ) {
|
|
145
|
-
const fullWordExclusion = countFullWordDeviations( word, syllables );
|
|
146
|
-
if ( fullWordExclusion !== 0 ) {
|
|
147
|
-
return fullWordExclusion;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
if ( ! isUndefined( syllables.deviations.words.fragments ) ) {
|
|
152
|
-
const partialExclusions = countPartialWordDeviations( word, syllables );
|
|
153
|
-
word = partialExclusions.word;
|
|
154
|
-
syllableCount += partialExclusions.syllableCount;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
syllableCount += countUsingVowels( word, syllables );
|
|
158
|
-
|
|
159
|
-
return syllableCount;
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Counts the number of syllables in a text per word based on vowels.
|
|
164
|
-
* Uses exclusion words for words that cannot be matched with vowel matching.
|
|
165
|
-
*
|
|
166
|
-
* @param {String} text The text to count the syllables of.
|
|
167
|
-
* @param {Object} syllables The syllables data for the specific language.
|
|
168
|
-
*
|
|
169
|
-
* @returns {int} The total number of syllables found in the text.
|
|
170
|
-
*/
|
|
171
|
-
const countSyllablesInText = function( text, syllables ) {
|
|
172
|
-
text = text.toLocaleLowerCase();
|
|
173
|
-
const words = getWords( text );
|
|
174
|
-
|
|
175
|
-
const syllableCounts = map( words, function( word ) {
|
|
176
|
-
return countSyllablesInWord( word, syllables );
|
|
177
|
-
} );
|
|
178
|
-
|
|
179
|
-
return sum( syllableCounts );
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
export default countSyllablesInText;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import SyllableCountStep from "./syllableCountStep.js";
|
|
2
|
-
|
|
3
|
-
import { forEach, isUndefined } from "lodash";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A SyllableCountIterator contains individual SyllableCountSteps.
|
|
7
|
-
*/
|
|
8
|
-
export default class SyllableCountIterator {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a syllable count iterator.
|
|
11
|
-
*
|
|
12
|
-
* @param {object} config The config object containing an array with syllable exclusions.
|
|
13
|
-
* @constructor
|
|
14
|
-
*/
|
|
15
|
-
constructor( config ) {
|
|
16
|
-
this.countSteps = [];
|
|
17
|
-
if ( ! isUndefined( config ) ) {
|
|
18
|
-
this.createSyllableCountSteps( config.deviations.vowels );
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Creates a syllable count step object for each exclusion.
|
|
24
|
-
*
|
|
25
|
-
* @param {object} syllableCounts The object containing all exclusion syllables including the multipliers.
|
|
26
|
-
* @returns {void}
|
|
27
|
-
*/
|
|
28
|
-
createSyllableCountSteps( syllableCounts ) {
|
|
29
|
-
forEach( syllableCounts, function( syllableCountStep ) {
|
|
30
|
-
this.countSteps.push( new SyllableCountStep( syllableCountStep ) );
|
|
31
|
-
}.bind( this ) );
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Returns all available count steps.
|
|
36
|
-
*
|
|
37
|
-
* @returns {Array} All available count steps.
|
|
38
|
-
*/
|
|
39
|
-
getAvailableSyllableCountSteps() {
|
|
40
|
-
return this.countSteps;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Counts the syllables for all the steps and returns the total syllable count.
|
|
45
|
-
*
|
|
46
|
-
* @param {String} word The word to count syllables in.
|
|
47
|
-
* @returns {number} The number of syllables found based on exclusions.
|
|
48
|
-
*/
|
|
49
|
-
countSyllables( word ) {
|
|
50
|
-
let syllableCount = 0;
|
|
51
|
-
forEach( this.countSteps, function( step ) {
|
|
52
|
-
syllableCount += step.countSyllables( word );
|
|
53
|
-
} );
|
|
54
|
-
return syllableCount;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { isUndefined } from "lodash";
|
|
2
|
-
|
|
3
|
-
import arrayToRegex from "../regex/createRegexFromArray.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A SyllableCountStep is an individual step in a SyllableCountIterator.
|
|
7
|
-
*/
|
|
8
|
-
export default class SyllableCountStep {
|
|
9
|
-
/**
|
|
10
|
-
* Constructs a language syllable regex that contains a regex for matching syllable exclusion.
|
|
11
|
-
*
|
|
12
|
-
* @param {object} syllableRegex The object containing the syllable exclusions.
|
|
13
|
-
* @constructor
|
|
14
|
-
*/
|
|
15
|
-
constructor( syllableRegex ) {
|
|
16
|
-
this._hasRegex = false;
|
|
17
|
-
this._regex = "";
|
|
18
|
-
this._multiplier = "";
|
|
19
|
-
this.createRegex( syllableRegex );
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Checks whether a valid regex has been set.
|
|
24
|
-
*
|
|
25
|
-
* @returns {boolean} True if a regex has been set, false if not.
|
|
26
|
-
*/
|
|
27
|
-
hasRegex() {
|
|
28
|
-
return this._hasRegex;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Creates a regex based on the given syllable exclusions, and sets the multiplier to use.
|
|
33
|
-
*
|
|
34
|
-
* @param {object} syllableRegex The object containing the syllable exclusions and multiplier.
|
|
35
|
-
* @returns {void}
|
|
36
|
-
*/
|
|
37
|
-
createRegex( syllableRegex ) {
|
|
38
|
-
if ( ! isUndefined( syllableRegex ) && ! isUndefined( syllableRegex.fragments ) ) {
|
|
39
|
-
this._hasRegex = true;
|
|
40
|
-
this._regex = arrayToRegex( syllableRegex.fragments, true );
|
|
41
|
-
this._multiplier = syllableRegex.countModifier;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Returns the stored regular expression.
|
|
47
|
-
*
|
|
48
|
-
* @returns {RegExp} The stored regular expression.
|
|
49
|
-
*/
|
|
50
|
-
getRegex() {
|
|
51
|
-
return this._regex;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Matches syllable exclusions in a given word and returns the number found multiplied by the
|
|
56
|
-
* given multiplier. The result of this multiplication is the syllable count.
|
|
57
|
-
*
|
|
58
|
-
* @param {String} word The word to match for syllable exclusions.
|
|
59
|
-
* @returns {number} The amount of syllables found.
|
|
60
|
-
*/
|
|
61
|
-
countSyllables( word ) {
|
|
62
|
-
if ( this._hasRegex ) {
|
|
63
|
-
const match = word.match( this._regex ) || [];
|
|
64
|
-
return match.length * this._multiplier;
|
|
65
|
-
}
|
|
66
|
-
return 0;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Splits words from an array that contain hyphens and adds the elements to the array if they are not yet there.
|
|
3
|
-
*
|
|
4
|
-
* @param {Array} array The array to check and modify.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Array} A new array with the elements containing hyphens split.
|
|
7
|
-
*/
|
|
8
|
-
export default function( array ) {
|
|
9
|
-
let newArray = array;
|
|
10
|
-
array.forEach( element => {
|
|
11
|
-
element = element.split( "-" );
|
|
12
|
-
if ( element.length > 0 && element.filter( unit => ! array.includes( unit ) ).length > 0 ) {
|
|
13
|
-
newArray = newArray.concat( element );
|
|
14
|
-
}
|
|
15
|
-
} );
|
|
16
|
-
return newArray;
|
|
17
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/** @module stringProcessing/replaceDiacritics */
|
|
2
|
-
|
|
3
|
-
import diacriticsRemovalMap from "../../../config/diacritics.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Replaces all diacritics from the text based on the diacritics removal map.
|
|
7
|
-
*
|
|
8
|
-
* @param {string} text The text to remove diacritics from.
|
|
9
|
-
*
|
|
10
|
-
* @returns {string} The text with all diacritics replaced.
|
|
11
|
-
*/
|
|
12
|
-
export default function( text ) {
|
|
13
|
-
const map = diacriticsRemovalMap();
|
|
14
|
-
|
|
15
|
-
for ( let i = 0; i < map.length; i++ ) {
|
|
16
|
-
text = text.replace(
|
|
17
|
-
map[ i ].letters,
|
|
18
|
-
map[ i ].base
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
return text;
|
|
22
|
-
}
|