concepts-parser
Version:
Concepts Extracting from text
31 lines (30 loc) • 1.07 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const debug = require("debug")("concepts:filter");
const isAbbrOf = require("is-abbr-of");
function isInParentheses(concept, context) {
var i = concept.index;
var j = concept.endIndex;
var sp = context.text[i - 1];
var ep = context.text[j];
return i > 0 && j < context.text.length && sp === "(" && ep === ")";
}
function filter(concepts, context) {
let prev;
return concepts.filter(function (concept) {
if (prev &&
concept.isAbbr &&
prev.endIndex < concept.index &&
isInParentheses(concept, context)) {
const text = context.text.substring(prev.index, concept.index - 2);
if (isAbbrOf(concept.value, text)) {
debug(`${concept.value} is abbr of ${text}`);
prev.abbr = concept.value;
prev.reset(text, 0, context.lang);
}
}
prev = concept;
return true;
});
}
exports.filter = filter;
;