"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultStemmer = void 0;
// TODO: atm not using stemmers (returning default) as it will decrease accuracy with W.Embeddings
// eslint-disable-next-line
var PorterStemmer = require("natural/lib/natural/stemmers/porter_stemmer");
// eslint-disable-next-line
var PorterStemmerEs = require("natural/lib/natural/stemmers/porter_stemmer_es");
// eslint-disable-next-line
var PorterStemmerFr = require("natural/lib/natural/stemmers/porter_stemmer_fr");
// eslint-disable-next-line
var PorterStemmerIt = require("natural/lib/natural/stemmers/porter_stemmer_it");
// eslint-disable-next-line
var PorterStemmerPt = require("natural/lib/natural/stemmers/porter_stemmer_pt");
// eslint-disable-next-line
var PorterStemmerRu = require("natural/lib/natural/stemmers/porter_stemmer_ru");
var DefaultStemmer = /** @class */ (function () {
    function DefaultStemmer(active) {
        if (active === void 0) { active = false; }
        this.active = active;
    }
    DefaultStemmer.prototype.stem = function (token, language) {
        if (!this.active)
            return token;
        switch (language) {
            case 'en':
                return PorterStemmer.stem(token);
            case 'fr':
                return PorterStemmerFr.stem(token);
            case 'it':
                return PorterStemmerIt.stem(token);
            case 'es':
                return PorterStemmerEs.stem(token);
            case 'pt':
                return PorterStemmerPt.stem(token);
            case 'ru':
                return PorterStemmerRu.stem(token);
            default:
                return token;
        }
    };
    return DefaultStemmer;
}());
exports.DefaultStemmer = DefaultStemmer;
//# sourceMappingURL=stemmer.js.map