UNPKG

focus-product-extractor2

Version:

Extract product information from chat/order data

52 lines (46 loc) 2.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.FocusProductExtractor = void 0; var _inputAdapter = _interopRequireDefault(require("./core/inputAdapter.js")); var _ruleEngine = _interopRequireDefault(require("./core/ruleEngine.js")); var _coreExtractor = _interopRequireDefault(require("./core/coreExtractor.js")); var _outputStandard = require("./core/outputStandard.js"); var _validators = require("./utils/validators.js"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } // 将所有require改为import class FocusProductExtractor { async process(input) { var _input$authConfig, _input$authConfig2, _input$authConfig3; // 输入验证 (0, _validators.validateInput)(input); // console.log('\n --input--'); // console.log(JSON.stringify(input)); // 数据解析&按需提取 const parsedData = _inputAdapter.default.parse(input); // console.log('\n --parsedData--'); // console.log(JSON.stringify(parsedData)); // 规则过滤指定发送者的消息 const filteredData = _ruleEngine.default.applyRules(parsedData, input.rules || {}); // console.log('\n --filteredData--'); // console.log(JSON.stringify(filteredData)); // 按指定规则提取 const extractedItems = _coreExtractor.default.extract(filteredData, input.rules || {}); // console.log('\n --extractedItems--'); // console.log(JSON.stringify(extractedItems)); // console.log(JSON.stringify(input.authConfig?.taobaoAuth)); // console.log(JSON.stringify(input.authConfig?.domesticAuth)); // 标准化输出并获取商品信息 const outputStandard = new _outputStandard.OutputStandard(); return await outputStandard.format(extractedItems, { taobaoAuth: (_input$authConfig = input.authConfig) === null || _input$authConfig === void 0 ? void 0 : _input$authConfig.taobaoAuth, domesticAuth: (_input$authConfig2 = input.authConfig) === null || _input$authConfig2 === void 0 ? void 0 : _input$authConfig2.domesticAuth, overseasAuth: (_input$authConfig3 = input.authConfig) === null || _input$authConfig3 === void 0 ? void 0 : _input$authConfig3.overseasAuth // 海外平台认证 }); } } exports.FocusProductExtractor = FocusProductExtractor; const extractor = new FocusProductExtractor(); var _default = exports.default = extractor; // 同时导出类本身,方便需要继承或自定义的场景 // export { FocusProductExtractor };