UNPKG

vietnamese-text-search

Version:
14 lines 1.57 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _utils=require("./utils"),_default={/** * @param {string} rawText * @param {boolean} toLower * @returns {{keywords: Keyword[], pureKeywords: Keyword[]}} */extractKeywordsFromText(rawText,toLower=!1){const tokens=(0,_utils.tokenize)(rawText,toLower),keywords=[...new Set(tokens)],pureKeywords=keywords.map(kw=>(0,_utils.removeAccents)(kw));return{keywords,pureKeywords}},/** * @param {string[]} textArr * @param {boolean} toLower * @returns {Promise<[{keywords: Keyword[], pureKeywords: Keyword[]}]>} */async extractKeywordsFromManyTexts(textArr=[],toLower=!1){const results=await Promise.all(textArr.map(text=>this.extractKeywordsFromText(text,toLower)));return results},/** * @param {TextObject[]} textObjs * @param {ExtractOptions} extractOptions * @returns {Promise<[{keywords: Keyword[], pureKeywords: Keyword[], textKey: string, textValue: string}]>} */async extractKeywordsFromManyTextObjs(textObjs=[],{toLower=!1,textKeyName=configs.DefaultKeyName,textValueName=configs.DefaultValueName}){try{const textArr=textObjs.map(textObj=>textObj[textValueName]),extractedKeywordsArr=await this.extractKeywordsFromManyTexts(textArr,toLower),extractedKeywordObjs=textObjs.map((textObj,idx)=>({...textObj,...extractedKeywordsArr[idx]}));// output: [{ keywords: [], pureKeywords: [] },..] return extractedKeywordObjs}catch(err){throw(0,_utils.log)(`extractKeywordsFromManyTextObjs error`),(0,_utils.log)(err),err}}};exports.default=_default;