{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { dirname, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\n// @ts-ignore\nimport binary from \"@mapbox/node-pre-gyp\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst bindingPath = binary.find(resolve(__dirname, \"../package.json\"));\n\nconst require = createRequire(import.meta.url);\nconst jieBa: Record<\n  string,\n  (...args: unknown[]) => unknown\n> = require(bindingPath);\n\nlet isDictLoaded = false;\n\nexport const DEFAULT_DICT = resolve(__dirname, \"../dict/jieba.dict.utf8\");\nexport const DEFAULT_HMM_DICT = resolve(__dirname, \"../dict/hmm_model.utf8\");\nexport const DEFAULT_USER_DICT = resolve(__dirname, \"../dict/user.dict.utf8\");\nexport const DEFAULT_IDF_DICT = resolve(__dirname, \"../dict/idf.utf8\");\nexport const DEFAULT_STOP_WORD_DICT = resolve(\n  __dirname,\n  \"../dict/stop_words.utf8\"\n);\n\nexport interface LoadOptions {\n  dict?: string;\n  hmmDict?: string;\n  userDict?: string;\n  idfDict?: string;\n  stopWordDict?: string;\n}\n\nexport const load = ({\n  dict = DEFAULT_DICT,\n  hmmDict = DEFAULT_HMM_DICT,\n  userDict = DEFAULT_USER_DICT,\n  idfDict = DEFAULT_IDF_DICT,\n  stopWordDict = DEFAULT_STOP_WORD_DICT,\n}: LoadOptions = {}): void => {\n  isDictLoaded = true;\n\n  return <void>jieBa.load(dict, hmmDict, userDict, idfDict, stopWordDict);\n};\n\nconst wrapper = <T = unknown>(name: string, ...args: any[]): T => {\n  if (!isDictLoaded) load();\n\n  return <T>jieBa[name].apply(this, args);\n};\n\nexport const cut = (content: string, strict = false): string[] =>\n  wrapper(\"cut\", content, strict);\nexport const cutAll = (content: string): string[] => wrapper(\"cutAll\", content);\nexport const cutHMM = (content: string): string[] => wrapper(\"cutHMM\", content);\nexport const cutForSearch = (content: string, strict = false): string[] =>\n  wrapper(\"cutForSearch\", content, strict);\nexport const cutSmall = (content: string, limit: number): string[] =>\n  wrapper(\"cutSmall\", content, limit);\n\nexport interface TagResult {\n  word: string;\n  tag: string;\n}\n\nexport const tag = (content: string): TagResult[] => wrapper(\"tag\", content);\n\nexport const insertWord = (word: string): boolean =>\n  wrapper(\"insertWord\", word);\n\nexport interface ExtractResult {\n  word: string;\n  weight: number;\n}\n\nexport const extract = (content: string, threshold: number): ExtractResult[] =>\n  wrapper(\"extract\", content, threshold);\nexport const textRankExtract = (\n  content: string,\n  threshold: number\n): ExtractResult[] => wrapper(\"textRankExtract\", content, threshold);\n"],"names":["__dirname","dirname","fileURLToPath","_documentCurrentScript","bindingPath","binary","resolve","require","createRequire","jieBa","isDictLoaded","DEFAULT_DICT","DEFAULT_HMM_DICT","DEFAULT_USER_DICT","DEFAULT_IDF_DICT","DEFAULT_STOP_WORD_DICT","load","dict","hmmDict","userDict","idfDict","stopWordDict","wrapper","name","args","cut","content","strict","cutAll","cutHMM","cutForSearch","cutSmall","limit","tag","insertWord","word","extract","threshold","textRankExtract"],"mappings":"2KAOA,MAAMA,EAAYC,UAAQC,gBAAc,OAAA,SAAA,IAAA,QAAA,KAAA,EAAA,cAAA,UAAA,EAAA,KAAAC,GAAAA,EAAA,QAAA,YAAA,IAAA,UAAAA,EAAA,KAAA,IAAA,IAAA,YAAA,SAAA,OAAA,EAAA,IAAe,CAAC,EAClDC,EAAcC,EAAO,KAAKC,UAAQN,EAAW,iBAAiB,CAAC,EAE/DO,EAAUC,EAAAA,cAA6B,OAAA,SAAA,IAAA,QAAA,KAAA,EAAA,cAAA,UAAA,EAAA,KAAAL,GAAAA,EAAA,QAAA,YAAA,IAAA,UAAAA,EAAA,KAAA,IAAA,IAAA,YAAA,SAAA,OAAA,EAAA,IAAA,EACvCM,EAGFF,EAAQH,CAAW,EAEvB,IAAIM,EAAe,GAEZ,MAAMC,EAAeL,UAAQN,EAAW,yBAAyB,EAC3DY,EAAmBN,EAAAA,QAAQN,EAAW,wBAAwB,EAC9Da,EAAoBP,EAAAA,QAAQN,EAAW,wBAAwB,EAC/Dc,EAAmBR,EAAQN,QAAAA,EAAW,kBAAkB,EACxDe,EAAyBT,UACpCN,EACA,yBACF,EAUagB,EAAO,CAAC,CACnB,KAAAC,EAAON,EACP,QAAAO,EAAUN,EACV,SAAAO,EAAWN,EACX,QAAAO,EAAUN,EACV,aAAAO,EAAeN,CACjB,EAAiB,CAAA,KACfL,EAAe,GAEFD,EAAM,KAAKQ,EAAMC,EAASC,EAAUC,EAASC,CAAY,GAGlEC,EAAU,CAAcC,KAAiBC,KACxCd,GAAcM,IAETP,EAAMc,CAAI,EAAE,MAAM,OAAMC,CAAI,GAG3BC,EAAM,CAACC,EAAiBC,EAAS,KAC5CL,EAAQ,MAAOI,EAASC,CAAM,EACnBC,EAAUF,GAA8BJ,EAAQ,SAAUI,CAAO,EACjEG,EAAUH,GAA8BJ,EAAQ,SAAUI,CAAO,EACjEI,EAAe,CAACJ,EAAiBC,EAAS,KACrDL,EAAQ,eAAgBI,EAASC,CAAM,EAC5BI,EAAW,CAACL,EAAiBM,IACxCV,EAAQ,WAAYI,EAASM,CAAK,EAOvBC,EAAOP,GAAiCJ,EAAQ,MAAOI,CAAO,EAE9DQ,EAAcC,GACzBb,EAAQ,aAAca,CAAI,EAOfC,EAAU,CAACV,EAAiBW,IACvCf,EAAQ,UAAWI,EAASW,CAAS,EAC1BC,EAAkB,CAC7BZ,EACAW,IACoBf,EAAQ,kBAAmBI,EAASW,CAAS"}