axyseo 2.0.0-alpha.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/config/diacritics.js +1 -7
- package/build/config/diacritics.js.map +1 -1
- package/build/config/getTransliterations.js +6 -14
- package/build/config/getTransliterations.js.map +1 -1
- package/build/config/transliterationsWPstyle.js +5 -12
- package/build/config/transliterationsWPstyle.js.map +1 -1
- package/build/config/wordBoundaries.js +1 -7
- package/build/config/wordBoundaries.js.map +1 -1
- package/build/config/wordBoundariesWithoutPunctuation.js +2 -8
- package/build/config/wordBoundariesWithoutPunctuation.js.map +1 -1
- package/build/const/analysis.js +32 -11
- package/build/const/analysis.js.map +1 -1
- package/build/errors/invalidType.js +1 -8
- package/build/errors/invalidType.js.map +1 -1
- package/build/errors/missingArgument.js +1 -8
- package/build/errors/missingArgument.js.map +1 -1
- package/build/helpers/createMeasurementElement.js +1 -8
- package/build/helpers/createMeasurementElement.js.map +1 -1
- package/build/helpers/domManipulation.js +3 -8
- package/build/helpers/domManipulation.js.map +1 -1
- package/build/helpers/errors.js +5 -10
- package/build/helpers/errors.js.map +1 -1
- package/build/helpers/factory.js +7 -13
- package/build/helpers/factory.js.map +1 -1
- package/build/helpers/formatNumber.js +1 -7
- package/build/helpers/formatNumber.js.map +1 -1
- package/build/helpers/formatString.js +4 -9
- package/build/helpers/formatString.js.map +1 -1
- package/build/helpers/getLanguagesWithWordComplexity.js +1 -7
- package/build/helpers/getLanguagesWithWordComplexity.js.map +1 -1
- package/build/helpers/getLanguagesWithWordFormSupport.js +1 -7
- package/build/helpers/getLanguagesWithWordFormSupport.js.map +1 -1
- package/build/helpers/getWordComplexityConfig.js +9 -15
- package/build/helpers/getWordComplexityConfig.js.map +1 -1
- package/build/helpers/getWordComplexityHelper.js +9 -15
- package/build/helpers/getWordComplexityHelper.js.map +1 -1
- package/build/helpers/htmlEntities.js +6 -11
- package/build/helpers/htmlEntities.js.map +1 -1
- package/build/helpers/includesAny.js +3 -8
- package/build/helpers/includesAny.js.map +1 -1
- package/build/helpers/index.js +30 -72
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/shortlinker/Shortlinker.js +1 -8
- package/build/helpers/shortlinker/Shortlinker.js.map +1 -1
- package/build/helpers/shortlinker/index.js +1 -16
- package/build/helpers/shortlinker/index.js.map +1 -1
- package/build/helpers/shortlinker/singleton.js +5 -13
- package/build/helpers/shortlinker/singleton.js.map +1 -1
- package/build/helpers/types.js +2 -9
- package/build/helpers/types.js.map +1 -1
- package/build/index.js +25 -87
- package/build/index.js.map +1 -1
- package/build/languageProcessing/AbstractResearcher.js +88 -95
- package/build/languageProcessing/AbstractResearcher.js.map +1 -1
- package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js +3 -10
- package/build/languageProcessing/helpers/highlighting/getMarkingsInSentence.js.map +1 -1
- package/build/languageProcessing/helpers/html/getFieldsToMark.js +6 -11
- package/build/languageProcessing/helpers/html/getFieldsToMark.js.map +1 -1
- package/build/languageProcessing/helpers/html/getSubheadingTexts.js +3 -8
- package/build/languageProcessing/helpers/html/getSubheadingTexts.js.map +1 -1
- package/build/languageProcessing/helpers/html/getSubheadings.js +2 -12
- package/build/languageProcessing/helpers/html/getSubheadings.js.map +1 -1
- package/build/languageProcessing/helpers/html/html.js +9 -17
- package/build/languageProcessing/helpers/html/html.js.map +1 -1
- package/build/languageProcessing/helpers/html/htmlParser.js +3 -10
- package/build/languageProcessing/helpers/html/htmlParser.js.map +1 -1
- package/build/languageProcessing/helpers/html/matchParagraphs.js +7 -12
- package/build/languageProcessing/helpers/html/matchParagraphs.js.map +1 -1
- package/build/languageProcessing/helpers/html/normalizeHTML.js +4 -10
- package/build/languageProcessing/helpers/html/normalizeHTML.js.map +1 -1
- package/build/languageProcessing/helpers/image/getAltAttribute.js +3 -9
- package/build/languageProcessing/helpers/image/getAltAttribute.js.map +1 -1
- package/build/languageProcessing/helpers/image/getImagesInTree.js +1 -7
- package/build/languageProcessing/helpers/image/getImagesInTree.js.map +1 -1
- package/build/languageProcessing/helpers/image/imageInText.js +5 -12
- package/build/languageProcessing/helpers/image/imageInText.js.map +1 -1
- package/build/languageProcessing/helpers/index.js +5 -40
- package/build/languageProcessing/helpers/index.js.map +1 -1
- package/build/languageProcessing/helpers/language/getLanguage.js +1 -7
- package/build/languageProcessing/helpers/language/getLanguage.js.map +1 -1
- package/build/languageProcessing/helpers/link/checkNofollow.js +3 -10
- package/build/languageProcessing/helpers/link/checkNofollow.js.map +1 -1
- package/build/languageProcessing/helpers/link/getAnchorsFromText.js +1 -7
- package/build/languageProcessing/helpers/link/getAnchorsFromText.js.map +1 -1
- package/build/languageProcessing/helpers/link/getLinkType.js +7 -13
- package/build/languageProcessing/helpers/link/getLinkType.js.map +1 -1
- package/build/languageProcessing/helpers/match/findKeywordFormsInString.js +10 -17
- package/build/languageProcessing/helpers/match/findKeywordFormsInString.js.map +1 -1
- package/build/languageProcessing/helpers/match/isDoubleQuoted.js +4 -10
- package/build/languageProcessing/helpers/match/isDoubleQuoted.js.map +1 -1
- package/build/languageProcessing/helpers/match/matchTextWithArray.js +6 -12
- package/build/languageProcessing/helpers/match/matchTextWithArray.js.map +1 -1
- package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js +16 -22
- package/build/languageProcessing/helpers/match/matchTextWithTransliteration.js.map +1 -1
- package/build/languageProcessing/helpers/match/matchTextWithWord.js +17 -23
- package/build/languageProcessing/helpers/match/matchTextWithWord.js.map +1 -1
- package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js +7 -15
- package/build/languageProcessing/helpers/match/matchWordFormsWithSentence.js.map +1 -1
- package/build/languageProcessing/helpers/match/processExactMatchRequest.js +3 -9
- package/build/languageProcessing/helpers/match/processExactMatchRequest.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/baseStemmer.js +1 -7
- package/build/languageProcessing/helpers/morphology/baseStemmer.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/buildFormRule.js +1 -7
- package/build/languageProcessing/helpers/morphology/buildFormRule.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/buildTopicStems.js +13 -23
- package/build/languageProcessing/helpers/morphology/buildTopicStems.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js +2 -9
- package/build/languageProcessing/helpers/morphology/createRulesFromArrays.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js +5 -13
- package/build/languageProcessing/helpers/morphology/exceptionListHelpers.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js +1 -7
- package/build/languageProcessing/helpers/morphology/findMatchingEndingInArray.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/flattenSortLength.js +3 -8
- package/build/languageProcessing/helpers/morphology/flattenSortLength.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js +12 -18
- package/build/languageProcessing/helpers/morphology/getAllWordsFromPaper.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/regexHelpers.js +3 -11
- package/build/languageProcessing/helpers/morphology/regexHelpers.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/stemHelpers.js +2 -9
- package/build/languageProcessing/helpers/morphology/stemHelpers.js.map +1 -1
- package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js +1 -7
- package/build/languageProcessing/helpers/morphology/stemPrefixedFunctionWords.js.map +1 -1
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js +5 -11
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/directPrecedenceException.js.map +1 -1
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js +9 -15
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/getClausesSplitOnStopWords.js.map +1 -1
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js +9 -15
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/freeAuxiliaryParticipleOrder/nonDirectParticiplePrecedenceException.js.map +1 -1
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js +28 -34
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getClauses.js.map +1 -1
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js +1 -7
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/getIndicesWithRegex.js.map +1 -1
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js +3 -8
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/matchRegularParticiples.js.map +1 -1
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js +5 -11
- package/build/languageProcessing/helpers/passiveVoice/periphrastic/precedenceException.js.map +1 -1
- package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js +16 -28
- package/build/languageProcessing/helpers/prominentWords/determineProminentWords.js.map +1 -1
- package/build/languageProcessing/helpers/regex/createRegexFromArray.js +10 -16
- package/build/languageProcessing/helpers/regex/createRegexFromArray.js.map +1 -1
- package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js +4 -10
- package/build/languageProcessing/helpers/regex/createRegexFromDoubleArray.js.map +1 -1
- package/build/languageProcessing/helpers/regex/createWordRegex.js +12 -18
- package/build/languageProcessing/helpers/regex/createWordRegex.js.map +1 -1
- package/build/languageProcessing/helpers/regex/matchStringWithRegex.js +1 -7
- package/build/languageProcessing/helpers/regex/matchStringWithRegex.js.map +1 -1
- package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js +1 -7
- package/build/languageProcessing/helpers/regex/searchAndReplaceWithOneRegex.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/doubleQuotes.js +1 -7
- package/build/languageProcessing/helpers/sanitize/doubleQuotes.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js +3 -11
- package/build/languageProcessing/helpers/sanitize/filterShortcodesFromTree.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/mergeListItems.js +1 -7
- package/build/languageProcessing/helpers/sanitize/mergeListItems.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/parseSynonyms.js +5 -11
- package/build/languageProcessing/helpers/sanitize/parseSynonyms.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/quotes.js +4 -12
- package/build/languageProcessing/helpers/sanitize/quotes.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js +1 -7
- package/build/languageProcessing/helpers/sanitize/removeEmailAddresses.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/removePunctuation.js +7 -13
- package/build/languageProcessing/helpers/sanitize/removePunctuation.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js +1 -7
- package/build/languageProcessing/helpers/sanitize/removePunctuationExceptQuotes.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js +1 -7
- package/build/languageProcessing/helpers/sanitize/removeSentenceTerminators.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/removeURLs.js +1 -7
- package/build/languageProcessing/helpers/sanitize/removeURLs.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js +1 -7
- package/build/languageProcessing/helpers/sanitize/sanitizeLineBreakTag.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/sanitizeString.js +5 -10
- package/build/languageProcessing/helpers/sanitize/sanitizeString.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js +7 -16
- package/build/languageProcessing/helpers/sanitize/stripHTMLTags.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js +4 -10
- package/build/languageProcessing/helpers/sanitize/stripNonTextTags.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/stripNumbers.js +4 -10
- package/build/languageProcessing/helpers/sanitize/stripNumbers.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/stripSpaces.js +1 -7
- package/build/languageProcessing/helpers/sanitize/stripSpaces.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js +2 -10
- package/build/languageProcessing/helpers/sanitize/stripWordBoundaries.js.map +1 -1
- package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js +2 -11
- package/build/languageProcessing/helpers/sanitize/unifyWhitespace.js.map +1 -1
- package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js +22 -29
- package/build/languageProcessing/helpers/sentence/SentenceTokenizer.js.map +1 -1
- package/build/languageProcessing/helpers/sentence/countSentences.js +4 -10
- package/build/languageProcessing/helpers/sentence/countSentences.js.map +1 -1
- package/build/languageProcessing/helpers/sentence/getSentences.js +13 -20
- package/build/languageProcessing/helpers/sentence/getSentences.js.map +1 -1
- package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js +2 -9
- package/build/languageProcessing/helpers/sentence/getSentencesFromTree.js.map +1 -1
- package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js +4 -10
- package/build/languageProcessing/helpers/sentence/memoizedSentenceTokenizer.js.map +1 -1
- package/build/languageProcessing/helpers/sentence/sentencesLength.js +7 -13
- package/build/languageProcessing/helpers/sentence/sentencesLength.js.map +1 -1
- package/build/languageProcessing/helpers/syllables/DeviationFragment.js +5 -11
- package/build/languageProcessing/helpers/syllables/DeviationFragment.js.map +1 -1
- package/build/languageProcessing/helpers/syllables/countSyllables.js +23 -30
- package/build/languageProcessing/helpers/syllables/countSyllables.js.map +1 -1
- package/build/languageProcessing/helpers/syllables/syllableCountIterator.js +7 -14
- package/build/languageProcessing/helpers/syllables/syllableCountIterator.js.map +1 -1
- package/build/languageProcessing/helpers/syllables/syllableCountStep.js +5 -12
- package/build/languageProcessing/helpers/syllables/syllableCountStep.js.map +1 -1
- package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js +1 -7
- package/build/languageProcessing/helpers/transform/transformWordsWithHyphens.js.map +1 -1
- package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js +4 -10
- package/build/languageProcessing/helpers/transliterate/replaceDiacritics.js.map +1 -1
- package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js +12 -23
- package/build/languageProcessing/helpers/transliterate/specialCharacterMappings.js.map +1 -1
- package/build/languageProcessing/helpers/transliterate/transliterate.js +3 -9
- package/build/languageProcessing/helpers/transliterate/transliterate.js.map +1 -1
- package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js +3 -9
- package/build/languageProcessing/helpers/transliterate/transliterateWPstyle.js.map +1 -1
- package/build/languageProcessing/helpers/url/parseSlug.js +1 -7
- package/build/languageProcessing/helpers/url/parseSlug.js.map +1 -1
- package/build/languageProcessing/helpers/url/url.js +7 -13
- package/build/languageProcessing/helpers/url/url.js.map +1 -1
- package/build/languageProcessing/helpers/word/addWordboundary.js +1 -7
- package/build/languageProcessing/helpers/word/addWordboundary.js.map +1 -1
- package/build/languageProcessing/helpers/word/areWordsInSentence.js +4 -10
- package/build/languageProcessing/helpers/word/areWordsInSentence.js.map +1 -1
- package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js +1 -7
- package/build/languageProcessing/helpers/word/countMetaDescriptionLength.js.map +1 -1
- package/build/languageProcessing/helpers/word/countWords.js +4 -10
- package/build/languageProcessing/helpers/word/countWords.js.map +1 -1
- package/build/languageProcessing/helpers/word/createPunctuationTokens.js +5 -10
- package/build/languageProcessing/helpers/word/createPunctuationTokens.js.map +1 -1
- package/build/languageProcessing/helpers/word/filterWordsFromArray.js +4 -9
- package/build/languageProcessing/helpers/word/filterWordsFromArray.js.map +1 -1
- package/build/languageProcessing/helpers/word/followsIndex.js +5 -10
- package/build/languageProcessing/helpers/word/followsIndex.js.map +1 -1
- package/build/languageProcessing/helpers/word/getAllWordsFromTree.js +7 -13
- package/build/languageProcessing/helpers/word/getAllWordsFromTree.js.map +1 -1
- package/build/languageProcessing/helpers/word/getWords.js +9 -19
- package/build/languageProcessing/helpers/word/getWords.js.map +1 -1
- package/build/languageProcessing/helpers/word/includesIndex.js +5 -10
- package/build/languageProcessing/helpers/word/includesIndex.js.map +1 -1
- package/build/languageProcessing/helpers/word/indices.js +14 -25
- package/build/languageProcessing/helpers/word/indices.js.map +1 -1
- package/build/languageProcessing/helpers/word/markWordsInSentences.js +23 -35
- package/build/languageProcessing/helpers/word/markWordsInSentences.js.map +1 -1
- package/build/languageProcessing/helpers/word/matchWordInSentence.js +8 -15
- package/build/languageProcessing/helpers/word/matchWordInSentence.js.map +1 -1
- package/build/languageProcessing/helpers/word/splitIntoTokens.js +3 -9
- package/build/languageProcessing/helpers/word/splitIntoTokens.js.map +1 -1
- package/build/languageProcessing/index.js +41 -282
- package/build/languageProcessing/index.js.map +1 -1
- package/build/languageProcessing/languages/_default/Researcher.js +5 -13
- package/build/languageProcessing/languages/_default/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/_default/helpers/getStemmer.js +3 -9
- package/build/languageProcessing/languages/_default/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ar/Researcher.js +19 -27
- package/build/languageProcessing/languages/ar/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ar/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/ar/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/ar/config/functionWords.js +7 -13
- package/build/languageProcessing/languages/ar/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js +1 -7
- package/build/languageProcessing/languages/ar/config/internal/passiveVerbsWithLongVowel.js.map +1 -1
- package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js +2 -8
- package/build/languageProcessing/languages/ar/config/prefixedFunctionWords.js.map +1 -1
- package/build/languageProcessing/languages/ar/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/ar/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/ar/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js +6 -11
- package/build/languageProcessing/languages/ar/helpers/createBasicWordForms.js.map +1 -1
- package/build/languageProcessing/languages/ar/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/ar/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ar/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/ar/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js +5 -12
- package/build/languageProcessing/languages/ar/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/ca/Researcher.js +11 -19
- package/build/languageProcessing/languages/ca/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ca/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/ca/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/ca/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/ca/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/ca/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ca/helpers/getStemmer.js +3 -9
- package/build/languageProcessing/languages/ca/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/cs/Researcher.js +17 -25
- package/build/languageProcessing/languages/cs/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/cs/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/cs/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/cs/config/functionWords.js +4 -10
- package/build/languageProcessing/languages/cs/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js +2 -8
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js +2 -8
- package/build/languageProcessing/languages/cs/config/internal/passiveVoiceEndings.js.map +1 -1
- package/build/languageProcessing/languages/cs/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/cs/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/cs/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/cs/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/cs/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/cs/helpers/getClauses.js +9 -16
- package/build/languageProcessing/languages/cs/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/cs/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/cs/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js +6 -12
- package/build/languageProcessing/languages/cs/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/cs/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/cs/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/cs/values/Clause.js +5 -12
- package/build/languageProcessing/languages/cs/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/de/Researcher.js +27 -35
- package/build/languageProcessing/languages/de/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/de/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/de/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/de/config/functionWords.js +11 -19
- package/build/languageProcessing/languages/de/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js +1 -7
- package/build/languageProcessing/languages/de/config/internal/exceptionsParticiplesActive.js.map +1 -1
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js +4 -10
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js +1 -7
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceIrregulars.js.map +1 -1
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js +1 -7
- package/build/languageProcessing/languages/de/config/internal/passiveVoiceRegex.js.map +1 -1
- package/build/languageProcessing/languages/de/config/keyphraseLength.js +1 -7
- package/build/languageProcessing/languages/de/config/keyphraseLength.js.map +1 -1
- package/build/languageProcessing/languages/de/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/de/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/de/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/de/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/de/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/de/config/wordComplexity.js +1 -7
- package/build/languageProcessing/languages/de/config/wordComplexity.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/de/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js +1 -7
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsComplex.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js +3 -8
- package/build/languageProcessing/languages/de/helpers/checkIfWordIsFunction.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/getClauses.js +9 -16
- package/build/languageProcessing/languages/de/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/de/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js +4 -11
- package/build/languageProcessing/languages/de/helpers/internal/SentenceTokenizer.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js +4 -10
- package/build/languageProcessing/languages/de/helpers/internal/detectAndStemRegularParticiple.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/determineStem.js +10 -16
- package/build/languageProcessing/languages/de/helpers/internal/determineStem.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js +9 -16
- package/build/languageProcessing/languages/de/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/de/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js +4 -10
- package/build/languageProcessing/languages/de/helpers/memoizedSentenceTokenizer.js.map +1 -1
- package/build/languageProcessing/languages/de/values/Clause.js +11 -18
- package/build/languageProcessing/languages/de/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/el/Researcher.js +18 -26
- package/build/languageProcessing/languages/el/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/el/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/el/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/el/config/functionWords.js +4 -10
- package/build/languageProcessing/languages/el/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/el/config/internal/auxiliaries.js +1 -7
- package/build/languageProcessing/languages/el/config/internal/auxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js +1 -7
- package/build/languageProcessing/languages/el/config/internal/morphologicalPassiveSuffixes.js.map +1 -1
- package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js +1 -7
- package/build/languageProcessing/languages/el/config/internal/nonPassiveVerbStems.js.map +1 -1
- package/build/languageProcessing/languages/el/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/el/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/el/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/el/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/el/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/getClauses.js +9 -16
- package/build/languageProcessing/languages/el/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/getStemmer.js +7 -14
- package/build/languageProcessing/languages/el/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js +3 -9
- package/build/languageProcessing/languages/el/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/internal/stem.js +4 -13
- package/build/languageProcessing/languages/el/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js +7 -14
- package/build/languageProcessing/languages/el/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/el/values/Clause.js +6 -12
- package/build/languageProcessing/languages/el/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/en/Researcher.js +21 -29
- package/build/languageProcessing/languages/en/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/en/config/abbreviations.js +2 -8
- package/build/languageProcessing/languages/en/config/abbreviations.js.map +1 -1
- package/build/languageProcessing/languages/en/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/en/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/en/config/functionWords.js +11 -18
- package/build/languageProcessing/languages/en/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js +6 -12
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js +1 -7
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceIrregulars.js.map +1 -1
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js +1 -7
- package/build/languageProcessing/languages/en/config/internal/passiveVoiceNonVerbEndingEd.js.map +1 -1
- package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js +1 -7
- package/build/languageProcessing/languages/en/config/regularParticiplesRegex.js.map +1 -1
- package/build/languageProcessing/languages/en/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/en/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/en/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/en/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/en/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/en/config/wordComplexity.js +1 -7
- package/build/languageProcessing/languages/en/config/wordComplexity.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/en/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js +4 -10
- package/build/languageProcessing/languages/en/helpers/checkIfWordIsComplex.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/getClauses.js +15 -22
- package/build/languageProcessing/languages/en/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/en/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/determineStem.js +21 -32
- package/build/languageProcessing/languages/en/helpers/internal/determineStem.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js +6 -13
- package/build/languageProcessing/languages/en/helpers/internal/getAdjectiveStem.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js +8 -14
- package/build/languageProcessing/languages/en/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js +6 -16
- package/build/languageProcessing/languages/en/helpers/internal/getVerbStem.js.map +1 -1
- package/build/languageProcessing/languages/en/values/Clause.js +10 -17
- package/build/languageProcessing/languages/en/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/es/Researcher.js +23 -31
- package/build/languageProcessing/languages/es/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/es/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/es/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/es/config/functionWords.js +11 -17
- package/build/languageProcessing/languages/es/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js +1 -7
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js +1 -7
- package/build/languageProcessing/languages/es/config/internal/passiveVoiceParticiples.js.map +1 -1
- package/build/languageProcessing/languages/es/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/es/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/es/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/es/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/es/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/es/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/es/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/es/config/wordComplexity.js +1 -7
- package/build/languageProcessing/languages/es/config/wordComplexity.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/es/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js +1 -7
- package/build/languageProcessing/languages/es/helpers/checkIfWordIsComplex.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/getClauses.js +10 -17
- package/build/languageProcessing/languages/es/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/es/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js +7 -13
- package/build/languageProcessing/languages/es/helpers/internal/checkVerbStemModifications.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js +6 -12
- package/build/languageProcessing/languages/es/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/es/helpers/internal/stem.js +5 -13
- package/build/languageProcessing/languages/es/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/es/values/Clause.js +7 -14
- package/build/languageProcessing/languages/es/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/fa/Researcher.js +19 -27
- package/build/languageProcessing/languages/fa/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/fa/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/fa/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/fa/config/functionWords.js +4 -10
- package/build/languageProcessing/languages/fa/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/fa/config/internal/participles.js +1 -7
- package/build/languageProcessing/languages/fa/config/internal/participles.js.map +1 -1
- package/build/languageProcessing/languages/fa/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/fa/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/fa/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/fa/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/fa/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js +3 -9
- package/build/languageProcessing/languages/fa/helpers/createBasicWordForms.js.map +1 -1
- package/build/languageProcessing/languages/fa/helpers/getStemmer.js +3 -9
- package/build/languageProcessing/languages/fa/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js +6 -12
- package/build/languageProcessing/languages/fa/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/fr/Researcher.js +21 -29
- package/build/languageProcessing/languages/fr/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/fr/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/functionWords.js +11 -17
- package/build/languageProcessing/languages/fr/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js +4 -9
- package/build/languageProcessing/languages/fr/config/internal/exceptionsParticiplesActive.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js +1 -7
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js +4 -9
- package/build/languageProcessing/languages/fr/config/internal/passiveVoiceIrregulars.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/fr/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/fr/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/fr/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/fr/config/wordComplexity.js +1 -7
- package/build/languageProcessing/languages/fr/config/wordComplexity.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/fr/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js +3 -9
- package/build/languageProcessing/languages/fr/helpers/checkIfWordIsComplex.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/getClauses.js +10 -17
- package/build/languageProcessing/languages/fr/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/fr/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js +11 -16
- package/build/languageProcessing/languages/fr/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/fr/helpers/internal/stem.js +3 -10
- package/build/languageProcessing/languages/fr/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/fr/values/Clause.js +14 -20
- package/build/languageProcessing/languages/fr/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/he/Researcher.js +21 -29
- package/build/languageProcessing/languages/he/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/he/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/he/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/he/config/functionWords.js +4 -11
- package/build/languageProcessing/languages/he/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js +1 -7
- package/build/languageProcessing/languages/he/config/internal/regularRootsHufal.js.map +1 -1
- package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js +1 -7
- package/build/languageProcessing/languages/he/config/internal/regularRootsNifal.js.map +1 -1
- package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js +1 -7
- package/build/languageProcessing/languages/he/config/internal/regularRootsPual.js.map +1 -1
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js +1 -7
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsHufal.js.map +1 -1
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js +1 -7
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsNifal.js.map +1 -1
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js +1 -7
- package/build/languageProcessing/languages/he/config/passiveVoice/regularRootsPual.js.map +1 -1
- package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js +2 -8
- package/build/languageProcessing/languages/he/config/prefixedFunctionWords.js.map +1 -1
- package/build/languageProcessing/languages/he/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/he/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/he/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/he/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/he/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js +6 -11
- package/build/languageProcessing/languages/he/helpers/createBasicWordForms.js.map +1 -1
- package/build/languageProcessing/languages/he/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/he/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/he/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/he/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js +10 -16
- package/build/languageProcessing/languages/he/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/he/helpers/stem.js +1 -7
- package/build/languageProcessing/languages/he/helpers/stem.js.map +1 -1
- package/build/languageProcessing/languages/hu/Researcher.js +19 -27
- package/build/languageProcessing/languages/hu/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/hu/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/functionWords.js +4 -10
- package/build/languageProcessing/languages/hu/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js +1 -7
- package/build/languageProcessing/languages/hu/config/internal/auxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js +3 -9
- package/build/languageProcessing/languages/hu/config/internal/morphologicalPassiveAffixes.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js +2 -7
- package/build/languageProcessing/languages/hu/config/internal/nonPassivesInVaAndVe.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js +1 -7
- package/build/languageProcessing/languages/hu/config/internal/odikVerbs.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/internal/participles.js +2 -7
- package/build/languageProcessing/languages/hu/config/internal/participles.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/stopWords.js +2 -7
- package/build/languageProcessing/languages/hu/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/hu/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/hu/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/getClauses.js +9 -16
- package/build/languageProcessing/languages/hu/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/hu/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js +6 -12
- package/build/languageProcessing/languages/hu/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/hu/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js +9 -15
- package/build/languageProcessing/languages/hu/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/hu/values/Clause.js +8 -14
- package/build/languageProcessing/languages/hu/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/id/Researcher.js +17 -25
- package/build/languageProcessing/languages/id/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/id/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/id/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/id/config/functionWords.js +8 -16
- package/build/languageProcessing/languages/id/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js +1 -7
- package/build/languageProcessing/languages/id/config/internal/nonPassiveVerbsStartingDi.js.map +1 -1
- package/build/languageProcessing/languages/id/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/id/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/id/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/id/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/internal/stem.js +29 -34
- package/build/languageProcessing/languages/id/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js +5 -13
- package/build/languageProcessing/languages/id/helpers/internal/stemHelpers.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js +5 -12
- package/build/languageProcessing/languages/id/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js +3 -9
- package/build/languageProcessing/languages/id/helpers/splitIntoTokensCustom.js.map +1 -1
- package/build/languageProcessing/languages/it/Researcher.js +23 -31
- package/build/languageProcessing/languages/it/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/it/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/it/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/it/config/functionWords.js +11 -17
- package/build/languageProcessing/languages/it/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js +1 -7
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js +1 -7
- package/build/languageProcessing/languages/it/config/internal/passiveVoiceParticiples.js.map +1 -1
- package/build/languageProcessing/languages/it/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/it/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/it/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/it/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/it/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/it/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js +1 -7
- package/build/languageProcessing/languages/it/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/it/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/getClauses.js +10 -17
- package/build/languageProcessing/languages/it/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/it/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js +6 -12
- package/build/languageProcessing/languages/it/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/it/helpers/internal/stem.js +3 -9
- package/build/languageProcessing/languages/it/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/it/values/Clause.js +7 -14
- package/build/languageProcessing/languages/it/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/ja/Researcher.js +51 -59
- package/build/languageProcessing/languages/ja/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js +1 -7
- package/build/languageProcessing/languages/ja/config/assessmentApplicabilityCharacterCount.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/ja/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/functionWords.js +1 -7
- package/build/languageProcessing/languages/ja/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/keyphraseLength.js +1 -7
- package/build/languageProcessing/languages/ja/config/keyphraseLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js +1 -7
- package/build/languageProcessing/languages/ja/config/metaDescriptionLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/paragraphLength.js +1 -7
- package/build/languageProcessing/languages/ja/config/paragraphLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/ja/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js +1 -7
- package/build/languageProcessing/languages/ja/config/subheadingsTooLong.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/textLength.js +1 -7
- package/build/languageProcessing/languages/ja/config/textLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/topicLength.js +1 -7
- package/build/languageProcessing/languages/ja/config/topicLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/config/transitionWords.js +2 -7
- package/build/languageProcessing/languages/ja/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js +16 -22
- package/build/languageProcessing/languages/ja/customResearches/findKeyphraseInSEOTitle.js.map +1 -1
- package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js +5 -11
- package/build/languageProcessing/languages/ja/customResearches/getKeyphraseLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/customResearches/getWordForms.js +11 -17
- package/build/languageProcessing/languages/ja/customResearches/getWordForms.js.map +1 -1
- package/build/languageProcessing/languages/ja/customResearches/textLength.js +3 -9
- package/build/languageProcessing/languages/ja/customResearches/textLength.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/countCharacters.js +6 -12
- package/build/languageProcessing/languages/ja/helpers/countCharacters.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js +8 -14
- package/build/languageProcessing/languages/ja/helpers/customGetStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/getContentWords.js +5 -11
- package/build/languageProcessing/languages/ja/helpers/getContentWords.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/getWords.js +8 -15
- package/build/languageProcessing/languages/ja/helpers/getWords.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js +6 -13
- package/build/languageProcessing/languages/ja/helpers/internal/SentenceTokenizer.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js +4 -9
- package/build/languageProcessing/languages/ja/helpers/internal/createWordForms.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js +3 -9
- package/build/languageProcessing/languages/ja/helpers/internal/determineStem.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js +7 -13
- package/build/languageProcessing/languages/ja/helpers/matchTextWithWord.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js +3 -9
- package/build/languageProcessing/languages/ja/helpers/matchTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js +4 -10
- package/build/languageProcessing/languages/ja/helpers/memoizedSentenceTokenizer.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js +5 -11
- package/build/languageProcessing/languages/ja/helpers/splitIntoTokensCustom.js.map +1 -1
- package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js +1 -7
- package/build/languageProcessing/languages/ja/helpers/wordsCharacterCount.js.map +1 -1
- package/build/languageProcessing/languages/nb/Researcher.js +17 -25
- package/build/languageProcessing/languages/nb/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/nb/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/nb/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/nb/config/functionWords.js +5 -11
- package/build/languageProcessing/languages/nb/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/nb/config/internal/participles.js +2 -7
- package/build/languageProcessing/languages/nb/config/internal/participles.js.map +1 -1
- package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js +1 -7
- package/build/languageProcessing/languages/nb/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/nb/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/nb/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/nb/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/nb/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/nb/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/nb/helpers/getClauses.js +11 -18
- package/build/languageProcessing/languages/nb/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/nb/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/nb/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js +8 -14
- package/build/languageProcessing/languages/nb/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/nb/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/nb/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/nb/values/Clause.js +8 -14
- package/build/languageProcessing/languages/nb/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/nl/Researcher.js +23 -31
- package/build/languageProcessing/languages/nl/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/nl/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/functionWords.js +10 -16
- package/build/languageProcessing/languages/nl/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js +1 -7
- package/build/languageProcessing/languages/nl/config/internal/nonParticiples.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js +1 -7
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js +1 -7
- package/build/languageProcessing/languages/nl/config/internal/passiveVoiceIrregulars.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/keyphraseLength.js +1 -7
- package/build/languageProcessing/languages/nl/config/keyphraseLength.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/nl/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/nl/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js +1 -7
- package/build/languageProcessing/languages/nl/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/nl/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/getClauses.js +9 -16
- package/build/languageProcessing/languages/nl/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/nl/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js +7 -13
- package/build/languageProcessing/languages/nl/helpers/internal/checkExceptionsWithFullForms.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js +8 -14
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemRegularParticiple.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js +10 -15
- package/build/languageProcessing/languages/nl/helpers/internal/detectAndStemSuffixes.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js +10 -16
- package/build/languageProcessing/languages/nl/helpers/internal/determineStem.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js +7 -13
- package/build/languageProcessing/languages/nl/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js +7 -12
- package/build/languageProcessing/languages/nl/helpers/internal/getStemWordsWithTAndDEnding.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stem.js +17 -23
- package/build/languageProcessing/languages/nl/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js +4 -11
- package/build/languageProcessing/languages/nl/helpers/internal/stemModificationHelpers.js.map +1 -1
- package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js +8 -14
- package/build/languageProcessing/languages/nl/helpers/internal/stemTOrDFromEndOfWord.js.map +1 -1
- package/build/languageProcessing/languages/nl/values/Clause.js +10 -16
- package/build/languageProcessing/languages/nl/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/pl/Researcher.js +19 -27
- package/build/languageProcessing/languages/pl/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/pl/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/functionWords.js +9 -16
- package/build/languageProcessing/languages/pl/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js +1 -7
- package/build/languageProcessing/languages/pl/config/internal/auxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/internal/participles.js +1 -7
- package/build/languageProcessing/languages/pl/config/internal/participles.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/pl/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/pl/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/pl/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/pl/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/pl/helpers/getClauses.js +9 -16
- package/build/languageProcessing/languages/pl/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/pl/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/pl/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js +7 -13
- package/build/languageProcessing/languages/pl/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/pl/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/pl/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/pl/values/Clause.js +8 -14
- package/build/languageProcessing/languages/pl/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/pt/Researcher.js +23 -31
- package/build/languageProcessing/languages/pt/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/pt/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/functionWords.js +10 -16
- package/build/languageProcessing/languages/pt/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js +1 -7
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js +1 -7
- package/build/languageProcessing/languages/pt/config/internal/passiveVoiceParticiples.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/pt/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/pt/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/pt/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js +1 -7
- package/build/languageProcessing/languages/pt/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/pt/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/getClauses.js +10 -17
- package/build/languageProcessing/languages/pt/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/pt/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js +6 -12
- package/build/languageProcessing/languages/pt/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/pt/helpers/internal/stem.js +3 -9
- package/build/languageProcessing/languages/pt/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/pt/values/Clause.js +7 -14
- package/build/languageProcessing/languages/pt/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/ru/Researcher.js +23 -31
- package/build/languageProcessing/languages/ru/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/ru/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js +1 -7
- package/build/languageProcessing/languages/ru/config/fleschReadingEaseScores.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/functionWords.js +8 -14
- package/build/languageProcessing/languages/ru/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js +2 -8
- package/build/languageProcessing/languages/ru/config/internal/participlesShortenedList.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js +1 -7
- package/build/languageProcessing/languages/ru/config/internal/passiveVoiceParticiples.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/ru/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/ru/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/ru/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js +3 -9
- package/build/languageProcessing/languages/ru/helpers/calculateFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/languages/ru/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/ru/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/ru/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/ru/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js +6 -12
- package/build/languageProcessing/languages/ru/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/sk/Researcher.js +17 -25
- package/build/languageProcessing/languages/sk/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/sk/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/sk/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/sk/config/functionWords.js +5 -11
- package/build/languageProcessing/languages/sk/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/sk/config/internal/nonPassives.js +1 -7
- package/build/languageProcessing/languages/sk/config/internal/nonPassives.js.map +1 -1
- package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js +2 -8
- package/build/languageProcessing/languages/sk/config/internal/passiveVoiceAuxiliaries.js.map +1 -1
- package/build/languageProcessing/languages/sk/config/stopWords.js +1 -7
- package/build/languageProcessing/languages/sk/config/stopWords.js.map +1 -1
- package/build/languageProcessing/languages/sk/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/sk/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/sk/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/sk/helpers/getClauses.js +9 -16
- package/build/languageProcessing/languages/sk/helpers/getClauses.js.map +1 -1
- package/build/languageProcessing/languages/sk/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/sk/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js +3 -9
- package/build/languageProcessing/languages/sk/helpers/internal/getParticiples.js.map +1 -1
- package/build/languageProcessing/languages/sk/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/sk/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/sk/values/Clause.js +8 -14
- package/build/languageProcessing/languages/sk/values/Clause.js.map +1 -1
- package/build/languageProcessing/languages/sv/Researcher.js +17 -25
- package/build/languageProcessing/languages/sv/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/sv/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/sv/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/sv/config/functionWords.js +7 -13
- package/build/languageProcessing/languages/sv/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js +2 -7
- package/build/languageProcessing/languages/sv/config/internal/passiveVerbs.js.map +1 -1
- package/build/languageProcessing/languages/sv/config/keyphraseLength.js +1 -7
- package/build/languageProcessing/languages/sv/config/keyphraseLength.js.map +1 -1
- package/build/languageProcessing/languages/sv/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/sv/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/sv/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/sv/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/sv/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/sv/helpers/internal/stem.js +1 -7
- package/build/languageProcessing/languages/sv/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js +6 -12
- package/build/languageProcessing/languages/sv/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/languages/tr/Researcher.js +17 -25
- package/build/languageProcessing/languages/tr/Researcher.js.map +1 -1
- package/build/languageProcessing/languages/tr/config/firstWordExceptions.js +1 -7
- package/build/languageProcessing/languages/tr/config/firstWordExceptions.js.map +1 -1
- package/build/languageProcessing/languages/tr/config/functionWords.js +4 -10
- package/build/languageProcessing/languages/tr/config/functionWords.js.map +1 -1
- package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js +3 -8
- package/build/languageProcessing/languages/tr/config/internal/nonPassiveExceptions.js.map +1 -1
- package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js +1 -7
- package/build/languageProcessing/languages/tr/config/internal/passiveEndings.js.map +1 -1
- package/build/languageProcessing/languages/tr/config/sentenceLength.js +1 -7
- package/build/languageProcessing/languages/tr/config/sentenceLength.js.map +1 -1
- package/build/languageProcessing/languages/tr/config/transitionWords.js +4 -10
- package/build/languageProcessing/languages/tr/config/transitionWords.js.map +1 -1
- package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js +2 -7
- package/build/languageProcessing/languages/tr/config/twoPartTransitionWords.js.map +1 -1
- package/build/languageProcessing/languages/tr/helpers/getStemmer.js +8 -14
- package/build/languageProcessing/languages/tr/helpers/getStemmer.js.map +1 -1
- package/build/languageProcessing/languages/tr/helpers/internal/stem.js +3 -9
- package/build/languageProcessing/languages/tr/helpers/internal/stem.js.map +1 -1
- package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js +9 -15
- package/build/languageProcessing/languages/tr/helpers/isPassiveSentence.js.map +1 -1
- package/build/languageProcessing/researches/altTagCount.js +10 -16
- package/build/languageProcessing/researches/altTagCount.js.map +1 -1
- package/build/languageProcessing/researches/checkRelatedKeywords.js +72 -0
- package/build/languageProcessing/researches/checkRelatedKeywords.js.map +1 -0
- package/build/languageProcessing/researches/countSentencesFromText.js +9 -15
- package/build/languageProcessing/researches/countSentencesFromText.js.map +1 -1
- package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js +19 -26
- package/build/languageProcessing/researches/findKeyphraseInSEOTitle.js.map +1 -1
- package/build/languageProcessing/researches/findKeywordInFirstParagraph.js +17 -23
- package/build/languageProcessing/researches/findKeywordInFirstParagraph.js.map +1 -1
- package/build/languageProcessing/researches/findTransitionWords.js +16 -23
- package/build/languageProcessing/researches/findTransitionWords.js.map +1 -1
- package/build/languageProcessing/researches/functionWordsInKeyphrase.js +10 -16
- package/build/languageProcessing/researches/functionWordsInKeyphrase.js.map +1 -1
- package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js +21 -28
- package/build/languageProcessing/researches/getAnchorsWithKeyphrase.js.map +1 -1
- package/build/languageProcessing/researches/getFleschReadingScore.js +18 -25
- package/build/languageProcessing/researches/getFleschReadingScore.js.map +1 -1
- package/build/languageProcessing/researches/getKeywordDensity.js +7 -14
- package/build/languageProcessing/researches/getKeywordDensity.js.map +1 -1
- package/build/languageProcessing/researches/getLinkStatistics.js +7 -13
- package/build/languageProcessing/researches/getLinkStatistics.js.map +1 -1
- package/build/languageProcessing/researches/getLinks.js +7 -13
- package/build/languageProcessing/researches/getLinks.js.map +1 -1
- package/build/languageProcessing/researches/getLongCenterAlignedTexts.js +1 -7
- package/build/languageProcessing/researches/getLongCenterAlignedTexts.js.map +1 -1
- package/build/languageProcessing/researches/getParagraphLength.js +15 -21
- package/build/languageProcessing/researches/getParagraphLength.js.map +1 -1
- package/build/languageProcessing/researches/getParagraphs.js +4 -9
- package/build/languageProcessing/researches/getParagraphs.js.map +1 -1
- package/build/languageProcessing/researches/getPassiveVoiceResult.js +21 -30
- package/build/languageProcessing/researches/getPassiveVoiceResult.js.map +1 -1
- package/build/languageProcessing/researches/getProminentWordsForInsights.js +12 -18
- package/build/languageProcessing/researches/getProminentWordsForInsights.js.map +1 -1
- package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js +20 -26
- package/build/languageProcessing/researches/getProminentWordsForInternalLinking.js.map +1 -1
- package/build/languageProcessing/researches/getSentenceBeginnings.js +30 -36
- package/build/languageProcessing/researches/getSentenceBeginnings.js.map +1 -1
- package/build/languageProcessing/researches/getSubheadingTextLengths.js +12 -18
- package/build/languageProcessing/researches/getSubheadingTextLengths.js.map +1 -1
- package/build/languageProcessing/researches/getWordForms.js +13 -19
- package/build/languageProcessing/researches/getWordForms.js.map +1 -1
- package/build/languageProcessing/researches/h1s.js +1 -7
- package/build/languageProcessing/researches/h1s.js.map +1 -1
- package/build/languageProcessing/researches/imageCount.js +4 -10
- package/build/languageProcessing/researches/imageCount.js.map +1 -1
- package/build/languageProcessing/researches/index.js +4 -27
- package/build/languageProcessing/researches/index.js.map +1 -1
- package/build/languageProcessing/researches/keyphraseDistribution.js +22 -32
- package/build/languageProcessing/researches/keyphraseDistribution.js.map +1 -1
- package/build/languageProcessing/researches/keyphraseLength.js +1 -7
- package/build/languageProcessing/researches/keyphraseLength.js.map +1 -1
- package/build/languageProcessing/researches/keywordCount.js +30 -39
- package/build/languageProcessing/researches/keywordCount.js.map +1 -1
- package/build/languageProcessing/researches/keywordCountInUrl.js +8 -16
- package/build/languageProcessing/researches/keywordCountInUrl.js.map +1 -1
- package/build/languageProcessing/researches/matchKeywordInSubheadings.js +15 -20
- package/build/languageProcessing/researches/matchKeywordInSubheadings.js.map +1 -1
- package/build/languageProcessing/researches/metaDescriptionKeyword.js +6 -12
- package/build/languageProcessing/researches/metaDescriptionKeyword.js.map +1 -1
- package/build/languageProcessing/researches/metaDescriptionLength.js +3 -9
- package/build/languageProcessing/researches/metaDescriptionLength.js.map +1 -1
- package/build/languageProcessing/researches/pageTitleWidth.js +1 -7
- package/build/languageProcessing/researches/pageTitleWidth.js.map +1 -1
- package/build/languageProcessing/researches/readingTime.js +7 -13
- package/build/languageProcessing/researches/readingTime.js.map +1 -1
- package/build/languageProcessing/researches/sentences.js +7 -13
- package/build/languageProcessing/researches/sentences.js.map +1 -1
- package/build/languageProcessing/researches/videoCount.js +1 -7
- package/build/languageProcessing/researches/videoCount.js.map +1 -1
- package/build/languageProcessing/researches/wordComplexity.js +15 -21
- package/build/languageProcessing/researches/wordComplexity.js.map +1 -1
- package/build/languageProcessing/researches/wordCountInText.js +10 -15
- package/build/languageProcessing/researches/wordCountInText.js.map +1 -1
- package/build/languageProcessing/values/Clause.js +1 -7
- package/build/languageProcessing/values/Clause.js.map +1 -1
- package/build/languageProcessing/values/ProminentWord.js +1 -7
- package/build/languageProcessing/values/ProminentWord.js.map +1 -1
- package/build/languageProcessing/values/Sentence.js +1 -7
- package/build/languageProcessing/values/Sentence.js.map +1 -1
- package/build/languageProcessing/values/index.js +4 -27
- package/build/languageProcessing/values/index.js.map +1 -1
- package/build/markers/addMark.js +1 -7
- package/build/markers/addMark.js.map +1 -1
- package/build/markers/addMarkSingleWord.js +7 -12
- package/build/markers/addMarkSingleWord.js.map +1 -1
- package/build/markers/index.js +3 -20
- package/build/markers/index.js.map +1 -1
- package/build/markers/removeDuplicateMarks.js +3 -8
- package/build/markers/removeDuplicateMarks.js.map +1 -1
- package/build/markers/removeMarks.js +1 -7
- package/build/markers/removeMarks.js.map +1 -1
- package/build/parse/build/build.js +17 -25
- package/build/parse/build/build.js.map +1 -1
- package/build/parse/build/index.js +7 -12
- package/build/parse/build/index.js.map +1 -1
- package/build/parse/build/private/adapt.js +15 -21
- package/build/parse/build/private/adapt.js.map +1 -1
- package/build/parse/build/private/adaptAttributes.js +3 -9
- package/build/parse/build/private/adaptAttributes.js.map +1 -1
- package/build/parse/build/private/alwaysFilterElements.js +9 -14
- package/build/parse/build/private/alwaysFilterElements.js.map +1 -1
- package/build/parse/build/private/combineIntoImplicitParagraphs.js +12 -18
- package/build/parse/build/private/combineIntoImplicitParagraphs.js.map +1 -1
- package/build/parse/build/private/filterBeforeTokenizing.js +5 -10
- package/build/parse/build/private/filterBeforeTokenizing.js.map +1 -1
- package/build/parse/build/private/filterHelpers.js +3 -11
- package/build/parse/build/private/filterHelpers.js.map +1 -1
- package/build/parse/build/private/filterTree.js +3 -8
- package/build/parse/build/private/filterTree.js.map +1 -1
- package/build/parse/build/private/getTextElementPositions.js +5 -10
- package/build/parse/build/private/getTextElementPositions.js.map +1 -1
- package/build/parse/build/private/helpers/parseClassAttribute.js +1 -7
- package/build/parse/build/private/helpers/parseClassAttribute.js.map +1 -1
- package/build/parse/build/private/isPhrasingContent.js +1 -7
- package/build/parse/build/private/isPhrasingContent.js.map +1 -1
- package/build/parse/build/private/parseBlocks.js +4 -11
- package/build/parse/build/private/parseBlocks.js.map +1 -1
- package/build/parse/build/private/tokenize.js +8 -14
- package/build/parse/build/private/tokenize.js.map +1 -1
- package/build/parse/language/LanguageProcessor.js +8 -15
- package/build/parse/language/LanguageProcessor.js.map +1 -1
- package/build/parse/structure/Heading.js +3 -9
- package/build/parse/structure/Heading.js.map +1 -1
- package/build/parse/structure/Node.js +8 -14
- package/build/parse/structure/Node.js.map +1 -1
- package/build/parse/structure/Paragraph.js +3 -9
- package/build/parse/structure/Paragraph.js.map +1 -1
- package/build/parse/structure/Sentence.js +1 -7
- package/build/parse/structure/Sentence.js.map +1 -1
- package/build/parse/structure/SourceCodeLocation.js +1 -7
- package/build/parse/structure/SourceCodeLocation.js.map +1 -1
- package/build/parse/structure/Text.js +3 -10
- package/build/parse/structure/Text.js.map +1 -1
- package/build/parse/structure/Token.js +3 -8
- package/build/parse/structure/Token.js.map +1 -1
- package/build/parse/structure/index.js +10 -33
- package/build/parse/structure/index.js.map +1 -1
- package/build/parse/traverse/findAllInTree.js +1 -7
- package/build/parse/traverse/findAllInTree.js.map +1 -1
- package/build/parse/traverse/index.js +8 -19
- package/build/parse/traverse/index.js.map +1 -1
- package/build/parse/traverse/innerText.js +3 -8
- package/build/parse/traverse/innerText.js.map +1 -1
- package/build/parsedPaper/ParsedPaper.js +1 -8
- package/build/parsedPaper/ParsedPaper.js.map +1 -1
- package/build/parsedPaper/assess/TreeAssessor.js +6 -12
- package/build/parsedPaper/assess/TreeAssessor.js.map +1 -1
- package/build/parsedPaper/assess/assessmentListFactories.js +1 -11
- package/build/parsedPaper/assess/assessmentListFactories.js.map +1 -1
- package/build/parsedPaper/assess/assessments/Assessment.js +15 -9
- package/build/parsedPaper/assess/assessments/Assessment.js.map +1 -1
- package/build/parsedPaper/assess/assessments/index.js +6 -13
- package/build/parsedPaper/assess/assessments/index.js.map +1 -1
- package/build/parsedPaper/assess/assessorFactories.js +16 -24
- package/build/parsedPaper/assess/assessorFactories.js.map +1 -1
- package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js +1 -9
- package/build/parsedPaper/assess/cornerstone/assessmentListFactories.js.map +1 -1
- package/build/parsedPaper/assess/cornerstone/index.js +2 -10
- package/build/parsedPaper/assess/cornerstone/index.js.map +1 -1
- package/build/parsedPaper/assess/index.js +13 -29
- package/build/parsedPaper/assess/index.js.map +1 -1
- package/build/parsedPaper/build/PaperParser.js +5 -11
- package/build/parsedPaper/build/PaperParser.js.map +1 -1
- package/build/parsedPaper/build/linguisticParsing/Sentence.js +1 -7
- package/build/parsedPaper/build/linguisticParsing/Sentence.js.map +1 -1
- package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js +16 -23
- package/build/parsedPaper/build/linguisticParsing/SentenceTokenizer.js.map +1 -1
- package/build/parsedPaper/build/linguisticParsing/parseText.js +3 -9
- package/build/parsedPaper/build/linguisticParsing/parseText.js.map +1 -1
- package/build/parsedPaper/build/tree/TreeBuilder.js +3 -9
- package/build/parsedPaper/build/tree/TreeBuilder.js.map +1 -1
- package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js +5 -10
- package/build/parsedPaper/build/tree/cleanup/calculateTextIndices.js.map +1 -1
- package/build/parsedPaper/build/tree/cleanup/getElementContent.js +1 -7
- package/build/parsedPaper/build/tree/cleanup/getElementContent.js.map +1 -1
- package/build/parsedPaper/build/tree/cleanup/postParsing.js +5 -11
- package/build/parsedPaper/build/tree/cleanup/postParsing.js.map +1 -1
- package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js +21 -27
- package/build/parsedPaper/build/tree/html/HTMLTreeConverter.js.map +1 -1
- package/build/parsedPaper/build/tree/html/buildTree.js +7 -13
- package/build/parsedPaper/build/tree/html/buildTree.js.map +1 -1
- package/build/parsedPaper/build/tree/html/htmlConstants.js +4 -9
- package/build/parsedPaper/build/tree/html/htmlConstants.js.map +1 -1
- package/build/parsedPaper/build/tree/index.js +3 -8
- package/build/parsedPaper/build/tree/index.js.map +1 -1
- package/build/parsedPaper/build/tree/metadata/buildTree.js +12 -18
- package/build/parsedPaper/build/tree/metadata/buildTree.js.map +1 -1
- package/build/parsedPaper/research/TreeResearcher.js +4 -9
- package/build/parsedPaper/research/TreeResearcher.js.map +1 -1
- package/build/parsedPaper/research/index.js +10 -12
- package/build/parsedPaper/research/index.js.map +1 -1
- package/build/parsedPaper/research/researches/Headings.js +5 -11
- package/build/parsedPaper/research/researches/Headings.js.map +1 -1
- package/build/parsedPaper/research/researches/LinkStatistics.js +6 -12
- package/build/parsedPaper/research/researches/LinkStatistics.js.map +1 -1
- package/build/parsedPaper/research/researches/Research.js +5 -10
- package/build/parsedPaper/research/researches/Research.js.map +1 -1
- package/build/parsedPaper/research/researches/index.js +1 -13
- package/build/parsedPaper/research/researches/index.js.map +1 -1
- package/build/parsedPaper/structure/tree/FormattingElement.js +3 -9
- package/build/parsedPaper/structure/tree/FormattingElement.js.map +1 -1
- package/build/parsedPaper/structure/tree/SourceCodeLocation.js +1 -7
- package/build/parsedPaper/structure/tree/SourceCodeLocation.js.map +1 -1
- package/build/parsedPaper/structure/tree/TextContainer.js +5 -10
- package/build/parsedPaper/structure/tree/TextContainer.js.map +1 -1
- package/build/parsedPaper/structure/tree/index.js +9 -74
- package/build/parsedPaper/structure/tree/index.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/Heading.js +3 -9
- package/build/parsedPaper/structure/tree/nodes/Heading.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/LeafNode.js +5 -12
- package/build/parsedPaper/structure/tree/nodes/LeafNode.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/List.js +5 -11
- package/build/parsedPaper/structure/tree/nodes/List.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/ListItem.js +3 -10
- package/build/parsedPaper/structure/tree/nodes/ListItem.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js +3 -9
- package/build/parsedPaper/structure/tree/nodes/MetadataMiscellaneous.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/MetadataText.js +3 -9
- package/build/parsedPaper/structure/tree/nodes/MetadataText.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/Node.js +6 -12
- package/build/parsedPaper/structure/tree/nodes/Node.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/Paragraph.js +3 -9
- package/build/parsedPaper/structure/tree/nodes/Paragraph.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/StructuredNode.js +3 -10
- package/build/parsedPaper/structure/tree/nodes/StructuredNode.js.map +1 -1
- package/build/parsedPaper/structure/tree/nodes/index.js +10 -69
- package/build/parsedPaper/structure/tree/nodes/index.js.map +1 -1
- package/build/scoring/assessments/assessment.js +17 -15
- package/build/scoring/assessments/assessment.js.map +1 -1
- package/build/scoring/assessments/index.js +53 -56
- package/build/scoring/assessments/index.js.map +1 -1
- package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js +30 -47
- package/build/scoring/assessments/readability/ParagraphTooLongAssessment.js.map +1 -1
- package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js +98 -0
- package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js.map +1 -0
- package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js +22 -35
- package/build/scoring/assessments/readability/SentenceBeginningsAssessment.js.map +1 -1
- package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js +24 -39
- package/build/scoring/assessments/readability/SentenceLengthInTextAssessment.js.map +1 -1
- package/build/scoring/assessments/readability/TransitionWordsAssessment.js +29 -47
- package/build/scoring/assessments/readability/TransitionWordsAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/FAQsAssessment.js +162 -0
- package/build/scoring/assessments/seo/FAQsAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/ImageCountAssessment.js +17 -33
- package/build/scoring/assessments/seo/ImageCountAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/InternalLinksAssessment.js +21 -35
- package/build/scoring/assessments/seo/InternalLinksAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js +20 -34
- package/build/scoring/assessments/seo/IntroductionKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/KeyphraseAssessment.js +18 -32
- package/build/scoring/assessments/seo/KeyphraseAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js +21 -34
- package/build/scoring/assessments/seo/KeyphraseLengthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/KeywordDensityAssessment.js +26 -40
- package/build/scoring/assessments/seo/KeywordDensityAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js +23 -42
- package/build/scoring/assessments/seo/MetaDescriptionKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js +19 -34
- package/build/scoring/assessments/seo/MetaDescriptionLengthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js +25 -41
- package/build/scoring/assessments/seo/MetaTitleKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js +16 -30
- package/build/scoring/assessments/seo/NumberInMetaTitleAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/OutboundLinksAssessment.js +21 -40
- package/build/scoring/assessments/seo/OutboundLinksAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/PageTitleWidthAssessment.js +17 -31
- package/build/scoring/assessments/seo/PageTitleWidthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/SchemaAssessment.js +95 -0
- package/build/scoring/assessments/seo/SchemaAssessment.js.map +1 -0
- package/build/scoring/assessments/seo/SingleH1Assessment.js +20 -33
- package/build/scoring/assessments/seo/SingleH1Assessment.js.map +1 -1
- package/build/scoring/assessments/seo/SingleTitleAssessment.js +20 -33
- package/build/scoring/assessments/seo/SingleTitleAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js +18 -35
- package/build/scoring/assessments/seo/SubHeadingsKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/TextImagesAssessment.js +20 -36
- package/build/scoring/assessments/seo/TextImagesAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/TextLengthAssessment.js +21 -37
- package/build/scoring/assessments/seo/TextLengthAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/UrlKeywordAssessment.js +20 -36
- package/build/scoring/assessments/seo/UrlKeywordAssessment.js.map +1 -1
- package/build/scoring/assessments/seo/UrlLengthAssessment.js +19 -33
- package/build/scoring/assessments/seo/UrlLengthAssessment.js.map +1 -1
- package/build/scoring/assessors/assessor.js +53 -33
- package/build/scoring/assessors/assessor.js.map +1 -1
- package/build/scoring/assessors/avadaAssessor.js +37 -17
- package/build/scoring/assessors/avadaAssessor.js.map +1 -1
- package/build/scoring/assessors/contentAssessor.js +16 -22
- package/build/scoring/assessors/contentAssessor.js.map +1 -1
- package/build/scoring/assessors/index.js +4 -34
- package/build/scoring/assessors/index.js.map +1 -1
- package/build/scoring/assessors/seoAssessor.js +27 -32
- package/build/scoring/assessors/seoAssessor.js.map +1 -1
- package/build/scoring/helpers/assessments/checkForTooLongSentences.js +3 -8
- package/build/scoring/helpers/assessments/checkForTooLongSentences.js.map +1 -1
- package/build/scoring/helpers/assessments/inRange.js +2 -10
- package/build/scoring/helpers/assessments/inRange.js.map +1 -1
- package/build/scoring/helpers/assessments/keyphraseLengthFactor.js +1 -7
- package/build/scoring/helpers/assessments/keyphraseLengthFactor.js.map +1 -1
- package/build/scoring/helpers/assessments/recommendedKeywordCount.js +5 -11
- package/build/scoring/helpers/assessments/recommendedKeywordCount.js.map +1 -1
- package/build/scoring/helpers/index.js +27 -18
- package/build/scoring/helpers/index.js.map +1 -1
- package/build/scoring/interpreters/index.js +2 -13
- package/build/scoring/interpreters/index.js.map +1 -1
- package/build/scoring/interpreters/scoreToRating.js +1 -7
- package/build/scoring/interpreters/scoreToRating.js.map +1 -1
- package/build/scoring/renderers/AssessorPresenter.js +12 -18
- package/build/scoring/renderers/AssessorPresenter.js.map +1 -1
- package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js +8 -14
- package/build/scoring/scoreAggregators/ReadabilityScoreAggregator.js.map +1 -1
- package/build/scoring/scoreAggregators/SEOScoreAggregator.js +3 -9
- package/build/scoring/scoreAggregators/SEOScoreAggregator.js.map +1 -1
- package/build/scoring/scoreAggregators/ScoreAggregator.js +1 -7
- package/build/scoring/scoreAggregators/ScoreAggregator.js.map +1 -1
- package/build/scoring/scoreAggregators/index.js +3 -27
- package/build/scoring/scoreAggregators/index.js.map +1 -1
- package/build/values/AssessmentResult.js +31 -57
- package/build/values/AssessmentResult.js.map +1 -1
- package/build/values/Mark.js +9 -15
- package/build/values/Mark.js.map +1 -1
- package/build/values/Paper.js +115 -16
- package/build/values/Paper.js.map +1 -1
- package/build/values/index.js +4 -27
- package/build/values/index.js.map +1 -1
- package/build/vendor/turkishStemmer.js +1 -7
- package/build/vendor/turkishStemmer.js.map +1 -1
- package/package.json +10 -2
- package/build/bundledPlugins/index.js +0 -14
- package/build/bundledPlugins/index.js.map +0 -1
- package/build/bundledPlugins/previouslyUsedKeywords.js +0 -171
- package/build/bundledPlugins/previouslyUsedKeywords.js.map +0 -1
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = getParticiples;
|
|
7
|
-
var _lodash = require("lodash");
|
|
8
|
-
var _index = require("../../../index");
|
|
9
|
-
var _passiveVoiceIrregulars = require("../../config/internal/passiveVoiceIrregulars");
|
|
1
|
+
import { forEach, includes } from 'lodash';
|
|
2
|
+
import { languageProcessing } from "../../../../../index.js";
|
|
10
3
|
const {
|
|
11
4
|
getWords,
|
|
12
5
|
matchRegularParticiples
|
|
13
|
-
} =
|
|
6
|
+
} = languageProcessing;
|
|
7
|
+
import { irregularsRegular, irregularsEndingInS, irregularsIrregular } from "../../config/internal/passiveVoiceIrregulars";
|
|
8
|
+
|
|
14
9
|
/**
|
|
15
10
|
* Returns an array of matches of irregular participles with suffixes.
|
|
16
11
|
*
|
|
@@ -22,7 +17,7 @@ const {
|
|
|
22
17
|
*/
|
|
23
18
|
const matchFrenchParticipleWithSuffix = function (word, irregulars, suffixes) {
|
|
24
19
|
const matches = [];
|
|
25
|
-
|
|
20
|
+
forEach(irregulars, function (irregular) {
|
|
26
21
|
const irregularParticiplesRegex = new RegExp('^' + irregular + suffixes + '?$', 'ig');
|
|
27
22
|
const participleMatch = word.match(irregularParticiplesRegex);
|
|
28
23
|
if (participleMatch) {
|
|
@@ -40,11 +35,11 @@ const matchFrenchParticipleWithSuffix = function (word, irregulars, suffixes) {
|
|
|
40
35
|
*/
|
|
41
36
|
const matchIrregularParticiples = function (word) {
|
|
42
37
|
// Match different classes of participles with suffixes.
|
|
43
|
-
let matches = [].concat(matchFrenchParticipleWithSuffix(word,
|
|
44
|
-
matches = matches.concat(matchFrenchParticipleWithSuffix(word,
|
|
38
|
+
let matches = [].concat(matchFrenchParticipleWithSuffix(word, irregularsRegular, '(e|s|es)'));
|
|
39
|
+
matches = matches.concat(matchFrenchParticipleWithSuffix(word, irregularsEndingInS, '(e|es)'));
|
|
45
40
|
|
|
46
41
|
// Match irregular participles that don't require adding a suffix.
|
|
47
|
-
if (
|
|
42
|
+
if (includes(irregularsIrregular, word)) {
|
|
48
43
|
matches.push(word);
|
|
49
44
|
}
|
|
50
45
|
return matches;
|
|
@@ -57,10 +52,10 @@ const matchIrregularParticiples = function (word) {
|
|
|
57
52
|
|
|
58
53
|
* @returns {Array} The list with participles.
|
|
59
54
|
*/
|
|
60
|
-
function getParticiples(clauseText) {
|
|
55
|
+
export default function getParticiples(clauseText) {
|
|
61
56
|
const words = getWords(clauseText);
|
|
62
57
|
const foundParticiples = [];
|
|
63
|
-
|
|
58
|
+
forEach(words, function (word) {
|
|
64
59
|
const regularParticiplesRegex = [/\S+(é|ée|és|ées)($|[ \n\r\t.,'()"+\-;!?:/»«‹›<>])/gi];
|
|
65
60
|
if (matchRegularParticiples(word, regularParticiplesRegex).length !== 0 || matchIrregularParticiples(word).length !== 0) {
|
|
66
61
|
foundParticiples.push(word);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getParticiples.js","names":["
|
|
1
|
+
{"version":3,"file":"getParticiples.js","names":["forEach","includes","languageProcessing","getWords","matchRegularParticiples","irregularsRegular","irregularsEndingInS","irregularsIrregular","matchFrenchParticipleWithSuffix","word","irregulars","suffixes","matches","irregular","irregularParticiplesRegex","RegExp","participleMatch","match","push","matchIrregularParticiples","concat","getParticiples","clauseText","words","foundParticiples","regularParticiplesRegex","length"],"sources":["../../../../../../src/languageProcessing/languages/fr/helpers/internal/getParticiples.js"],"sourcesContent":["import {forEach, includes} from 'lodash';\nimport {languageProcessing} from '@axyseo/index.js';\nconst {getWords, matchRegularParticiples} = languageProcessing;\n\nimport {\n irregularsRegular,\n irregularsEndingInS,\n irregularsIrregular\n} from '../../config/internal/passiveVoiceIrregulars';\n\n/**\n * Returns an array of matches of irregular participles with suffixes.\n *\n * @param {string} word The word to match on.\n * @param {Array} irregulars The list of irregulars to match.\n * @param {string} suffixes The suffixes to match the word with.\n *\n * @returns {Array} A list with matched irregular participles.\n */\nconst matchFrenchParticipleWithSuffix = function(word, irregulars, suffixes) {\n const matches = [];\n forEach(irregulars, function(irregular) {\n const irregularParticiplesRegex = new RegExp('^' + irregular + suffixes + '?$', 'ig');\n const participleMatch = word.match(irregularParticiplesRegex);\n if (participleMatch) {\n matches.push(participleMatch[0]);\n }\n });\n return matches;\n};\n\n/**\n * Matches a word for a few lists of irregular participles.\n *\n * @param {string} word The word to match.\n * @returns {Array} The matches.\n */\nconst matchIrregularParticiples = function(word) {\n // Match different classes of participles with suffixes.\n let matches = [].concat(matchFrenchParticipleWithSuffix(word, irregularsRegular, '(e|s|es)'));\n matches = matches.concat(matchFrenchParticipleWithSuffix(word, irregularsEndingInS, '(e|es)'));\n\n // Match irregular participles that don't require adding a suffix.\n if (includes(irregularsIrregular, word)) {\n matches.push(word);\n }\n\n return matches;\n};\n\n/**\n * Creates an array of the participles found in a clause.\n *\n * @param {string} clauseText The clause to find participles in.\n\n * @returns {Array} The list with participles.\n */\nexport default function getParticiples(clauseText) {\n const words = getWords(clauseText);\n const foundParticiples = [];\n\n forEach(words, function(word) {\n const regularParticiplesRegex = [/\\S+(é|ée|és|ées)($|[ \\n\\r\\t.,'()\"+\\-;!?:/»«‹›<>])/gi];\n if (\n matchRegularParticiples(word, regularParticiplesRegex).length !== 0 ||\n matchIrregularParticiples(word).length !== 0\n ) {\n foundParticiples.push(word);\n }\n });\n return foundParticiples;\n}\n"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,QAAQ,QAAO,QAAQ;AACxC,SAAQC,kBAAkB;AAC1B,MAAM;EAACC,QAAQ;EAAEC;AAAuB,CAAC,GAAGF,kBAAkB;AAE9D,SACEG,iBAAiB,EACjBC,mBAAmB,EACnBC,mBAAmB;;AAGrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,+BAA+B,GAAG,SAAAA,CAASC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,EAAE;EAC3E,MAAMC,OAAO,GAAG,EAAE;EAClBZ,OAAO,CAACU,UAAU,EAAE,UAASG,SAAS,EAAE;IACtC,MAAMC,yBAAyB,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGF,SAAS,GAAGF,QAAQ,GAAG,IAAI,EAAE,IAAI,CAAC;IACrF,MAAMK,eAAe,GAAGP,IAAI,CAACQ,KAAK,CAACH,yBAAyB,CAAC;IAC7D,IAAIE,eAAe,EAAE;MACnBJ,OAAO,CAACM,IAAI,CAACF,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC;EACF,CAAC,CAAC;EACF,OAAOJ,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,yBAAyB,GAAG,SAAAA,CAASV,IAAI,EAAE;EAC/C;EACA,IAAIG,OAAO,GAAG,EAAE,CAACQ,MAAM,CAACZ,+BAA+B,CAACC,IAAI,EAAEJ,iBAAiB,EAAE,UAAU,CAAC,CAAC;EAC7FO,OAAO,GAAGA,OAAO,CAACQ,MAAM,CAACZ,+BAA+B,CAACC,IAAI,EAAEH,mBAAmB,EAAE,QAAQ,CAAC,CAAC;;EAE9F;EACA,IAAIL,QAAQ,CAACM,mBAAmB,EAAEE,IAAI,CAAC,EAAE;IACvCG,OAAO,CAACM,IAAI,CAACT,IAAI,CAAC;EACpB;EAEA,OAAOG,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASS,cAAcA,CAACC,UAAU,EAAE;EACjD,MAAMC,KAAK,GAAGpB,QAAQ,CAACmB,UAAU,CAAC;EAClC,MAAME,gBAAgB,GAAG,EAAE;EAE3BxB,OAAO,CAACuB,KAAK,EAAE,UAASd,IAAI,EAAE;IAC5B,MAAMgB,uBAAuB,GAAG,CAAC,qDAAqD,CAAC;IACvF,IACErB,uBAAuB,CAACK,IAAI,EAAEgB,uBAAuB,CAAC,CAACC,MAAM,KAAK,CAAC,IACnEP,yBAAyB,CAACV,IAAI,CAAC,CAACiB,MAAM,KAAK,CAAC,EAC5C;MACAF,gBAAgB,CAACN,IAAI,CAACT,IAAI,CAAC;IAC7B;EACF,CAAC,CAAC;EACF,OAAOe,gBAAgB;AACzB","ignoreList":[]}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = stem;
|
|
7
|
-
var _index = require("../../../index");
|
|
8
1
|
/* eslint-disable max-statements, complexity */
|
|
9
|
-
|
|
2
|
+
import { languageProcessing } from "../../../../../index.js";
|
|
10
3
|
const {
|
|
11
4
|
exceptionListHelpers: {
|
|
12
5
|
checkIfWordEndingIsOnExceptionList
|
|
@@ -14,7 +7,7 @@ const {
|
|
|
14
7
|
regexHelpers: {
|
|
15
8
|
applyAllReplacements
|
|
16
9
|
}
|
|
17
|
-
} =
|
|
10
|
+
} = languageProcessing;
|
|
18
11
|
|
|
19
12
|
/*
|
|
20
13
|
* MIT License
|
|
@@ -424,7 +417,7 @@ const checkShortWordsExceptionList = function (word, shortWordsAndStems) {
|
|
|
424
417
|
*
|
|
425
418
|
* @returns {string} The stemmed word.
|
|
426
419
|
*/
|
|
427
|
-
function stem(word, morphologyData) {
|
|
420
|
+
export default function stem(word, morphologyData) {
|
|
428
421
|
word = word.toLowerCase();
|
|
429
422
|
const originalWord = word;
|
|
430
423
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stem.js","names":["_index","require","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","regexHelpers","applyAllReplacements","languageProcessing","determineRs","word","rIntervalsData","rvIndex","search","RegExp","rvRegex1","rvRegex2","substring","rvRegex3","length","r1Regex","r1Index","r1","r2Index","processStandardSuffixes","standardSuffixData","a1Index","standardSuffixes1","a2Index","standardSuffixes2","a3Index","standardSuffixes3","a4Index","standardSuffixes4","a5Index","standardSuffixes5","a6Index","standardSuffixes6","a7Index","standardSuffixes7","a8Index","standardSuffixes8","a9Index","standardSuffixes9","a10Index","standardSuffixes10","a11Index","standardSuffixes11","a12Index","standardSuffixes12","a13Index","standardSuffixes13","a14Index","standardSuffixes14","a15Index","standardSuffixes15","a2Index2","suffixesPrecedingChar1","replace","slice","precedingCharacter2","suffixesPrecedingChar2","a6Index2","suffixesPrecedingChar4","precedingCharacter5","suffixesPrecedingChar5","precedingCharacter6","suffixesPrecedingChar6","precedingCharacter3","suffixesPrecedingChar3","a7Index2","suffixesPrecedingChar7","a7Index3","a11Index2","removeVerbSuffixesStartingWithI","originalWord","verbSuffixesWithIBeginning","step2aDone","toLowerCase","exceptions","b1Regex","suffixes","removeOtherVerbSuffixes","wordAfterStep1","morphologyData","otherVerbSuffixes","regularStemmer","suffixIons","i","regex","endsWith","verbSuffixOns","removeResidualSuffixes","morphologyDataRegularStemmer","residualSuffixes","residualSuffixes1","e1Index","residualSuffix2","residualSuffix3","e2Index","residualSuffixes4","residualSuffix5","residualSuffix6","checkWordInFullFormExceptions","paradigm","includes","canonicalizeStem","stemmedWord","stemsThatBelongToOneWord","adjectives","verbs","checkShortWordsExceptionList","shortWordsAndStems","wordStemPair","cannotTakeExtraSuffixS","canTakeExtraSuffixS","stem","wordAfterShortWordsCheck","ifException","exceptionStemsWithFullForms","pluralsWithXSuffix","sShouldNotBeStemmed","nonVerbsOnEnt","nonVerbsOnOns","preProcessingStepsRegexes","rIntervals","standardSuffixes","verbSuffixesStartingWithIRemoved","yEnding","yAndSoftCEndingAndReplacement","yEndingAndReplacement","softCEnding","softCEndingAndReplacement","finalConsonantUndoubling","unaccentE","unaccentERegex","canonicalStem"],"sources":["../../../../../../src/languageProcessing/languages/fr/helpers/internal/stem.js"],"sourcesContent":["/* eslint-disable max-statements, complexity */\nimport {languageProcessing} from '../../../index';\nconst {\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList},\n regexHelpers: {applyAllReplacements}\n} = languageProcessing;\n\n/*\n * MIT License\n *\n * Copyright (c) 2017 Bastien Botella\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n/*\n * Author: Kasun Gajasinghe, University of Moratuwa\n * E-Mail: kasunbg AT gmail DOT com\n * Date: 09.08.2010\n *\n * LICENSE:\n *\n * Copyright (c) 2010, Kasun Gajasinghe. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n *\n * THIS SOFTWARE IS PROVIDED BY KASUN GAJASINGHE \"\"AS IS\"\" AND ANY EXPRESS OR IMPLIED WARRANTIES,\n * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\n * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KASUN GAJASINGHE BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\n * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE\n * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n */\n\n/**\n * Determines R1, R2 and RV.\n *\n * @param {string} word The word for which to determine the R regions.\n * @param {Object} rIntervalsData The regexes that cover French RV and R1 intervals.\n *\n * @returns {[number]} The R1, R2 and RV.\n */\nconst determineRs = function(word, rIntervalsData) {\n let rvIndex;\n\n if (\n word.search(new RegExp(rIntervalsData.rvRegex1)) !== -1 ||\n word.search(new RegExp(rIntervalsData.rvRegex2)) !== -1\n ) {\n rvIndex = 3;\n } else {\n rvIndex = word.substring(1).search(new RegExp(rIntervalsData.rvRegex3));\n if (rvIndex === -1) {\n rvIndex = word.length;\n } else {\n // +2 is to supplement the substring(1) used to find rvIndex\n rvIndex += 2;\n }\n }\n /*\n * R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel.\n * R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel.\n */\n const r1Regex = new RegExp(rIntervalsData.r1Regex);\n let r1Index = word.search(r1Regex);\n let r1 = '';\n if (r1Index === -1) {\n r1Index = word.length;\n } else {\n r1Index += 2;\n r1 = word.substring(r1Index);\n }\n\n let r2Index = r1.search(r1Regex);\n if (r2Index === -1) {\n r2Index = word.length;\n } else {\n r2Index += 2;\n r2Index += r1Index;\n }\n\n if (r1Index !== -1 && r1Index < 3) {\n r1Index = 3;\n }\n\n return [r1Index, r2Index, rvIndex];\n};\n\n/**\n * Removes or normalizes standard suffixes.\n *\n * @param {string} word The word for which to remove suffixes.\n * @param {Object} standardSuffixData The French morphology data covering standard suffixes.\n * @param {number} r1Index The start index of R1.\n * @param {number} r2Index The start index of R2.\n * @param {number} rvIndex The start index of RV.\n *\n * @returns {string} The word with standard suffixes removed or normalized.\n */\nconst processStandardSuffixes = function(word, standardSuffixData, r1Index, r2Index, rvIndex) {\n const a1Index = word.search(new RegExp(standardSuffixData.standardSuffixes1));\n const a2Index = word.search(new RegExp(standardSuffixData.standardSuffixes2));\n const a3Index = word.search(new RegExp(standardSuffixData.standardSuffixes3[0]));\n const a4Index = word.search(new RegExp(standardSuffixData.standardSuffixes4[0]));\n const a5Index = word.search(new RegExp(standardSuffixData.standardSuffixes5[0]));\n const a6Index = word.search(new RegExp(standardSuffixData.standardSuffixes6));\n const a7Index = word.search(new RegExp(standardSuffixData.standardSuffixes7));\n const a8Index = word.search(new RegExp(standardSuffixData.standardSuffixes8));\n const a9Index = word.search(new RegExp(standardSuffixData.standardSuffixes9[0]));\n const a10Index = word.search(new RegExp(standardSuffixData.standardSuffixes10[0]));\n const a11Index = word.search(new RegExp(standardSuffixData.standardSuffixes11[0]));\n const a12Index = word.search(new RegExp(standardSuffixData.standardSuffixes12));\n const a13Index = word.search(new RegExp(standardSuffixData.standardSuffixes13[0]));\n const a14Index = word.search(new RegExp(standardSuffixData.standardSuffixes14[0]));\n const a15Index = word.search(new RegExp(standardSuffixData.standardSuffixes15));\n\n if (a1Index !== -1 && a1Index >= r2Index) {\n word = word.substring(0, a1Index);\n } else if (a2Index !== -1 && a2Index >= r2Index) {\n word = word.substring(0, a2Index);\n const a2Index2 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar1[0]));\n\n if (a2Index2 !== -1 && a2Index2 >= r2Index) {\n // If preceded by ic, delete if in R2\n word = word.substring(0, a2Index2);\n } else {\n // Else replace by iqU\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar1[0]),\n standardSuffixData.suffixesPrecedingChar1[1]\n );\n }\n } else if (a3Index !== -1 && a3Index >= r2Index) {\n // Replace with log if in R2\n word = word.slice(0, a3Index) + standardSuffixData.standardSuffixes3[1];\n } else if (a4Index !== -1 && a4Index >= r2Index) {\n // Replace with u if in R2\n word = word.slice(0, a4Index) + standardSuffixData.standardSuffixes4[1];\n } else if (a5Index !== -1 && a5Index >= r2Index) {\n // Replace with ent if in R2\n word = word.slice(0, a5Index) + standardSuffixData.standardSuffixes5[1];\n } else if (a12Index !== -1 && a12Index >= r1Index) {\n // +1- amendment to non-vowel\n word = word.substring(0, a12Index + 1);\n } else if (a6Index !== -1 && a6Index >= rvIndex) {\n word = word.substring(0, a6Index);\n\n const precedingCharacter2 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar2[0])\n );\n const a6Index2 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar4[0]));\n const precedingCharacter5 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar5[0])\n );\n const precedingCharacter6 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar6[0])\n );\n if (precedingCharacter2 >= r2Index) {\n word = word.slice(0, precedingCharacter2) + standardSuffixData.suffixesPrecedingChar2[1];\n\n const precedingCharacter3 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar3[0])\n );\n if (precedingCharacter3 >= r2Index) {\n word = word.slice(0, precedingCharacter3) + standardSuffixData.suffixesPrecedingChar3[1];\n }\n } else if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar4[0])) !== -1) {\n if (a6Index2 >= r2Index) {\n word = word.substring(0, a6Index2);\n } else if (a6Index2 >= r1Index) {\n word = word.substring(0, a6Index2) + standardSuffixData.suffixesPrecedingChar4[1];\n }\n } else if (precedingCharacter5 >= r2Index) {\n // If preceded by abl or iqU, delete if in R2\n word = word.slice(0, precedingCharacter5) + standardSuffixData.suffixesPrecedingChar5[1];\n } else if (precedingCharacter6 >= rvIndex) {\n // If preceded by ièr, replace with i if in RV\n word = word.slice(0, precedingCharacter6) + standardSuffixData.suffixesPrecedingChar6[1];\n }\n } else if (a7Index !== -1 && a7Index >= r2Index) {\n // Delete if in R2\n word = word.substring(0, a7Index);\n\n const a7Index2 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar7[0]));\n const a7Index3 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar1[0]));\n if (a7Index2 !== -1) {\n // If preceded by abil, delete if in R2, else replace by abl, otherwise\n if (a7Index2 >= r2Index) {\n word = word.substring(0, a7Index2);\n } else {\n word = word.substring(0, a7Index2) + standardSuffixData.suffixesPrecedingChar7[1];\n }\n } else if (a7Index3 !== -1) {\n if (a7Index3 !== -1 && a7Index3 >= r2Index) {\n // If preceded by ic, delete if in R2\n word = word.substring(0, a7Index3);\n } else {\n // Else replace by iqU\n word = word.substring(0, a7Index3) + standardSuffixData.suffixesPrecedingChar1[1];\n }\n } else if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar2[0])) >= r2Index) {\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar2[0]),\n standardSuffixData.suffixesPrecedingChar2[1]\n );\n }\n } else if (a8Index !== -1 && a8Index >= r2Index) {\n word = word.substring(0, a8Index);\n\n if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar3[0])) >= r2Index) {\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar3[0]),\n standardSuffixData.suffixesPrecedingChar3[1]\n );\n\n if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar1[0])) >= r2Index) {\n word = word.replace(new RegExp(standardSuffixData.suffixesPrecedingChar1[0]), '');\n } else {\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar1[0]),\n standardSuffixData.suffixesPrecedingChar1[1]\n );\n }\n }\n } else if (a9Index !== -1) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes9[0]),\n standardSuffixData.standardSuffixes9[1]\n );\n } else if (a10Index >= r1Index) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes10[0]),\n standardSuffixData.standardSuffixes10[1]\n );\n } else if (a11Index !== -1) {\n const a11Index2 = word.search(new RegExp(standardSuffixData.standardSuffixes11[0]));\n\n if (a11Index2 >= r2Index) {\n word = word.substring(0, a11Index2);\n } else if (a11Index2 >= r1Index) {\n word = word.substring(0, a11Index2) + standardSuffixData.standardSuffixes11[1];\n }\n } else if (a13Index !== -1 && a13Index >= rvIndex) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes13[0]),\n standardSuffixData.standardSuffixes13[1]\n );\n } else if (a14Index !== -1 && a14Index >= rvIndex) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes14[0]),\n standardSuffixData.standardSuffixes14[1]\n );\n } else if (a15Index !== -1 && a15Index >= rvIndex) {\n word = word.substring(0, a15Index + 1);\n }\n\n return word;\n};\n\n/**\n * Removes verb suffixes starting with i.\n *\n * @param {string} word The word for which to remove suffixes.\n * @param {string} originalWord The unprocessed word.\n * @param {number} rvIndex The start index of RV.\n * @param {string} verbSuffixesWithIBeginning Data for checking French suffixes starting with I.\n *\n * @returns {{step2aDone: boolean, word: string}} The word and information about whether the conditions for step 2a were met.\n */\nconst removeVerbSuffixesStartingWithI = function(\n word,\n originalWord,\n rvIndex,\n verbSuffixesWithIBeginning\n) {\n let step2aDone = false;\n if (\n originalWord === word.toLowerCase() ||\n checkIfWordEndingIsOnExceptionList(originalWord, verbSuffixesWithIBeginning.exceptions)\n ) {\n step2aDone = true;\n\n const b1Regex = new RegExp(verbSuffixesWithIBeginning.suffixes[0]);\n if (word.search(b1Regex) >= rvIndex) {\n word = word.replace(b1Regex, verbSuffixesWithIBeginning.suffixes[1]);\n }\n }\n\n return {word, step2aDone};\n};\n\n/**\n * Removes other verb suffixes.\n *\n * @param {string} word The word for which to remove suffixes.\n * @param {boolean} step2aDone Whether step 2a was done.\n * @param {string} wordAfterStep1 The word after step 1 was done.\n * @param {number} r2Index The start index of R2.\n * @param {number} rvIndex The start index of RV.\n * @param {Object} morphologyData The French morphology data.\n *\n * @returns {string} The word after other verb suffixes were removed.\n */\nconst removeOtherVerbSuffixes = function(\n word,\n step2aDone,\n wordAfterStep1,\n r2Index,\n rvIndex,\n morphologyData\n) {\n const otherVerbSuffixes = morphologyData.regularStemmer.otherVerbSuffixes;\n\n if (step2aDone && wordAfterStep1 === word) {\n const suffixIons = new RegExp(otherVerbSuffixes[0]);\n if (word.search(suffixIons) >= r2Index) {\n return word.replace(suffixIons, '');\n }\n\n for (let i = 1; i < otherVerbSuffixes.length; i++) {\n const regex = new RegExp(otherVerbSuffixes[i]);\n if (word.search(regex) >= rvIndex) {\n return word.replace(regex, '');\n }\n }\n // Check if a word ends in \"ons\" preceded by \"i\", if it is \"ons\" is not stemmed.\n if (word.endsWith('ions')) {\n return word;\n }\n\n // Check if a word ends in \"ons\" preceded by other than \"i\" and stem it if it is in RV.\n const verbSuffixOns = new RegExp(morphologyData.regularStemmer.verbSuffixOns);\n if (word.search(verbSuffixOns) >= rvIndex) {\n word = word.replace(verbSuffixOns, '');\n }\n }\n\n return word;\n};\n\n/**\n * Removes residual suffixes.\n *\n * @param {string} word The word for which to remove residual suffixes.\n * @param {number} rvIndex The start index of RV.\n * @param {number} r2Index The start index of R2.\n * @param {Object} morphologyDataRegularStemmer The French morphology data.\n *\n * @returns {string} The word after residual suffixes were removed.\n */\nconst removeResidualSuffixes = function(word, rvIndex, r2Index, morphologyDataRegularStemmer) {\n const residualSuffixes = morphologyDataRegularStemmer.residualSuffixes;\n if (word.search(new RegExp(residualSuffixes.residualSuffixes1[0])) >= rvIndex) {\n word = word.replace(\n new RegExp(residualSuffixes.residualSuffixes1[0]),\n residualSuffixes.residualSuffixes1[1]\n );\n }\n\n const e1Index = word.search(new RegExp(residualSuffixes.residualSuffix2));\n\n if (e1Index >= r2Index && word.search(new RegExp(residualSuffixes.residualSuffix3)) >= rvIndex) {\n word = word.substring(0, e1Index);\n } else {\n let e2Index = word.search(new RegExp(residualSuffixes.residualSuffixes4[0]));\n\n if (e2Index >= rvIndex) {\n word = word.substring(0, e2Index) + residualSuffixes.residualSuffixes4[1];\n } else {\n e2Index = word.search(new RegExp(residualSuffixes.residualSuffix5));\n if (e2Index >= rvIndex) {\n // Delete last e.\n word = word.substring(0, e2Index);\n } else {\n e2Index = word.search(new RegExp(residualSuffixes.residualSuffix6[0]));\n if (e2Index >= rvIndex) {\n word = word.substring(0, e2Index) + residualSuffixes.residualSuffix6[1];\n }\n }\n }\n }\n\n return word;\n};\n\n/**\n * Checks whether a word is in the full-form exception list and if so returns the canonical stem.\n *\n * @param {string} word\t The word to be checked.\n * @param {Object} exceptions The list of full-form exceptions to be checked in.\n *\n * @returns {null|string} The canonical stem or null if nothing was found.\n */\nconst checkWordInFullFormExceptions = function(word, exceptions) {\n for (const paradigm of exceptions) {\n if (paradigm[1].includes(word)) {\n return paradigm[0];\n }\n }\n return null;\n};\n\n/**\n * Check whether the stem is on the exception list of stems that belong to one word. If it is, returns the canonical stem.\n *\n * @param {string}\tstemmedWord\t\t\t\t\tThe stemmed word.\n * @param {Object}\tstemsThatBelongToOneWord\tThe list of stems that belong to one word.\n *\n * @returns {null|string}\tThe canonical stem if word was found on the list.\n */\nconst canonicalizeStem = function(stemmedWord, stemsThatBelongToOneWord) {\n // Check the adjectives list.\n for (const paradigm of stemsThatBelongToOneWord.adjectives) {\n if (paradigm.includes(stemmedWord)) {\n return paradigm[0];\n }\n }\n // Check the verbs list. The infinitive stem is always the canonical stem for verbs.\n for (const paradigm of stemsThatBelongToOneWord.verbs) {\n if (paradigm.includes(stemmedWord)) {\n return paradigm[0];\n }\n }\n};\n\n/**\n * Checks whether the word is on the list of words which should be stemmed, even though the suffix would not be found in the\n * required region. If the word is found on the list, the stem specified in that list is returned.\n *\n * @param {string}\tword\t\t\t\tThe word to check.\n * @param {Object}\tshortWordsAndStems\tThe list to check.\n *\n * @returns {null|string} The stem or null if the word was not found on the list.\n */\nconst checkShortWordsExceptionList = function(word, shortWordsAndStems) {\n // First check whether the word is on the sub-list of words that cannot take an extra -s suffix.\n for (const wordStemPair of shortWordsAndStems.cannotTakeExtraSuffixS) {\n if (wordStemPair[0] === word) {\n return wordStemPair[1];\n }\n }\n // If the word was not found on the first sub-list, check the second sub-list of words that can take an extra -s suffix.\n if (word.endsWith('s')) {\n word = word.slice(0, -1);\n }\n for (const wordStemPair of shortWordsAndStems.canTakeExtraSuffixS) {\n if (wordStemPair[0] === word) {\n return wordStemPair[1];\n }\n }\n};\n\n/**\n * Stems French words.\n *\n * @param {string} word The word to stem.\n * @param {Object} morphologyData The French morphology data.\n *\n * @returns {string} The stemmed word.\n */\nexport default function stem(word, morphologyData) {\n word = word.toLowerCase();\n const originalWord = word;\n\n // Check if the word is on an exception list of words that should be stemmed even though the suffix is not in the required region.\n const wordAfterShortWordsCheck = checkShortWordsExceptionList(\n word,\n morphologyData.shortWordsAndStems\n );\n if (wordAfterShortWordsCheck) {\n return wordAfterShortWordsCheck;\n }\n\n // Check if the word is on an exception list for which all forms of a word and its stem are listed.\n const ifException = checkWordInFullFormExceptions(\n word,\n morphologyData.exceptionStemsWithFullForms\n );\n if (ifException) {\n return ifException;\n }\n\n // Check the exception list of words with plural suffix -x.\n if (word.endsWith('x')) {\n const pluralsWithXSuffix = morphologyData.pluralsWithXSuffix;\n if (pluralsWithXSuffix.includes(word)) {\n return word.slice(0, -1);\n }\n }\n\n // Check if the word is on the exception list of words for which -s should not be stemmed.\n if (word.endsWith('s')) {\n const sShouldNotBeStemmed = morphologyData.sShouldNotBeStemmed;\n if (sShouldNotBeStemmed.includes(word)) {\n return word;\n }\n }\n\n // Check if the word is on the exception list of words for which -ent should not be stemmed.\n const nonVerbsOnEnt = morphologyData.nonVerbsOnEnt;\n if (word.endsWith('ent')) {\n if (nonVerbsOnEnt.includes(word)) {\n return word;\n }\n }\n if (word.endsWith('ents')) {\n if (nonVerbsOnEnt.includes(word.slice(0, -1))) {\n return word.slice(0, -1);\n }\n }\n\n // Check if word is on the exception list of nouns and adjectives for which the verb suffix -ons should not be stemmed.\n const nonVerbsOnOns = morphologyData.nonVerbsOnOns;\n if (word.endsWith('ons')) {\n if (nonVerbsOnOns.includes(word)) {\n return word.slice(0, -1);\n }\n }\n\n // Pre-processing steps\n word = applyAllReplacements(word, morphologyData.regularStemmer.preProcessingStepsRegexes);\n\n // Determine R1, R2 & RV regions.\n const [r1Index, r2Index, rvIndex] = determineRs(word, morphologyData.regularStemmer.rIntervals);\n\n /*\n * Step 1:\n * Remove standard suffixes\n */\n word = processStandardSuffixes(\n word,\n morphologyData.regularStemmer.standardSuffixes,\n r1Index,\n r2Index,\n rvIndex\n );\n const wordAfterStep1 = word;\n\n /*\n * Step 2a:\n * Stem verb suffixes beginning with \"i\"\n */\n const verbSuffixesStartingWithIRemoved = removeVerbSuffixesStartingWithI(\n word,\n originalWord,\n rvIndex,\n morphologyData.regularStemmer.verbSuffixesWithIBeginning\n );\n word = verbSuffixesStartingWithIRemoved.word;\n const step2aDone = verbSuffixesStartingWithIRemoved.step2aDone;\n\n /*\n * Step 2b:\n * Stem other verb suffixes\n */\n if (!nonVerbsOnEnt.includes(word)) {\n word = removeOtherVerbSuffixes(\n word,\n step2aDone,\n wordAfterStep1,\n r2Index,\n rvIndex,\n morphologyData\n );\n }\n\n if (originalWord === word.toLowerCase()) {\n /* Step 4:\n * Stem residual suffixes.\n */\n word = removeResidualSuffixes(word, rvIndex, r2Index, morphologyData.regularStemmer);\n } else {\n /*\n * Step 3 (only needs to be executed if step 4 isn't executed)\n * Replace final Y with i or final ç with c.\n */\n const yEnding =\n morphologyData.regularStemmer.yAndSoftCEndingAndReplacement.yEndingAndReplacement;\n const softCEnding =\n morphologyData.regularStemmer.yAndSoftCEndingAndReplacement.softCEndingAndReplacement;\n if (word.endsWith(yEnding[0])) {\n word = word.slice(0, -1) + yEnding[1];\n } else if (word.endsWith(softCEnding[0])) {\n word = word.slice(0, -1) + softCEnding[1];\n }\n }\n\n /* Step 5:\n * Undouble final consonants\n */\n word = applyAllReplacements(word, morphologyData.regularStemmer.finalConsonantUndoubling);\n\n /* Step 6:\n * Un-accent\n */\n const unaccentE = morphologyData.regularStemmer.unaccentERegex;\n word = word.replace(new RegExp(unaccentE[0]), unaccentE[1]);\n word = word.toLowerCase();\n\n const canonicalStem = canonicalizeStem(word, morphologyData.stemsThatBelongToOneWord);\n if (canonicalStem) {\n return canonicalStem;\n }\n\n return word;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"stem.js","names":["languageProcessing","exceptionListHelpers","checkIfWordEndingIsOnExceptionList","regexHelpers","applyAllReplacements","determineRs","word","rIntervalsData","rvIndex","search","RegExp","rvRegex1","rvRegex2","substring","rvRegex3","length","r1Regex","r1Index","r1","r2Index","processStandardSuffixes","standardSuffixData","a1Index","standardSuffixes1","a2Index","standardSuffixes2","a3Index","standardSuffixes3","a4Index","standardSuffixes4","a5Index","standardSuffixes5","a6Index","standardSuffixes6","a7Index","standardSuffixes7","a8Index","standardSuffixes8","a9Index","standardSuffixes9","a10Index","standardSuffixes10","a11Index","standardSuffixes11","a12Index","standardSuffixes12","a13Index","standardSuffixes13","a14Index","standardSuffixes14","a15Index","standardSuffixes15","a2Index2","suffixesPrecedingChar1","replace","slice","precedingCharacter2","suffixesPrecedingChar2","a6Index2","suffixesPrecedingChar4","precedingCharacter5","suffixesPrecedingChar5","precedingCharacter6","suffixesPrecedingChar6","precedingCharacter3","suffixesPrecedingChar3","a7Index2","suffixesPrecedingChar7","a7Index3","a11Index2","removeVerbSuffixesStartingWithI","originalWord","verbSuffixesWithIBeginning","step2aDone","toLowerCase","exceptions","b1Regex","suffixes","removeOtherVerbSuffixes","wordAfterStep1","morphologyData","otherVerbSuffixes","regularStemmer","suffixIons","i","regex","endsWith","verbSuffixOns","removeResidualSuffixes","morphologyDataRegularStemmer","residualSuffixes","residualSuffixes1","e1Index","residualSuffix2","residualSuffix3","e2Index","residualSuffixes4","residualSuffix5","residualSuffix6","checkWordInFullFormExceptions","paradigm","includes","canonicalizeStem","stemmedWord","stemsThatBelongToOneWord","adjectives","verbs","checkShortWordsExceptionList","shortWordsAndStems","wordStemPair","cannotTakeExtraSuffixS","canTakeExtraSuffixS","stem","wordAfterShortWordsCheck","ifException","exceptionStemsWithFullForms","pluralsWithXSuffix","sShouldNotBeStemmed","nonVerbsOnEnt","nonVerbsOnOns","preProcessingStepsRegexes","rIntervals","standardSuffixes","verbSuffixesStartingWithIRemoved","yEnding","yAndSoftCEndingAndReplacement","yEndingAndReplacement","softCEnding","softCEndingAndReplacement","finalConsonantUndoubling","unaccentE","unaccentERegex","canonicalStem"],"sources":["../../../../../../src/languageProcessing/languages/fr/helpers/internal/stem.js"],"sourcesContent":["/* eslint-disable max-statements, complexity */\nimport {languageProcessing} from '@axyseo/index.js';\nconst {\n exceptionListHelpers: {checkIfWordEndingIsOnExceptionList},\n regexHelpers: {applyAllReplacements}\n} = languageProcessing;\n\n/*\n * MIT License\n *\n * Copyright (c) 2017 Bastien Botella\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n/*\n * Author: Kasun Gajasinghe, University of Moratuwa\n * E-Mail: kasunbg AT gmail DOT com\n * Date: 09.08.2010\n *\n * LICENSE:\n *\n * Copyright (c) 2010, Kasun Gajasinghe. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n *\n * THIS SOFTWARE IS PROVIDED BY KASUN GAJASINGHE \"\"AS IS\"\" AND ANY EXPRESS OR IMPLIED WARRANTIES,\n * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\n * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KASUN GAJASINGHE BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\n * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE\n * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n */\n\n/**\n * Determines R1, R2 and RV.\n *\n * @param {string} word The word for which to determine the R regions.\n * @param {Object} rIntervalsData The regexes that cover French RV and R1 intervals.\n *\n * @returns {[number]} The R1, R2 and RV.\n */\nconst determineRs = function(word, rIntervalsData) {\n let rvIndex;\n\n if (\n word.search(new RegExp(rIntervalsData.rvRegex1)) !== -1 ||\n word.search(new RegExp(rIntervalsData.rvRegex2)) !== -1\n ) {\n rvIndex = 3;\n } else {\n rvIndex = word.substring(1).search(new RegExp(rIntervalsData.rvRegex3));\n if (rvIndex === -1) {\n rvIndex = word.length;\n } else {\n // +2 is to supplement the substring(1) used to find rvIndex\n rvIndex += 2;\n }\n }\n /*\n * R1 is the region after the first non-vowel following a vowel, or the end of the word if there is no such non-vowel.\n * R2 is the region after the first non-vowel following a vowel in R1, or the end of the word if there is no such non-vowel.\n */\n const r1Regex = new RegExp(rIntervalsData.r1Regex);\n let r1Index = word.search(r1Regex);\n let r1 = '';\n if (r1Index === -1) {\n r1Index = word.length;\n } else {\n r1Index += 2;\n r1 = word.substring(r1Index);\n }\n\n let r2Index = r1.search(r1Regex);\n if (r2Index === -1) {\n r2Index = word.length;\n } else {\n r2Index += 2;\n r2Index += r1Index;\n }\n\n if (r1Index !== -1 && r1Index < 3) {\n r1Index = 3;\n }\n\n return [r1Index, r2Index, rvIndex];\n};\n\n/**\n * Removes or normalizes standard suffixes.\n *\n * @param {string} word The word for which to remove suffixes.\n * @param {Object} standardSuffixData The French morphology data covering standard suffixes.\n * @param {number} r1Index The start index of R1.\n * @param {number} r2Index The start index of R2.\n * @param {number} rvIndex The start index of RV.\n *\n * @returns {string} The word with standard suffixes removed or normalized.\n */\nconst processStandardSuffixes = function(word, standardSuffixData, r1Index, r2Index, rvIndex) {\n const a1Index = word.search(new RegExp(standardSuffixData.standardSuffixes1));\n const a2Index = word.search(new RegExp(standardSuffixData.standardSuffixes2));\n const a3Index = word.search(new RegExp(standardSuffixData.standardSuffixes3[0]));\n const a4Index = word.search(new RegExp(standardSuffixData.standardSuffixes4[0]));\n const a5Index = word.search(new RegExp(standardSuffixData.standardSuffixes5[0]));\n const a6Index = word.search(new RegExp(standardSuffixData.standardSuffixes6));\n const a7Index = word.search(new RegExp(standardSuffixData.standardSuffixes7));\n const a8Index = word.search(new RegExp(standardSuffixData.standardSuffixes8));\n const a9Index = word.search(new RegExp(standardSuffixData.standardSuffixes9[0]));\n const a10Index = word.search(new RegExp(standardSuffixData.standardSuffixes10[0]));\n const a11Index = word.search(new RegExp(standardSuffixData.standardSuffixes11[0]));\n const a12Index = word.search(new RegExp(standardSuffixData.standardSuffixes12));\n const a13Index = word.search(new RegExp(standardSuffixData.standardSuffixes13[0]));\n const a14Index = word.search(new RegExp(standardSuffixData.standardSuffixes14[0]));\n const a15Index = word.search(new RegExp(standardSuffixData.standardSuffixes15));\n\n if (a1Index !== -1 && a1Index >= r2Index) {\n word = word.substring(0, a1Index);\n } else if (a2Index !== -1 && a2Index >= r2Index) {\n word = word.substring(0, a2Index);\n const a2Index2 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar1[0]));\n\n if (a2Index2 !== -1 && a2Index2 >= r2Index) {\n // If preceded by ic, delete if in R2\n word = word.substring(0, a2Index2);\n } else {\n // Else replace by iqU\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar1[0]),\n standardSuffixData.suffixesPrecedingChar1[1]\n );\n }\n } else if (a3Index !== -1 && a3Index >= r2Index) {\n // Replace with log if in R2\n word = word.slice(0, a3Index) + standardSuffixData.standardSuffixes3[1];\n } else if (a4Index !== -1 && a4Index >= r2Index) {\n // Replace with u if in R2\n word = word.slice(0, a4Index) + standardSuffixData.standardSuffixes4[1];\n } else if (a5Index !== -1 && a5Index >= r2Index) {\n // Replace with ent if in R2\n word = word.slice(0, a5Index) + standardSuffixData.standardSuffixes5[1];\n } else if (a12Index !== -1 && a12Index >= r1Index) {\n // +1- amendment to non-vowel\n word = word.substring(0, a12Index + 1);\n } else if (a6Index !== -1 && a6Index >= rvIndex) {\n word = word.substring(0, a6Index);\n\n const precedingCharacter2 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar2[0])\n );\n const a6Index2 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar4[0]));\n const precedingCharacter5 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar5[0])\n );\n const precedingCharacter6 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar6[0])\n );\n if (precedingCharacter2 >= r2Index) {\n word = word.slice(0, precedingCharacter2) + standardSuffixData.suffixesPrecedingChar2[1];\n\n const precedingCharacter3 = word.search(\n new RegExp(standardSuffixData.suffixesPrecedingChar3[0])\n );\n if (precedingCharacter3 >= r2Index) {\n word = word.slice(0, precedingCharacter3) + standardSuffixData.suffixesPrecedingChar3[1];\n }\n } else if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar4[0])) !== -1) {\n if (a6Index2 >= r2Index) {\n word = word.substring(0, a6Index2);\n } else if (a6Index2 >= r1Index) {\n word = word.substring(0, a6Index2) + standardSuffixData.suffixesPrecedingChar4[1];\n }\n } else if (precedingCharacter5 >= r2Index) {\n // If preceded by abl or iqU, delete if in R2\n word = word.slice(0, precedingCharacter5) + standardSuffixData.suffixesPrecedingChar5[1];\n } else if (precedingCharacter6 >= rvIndex) {\n // If preceded by ièr, replace with i if in RV\n word = word.slice(0, precedingCharacter6) + standardSuffixData.suffixesPrecedingChar6[1];\n }\n } else if (a7Index !== -1 && a7Index >= r2Index) {\n // Delete if in R2\n word = word.substring(0, a7Index);\n\n const a7Index2 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar7[0]));\n const a7Index3 = word.search(new RegExp(standardSuffixData.suffixesPrecedingChar1[0]));\n if (a7Index2 !== -1) {\n // If preceded by abil, delete if in R2, else replace by abl, otherwise\n if (a7Index2 >= r2Index) {\n word = word.substring(0, a7Index2);\n } else {\n word = word.substring(0, a7Index2) + standardSuffixData.suffixesPrecedingChar7[1];\n }\n } else if (a7Index3 !== -1) {\n if (a7Index3 !== -1 && a7Index3 >= r2Index) {\n // If preceded by ic, delete if in R2\n word = word.substring(0, a7Index3);\n } else {\n // Else replace by iqU\n word = word.substring(0, a7Index3) + standardSuffixData.suffixesPrecedingChar1[1];\n }\n } else if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar2[0])) >= r2Index) {\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar2[0]),\n standardSuffixData.suffixesPrecedingChar2[1]\n );\n }\n } else if (a8Index !== -1 && a8Index >= r2Index) {\n word = word.substring(0, a8Index);\n\n if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar3[0])) >= r2Index) {\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar3[0]),\n standardSuffixData.suffixesPrecedingChar3[1]\n );\n\n if (word.search(new RegExp(standardSuffixData.suffixesPrecedingChar1[0])) >= r2Index) {\n word = word.replace(new RegExp(standardSuffixData.suffixesPrecedingChar1[0]), '');\n } else {\n word = word.replace(\n new RegExp(standardSuffixData.suffixesPrecedingChar1[0]),\n standardSuffixData.suffixesPrecedingChar1[1]\n );\n }\n }\n } else if (a9Index !== -1) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes9[0]),\n standardSuffixData.standardSuffixes9[1]\n );\n } else if (a10Index >= r1Index) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes10[0]),\n standardSuffixData.standardSuffixes10[1]\n );\n } else if (a11Index !== -1) {\n const a11Index2 = word.search(new RegExp(standardSuffixData.standardSuffixes11[0]));\n\n if (a11Index2 >= r2Index) {\n word = word.substring(0, a11Index2);\n } else if (a11Index2 >= r1Index) {\n word = word.substring(0, a11Index2) + standardSuffixData.standardSuffixes11[1];\n }\n } else if (a13Index !== -1 && a13Index >= rvIndex) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes13[0]),\n standardSuffixData.standardSuffixes13[1]\n );\n } else if (a14Index !== -1 && a14Index >= rvIndex) {\n word = word.replace(\n new RegExp(standardSuffixData.standardSuffixes14[0]),\n standardSuffixData.standardSuffixes14[1]\n );\n } else if (a15Index !== -1 && a15Index >= rvIndex) {\n word = word.substring(0, a15Index + 1);\n }\n\n return word;\n};\n\n/**\n * Removes verb suffixes starting with i.\n *\n * @param {string} word The word for which to remove suffixes.\n * @param {string} originalWord The unprocessed word.\n * @param {number} rvIndex The start index of RV.\n * @param {string} verbSuffixesWithIBeginning Data for checking French suffixes starting with I.\n *\n * @returns {{step2aDone: boolean, word: string}} The word and information about whether the conditions for step 2a were met.\n */\nconst removeVerbSuffixesStartingWithI = function(\n word,\n originalWord,\n rvIndex,\n verbSuffixesWithIBeginning\n) {\n let step2aDone = false;\n if (\n originalWord === word.toLowerCase() ||\n checkIfWordEndingIsOnExceptionList(originalWord, verbSuffixesWithIBeginning.exceptions)\n ) {\n step2aDone = true;\n\n const b1Regex = new RegExp(verbSuffixesWithIBeginning.suffixes[0]);\n if (word.search(b1Regex) >= rvIndex) {\n word = word.replace(b1Regex, verbSuffixesWithIBeginning.suffixes[1]);\n }\n }\n\n return {word, step2aDone};\n};\n\n/**\n * Removes other verb suffixes.\n *\n * @param {string} word The word for which to remove suffixes.\n * @param {boolean} step2aDone Whether step 2a was done.\n * @param {string} wordAfterStep1 The word after step 1 was done.\n * @param {number} r2Index The start index of R2.\n * @param {number} rvIndex The start index of RV.\n * @param {Object} morphologyData The French morphology data.\n *\n * @returns {string} The word after other verb suffixes were removed.\n */\nconst removeOtherVerbSuffixes = function(\n word,\n step2aDone,\n wordAfterStep1,\n r2Index,\n rvIndex,\n morphologyData\n) {\n const otherVerbSuffixes = morphologyData.regularStemmer.otherVerbSuffixes;\n\n if (step2aDone && wordAfterStep1 === word) {\n const suffixIons = new RegExp(otherVerbSuffixes[0]);\n if (word.search(suffixIons) >= r2Index) {\n return word.replace(suffixIons, '');\n }\n\n for (let i = 1; i < otherVerbSuffixes.length; i++) {\n const regex = new RegExp(otherVerbSuffixes[i]);\n if (word.search(regex) >= rvIndex) {\n return word.replace(regex, '');\n }\n }\n // Check if a word ends in \"ons\" preceded by \"i\", if it is \"ons\" is not stemmed.\n if (word.endsWith('ions')) {\n return word;\n }\n\n // Check if a word ends in \"ons\" preceded by other than \"i\" and stem it if it is in RV.\n const verbSuffixOns = new RegExp(morphologyData.regularStemmer.verbSuffixOns);\n if (word.search(verbSuffixOns) >= rvIndex) {\n word = word.replace(verbSuffixOns, '');\n }\n }\n\n return word;\n};\n\n/**\n * Removes residual suffixes.\n *\n * @param {string} word The word for which to remove residual suffixes.\n * @param {number} rvIndex The start index of RV.\n * @param {number} r2Index The start index of R2.\n * @param {Object} morphologyDataRegularStemmer The French morphology data.\n *\n * @returns {string} The word after residual suffixes were removed.\n */\nconst removeResidualSuffixes = function(word, rvIndex, r2Index, morphologyDataRegularStemmer) {\n const residualSuffixes = morphologyDataRegularStemmer.residualSuffixes;\n if (word.search(new RegExp(residualSuffixes.residualSuffixes1[0])) >= rvIndex) {\n word = word.replace(\n new RegExp(residualSuffixes.residualSuffixes1[0]),\n residualSuffixes.residualSuffixes1[1]\n );\n }\n\n const e1Index = word.search(new RegExp(residualSuffixes.residualSuffix2));\n\n if (e1Index >= r2Index && word.search(new RegExp(residualSuffixes.residualSuffix3)) >= rvIndex) {\n word = word.substring(0, e1Index);\n } else {\n let e2Index = word.search(new RegExp(residualSuffixes.residualSuffixes4[0]));\n\n if (e2Index >= rvIndex) {\n word = word.substring(0, e2Index) + residualSuffixes.residualSuffixes4[1];\n } else {\n e2Index = word.search(new RegExp(residualSuffixes.residualSuffix5));\n if (e2Index >= rvIndex) {\n // Delete last e.\n word = word.substring(0, e2Index);\n } else {\n e2Index = word.search(new RegExp(residualSuffixes.residualSuffix6[0]));\n if (e2Index >= rvIndex) {\n word = word.substring(0, e2Index) + residualSuffixes.residualSuffix6[1];\n }\n }\n }\n }\n\n return word;\n};\n\n/**\n * Checks whether a word is in the full-form exception list and if so returns the canonical stem.\n *\n * @param {string} word\t The word to be checked.\n * @param {Object} exceptions The list of full-form exceptions to be checked in.\n *\n * @returns {null|string} The canonical stem or null if nothing was found.\n */\nconst checkWordInFullFormExceptions = function(word, exceptions) {\n for (const paradigm of exceptions) {\n if (paradigm[1].includes(word)) {\n return paradigm[0];\n }\n }\n return null;\n};\n\n/**\n * Check whether the stem is on the exception list of stems that belong to one word. If it is, returns the canonical stem.\n *\n * @param {string}\tstemmedWord\t\t\t\t\tThe stemmed word.\n * @param {Object}\tstemsThatBelongToOneWord\tThe list of stems that belong to one word.\n *\n * @returns {null|string}\tThe canonical stem if word was found on the list.\n */\nconst canonicalizeStem = function(stemmedWord, stemsThatBelongToOneWord) {\n // Check the adjectives list.\n for (const paradigm of stemsThatBelongToOneWord.adjectives) {\n if (paradigm.includes(stemmedWord)) {\n return paradigm[0];\n }\n }\n // Check the verbs list. The infinitive stem is always the canonical stem for verbs.\n for (const paradigm of stemsThatBelongToOneWord.verbs) {\n if (paradigm.includes(stemmedWord)) {\n return paradigm[0];\n }\n }\n};\n\n/**\n * Checks whether the word is on the list of words which should be stemmed, even though the suffix would not be found in the\n * required region. If the word is found on the list, the stem specified in that list is returned.\n *\n * @param {string}\tword\t\t\t\tThe word to check.\n * @param {Object}\tshortWordsAndStems\tThe list to check.\n *\n * @returns {null|string} The stem or null if the word was not found on the list.\n */\nconst checkShortWordsExceptionList = function(word, shortWordsAndStems) {\n // First check whether the word is on the sub-list of words that cannot take an extra -s suffix.\n for (const wordStemPair of shortWordsAndStems.cannotTakeExtraSuffixS) {\n if (wordStemPair[0] === word) {\n return wordStemPair[1];\n }\n }\n // If the word was not found on the first sub-list, check the second sub-list of words that can take an extra -s suffix.\n if (word.endsWith('s')) {\n word = word.slice(0, -1);\n }\n for (const wordStemPair of shortWordsAndStems.canTakeExtraSuffixS) {\n if (wordStemPair[0] === word) {\n return wordStemPair[1];\n }\n }\n};\n\n/**\n * Stems French words.\n *\n * @param {string} word The word to stem.\n * @param {Object} morphologyData The French morphology data.\n *\n * @returns {string} The stemmed word.\n */\nexport default function stem(word, morphologyData) {\n word = word.toLowerCase();\n const originalWord = word;\n\n // Check if the word is on an exception list of words that should be stemmed even though the suffix is not in the required region.\n const wordAfterShortWordsCheck = checkShortWordsExceptionList(\n word,\n morphologyData.shortWordsAndStems\n );\n if (wordAfterShortWordsCheck) {\n return wordAfterShortWordsCheck;\n }\n\n // Check if the word is on an exception list for which all forms of a word and its stem are listed.\n const ifException = checkWordInFullFormExceptions(\n word,\n morphologyData.exceptionStemsWithFullForms\n );\n if (ifException) {\n return ifException;\n }\n\n // Check the exception list of words with plural suffix -x.\n if (word.endsWith('x')) {\n const pluralsWithXSuffix = morphologyData.pluralsWithXSuffix;\n if (pluralsWithXSuffix.includes(word)) {\n return word.slice(0, -1);\n }\n }\n\n // Check if the word is on the exception list of words for which -s should not be stemmed.\n if (word.endsWith('s')) {\n const sShouldNotBeStemmed = morphologyData.sShouldNotBeStemmed;\n if (sShouldNotBeStemmed.includes(word)) {\n return word;\n }\n }\n\n // Check if the word is on the exception list of words for which -ent should not be stemmed.\n const nonVerbsOnEnt = morphologyData.nonVerbsOnEnt;\n if (word.endsWith('ent')) {\n if (nonVerbsOnEnt.includes(word)) {\n return word;\n }\n }\n if (word.endsWith('ents')) {\n if (nonVerbsOnEnt.includes(word.slice(0, -1))) {\n return word.slice(0, -1);\n }\n }\n\n // Check if word is on the exception list of nouns and adjectives for which the verb suffix -ons should not be stemmed.\n const nonVerbsOnOns = morphologyData.nonVerbsOnOns;\n if (word.endsWith('ons')) {\n if (nonVerbsOnOns.includes(word)) {\n return word.slice(0, -1);\n }\n }\n\n // Pre-processing steps\n word = applyAllReplacements(word, morphologyData.regularStemmer.preProcessingStepsRegexes);\n\n // Determine R1, R2 & RV regions.\n const [r1Index, r2Index, rvIndex] = determineRs(word, morphologyData.regularStemmer.rIntervals);\n\n /*\n * Step 1:\n * Remove standard suffixes\n */\n word = processStandardSuffixes(\n word,\n morphologyData.regularStemmer.standardSuffixes,\n r1Index,\n r2Index,\n rvIndex\n );\n const wordAfterStep1 = word;\n\n /*\n * Step 2a:\n * Stem verb suffixes beginning with \"i\"\n */\n const verbSuffixesStartingWithIRemoved = removeVerbSuffixesStartingWithI(\n word,\n originalWord,\n rvIndex,\n morphologyData.regularStemmer.verbSuffixesWithIBeginning\n );\n word = verbSuffixesStartingWithIRemoved.word;\n const step2aDone = verbSuffixesStartingWithIRemoved.step2aDone;\n\n /*\n * Step 2b:\n * Stem other verb suffixes\n */\n if (!nonVerbsOnEnt.includes(word)) {\n word = removeOtherVerbSuffixes(\n word,\n step2aDone,\n wordAfterStep1,\n r2Index,\n rvIndex,\n morphologyData\n );\n }\n\n if (originalWord === word.toLowerCase()) {\n /* Step 4:\n * Stem residual suffixes.\n */\n word = removeResidualSuffixes(word, rvIndex, r2Index, morphologyData.regularStemmer);\n } else {\n /*\n * Step 3 (only needs to be executed if step 4 isn't executed)\n * Replace final Y with i or final ç with c.\n */\n const yEnding =\n morphologyData.regularStemmer.yAndSoftCEndingAndReplacement.yEndingAndReplacement;\n const softCEnding =\n morphologyData.regularStemmer.yAndSoftCEndingAndReplacement.softCEndingAndReplacement;\n if (word.endsWith(yEnding[0])) {\n word = word.slice(0, -1) + yEnding[1];\n } else if (word.endsWith(softCEnding[0])) {\n word = word.slice(0, -1) + softCEnding[1];\n }\n }\n\n /* Step 5:\n * Undouble final consonants\n */\n word = applyAllReplacements(word, morphologyData.regularStemmer.finalConsonantUndoubling);\n\n /* Step 6:\n * Un-accent\n */\n const unaccentE = morphologyData.regularStemmer.unaccentERegex;\n word = word.replace(new RegExp(unaccentE[0]), unaccentE[1]);\n word = word.toLowerCase();\n\n const canonicalStem = canonicalizeStem(word, morphologyData.stemsThatBelongToOneWord);\n if (canonicalStem) {\n return canonicalStem;\n }\n\n return word;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _lodash = require("lodash");
|
|
8
|
-
var _getParticiples = _interopRequireDefault(require("../helpers/internal/getParticiples.js"));
|
|
9
|
-
var _index = require("../../../index");
|
|
10
|
-
var _functionWords = require("../config/functionWords");
|
|
11
|
-
var _exceptionsParticiplesActive = require("../config/internal/exceptionsParticiplesActive");
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1
|
+
import { includes } from 'lodash';
|
|
2
|
+
import getParticiples from "../helpers/internal/getParticiples.js";
|
|
3
|
+
import { languageProcessing } from "../../../../index.js";
|
|
13
4
|
const {
|
|
14
5
|
precedenceException,
|
|
15
6
|
directPrecedenceException,
|
|
16
7
|
values
|
|
17
|
-
} =
|
|
8
|
+
} = languageProcessing;
|
|
18
9
|
const {
|
|
19
10
|
Clause
|
|
20
11
|
} = values;
|
|
12
|
+
import { cannotBeBetweenPassiveAuxiliaryAndParticiple, cannotDirectlyPrecedePassiveParticiple } from "../config/functionWords";
|
|
13
|
+
import { adjectivesVerbs as exceptionsParticiplesAdjectivesVerbs, nouns as exceptionsParticiplesNouns, others as exceptionsParticiplesOthers } from "../config/internal/exceptionsParticiplesActive";
|
|
14
|
+
|
|
21
15
|
/**
|
|
22
16
|
* Creates a Clause object for the French language.
|
|
23
17
|
*/
|
|
@@ -32,7 +26,7 @@ class FrenchClause extends Clause {
|
|
|
32
26
|
*/
|
|
33
27
|
constructor(clauseText, auxiliaries) {
|
|
34
28
|
super(clauseText, auxiliaries);
|
|
35
|
-
this._participles = (
|
|
29
|
+
this._participles = getParticiples(this.getClauseText());
|
|
36
30
|
this.checkParticiples();
|
|
37
31
|
}
|
|
38
32
|
|
|
@@ -44,7 +38,7 @@ class FrenchClause extends Clause {
|
|
|
44
38
|
*/
|
|
45
39
|
checkParticiples() {
|
|
46
40
|
const clause = this.getClauseText();
|
|
47
|
-
const passiveParticiples = this.getParticiples().filter(participle => !participle.startsWith("l'") && !participle.startsWith("d'") && !
|
|
41
|
+
const passiveParticiples = this.getParticiples().filter(participle => !participle.startsWith("l'") && !participle.startsWith("d'") && !includes(exceptionsParticiplesOthers, participle) && !this.isOnAdjectiveVerbExceptionList(participle) && !this.isOnNounExceptionList(participle) && !directPrecedenceException(clause, participle, cannotDirectlyPrecedePassiveParticiple) && !precedenceException(clause, participle, cannotBeBetweenPassiveAuxiliaryAndParticiple));
|
|
48
42
|
this.setPassive(passiveParticiples.length > 0);
|
|
49
43
|
}
|
|
50
44
|
|
|
@@ -56,7 +50,7 @@ class FrenchClause extends Clause {
|
|
|
56
50
|
* @returns {boolean} Whether or not the participle is on the adjective and verb exception list.
|
|
57
51
|
*/
|
|
58
52
|
isOnAdjectiveVerbExceptionList(participle) {
|
|
59
|
-
if (
|
|
53
|
+
if (exceptionsParticiplesAdjectivesVerbs.includes(participle)) {
|
|
60
54
|
return true;
|
|
61
55
|
}
|
|
62
56
|
// Checks for and removes a suffix and checks the exception list again.
|
|
@@ -65,7 +59,7 @@ class FrenchClause extends Clause {
|
|
|
65
59
|
} else if (participle.endsWith('e') || participle.endsWith('s')) {
|
|
66
60
|
participle = participle.slice(0, -1);
|
|
67
61
|
}
|
|
68
|
-
return
|
|
62
|
+
return exceptionsParticiplesAdjectivesVerbs.includes(participle);
|
|
69
63
|
}
|
|
70
64
|
|
|
71
65
|
/**
|
|
@@ -76,15 +70,15 @@ class FrenchClause extends Clause {
|
|
|
76
70
|
* @returns {boolean} Whether or not the participle is on the noun exception list.
|
|
77
71
|
*/
|
|
78
72
|
isOnNounExceptionList(participle) {
|
|
79
|
-
if (
|
|
73
|
+
if (exceptionsParticiplesNouns.includes(participle)) {
|
|
80
74
|
return true;
|
|
81
75
|
}
|
|
82
76
|
// Checks for and removes a suffix and checks the exception list again.
|
|
83
77
|
if (participle.endsWith('s')) {
|
|
84
78
|
participle = participle.slice(0, -1);
|
|
85
79
|
}
|
|
86
|
-
return
|
|
80
|
+
return exceptionsParticiplesNouns.includes(participle);
|
|
87
81
|
}
|
|
88
82
|
}
|
|
89
|
-
|
|
83
|
+
export default FrenchClause;
|
|
90
84
|
//# sourceMappingURL=Clause.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clause.js","names":["
|
|
1
|
+
{"version":3,"file":"Clause.js","names":["includes","getParticiples","languageProcessing","precedenceException","directPrecedenceException","values","Clause","cannotBeBetweenPassiveAuxiliaryAndParticiple","cannotDirectlyPrecedePassiveParticiple","adjectivesVerbs","exceptionsParticiplesAdjectivesVerbs","nouns","exceptionsParticiplesNouns","others","exceptionsParticiplesOthers","FrenchClause","constructor","clauseText","auxiliaries","_participles","getClauseText","checkParticiples","clause","passiveParticiples","filter","participle","startsWith","isOnAdjectiveVerbExceptionList","isOnNounExceptionList","setPassive","length","endsWith","slice"],"sources":["../../../../../src/languageProcessing/languages/fr/values/Clause.js"],"sourcesContent":["import {includes} from 'lodash';\nimport getParticiples from '../helpers/internal/getParticiples.js';\nimport {languageProcessing} from '@axyseo/index.js';\nconst {precedenceException, directPrecedenceException, values} = languageProcessing;\nconst {Clause} = values;\nimport {\n cannotBeBetweenPassiveAuxiliaryAndParticiple,\n cannotDirectlyPrecedePassiveParticiple\n} from '../config/functionWords';\nimport {\n adjectivesVerbs as exceptionsParticiplesAdjectivesVerbs,\n nouns as exceptionsParticiplesNouns,\n others as exceptionsParticiplesOthers\n} from '../config/internal/exceptionsParticiplesActive';\n\n/**\n * Creates a Clause object for the French language.\n */\nclass FrenchClause extends Clause {\n /**\n * Constructor.\n *\n * @param {string} clauseText The text of the clause.\n * @param {Array} auxiliaries The auxiliaries.\n *\n * @constructor\n */\n constructor(clauseText, auxiliaries) {\n super(clauseText, auxiliaries);\n this._participles = getParticiples(this.getClauseText());\n this.checkParticiples();\n }\n\n /**\n * Checks if any exceptions are applicable to this participle that would result in the clause not being passive.\n * If no exceptions are found, the clause is passive.\n *\n * @returns {boolean} Returns true if no exception is found.\n */\n checkParticiples() {\n const clause = this.getClauseText();\n\n const passiveParticiples = this.getParticiples().filter(\n participle =>\n !participle.startsWith(\"l'\") &&\n !participle.startsWith(\"d'\") &&\n !includes(exceptionsParticiplesOthers, participle) &&\n !this.isOnAdjectiveVerbExceptionList(participle) &&\n !this.isOnNounExceptionList(participle) &&\n !directPrecedenceException(clause, participle, cannotDirectlyPrecedePassiveParticiple) &&\n !precedenceException(clause, participle, cannotBeBetweenPassiveAuxiliaryAndParticiple)\n );\n\n this.setPassive(passiveParticiples.length > 0);\n }\n\n /**\n * Checks whether the participle is on an exception list of words that look like participles but are adjectives or verbs.\n *\n * @param {string}\tparticiple\tThe participle to check.\n *\n * @returns {boolean}\tWhether or not the participle is on the adjective and verb exception list.\n */\n isOnAdjectiveVerbExceptionList(participle) {\n if (exceptionsParticiplesAdjectivesVerbs.includes(participle)) {\n return true;\n }\n // Checks for and removes a suffix and checks the exception list again.\n if (participle.endsWith('es')) {\n participle = participle.slice(0, -2);\n } else if (participle.endsWith('e') || participle.endsWith('s')) {\n participle = participle.slice(0, -1);\n }\n return exceptionsParticiplesAdjectivesVerbs.includes(participle);\n }\n\n /**\n * Checks whether the participle is on an exception list of words that look like participles but are nouns.\n *\n * @param {string}\tparticiple\tThe participle to check.\n *\n * @returns {boolean}\tWhether or not the participle is on the noun exception list.\n */\n isOnNounExceptionList(participle) {\n if (exceptionsParticiplesNouns.includes(participle)) {\n return true;\n }\n // Checks for and removes a suffix and checks the exception list again.\n if (participle.endsWith('s')) {\n participle = participle.slice(0, -1);\n }\n return exceptionsParticiplesNouns.includes(participle);\n }\n}\n\nexport default FrenchClause;\n"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,QAAQ;AAC/B,OAAOC,cAAc;AACrB,SAAQC,kBAAkB;AAC1B,MAAM;EAACC,mBAAmB;EAAEC,yBAAyB;EAAEC;AAAM,CAAC,GAAGH,kBAAkB;AACnF,MAAM;EAACI;AAAM,CAAC,GAAGD,MAAM;AACvB,SACEE,4CAA4C,EAC5CC,sCAAsC;AAExC,SACEC,eAAe,IAAIC,oCAAoC,EACvDC,KAAK,IAAIC,0BAA0B,EACnCC,MAAM,IAAIC,2BAA2B;;AAGvC;AACA;AACA;AACA,MAAMC,YAAY,SAAST,MAAM,CAAC;EAChC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEU,WAAWA,CAACC,UAAU,EAAEC,WAAW,EAAE;IACnC,KAAK,CAACD,UAAU,EAAEC,WAAW,CAAC;IAC9B,IAAI,CAACC,YAAY,GAAGlB,cAAc,CAAC,IAAI,CAACmB,aAAa,CAAC,CAAC,CAAC;IACxD,IAAI,CAACC,gBAAgB,CAAC,CAAC;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEA,gBAAgBA,CAAA,EAAG;IACjB,MAAMC,MAAM,GAAG,IAAI,CAACF,aAAa,CAAC,CAAC;IAEnC,MAAMG,kBAAkB,GAAG,IAAI,CAACtB,cAAc,CAAC,CAAC,CAACuB,MAAM,CACrDC,UAAU,IACR,CAACA,UAAU,CAACC,UAAU,CAAC,IAAI,CAAC,IAC5B,CAACD,UAAU,CAACC,UAAU,CAAC,IAAI,CAAC,IAC5B,CAAC1B,QAAQ,CAACc,2BAA2B,EAAEW,UAAU,CAAC,IAClD,CAAC,IAAI,CAACE,8BAA8B,CAACF,UAAU,CAAC,IAChD,CAAC,IAAI,CAACG,qBAAqB,CAACH,UAAU,CAAC,IACvC,CAACrB,yBAAyB,CAACkB,MAAM,EAAEG,UAAU,EAAEjB,sCAAsC,CAAC,IACtF,CAACL,mBAAmB,CAACmB,MAAM,EAAEG,UAAU,EAAElB,4CAA4C,CACzF,CAAC;IAED,IAAI,CAACsB,UAAU,CAACN,kBAAkB,CAACO,MAAM,GAAG,CAAC,CAAC;EAChD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEH,8BAA8BA,CAACF,UAAU,EAAE;IACzC,IAAIf,oCAAoC,CAACV,QAAQ,CAACyB,UAAU,CAAC,EAAE;MAC7D,OAAO,IAAI;IACb;IACA;IACA,IAAIA,UAAU,CAACM,QAAQ,CAAC,IAAI,CAAC,EAAE;MAC7BN,UAAU,GAAGA,UAAU,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC,MAAM,IAAIP,UAAU,CAACM,QAAQ,CAAC,GAAG,CAAC,IAAIN,UAAU,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;MAC/DN,UAAU,GAAGA,UAAU,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC;IACA,OAAOtB,oCAAoC,CAACV,QAAQ,CAACyB,UAAU,CAAC;EAClE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEG,qBAAqBA,CAACH,UAAU,EAAE;IAChC,IAAIb,0BAA0B,CAACZ,QAAQ,CAACyB,UAAU,CAAC,EAAE;MACnD,OAAO,IAAI;IACb;IACA;IACA,IAAIA,UAAU,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;MAC5BN,UAAU,GAAGA,UAAU,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC;IACA,OAAOpB,0BAA0B,CAACZ,QAAQ,CAACyB,UAAU,CAAC;EACxD;AACF;AAEA,eAAeV,YAAY","ignoreList":[]}
|
|
@@ -1,32 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _index = require("../../../index");
|
|
8
|
-
var _functionWords = _interopRequireDefault(require("./config/functionWords"));
|
|
9
|
-
var _transitionWords = _interopRequireDefault(require("./config/transitionWords"));
|
|
10
|
-
var _twoPartTransitionWords = _interopRequireDefault(require("./config/twoPartTransitionWords"));
|
|
11
|
-
var _firstWordExceptions = _interopRequireDefault(require("./config/firstWordExceptions"));
|
|
12
|
-
var _sentenceLength = _interopRequireDefault(require("./config/sentenceLength"));
|
|
13
|
-
var _createBasicWordForms = require("./helpers/createBasicWordForms");
|
|
14
|
-
var _getStemmer = _interopRequireDefault(require("./helpers/getStemmer"));
|
|
15
|
-
var _isPassiveSentence = _interopRequireDefault(require("./helpers/isPassiveSentence"));
|
|
16
|
-
var _prefixedFunctionWords = require("./config/prefixedFunctionWords");
|
|
17
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1
|
+
import { languageProcessing } from "../../../index.js";
|
|
18
2
|
const {
|
|
19
3
|
AbstractResearcher
|
|
20
|
-
} =
|
|
4
|
+
} = languageProcessing;
|
|
21
5
|
|
|
22
6
|
// All config
|
|
7
|
+
import functionWords from "./config/functionWords";
|
|
8
|
+
import transitionWords from "./config/transitionWords";
|
|
9
|
+
import twoPartTransitionWords from "./config/twoPartTransitionWords";
|
|
10
|
+
import firstWordExceptions from "./config/firstWordExceptions";
|
|
11
|
+
import sentenceLength from "./config/sentenceLength";
|
|
23
12
|
|
|
24
13
|
// All helpers
|
|
14
|
+
import { createBasicWordForms } from "./helpers/createBasicWordForms";
|
|
15
|
+
import getStemmer from "./helpers/getStemmer";
|
|
16
|
+
import isPassiveSentence from "./helpers/isPassiveSentence";
|
|
17
|
+
import { PREFIXED_FUNCTION_WORDS_REGEX } from "./config/prefixedFunctionWords";
|
|
25
18
|
|
|
26
19
|
/**
|
|
27
20
|
* The researcher contains all the researches, helpers, data, and config.
|
|
28
21
|
*/
|
|
29
|
-
class Researcher extends AbstractResearcher {
|
|
22
|
+
export default class Researcher extends AbstractResearcher {
|
|
30
23
|
/**
|
|
31
24
|
* Constructor
|
|
32
25
|
* @param {Paper} paper The Paper object that is needed within the researches.
|
|
@@ -41,19 +34,18 @@ class Researcher extends AbstractResearcher {
|
|
|
41
34
|
Object.assign(this.config, {
|
|
42
35
|
language: 'he',
|
|
43
36
|
passiveConstructionType: 'morphological',
|
|
44
|
-
firstWordExceptions
|
|
45
|
-
functionWords
|
|
46
|
-
transitionWords
|
|
47
|
-
twoPartTransitionWords
|
|
48
|
-
sentenceLength
|
|
49
|
-
prefixedFunctionWordsRegex:
|
|
37
|
+
firstWordExceptions,
|
|
38
|
+
functionWords,
|
|
39
|
+
transitionWords,
|
|
40
|
+
twoPartTransitionWords,
|
|
41
|
+
sentenceLength,
|
|
42
|
+
prefixedFunctionWordsRegex: PREFIXED_FUNCTION_WORDS_REGEX
|
|
50
43
|
});
|
|
51
44
|
Object.assign(this.helpers, {
|
|
52
|
-
createBasicWordForms
|
|
53
|
-
getStemmer
|
|
54
|
-
isPassiveSentence
|
|
45
|
+
createBasicWordForms,
|
|
46
|
+
getStemmer,
|
|
47
|
+
isPassiveSentence
|
|
55
48
|
});
|
|
56
49
|
}
|
|
57
50
|
}
|
|
58
|
-
exports.default = Researcher;
|
|
59
51
|
//# sourceMappingURL=Researcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Researcher.js","names":["
|
|
1
|
+
{"version":3,"file":"Researcher.js","names":["languageProcessing","AbstractResearcher","functionWords","transitionWords","twoPartTransitionWords","firstWordExceptions","sentenceLength","createBasicWordForms","getStemmer","isPassiveSentence","PREFIXED_FUNCTION_WORDS_REGEX","Researcher","constructor","paper","defaultResearches","getFleschReadingScore","Object","assign","config","language","passiveConstructionType","prefixedFunctionWordsRegex","helpers"],"sources":["../../../../src/languageProcessing/languages/he/Researcher.js"],"sourcesContent":["import {languageProcessing} from '@axyseo/index.js';\nconst {AbstractResearcher} = languageProcessing;\n\n// All config\nimport functionWords from './config/functionWords';\nimport transitionWords from './config/transitionWords';\nimport twoPartTransitionWords from './config/twoPartTransitionWords';\nimport firstWordExceptions from './config/firstWordExceptions';\nimport sentenceLength from './config/sentenceLength';\n\n// All helpers\nimport {createBasicWordForms} from './helpers/createBasicWordForms';\nimport getStemmer from './helpers/getStemmer';\nimport isPassiveSentence from './helpers/isPassiveSentence';\nimport {PREFIXED_FUNCTION_WORDS_REGEX} from './config/prefixedFunctionWords';\n\n/**\n * The researcher contains all the researches, helpers, data, and config.\n */\nexport default class Researcher extends AbstractResearcher {\n /**\n * Constructor\n * @param {Paper} paper The Paper object that is needed within the researches.\n * @constructor\n */\n constructor(paper) {\n super(paper);\n\n // Deletes researches that are currently not available in Hebrew.\n // When the research is available, this line should be removed.\n delete this.defaultResearches.getFleschReadingScore;\n\n Object.assign(this.config, {\n language: 'he',\n passiveConstructionType: 'morphological',\n firstWordExceptions,\n functionWords,\n transitionWords,\n twoPartTransitionWords,\n sentenceLength,\n prefixedFunctionWordsRegex: PREFIXED_FUNCTION_WORDS_REGEX\n });\n\n Object.assign(this.helpers, {\n createBasicWordForms,\n getStemmer,\n isPassiveSentence\n });\n }\n}\n"],"mappings":"AAAA,SAAQA,kBAAkB;AAC1B,MAAM;EAACC;AAAkB,CAAC,GAAGD,kBAAkB;;AAE/C;AACA,OAAOE,aAAa;AACpB,OAAOC,eAAe;AACtB,OAAOC,sBAAsB;AAC7B,OAAOC,mBAAmB;AAC1B,OAAOC,cAAc;;AAErB;AACA,SAAQC,oBAAoB;AAC5B,OAAOC,UAAU;AACjB,OAAOC,iBAAiB;AACxB,SAAQC,6BAA6B;;AAErC;AACA;AACA;AACA,eAAe,MAAMC,UAAU,SAASV,kBAAkB,CAAC;EACzD;AACF;AACA;AACA;AACA;EACEW,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;;IAEZ;IACA;IACA,OAAO,IAAI,CAACC,iBAAiB,CAACC,qBAAqB;IAEnDC,MAAM,CAACC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAE;MACzBC,QAAQ,EAAE,IAAI;MACdC,uBAAuB,EAAE,eAAe;MACxCf,mBAAmB;MACnBH,aAAa;MACbC,eAAe;MACfC,sBAAsB;MACtBE,cAAc;MACde,0BAA0B,EAAEX;IAC9B,CAAC,CAAC;IAEFM,MAAM,CAACC,MAAM,CAAC,IAAI,CAACK,OAAO,EAAE;MAC1Bf,oBAAoB;MACpBC,UAAU;MACVC;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
1
|
/**
|
|
8
2
|
* Returns an array with exceptions for the sentence beginning researcher.
|
|
9
3
|
* @returns {Array} The array filled with exceptions.
|
|
10
4
|
*/
|
|
11
|
-
|
|
5
|
+
export default [
|
|
12
6
|
// Indefinite articles:
|
|
13
7
|
"אחד", "כמה", "מעטים",
|
|
14
8
|
// Numbers 1-10 (feminine-masculine pairs):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firstWordExceptions.js","names":[
|
|
1
|
+
{"version":3,"file":"firstWordExceptions.js","names":[],"sources":["../../../../../src/languageProcessing/languages/he/config/firstWordExceptions.js"],"sourcesContent":["/**\n * Returns an array with exceptions for the sentence beginning researcher.\n * @returns {Array} The array filled with exceptions.\n */\nexport default [\n\t// Indefinite articles:\n\t\"אחד\", \"כמה\", \"מעטים\",\n\t// Numbers 1-10 (feminine-masculine pairs):\n\t\"אחת\", \"שנים\", \"שתים\", \"שלשה\", \"שלש\", \"ארבעה\", \"ארבע\", \"חמשה\", \"חמש\", \"ששה\",\n\t\"שש\", \"שבעה\", \"שבע\", \"שמונה\", \"שמונה\", \"תשעה\", \"תשע\", \"עשרה\", \"עשר\",\n\t// Demonstrative pronouns:\n\t\"זה\", \"זאת\", \"אלה\", \"אוה\", \"היא\", \"אלה\", \"המה\", \"הם\", \"הנה\" ];\n\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,eAAe;AACd;AACA,KAAK,EAAE,KAAK,EAAE,OAAO;AACrB;AACA,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAC3E,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;AACnE;AACA,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAE","ignoreList":[]}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.all = void 0;
|
|
7
|
-
var _transitionWords = require("./transitionWords");
|
|
8
|
-
var _transformWordsWithHyphens = _interopRequireDefault(require("../../../helpers/transform/transformWordsWithHyphens"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1
|
+
import { singleWords as transitionWords } from "./transitionWords";
|
|
2
|
+
import transformWordsWithHyphens from "../../../helpers/transform/transformWordsWithHyphens";
|
|
10
3
|
/**
|
|
11
4
|
* Returns an object with function words.
|
|
12
5
|
*
|
|
@@ -499,6 +492,6 @@ const miscellaneous = [
|
|
|
499
492
|
"גברת",
|
|
500
493
|
// Person
|
|
501
494
|
"אדם"];
|
|
502
|
-
const all =
|
|
503
|
-
|
|
495
|
+
export const all = transformWordsWithHyphens([].concat(cardinalNumerals, ordinalNumerals, personalPronouns, demonstrativePronouns, interrogatives, quantifiers, reflexivePronouns, indefinitePronouns, prepositions, conjunctions, interviewVerbs, intensifiers, auxiliariesAndDelexicalizedVerbs, generalAdjectivesAdverbs, interjections, recipeWords, timeWords, vagueNouns, miscellaneous, transitionWords));
|
|
496
|
+
export default all;
|
|
504
497
|
//# sourceMappingURL=functionWords.js.map
|