{"version":3,"file":"index.umd.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["/**\n * Created by user on 2018/4/19/019.\n */\n\nimport { IDICT, IOptions } from '@novel-segment/table-core-abstract';\nimport { TableDictSynonymPanGu } from '@novel-segment/table-synonym-pangu';\nimport { ArrayTwoOrMore } from '@novel-segment/types';\n\nexport interface IOptionsTableDictSynonym extends IOptions\n{\n\tskipExists?: boolean\n\tforceOverwrite?: boolean\n}\n\n/**\n * 請注意 這與原版 node-segment 的格式不同\n *\n * 原版為一對一 => 錯字,正字\n * 這裡為一對多 並且順序與原版相反 => 正字,錯字,...以,分隔更多字\n */\nexport class TableDictSynonym extends TableDictSynonymPanGu\n{\n\tpublic declare options: IOptionsTableDictSynonym;\n\n\t/**\n\t * 緩存主KEY\n\t */\n\tpublic declare TABLE2: IDICT<string[]>;\n\n\tconstructor(type: string = TableDictSynonym.type, options?: IOptionsTableDictSynonym, ...argv)\n\t{\n\t\tsuper(type, options, ...argv)\n\t}\n\n\toverride add(data: ArrayTwoOrMore<string>, skipExists?: boolean, forceOverwrite?: boolean)\n\t{\n\t\tif (!Array.isArray(data) || data.length < 2)\n\t\t{\n\t\t\tthrow new TypeError(JSON.stringify(data));\n\t\t}\n\n\t\tconst w = this._trim(data.shift());\n\n\t\tif (!w.length)\n\t\t{\n\t\t\tthrow new TypeError(JSON.stringify(data));\n\t\t}\n\n\t\tconst self = this;\n\n\t\tself.TABLE2[w] ??= [];\n\n\t\tforceOverwrite ??= this.options.forceOverwrite;\n\t\tskipExists ??= this.options.skipExists ?? true;\n\n\t\tdata.forEach(function (bw, index)\n\t\t{\n\t\t\tbw = self._trim(bw);\n\n\t\t\tif (!bw.length)\n\t\t\t{\n\t\t\t\tif (index === 0)\n\t\t\t\t{\n\t\t\t\t\tthrow new TypeError();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((!forceOverwrite) && (skipExists && self.exists(bw) || bw in self.TABLE2))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tself.TABLE2[w].push(bw);\n\t\t\tself._add(bw, w);\n\n\t\t\t//skipExists = true;\n\t\t});\n\n\t\treturn this;\n\t}\n\n}\n\nexport default TableDictSynonym\n"],"names":["TableDictSynonym","TableDictSynonymPanGu","Array","isArray","data","length","TypeError","JSON","stringify","self","this","_self$TABLE$w","_self$TABLE","TABLE2","w","_forceOverwrite","forceOverwrite","options","forEach","bw","index"],"mappings":";;;;EAKAA,MAAAA,yBAAAC,EAAAA;;;;;;MA6BU,KAAAC,MAAAC,QAAAC,MAAAA,EAAAC,SAAA,GAgBR,MAAA,IAAAC,UAAAC,KAAAC,UAAAJ;;;MAWE,MAAAK,IAAcC;aAcf,UAAAC,KAAAC,IAAAH,EAAAI,QAAAC,YAAAH,MAAAA,MAAAC,EAAAE,KAAgB,KAKjB,UAAAC,IAAAC,WAAAD,MAAAA,MAAAC,IAAYN,KAAAO,QAAAD;;MAKdZ,EAA+Bc,SAAAC,SAAAA,GAAAC;;;;;;;;;"}