{"version":3,"file":"index.umd.development.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","_self$TABLE$w","_self$TABLE","TABLE2","w","_forceOverwrite","forceOverwrite","options","forEach","bw","index"],"mappings":";;;;;;CAKAA,MAAAA,gBAAA,SAAAC,uCAAA,CAAA;;;;;;KA6BU,IAAAC,CAAAA,KAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAA,IAAAA,IAAA,CAAAC,MAAA,GAAA,CAAA,EAAA;CAgBR,MAAA,MAAA,IAAAC,SAAA,CAAAC,IAAA,CAAAC,SAAA,CAAAJ,IAAA,CAAA,CAAA,CAAA;;;;;CASC,KAAA;CAEC,IAAA,MAAAK,IAAA,GAAc,IAAA,CAAA;CAcf,IAAA,CAAAC,aAAA,GAAAC,CAAAA,WAAA,GAAAF,IAAA,CAAAG,MAAA,EAAAC,CAAA,CAAA,MAAA,IAAA,IAAAH,aAAA,KAAAA,KAAAA,CAAAA,GAAAA,aAAA,GAAAC,WAAA,CAAAE,CAAA,CAAgB,GAAA,EAAA,CAAA;CAKjB,IAAA,CAAAC,eAAA,GAAAC,cAAA,MAAA,IAAA,IAAAD,eAAA,KAAAA,KAAAA,CAAAA,GAAAA,eAAA,GAAAC,cAAA,GAAY,IAAA,CAAAC,OAAA,CAAAD,cAAA,CAAA;;CAKdX,IAAAA,IAA+B,CAAAa,OAAA,CAAAC,UAAAA,EAAA,EAAAC,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}