kordoc 2.2.3 → 2.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +42 -3
  2. package/dist/chunk-JH5XLWJQ.js +457 -0
  3. package/dist/chunk-JH5XLWJQ.js.map +1 -0
  4. package/dist/chunk-MUOQXDZ4.cjs +33 -0
  5. package/dist/chunk-MUOQXDZ4.cjs.map +1 -0
  6. package/dist/chunk-OJ4QR33V.cjs +450 -0
  7. package/dist/chunk-OJ4QR33V.cjs.map +1 -0
  8. package/dist/{chunk-AIG7SDWU.js → chunk-RQWICKON.js} +964 -2732
  9. package/dist/chunk-RQWICKON.js.map +1 -0
  10. package/dist/chunk-SBVRCJFH.js +33 -0
  11. package/dist/chunk-SBVRCJFH.js.map +1 -0
  12. package/dist/chunk-UU2O6D3R.js +450 -0
  13. package/dist/chunk-UU2O6D3R.js.map +1 -0
  14. package/dist/cli.js +154 -7
  15. package/dist/cli.js.map +1 -1
  16. package/dist/index.cjs +1095 -3324
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +98 -8
  19. package/dist/index.d.ts +98 -8
  20. package/dist/index.js +917 -3100
  21. package/dist/index.js.map +1 -1
  22. package/dist/mcp.js +140 -14
  23. package/dist/mcp.js.map +1 -1
  24. package/dist/page-range-3C7UGGEK.cjs +7 -0
  25. package/dist/page-range-3C7UGGEK.cjs.map +1 -0
  26. package/dist/page-range-H35FN3OQ.js +7 -0
  27. package/dist/page-range-H35FN3OQ.js.map +1 -0
  28. package/dist/parser-CYBX5MP4.cjs +2278 -0
  29. package/dist/parser-CYBX5MP4.cjs.map +1 -0
  30. package/dist/parser-OIRWPKIQ.js +2278 -0
  31. package/dist/parser-OIRWPKIQ.js.map +1 -0
  32. package/dist/parser-PXD73E4H.js +2279 -0
  33. package/dist/parser-PXD73E4H.js.map +1 -0
  34. package/dist/provider-WPIYEALY.js +37 -0
  35. package/dist/provider-WPIYEALY.js.map +1 -0
  36. package/dist/provider-YN2SSK4X.cjs +37 -0
  37. package/dist/provider-YN2SSK4X.cjs.map +1 -0
  38. package/dist/{watch-H672QAW2.js → watch-NSBABJ4A.js} +6 -4
  39. package/dist/{watch-H672QAW2.js.map → watch-NSBABJ4A.js.map} +1 -1
  40. package/package.json +1 -1
  41. package/dist/chunk-AIG7SDWU.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/page-range.ts
