UNPKG

concepts-parser

Version:
31 lines (30 loc) 1.07 kB
"use strict"; 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;