linguee-client
Version:
A simple node.js Linguee client.
42 lines • 1.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TranslationExtractor = void 0;
const Extractor_1 = __importDefault(require("./Extractor"));
class TranslationExtractor extends Extractor_1.default {
constructor(extractors = {}) {
super(extractors);
}
createExtratorStorage() {
return {
term: '',
type: '',
examples: [],
};
}
run(content) {
const storage = this.createExtratorStorage();
const $descriptionWrapper = content.find('.translation_desc');
storage.term = $descriptionWrapper.find('a.dictLink').text();
const $type = $descriptionWrapper.find('.tag_type');
if ($type.length) {
storage.type = $type.attr('title') || '';
}
const $examplesWrapper = content.find('.example_lines');
if ($examplesWrapper.length) {
const $examples = $examplesWrapper.children('.example');
for (let i = 0; i < $examples.length; i++) {
storage.examples.push({
phrase: $examples.eq(i).find('.tag_s').text(),
translation: $examples.eq(i).find('.tag_t').text(),
});
}
}
return storage;
}
}
exports.TranslationExtractor = TranslationExtractor;
exports.default = TranslationExtractor;
//# sourceMappingURL=TranslationExtractor.js.map