2
+ function parsePageRange(spec, maxPages) {
3
+ const result = /* @__PURE__ */ new Set();
4
+ if (maxPages <= 0) return result;
5
+ if (Array.isArray(spec)) {
6
+ for (const n of spec) {
7
+ const page = Math.round(n);
8
+ if (page >= 1 && page <= maxPages) result.add(page);
9
+ }
10
+ return result;
11
+ }
12
+ if (typeof spec !== "string" || spec.trim() === "") return result;
13
+ const parts = spec.split(",");
14
+ for (const part of parts) {
15
+ const trimmed = part.trim();
16
+ if (!trimmed) continue;
17
+ const rangeMatch = trimmed.match(/^(\d+)\s*-\s*(\d+)$/);
18
+ if (rangeMatch) {
19
+ const start = Math.max(1, parseInt(rangeMatch[1], 10));
20
+ const end = Math.min(maxPages, parseInt(rangeMatch[2], 10));
21
+ for (let i = start; i <= end; i++) result.add(i);
22
+ } else {
23
+ const page = parseInt(trimmed, 10);
24
+ if (!isNaN(page) && page >= 1 && page <= maxPages) result.add(page);
25
+ }
26
+ }
27
+ return result;
28
+ }
29
+
30
+
31
+
32
+ exports.parsePageRange = parsePageRange;
33
+ //# sourceMappingURL=chunk-MUOQXDZ4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["c:\\github_project\\kordoc\\dist\\chunk-MUOQXDZ4.cjs"],"names":[],"mappings":"AAAA;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;AACxC,EAAE,MAAM,OAAO,kBAAkB,IAAI,GAAG,CAAC,CAAC;AAC1C,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,MAAM;AAClC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE;AAC1B,MAAM,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,MAAM,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACzD,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,MAAM;AACnE,EAAE,MAAM,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,EAAE,IAAI,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE;AAC5B,IAAI,MAAM,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ;AAC1B,IAAI,MAAM,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;AAC3D,IAAI,GAAG,CAAC,UAAU,EAAE;AACpB,MAAM,MAAM,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5D,MAAM,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjE,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,IAAI,EAAE,KAAK;AACX,MAAM,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AACxC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACzE,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA;AACA;AACE;AACF,wCAAC","file":"C:\\github_project\\kordoc\\dist\\chunk-MUOQXDZ4.cjs","sourcesContent":[null]}
@@ -0,0 +1,450 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/utils.ts
2
+ var VERSION = true ? "2.2.5" : "0.0.0-dev";
3
+ function toArrayBuffer(buf) {
4
+ if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
5
+ return buf.buffer;
6
+ }
7
+ return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
8
+ }
9
+ var KordocError = class extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "KordocError";
13
+ }
14
+ };
15
+ function isPathTraversal(name) {
16
+ if (name.includes("\0")) return true;
17
+ const normalized = name.replace(/\\/g, "/");
18
+ const segments = normalized.split("/");
19
+ return segments.some((s) => s === "..") || normalized.startsWith("/") || /^[A-Za-z]:/.test(normalized);
20
+ }
21
+ function precheckZipSize(buffer, maxUncompressedSize = 100 * 1024 * 1024, maxEntries = 500) {
22
+ try {
23
+ const data = new DataView(buffer);
24
+ const len = buffer.byteLength;
25
+ let eocdOffset = -1;
26
+ for (let i = len - 22; i >= Math.max(0, len - 65557); i--) {
27
+ if (data.getUint32(i, true) === 101010256) {
28
+ eocdOffset = i;
29
+ break;
30
+ }
31
+ }
32
+ if (eocdOffset < 0) return { totalUncompressed: 0, entryCount: 0 };
33
+ const entryCount = data.getUint16(eocdOffset + 10, true);
34
+ if (entryCount > maxEntries) {
35
+ throw new KordocError(`ZIP \uC5D4\uD2B8\uB9AC \uC218 \uCD08\uACFC: ${entryCount} (\uCD5C\uB300 ${maxEntries})`);
36
+ }
37
+ const cdSize = data.getUint32(eocdOffset + 12, true);
38
+ const cdOffset = data.getUint32(eocdOffset + 16, true);
39
+ if (cdOffset + cdSize > len) return { totalUncompressed: 0, entryCount };
40
+ let totalUncompressed = 0;
41
+ let pos = cdOffset;
42
+ for (let i = 0; i < entryCount && pos + 46 <= cdOffset + cdSize; i++) {
43
+ if (data.getUint32(pos, true) !== 33639248) break;
44
+ totalUncompressed += data.getUint32(pos + 24, true);
45
+ const nameLen = data.getUint16(pos + 28, true);
46
+ const extraLen = data.getUint16(pos + 30, true);
47
+ const commentLen = data.getUint16(pos + 32, true);
48
+ pos += 46 + nameLen + extraLen + commentLen;
49
+ }
50
+ if (totalUncompressed > maxUncompressedSize) {
51
+ throw new KordocError(`ZIP \uBE44\uC555\uCD95 \uD06C\uAE30 \uCD08\uACFC: ${(totalUncompressed / 1024 / 1024).toFixed(1)}MB (\uCD5C\uB300 ${maxUncompressedSize / 1024 / 1024}MB)`);
52
+ }
53
+ return { totalUncompressed, entryCount };
54
+ } catch (err) {
55
+ if (err instanceof KordocError) throw err;
56
+ return { totalUncompressed: 0, entryCount: 0 };
57
+ }
58
+ }
59
+ function stripDtd(xml) {
60
+ return xml.replace(/<!DOCTYPE\s[^[>]*(\[[\s\S]*?\])?\s*>/gi, "");
61
+ }
62
+ var SAFE_HREF_RE = /^(?:https?:|mailto:|tel:|#)/i;
63
+ function sanitizeHref(href) {
64
+ const trimmed = href.trim();
65
+ if (!trimmed || !SAFE_HREF_RE.test(trimmed)) return null;
66
+ return trimmed;
67
+ }
68
+ function safeMin(arr) {
69
+ let min = Infinity;
70
+ for (let i = 0; i < arr.length; i++) if (arr[i] < min) min = arr[i];
71
+ return min;
72
+ }
73
+ function safeMax(arr) {
74
+ let max = -Infinity;
75
+ for (let i = 0; i < arr.length; i++) if (arr[i] > max) max = arr[i];
76
+ return max;
77
+ }
78
+ function classifyError(err) {
79
+ if (!(err instanceof Error)) return "PARSE_ERROR";
80
+ const msg = err.message;
81
+ if (msg.includes("\uC554\uD638\uD654")) return "ENCRYPTED";
82
+ if (msg.includes("DRM")) return "DRM_PROTECTED";
83
+ if (msg.includes("ZIP bomb") || msg.includes("ZIP \uBE44\uC555\uCD95 \uD06C\uAE30 \uCD08\uACFC") || msg.includes("ZIP \uC5D4\uD2B8\uB9AC \uC218 \uCD08\uACFC")) return "ZIP_BOMB";
84
+ if (msg.includes("bomb") || msg.includes("\uD06C\uAE30 \uCD08\uACFC") || msg.includes("\uC555\uCD95 \uD574\uC81C")) return "DECOMPRESSION_BOMB";
85
+ if (msg.includes("\uC774\uBBF8\uC9C0 \uAE30\uBC18")) return "IMAGE_BASED_PDF";
86
+ if (msg.includes("\uC139\uC158") && (msg.includes("\uCC3E\uC744 \uC218 \uC5C6") || msg.includes("\uC5C6\uC74C"))) return "NO_SECTIONS";
87
+ if (msg.includes("\uC2DC\uADF8\uB2C8\uCC98") || msg.includes("\uBCF5\uAD6C\uD560 \uC218 \uC5C6")) return "CORRUPTED";
88
+ return "PARSE_ERROR";
89
+ }
90
+
91
+ // src/table/builder.ts
92
+ var MAX_COLS = 200;
93
+ var MAX_ROWS = 1e4;
94
+ function buildTable(rows) {
95
+ if (rows.length > MAX_ROWS) rows = rows.slice(0, MAX_ROWS);
96
+ const numRows = rows.length;
97
+ const hasAddr = rows.some((row) => row.some((c) => c.colAddr !== void 0 && c.rowAddr !== void 0));
98
+ if (hasAddr) return buildTableDirect(rows, numRows);
99
+ let maxCols = 0;
100
+ const tempOccupied = Array.from({ length: numRows }, () => []);
101
+ for (let rowIdx = 0; rowIdx < numRows; rowIdx++) {
102
+ let colIdx = 0;
103
+ for (const cell of rows[rowIdx]) {
104
+ while (colIdx < MAX_COLS && tempOccupied[rowIdx][colIdx]) colIdx++;
105
+ if (colIdx >= MAX_COLS) break;
106
+ for (let r = rowIdx; r < Math.min(rowIdx + cell.rowSpan, numRows); r++) {
107
+ for (let c = colIdx; c < Math.min(colIdx + cell.colSpan, MAX_COLS); c++) {
108
+ tempOccupied[r][c] = true;
109
+ }
110
+ }
111
+ colIdx += cell.colSpan;
112
+ if (colIdx > maxCols) maxCols = colIdx;
113
+ }
114
+ }
115
+ if (maxCols === 0) return { rows: 0, cols: 0, cells: [], hasHeader: false };
116
+ const grid = Array.from(
117
+ { length: numRows },
118
+ () => Array.from({ length: maxCols }, () => ({ text: "", colSpan: 1, rowSpan: 1 }))
119
+ );
120
+ const occupied = Array.from({ length: numRows }, () => Array(maxCols).fill(false));
121
+ for (let rowIdx = 0; rowIdx < numRows; rowIdx++) {
122
+ let colIdx = 0;
123
+ let cellIdx = 0;
124
+ while (colIdx < maxCols && cellIdx < rows[rowIdx].length) {
125
+ while (colIdx < maxCols && occupied[rowIdx][colIdx]) colIdx++;
126
+ if (colIdx >= maxCols) break;
127
+ const cell = rows[rowIdx][cellIdx];
128
+ grid[rowIdx][colIdx] = {
129
+ text: cell.text.trim(),
130
+ colSpan: cell.colSpan,
131
+ rowSpan: cell.rowSpan
132
+ };
133
+ for (let r = rowIdx; r < Math.min(rowIdx + cell.rowSpan, numRows); r++) {
134
+ for (let c = colIdx; c < Math.min(colIdx + cell.colSpan, maxCols); c++) {
135
+ occupied[r][c] = true;
136
+ }
137
+ }
138
+ colIdx += cell.colSpan;
139
+ cellIdx++;
140
+ }
141
+ }
142
+ return trimAndReturn(grid, numRows, maxCols);
143
+ }
144
+ function buildTableDirect(rows, numRows) {
145
+ let maxCols = 0;
146
+ for (const row of rows) {
147
+ for (const cell of row) {
148
+ const end = (_nullishCoalesce(cell.colAddr, () => ( 0))) + cell.colSpan;
149
+ if (end > maxCols) maxCols = end;
150
+ }
151
+ }
152
+ if (maxCols > MAX_COLS) maxCols = MAX_COLS;
153
+ if (maxCols === 0) return { rows: 0, cols: 0, cells: [], hasHeader: false };
154
+ const grid = Array.from(
155
+ { length: numRows },
156
+ () => Array.from({ length: maxCols }, () => ({ text: "", colSpan: 1, rowSpan: 1 }))
157
+ );
158
+ for (const row of rows) {
159
+ for (const cell of row) {
160
+ const r = _nullishCoalesce(cell.rowAddr, () => ( 0));
161
+ const c = _nullishCoalesce(cell.colAddr, () => ( 0));
162
+ if (r >= numRows || c >= maxCols || r < 0 || c < 0) continue;
163
+ grid[r][c] = { text: cell.text.trim(), colSpan: cell.colSpan, rowSpan: cell.rowSpan };
164
+ for (let dr = 0; dr < cell.rowSpan; dr++) {
165
+ for (let dc = 0; dc < cell.colSpan; dc++) {
166
+ if (dr === 0 && dc === 0) continue;
167
+ if (r + dr < numRows && c + dc < maxCols) {
168
+ grid[r + dr][c + dc] = { text: "", colSpan: 1, rowSpan: 1 };
169
+ }
170
+ }
171
+ }
172
+ }
173
+ }
174
+ return trimAndReturn(grid, numRows, maxCols);
175
+ }
176
+ function trimAndReturn(grid, numRows, maxCols) {
177
+ let effectiveCols = maxCols;
178
+ while (effectiveCols > 0) {
179
+ const colEmpty = grid.every((row) => !_optionalChain([row, 'access', _2 => _2[effectiveCols - 1], 'optionalAccess', _3 => _3.text, 'optionalAccess', _4 => _4.trim, 'call', _5 => _5()]));
180
+ if (!colEmpty) break;
181
+ effectiveCols--;
182
+ }
183
+ if (effectiveCols < maxCols && effectiveCols > 0) {
184
+ const trimmed = grid.map((row) => row.slice(0, effectiveCols));
185
+ return { rows: numRows, cols: effectiveCols, cells: trimmed, hasHeader: numRows > 1 };
186
+ }
187
+ return { rows: numRows, cols: maxCols, cells: grid, hasHeader: numRows > 1 };
188
+ }
189
+ function convertTableToText(rows) {
190
+ return rows.map(
191
+ (row) => row.map((c) => c.text.trim().replace(/\n/g, " ").replace(/\|/g, "\\|")).filter(Boolean).join(" / ")
192
+ ).filter(Boolean).join("\n");
193
+ }
194
+ function escapeGfm(text) {
195
+ return text.replace(/~/g, "\\~");
196
+ }
197
+ var HWP_SHAPE_ALT_TEXT_RE = /(?:모서리가 둥근 |둥근 )?(?:사각형|직사각형|정사각형|원|타원|삼각형|이등변 삼각형|직각 삼각형|선|직선|곡선|화살표|굵은 화살표|이중 화살표|오각형|육각형|팔각형|별|[4-8]점별|십자|십자형|구름|구름형|마름모|도넛|평행사변형|사다리꼴|부채꼴|호|반원|물결|번개|하트|빗금|블록 화살표|수식|표|그림|개체|그리기\s?개체|묶음\s?개체|글상자|수식\s?개체|OLE\s?개체)\s?입니다\.?/g;
198
+ function sanitizeText(text) {
199
+ let result = text.replace(/[\u{F0000}-\u{FFFFD}]/gu, "").replace(HWP_SHAPE_ALT_TEXT_RE, "").replace(/ +/g, " ").trim();
200
+ if (result.length <= 30 && result.includes(" ")) {
201
+ const tokens = result.split(" ");
202
+ const koreanSingleCharCount = tokens.filter((t) => t.length === 1 && /[\uAC00-\uD7AF\u3131-\u318E]/.test(t)).length;
203
+ if (tokens.length >= 3 && koreanSingleCharCount / tokens.length >= 0.7) {
204
+ result = tokens.join("");
205
+ }
206
+ }
207
+ return result;
208
+ }
209
+ function flattenLayoutTables(blocks) {
210
+ const result = [];
211
+ for (const block of blocks) {
212
+ if (block.type !== "table" || !block.table) {
213
+ result.push(block);
214
+ continue;
215
+ }
216
+ const { rows: numRows, cols: numCols, cells } = block.table;
217
+ if (numRows === 1 && numCols === 1) {
218
+ result.push(block);
219
+ continue;
220
+ }
221
+ if (numRows <= 3) {
222
+ let totalNewlines = 0;
223
+ let totalTextLen = 0;
224
+ for (let r = 0; r < numRows; r++) {
225
+ for (let c = 0; c < numCols; c++) {
226
+ const t = _optionalChain([cells, 'access', _6 => _6[r], 'optionalAccess', _7 => _7[c], 'optionalAccess', _8 => _8.text]) || "";
227
+ totalNewlines += (t.match(/\n/g) || []).length;
228
+ totalTextLen += t.length;
229
+ }
230
+ }
231
+ if (totalNewlines > 5 || numRows <= 2 && totalTextLen > 300) {
232
+ for (let r = 0; r < numRows; r++) {
233
+ for (let c = 0; c < numCols; c++) {
234
+ const cellText = _optionalChain([cells, 'access', _9 => _9[r], 'optionalAccess', _10 => _10[c], 'optionalAccess', _11 => _11.text, 'optionalAccess', _12 => _12.trim, 'call', _13 => _13()]);
235
+ if (!cellText) continue;
236
+ for (const line of cellText.split("\n")) {
237
+ const trimmed = line.trim();
238
+ if (!trimmed) continue;
239
+ result.push({ type: "paragraph", text: trimmed, pageNumber: block.pageNumber });
240
+ }
241
+ }
242
+ }
243
+ continue;
244
+ }
245
+ }
246
+ result.push(block);
247
+ }
248
+ return result;
249
+ }
250
+ function blocksToMarkdown(blocks) {
251
+ const lines = [];
252
+ for (let i = 0; i < blocks.length; i++) {
253
+ const block = blocks[i];
254
+ if (block.type === "heading" && block.text) {
255
+ const prefix = "#".repeat(Math.min(block.level || 2, 6));
256
+ const headingText = sanitizeText(block.text);
257
+ if (headingText) lines.push("", `${prefix} ${headingText}`, "");
258
+ continue;
259
+ }
260
+ if (block.type === "image" && block.text) {
261
+ lines.push("", `![image](${block.text})`, "");
262
+ continue;
263
+ }
264
+ if (block.type === "separator") {
265
+ lines.push("", "---", "");
266
+ continue;
267
+ }
268
+ if (block.type === "list" && block.text) {
269
+ const listText = sanitizeText(block.text);
270
+ if (!listText) continue;
271
+ const alreadyNumbered = block.listType === "ordered" && /^\d+\.\s/.test(listText);
272
+ const prefix = alreadyNumbered ? "" : block.listType === "ordered" ? "1. " : "- ";
273
+ lines.push(`${prefix}${listText}`);
274
+ if (block.children) {
275
+ for (const child of block.children) {
276
+ const childPrefix = child.listType === "ordered" ? "1." : "-";
277
+ lines.push(` ${childPrefix} ${child.text || ""}`);
278
+ }
279
+ }
280
+ continue;
281
+ }
282
+ if (block.type === "paragraph" && block.text) {
283
+ let text = sanitizeText(block.text);
284
+ if (!text) continue;
285
+ if (/^\[별표\s*\d+/.test(text)) {
286
+ const nextBlock = blocks[i + 1];
287
+ if (_optionalChain([nextBlock, 'optionalAccess', _14 => _14.type]) === "paragraph" && nextBlock.text && /관련\)?$/.test(nextBlock.text)) {
288
+ lines.push("", `## ${text} ${nextBlock.text}`, "");
289
+ i++;
290
+ } else {
291
+ lines.push("", `## ${text}`, "");
292
+ }
293
+ continue;
294
+ }
295
+ if (/^\([^)]*조[^)]*관련\)$/.test(text)) {
296
+ lines.push(`*${text}*`, "");
297
+ continue;
298
+ }
299
+ if (block.href) {
300
+ const href = sanitizeHref(block.href);
301
+ if (href) text = `[${text}](${href})`;
302
+ }
303
+ if (block.footnoteText) {
304
+ text += ` (\uC8FC: ${block.footnoteText})`;
305
+ }
306
+ lines.push(escapeGfm(text), "");
307
+ } else if (block.type === "table" && block.table) {
308
+ if (lines.length > 0 && lines[lines.length - 1] !== "") {
309
+ lines.push("");
310
+ }
311
+ const tableMd = tableToMarkdown(block.table);
312
+ if (tableMd) {
313
+ lines.push(tableMd);
314
+ lines.push("");
315
+ }
316
+ }
317
+ }
318
+ return lines.join("\n").trim();
319
+ }
320
+ function hasMergedCells(table) {
321
+ for (const row of table.cells) {
322
+ for (const cell of row) {
323
+ if (cell.colSpan > 1 || cell.rowSpan > 1) return true;
324
+ }
325
+ }
326
+ return false;
327
+ }
328
+ function tableToHtml(table) {
329
+ const { cells, rows: numRows, cols: numCols } = table;
330
+ const skip = /* @__PURE__ */ new Set();
331
+ const lines = ["<table>"];
332
+ for (let r = 0; r < numRows; r++) {
333
+ const tag = r === 0 ? "th" : "td";
334
+ const rowHtml = [];
335
+ for (let c = 0; c < numCols; c++) {
336
+ if (skip.has(`${r},${c}`)) continue;
337
+ const cell = _optionalChain([cells, 'access', _15 => _15[r], 'optionalAccess', _16 => _16[c]]);
338
+ if (!cell) continue;
339
+ for (let dr = 0; dr < cell.rowSpan; dr++) {
340
+ for (let dc = 0; dc < cell.colSpan; dc++) {
341
+ if (dr === 0 && dc === 0) continue;
342
+ if (r + dr < numRows && c + dc < numCols) skip.add(`${r + dr},${c + dc}`);
343
+ }
344
+ }
345
+ const text = sanitizeText(cell.text).replace(/\n/g, "<br>");
346
+ const attrs = [];
347
+ if (cell.colSpan > 1) attrs.push(`colspan="${cell.colSpan}"`);
348
+ if (cell.rowSpan > 1) attrs.push(`rowspan="${cell.rowSpan}"`);
349
+ const attrStr = attrs.length ? " " + attrs.join(" ") : "";
350
+ rowHtml.push(`<${tag}${attrStr}>${text}</${tag}>`);
351
+ }
352
+ if (rowHtml.length) lines.push(`<tr>${rowHtml.join("")}</tr>`);
353
+ }
354
+ lines.push("</table>");
355
+ return lines.join("\n");
356
+ }
357
+ function tableToMarkdown(table) {
358
+ if (table.rows === 0 || table.cols === 0) return "";
359
+ const { cells, rows: numRows, cols: numCols } = table;
360
+ if (hasMergedCells(table)) return tableToHtml(table);
361
+ if (numRows === 1 && numCols === 1) {
362
+ const content = sanitizeText(cells[0][0].text);
363
+ if (!content) return "";
364
+ return content.split(/\n/).map((line) => {
365
+ const trimmed = line.trim();
366
+ if (!trimmed) return "";
367
+ if (/^\d+\.\s/.test(trimmed)) return `**${escapeGfm(trimmed)}**`;
368
+ if (/^[가-힣]\.\s/.test(trimmed)) return ` ${escapeGfm(trimmed)}`;
369
+ return escapeGfm(trimmed);
370
+ }).filter(Boolean).join("\n");
371
+ }
372
+ if (numCols === 1 && numRows >= 2) {
373
+ return cells.map((row) => escapeGfm(sanitizeText(row[0].text)).replace(/\n/g, " ")).filter(Boolean).join("\n");
374
+ }
375
+ const display = Array.from({ length: numRows }, () => Array(numCols).fill(""));
376
+ const skip = /* @__PURE__ */ new Set();
377
+ for (let r = 0; r < numRows; r++) {
378
+ for (let c = 0; c < numCols; c++) {
379
+ if (skip.has(`${r},${c}`)) continue;
380
+ const cell = _optionalChain([cells, 'access', _17 => _17[r], 'optionalAccess', _18 => _18[c]]);
381
+ if (!cell) continue;
382
+ display[r][c] = escapeGfm(sanitizeText(cell.text)).replace(/\|/g, "\\|").replace(/\n/g, "<br>");
383
+ for (let dr = 0; dr < cell.rowSpan; dr++) {
384
+ for (let dc = 0; dc < cell.colSpan; dc++) {
385
+ if (dr === 0 && dc === 0) continue;
386
+ if (r + dr < numRows && c + dc < numCols) {
387
+ skip.add(`${r + dr},${c + dc}`);
388
+ }
389
+ }
390
+ }
391
+ c += cell.colSpan - 1;
392
+ }
393
+ }
394
+ const uniqueRows = [];
395
+ let pendingFirstCol = "";
396
+ for (let r = 0; r < display.length; r++) {
397
+ const row = display[r];
398
+ const isEmptyPlaceholder = row.every((cell) => cell === "");
399
+ if (isEmptyPlaceholder) continue;
400
+ const nonEmptyCols = row.filter((cell) => cell !== "");
401
+ const hasSkipInRow = row.some((_, c) => skip.has(`${r},${c}`));
402
+ if (!hasSkipInRow && nonEmptyCols.length === 1 && row[0] !== "" && row.slice(1).every((c) => c === "")) {
403
+ pendingFirstCol = row[0];
404
+ continue;
405
+ }
406
+ if (pendingFirstCol && row[0] === "") {
407
+ row[0] = pendingFirstCol;
408
+ pendingFirstCol = "";
409
+ } else {
410
+ pendingFirstCol = "";
411
+ }
412
+ uniqueRows.push(row);
413
+ }
414
+ if (uniqueRows.length === 0) return "";
415
+ const md = [];
416
+ md.push("| " + uniqueRows[0].join(" | ") + " |");
417
+ md.push("| " + uniqueRows[0].map(() => "---").join(" | ") + " |");
418
+ for (let i = 1; i < uniqueRows.length; i++) {
419
+ md.push("| " + uniqueRows[i].join(" | ") + " |");
420
+ }
421
+ return md.join("\n");
422
+ }
423
+
424
+ // src/types.ts
425
+ var HEADING_RATIO_H1 = 1.5;
426
+ var HEADING_RATIO_H2 = 1.3;
427
+ var HEADING_RATIO_H3 = 1.15;
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+ exports.VERSION = VERSION; exports.toArrayBuffer = toArrayBuffer; exports.KordocError = KordocError; exports.isPathTraversal = isPathTraversal; exports.precheckZipSize = precheckZipSize; exports.stripDtd = stripDtd; exports.sanitizeHref = sanitizeHref; exports.safeMin = safeMin; exports.safeMax = safeMax; exports.classifyError = classifyError; exports.MAX_COLS = MAX_COLS; exports.MAX_ROWS = MAX_ROWS; exports.buildTable = buildTable; exports.convertTableToText = convertTableToText; exports.flattenLayoutTables = flattenLayoutTables; exports.blocksToMarkdown = blocksToMarkdown; exports.HEADING_RATIO_H1 = HEADING_RATIO_H1; exports.HEADING_RATIO_H2 = HEADING_RATIO_H2; exports.HEADING_RATIO_H3 = HEADING_RATIO_H3;
450
+ //# sourceMappingURL=chunk-OJ4QR33V.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["c:\\github_project\\kordoc\\dist\\chunk-OJ4QR33V.cjs"],"names":[],"mappings":"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AAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"C:\\github_project\\kordoc\\dist\\chunk-OJ4QR33V.cjs","sourcesContent":[null]}