37 lines
2.6 KiB
JavaScript
37 lines
2.6 KiB
JavaScript
"use strict";
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
exports.hasInventoryPurchaseStem = hasInventoryPurchaseStem;
|
||
exports.hasInventorySupplierCue = hasInventorySupplierCue;
|
||
exports.hasInventorySaleCue = hasInventorySaleCue;
|
||
function toText(value) {
|
||
return String(value ?? "");
|
||
}
|
||
function hasInventoryPurchaseStem(text) {
|
||
return /купл[а-яёa-z0-9_-]*/iu.test(toText(text));
|
||
}
|
||
function hasInventorySupplierCue(text) {
|
||
const value = toText(text);
|
||
if (/(?:купил(?:и|о)?\s+у\s+кого|куплен(?:о)?\s+у\s+кого|купил(?:и|о)?\s+от\s+кого|куплен(?:о)?\s+от\s+кого)/iu.test(value)) {
|
||
return true;
|
||
}
|
||
if (/(?:кто\s+(?:(?:это|этот\s+товар|эту\s+позицию)\s+)?(?:нам\s+)?поставил|кто\s+(?:нам\s+)?поставил\s+(?:это|этот\s+товар|эту\s+позицию)|от\s+какого\s+поставщика|у\s+какого\s+поставщика|от\s+кого\s+куплен|у\s+кого\s+купили|у\s+кого\s+куплено|где\s+(?:мы\s+)?купили(?:\s+(?:это|его|этот\s+товар|эту\s+позицию))?|где\s+(?:мы\s+)?взяли(?:\s+(?:это|его|этот\s+товар|эту\s+позицию))?|откуда\s+(?:мы\s+)?взяли(?:\s+(?:это|его|этот\s+товар|эту\s+позицию))?|где\s+куплено|supplier|vendor|поставщик)/iu.test(value)) {
|
||
return true;
|
||
}
|
||
return hasInventoryPurchaseStem(value) && /(?:у\s+кого|от\s+кого|где)/iu.test(value);
|
||
}
|
||
function hasInventorySaleCue(text) {
|
||
const value = toText(text);
|
||
if (/(?:buyer|покупател)/iu.test(value)) {
|
||
return true;
|
||
}
|
||
if (/(?:куда\s+ушла\s+позиция|куда\s+ушел\s+товар|кто\s+купил|кому\s+(?:мы\s+)?впарили(?:\s+(?:это|его|товар|позицию))?)/iu.test(value)) {
|
||
return true;
|
||
}
|
||
const hasDirectionCue = /(?:кому|каму|куда)/iu.test(value);
|
||
const hasSaleVerb = /(?:продал(?:и|а|о|ы)?|продан(?:а|о|ы)?|продано|реализовал(?:и|а|о|ы)?|реализован(?:а|о|ы)?|реализовано|впарил(?:и|а|о|ы)?|отгрузил(?:и|а|о|ы)?|ушло|ушел|ушла)/iu.test(value);
|
||
if (hasDirectionCue && hasSaleVerb) {
|
||
return true;
|
||
}
|
||
return /(?:^|[\s,.;:!?])(продано|продали|продан(?:а|о|ы)?|реализовано|реализовали|реализован(?:а|о|ы)?)(?=$|[\s,.;:!?])/iu.test(value);
|
||
}
|