kordoc 4.2.9 → 4.3.0
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.
- package/README.md +922 -885
- package/dist/{-ECUCTQTR.js → -DYHT3HWH.js} +28 -20
- package/dist/{chunk-J2RZ444H.js → chunk-3FFPHTXD.js} +1 -1
- package/dist/chunk-3FFPHTXD.js.map +1 -0
- package/dist/{chunk-27Z4PUZZ.js → chunk-4DBCUF3C.js} +38 -7
- package/dist/chunk-4DBCUF3C.js.map +1 -0
- package/dist/{chunk-5RPYBC2Q.js → chunk-6GBLFQMA.js} +1 -1
- package/dist/chunk-6GBLFQMA.js.map +1 -0
- package/dist/{chunk-VEHC4EJL.js → chunk-6RAYTNQT.js} +5 -5
- package/dist/chunk-6RAYTNQT.js.map +1 -0
- package/dist/{chunk-GEPINOL6.js → chunk-6XPXIG57.js} +2 -2
- package/dist/chunk-6XPXIG57.js.map +1 -0
- package/dist/{chunk-7ZARSBQ3.js → chunk-7MFO4TKP.js} +4 -3
- package/dist/chunk-7MFO4TKP.js.map +1 -0
- package/dist/{chunk-PATPZTH7.cjs → chunk-AL34DGS5.cjs} +6 -6
- package/dist/chunk-AL34DGS5.cjs.map +1 -0
- package/dist/{chunk-LXE7OR6N.js → chunk-ARXNKC5D.js} +3 -3
- package/dist/chunk-ARXNKC5D.js.map +1 -0
- package/dist/{chunk-6GM2QLM3.cjs → chunk-AUOEZKJE.cjs} +21 -21
- package/dist/chunk-AUOEZKJE.cjs.map +1 -0
- package/dist/chunk-DCZVOIEO.cjs.map +1 -1
- package/dist/{chunk-3TSTZGCJ.js → chunk-DRQUAYNT.js} +4 -3
- package/dist/chunk-DRQUAYNT.js.map +1 -0
- package/dist/{chunk-G3DMDTZI.js → chunk-DRZUJ2RK.js} +1511 -1135
- package/dist/chunk-DRZUJ2RK.js.map +1 -0
- package/dist/{chunk-NIISBGSR.js → chunk-EFVAY5VE.js} +71 -29
- package/dist/chunk-EFVAY5VE.js.map +1 -0
- package/dist/{chunk-3PLF5UIS.js → chunk-EZHW3RNQ.js} +37 -6
- package/dist/chunk-EZHW3RNQ.js.map +1 -0
- package/dist/chunk-GS7T56RP.cjs.map +1 -1
- package/dist/{chunk-MHMVFI2N.js → chunk-GSMPTZC7.js} +4 -4
- package/dist/chunk-GSMPTZC7.js.map +1 -0
- package/dist/{chunk-GZ7W64QU.cjs → chunk-JFV7QT5T.cjs} +4 -3
- package/dist/chunk-JFV7QT5T.cjs.map +1 -0
- package/dist/{chunk-4ZWKFDUC.cjs → chunk-LPQWKQQQ.cjs} +44 -13
- package/dist/chunk-LPQWKQQQ.cjs.map +1 -0
- package/dist/{chunk-H7OWEYH2.cjs → chunk-MGGU3ZRK.cjs} +1 -1
- package/dist/chunk-MGGU3ZRK.cjs.map +1 -0
- package/dist/chunk-MOL7MDBG.js +0 -0
- package/dist/{chunk-XU4VWOKL.js → chunk-NMWXBJ5B.js} +4 -3
- package/dist/chunk-NMWXBJ5B.js.map +1 -0
- package/dist/{chunk-DZIXKL7E.js → chunk-O5EK52TG.js} +1 -1
- package/dist/chunk-O5EK52TG.js.map +1 -0
- package/dist/{chunk-KTPZYXN2.js → chunk-SPKBIFSK.js} +2 -2
- package/dist/chunk-SPKBIFSK.js.map +1 -0
- package/dist/{chunk-STYN45MS.js → chunk-US4WFSIQ.js} +4 -4
- package/dist/chunk-US4WFSIQ.js.map +1 -0
- package/dist/{chunk-WTT2KJOM.js → chunk-VXMLENCV.js} +14 -10
- package/dist/chunk-VXMLENCV.js.map +1 -0
- package/dist/{chunk-7FCNOKOR.js → chunk-W34QSJFF.js} +1 -1
- package/dist/chunk-W34QSJFF.js.map +1 -0
- package/dist/{chunk-YR4PF56B.js → chunk-WFOQFJI4.js} +2 -2
- package/dist/chunk-WFOQFJI4.js.map +1 -0
- package/dist/{chunk-NNDVFNMJ.js → chunk-YNJDNP44.js} +1 -1
- package/dist/chunk-YNJDNP44.js.map +1 -0
- package/dist/{chunk-LM7C6HI2.js → chunk-ZSL6MQVE.js} +1 -1
- package/dist/chunk-ZSL6MQVE.js.map +1 -0
- package/dist/chunks-Q7T4SQGW.js +10 -0
- package/dist/cli.js +75 -39
- package/dist/cli.js.map +1 -1
- package/dist/{formula-SXC6LRRC.js → formula-7ZPC54JO.js} +2 -2
- package/dist/formula-7ZPC54JO.js.map +1 -0
- package/dist/{formula-KSNAEBZ2.js → formula-EQRHSMYW.js} +2 -2
- package/dist/formula-EQRHSMYW.js.map +1 -0
- package/dist/{formula-SB3NHDUM.cjs → formula-IWV5IJ3Y.cjs} +8 -8
- package/dist/formula-IWV5IJ3Y.cjs.map +1 -0
- package/dist/{image-ocr-PS7XCV6K.js → image-ocr-G2LYTEUH.js} +8 -6
- package/dist/image-ocr-G2LYTEUH.js.map +1 -0
- package/dist/{image-ocr-KZTNJ62U.js → image-ocr-R44RYDBU.js} +10 -8
- package/dist/image-ocr-R44RYDBU.js.map +1 -0
- package/dist/{image-ocr-J5656BEE.cjs → image-ocr-XEJFXH6M.cjs} +13 -11
- package/dist/image-ocr-XEJFXH6M.cjs.map +1 -0
- package/dist/index.cjs +1993 -1845
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +75 -4
- package/dist/index.d.ts +75 -4
- package/dist/index.js +2128 -1980
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +123 -78
- package/dist/mcp.js.map +1 -1
- package/dist/{models-KA4GLQK5.js → models-6VMAVZR6.js} +3 -3
- package/dist/page-range-737B4EZW.js +0 -0
- package/dist/page-range-P7SDW6LR.cjs.map +1 -1
- package/dist/{parser-A34NAYKA.js → parser-2G245MMN.js} +6 -6
- package/dist/parser-2G245MMN.js.map +1 -0
- package/dist/{parser-WNFWMBSL.js → parser-W3POOYQQ.js} +8 -8
- package/dist/parser-W3POOYQQ.js.map +1 -0
- package/dist/{parser-CSYU3CAW.cjs → parser-W3ZGQUCQ.cjs} +25 -25
- package/dist/parser-W3ZGQUCQ.cjs.map +1 -0
- package/dist/pdf-ocr-3GDTJSHF.js +15 -0
- package/dist/pdf-ocr-N7IU23UV.cjs +13 -0
- package/dist/pdf-ocr-N7IU23UV.cjs.map +1 -0
- package/dist/pdf-ocr-U7MEGNBZ.js +12 -0
- package/dist/{profile-io-43MF52H6.js → profile-io-72R3B7KO.js} +3 -3
- package/dist/{rasterize-OG7KXBJS.js → rasterize-GNJQVURE.js} +2 -2
- package/dist/rasterize-GNJQVURE.js.map +1 -0
- package/dist/{redact-7ILEAUTS.js → redact-W5K3ILQH.js} +2 -2
- package/dist/render-6OW6U4L4.js +10 -0
- package/dist/seal-GTNLVBJX.js +10 -0
- package/dist/{setup-GUQT5ELJ.js → setup-I4I75QJU.js} +1 -1
- package/dist/setup-I4I75QJU.js.map +1 -0
- package/dist/{watch-SOHQMZN2.js → watch-2ADAJLIJ.js} +12 -14
- package/dist/watch-2ADAJLIJ.js.map +1 -0
- package/package.json +101 -98
- package/templates//352/260/204/354/235/264/352/270/260/354/225/210/353/254/270_/354/204/234/354/213/235.hwpx +0 -0
- package/templates//352/260/204/354/235/264/352/270/260/354/225/210/353/254/270_/354/230/210/354/213/234/352/260/222.json +9 -0
- package/templates//354/235/274/353/260/230/352/270/260/354/225/210/353/254/270_/354/204/234/354/213/235.hwpx +0 -0
- package/templates//354/235/274/353/260/230/352/270/260/354/225/210/353/254/270_/354/230/210/354/213/234/352/260/222.json +25 -0
- package/dist/chunk-27Z4PUZZ.js.map +0 -1
- package/dist/chunk-3PLF5UIS.js.map +0 -1
- package/dist/chunk-3TSTZGCJ.js.map +0 -1
- package/dist/chunk-4ZWKFDUC.cjs.map +0 -1
- package/dist/chunk-5RPYBC2Q.js.map +0 -1
- package/dist/chunk-6GM2QLM3.cjs.map +0 -1
- package/dist/chunk-7FCNOKOR.js.map +0 -1
- package/dist/chunk-7ZARSBQ3.js.map +0 -1
- package/dist/chunk-DZIXKL7E.js.map +0 -1
- package/dist/chunk-G3DMDTZI.js.map +0 -1
- package/dist/chunk-GEPINOL6.js.map +0 -1
- package/dist/chunk-GZ7W64QU.cjs.map +0 -1
- package/dist/chunk-H7OWEYH2.cjs.map +0 -1
- package/dist/chunk-J2RZ444H.js.map +0 -1
- package/dist/chunk-KTPZYXN2.js.map +0 -1
- package/dist/chunk-LM7C6HI2.js.map +0 -1
- package/dist/chunk-LXE7OR6N.js.map +0 -1
- package/dist/chunk-MHMVFI2N.js.map +0 -1
- package/dist/chunk-NIISBGSR.js.map +0 -1
- package/dist/chunk-NNDVFNMJ.js.map +0 -1
- package/dist/chunk-PATPZTH7.cjs.map +0 -1
- package/dist/chunk-STYN45MS.js.map +0 -1
- package/dist/chunk-TCJRGFYY.js +0 -280
- package/dist/chunk-TCJRGFYY.js.map +0 -1
- package/dist/chunk-VEHC4EJL.js.map +0 -1
- package/dist/chunk-WTT2KJOM.js.map +0 -1
- package/dist/chunk-XU4VWOKL.js.map +0 -1
- package/dist/chunk-YR4PF56B.js.map +0 -1
- package/dist/chunks-VFIMYK36.js +0 -10
- package/dist/detect-FX2ZHKZP.js +0 -26
- package/dist/formula-KSNAEBZ2.js.map +0 -1
- package/dist/formula-SB3NHDUM.cjs.map +0 -1
- package/dist/formula-SXC6LRRC.js.map +0 -1
- package/dist/image-ocr-J5656BEE.cjs.map +0 -1
- package/dist/image-ocr-KZTNJ62U.js.map +0 -1
- package/dist/image-ocr-PS7XCV6K.js.map +0 -1
- package/dist/parser-A34NAYKA.js.map +0 -1
- package/dist/parser-CSYU3CAW.cjs.map +0 -1
- package/dist/parser-WNFWMBSL.js.map +0 -1
- package/dist/pdf-ocr-KBMWPG2L.js +0 -12
- package/dist/pdf-ocr-NPZG67FN.js +0 -15
- package/dist/pdf-ocr-O44DAGTY.cjs +0 -13
- package/dist/pdf-ocr-O44DAGTY.cjs.map +0 -1
- package/dist/rasterize-OG7KXBJS.js.map +0 -1
- package/dist/render-336CJHAS.js +0 -10
- package/dist/seal-TM2XCE2R.js +0 -10
- package/dist/seal-TM2XCE2R.js.map +0 -1
- package/dist/setup-GUQT5ELJ.js.map +0 -1
- package/dist/watch-SOHQMZN2.js.map +0 -1
- /package/dist/{-ECUCTQTR.js.map → -DYHT3HWH.js.map} +0 -0
- /package/dist/{chunks-VFIMYK36.js.map → chunks-Q7T4SQGW.js.map} +0 -0
- /package/dist/{detect-FX2ZHKZP.js.map → models-6VMAVZR6.js.map} +0 -0
- /package/dist/{models-KA4GLQK5.js.map → pdf-ocr-3GDTJSHF.js.map} +0 -0
- /package/dist/{pdf-ocr-KBMWPG2L.js.map → pdf-ocr-U7MEGNBZ.js.map} +0 -0
- /package/dist/{pdf-ocr-NPZG67FN.js.map → profile-io-72R3B7KO.js.map} +0 -0
- /package/dist/{profile-io-43MF52H6.js.map → redact-W5K3ILQH.js.map} +0 -0
- /package/dist/{redact-7ILEAUTS.js.map → render-6OW6U4L4.js.map} +0 -0
- /package/dist/{render-336CJHAS.js.map → seal-GTNLVBJX.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
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; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkJFV7QT5Tcjs = require('./chunk-JFV7QT5T.cjs');
|
|
4
4
|
|
|
5
5
|
// src/shared/pua.ts
|
|
6
6
|
var BMP_SYMBOL_MAP = {
|
|
@@ -183,7 +183,7 @@ function buildTable(rows, options) {
|
|
|
183
183
|
const cell = rows[rowIdx][cellIdx];
|
|
184
184
|
anchorCols.add(colIdx);
|
|
185
185
|
grid[rowIdx][colIdx] = {
|
|
186
|
-
text: cell.text.trim(),
|
|
186
|
+
text: _optionalChain([options, 'optionalAccess', _2 => _2.keepEmptyParagraphs]) ? cell.text : cell.text.trim(),
|
|
187
187
|
colSpan: cell.colSpan,
|
|
188
188
|
rowSpan: cell.rowSpan
|
|
189
189
|
};
|
|
@@ -219,7 +219,7 @@ function buildTableDirect(rows, numRows, options) {
|
|
|
219
219
|
const c = _nullishCoalesce(cell.colAddr, () => ( 0));
|
|
220
220
|
if (r >= numRows || c >= maxCols || r < 0 || c < 0) continue;
|
|
221
221
|
anchorCols.add(c);
|
|
222
|
-
grid[r][c] = { text: cell.text.trim(), colSpan: cell.colSpan, rowSpan: cell.rowSpan };
|
|
222
|
+
grid[r][c] = { text: _optionalChain([options, 'optionalAccess', _3 => _3.keepEmptyParagraphs]) ? cell.text : cell.text.trim(), colSpan: cell.colSpan, rowSpan: cell.rowSpan };
|
|
223
223
|
for (let dr = 0; dr < cell.rowSpan; dr++) {
|
|
224
224
|
for (let dc = 0; dc < cell.colSpan; dc++) {
|
|
225
225
|
if (dr === 0 && dc === 0) continue;
|
|
@@ -235,9 +235,9 @@ function buildTableDirect(rows, numRows, options) {
|
|
|
235
235
|
function trimAndReturn(grid, numRows, maxCols, anchorCols, options) {
|
|
236
236
|
let effectiveCols = maxCols;
|
|
237
237
|
while (effectiveCols > 0) {
|
|
238
|
-
const colEmpty = grid.every((row) => !_optionalChain([row, 'access',
|
|
238
|
+
const colEmpty = grid.every((row) => !_optionalChain([row, 'access', _4 => _4[effectiveCols - 1], 'optionalAccess', _5 => _5.text, 'optionalAccess', _6 => _6.trim, 'call', _7 => _7()]));
|
|
239
239
|
if (!colEmpty) break;
|
|
240
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
240
|
+
if (_optionalChain([options, 'optionalAccess', _8 => _8.keepAnchoredEmptyCols]) && anchorCols.has(effectiveCols - 1)) break;
|
|
241
241
|
effectiveCols--;
|
|
242
242
|
}
|
|
243
243
|
if (effectiveCols < maxCols && effectiveCols > 0) {
|
|
@@ -290,7 +290,7 @@ function flattenLayoutTables(blocks) {
|
|
|
290
290
|
let totalTextLen = 0;
|
|
291
291
|
for (let r = 0; r < numRows; r++) {
|
|
292
292
|
for (let c = 0; c < numCols; c++) {
|
|
293
|
-
const t = _optionalChain([cells, 'access',
|
|
293
|
+
const t = _optionalChain([cells, 'access', _9 => _9[r], 'optionalAccess', _10 => _10[c], 'optionalAccess', _11 => _11.text]) || "";
|
|
294
294
|
totalNewlines += (t.match(/\n/g) || []).length;
|
|
295
295
|
totalTextLen += t.length;
|
|
296
296
|
}
|
|
@@ -298,13 +298,13 @@ function flattenLayoutTables(blocks) {
|
|
|
298
298
|
if (numCols < 4 && (totalNewlines > 5 || numRows <= 2 && totalTextLen > 300)) {
|
|
299
299
|
for (let r = 0; r < numRows; r++) {
|
|
300
300
|
for (let c = 0; c < numCols; c++) {
|
|
301
|
-
const cell = _optionalChain([cells, 'access',
|
|
301
|
+
const cell = _optionalChain([cells, 'access', _12 => _12[r], 'optionalAccess', _13 => _13[c]]);
|
|
302
302
|
if (!cell) continue;
|
|
303
|
-
if (_optionalChain([cell, 'access',
|
|
303
|
+
if (_optionalChain([cell, 'access', _14 => _14.blocks, 'optionalAccess', _15 => _15.length])) {
|
|
304
304
|
result.push(...flattenLayoutTables(cell.blocks));
|
|
305
305
|
continue;
|
|
306
306
|
}
|
|
307
|
-
const cellText = _optionalChain([cell, 'access',
|
|
307
|
+
const cellText = _optionalChain([cell, 'access', _16 => _16.text, 'optionalAccess', _17 => _17.trim, 'call', _18 => _18()]);
|
|
308
308
|
if (!cellText) continue;
|
|
309
309
|
for (const line of cellText.split("\n")) {
|
|
310
310
|
const trimmed = line.trim();
|
|
@@ -324,7 +324,7 @@ var RUNNING_HEADER_MAX_LEN = 40;
|
|
|
324
324
|
var RUNNING_HEADER_MIN_FREQ = 3;
|
|
325
325
|
function isRunningHeaderCandidate(block) {
|
|
326
326
|
if (block.type !== "paragraph" && block.type !== "heading") return false;
|
|
327
|
-
const text = _optionalChain([block, 'access',
|
|
327
|
+
const text = _optionalChain([block, 'access', _19 => _19.text, 'optionalAccess', _20 => _20.trim, 'call', _21 => _21()]);
|
|
328
328
|
if (!text || text.length > RUNNING_HEADER_MAX_LEN) return false;
|
|
329
329
|
return /^\d+\.\s/.test(text);
|
|
330
330
|
}
|
|
@@ -407,7 +407,7 @@ function blocksToMarkdown(blocks) {
|
|
|
407
407
|
if (!text) continue;
|
|
408
408
|
if (/^\[별표\s*\d+/.test(text)) {
|
|
409
409
|
const nextBlock = blocks[i + 1];
|
|
410
|
-
if (_optionalChain([nextBlock, 'optionalAccess',
|
|
410
|
+
if (_optionalChain([nextBlock, 'optionalAccess', _22 => _22.type]) === "paragraph" && nextBlock.text && /관련\)?$/.test(nextBlock.text)) {
|
|
411
411
|
lines.push("", `## ${escapeGfm(text)} ${escapeGfm(nextBlock.text)}`, "");
|
|
412
412
|
i++;
|
|
413
413
|
} else {
|
|
@@ -420,10 +420,10 @@ function blocksToMarkdown(blocks) {
|
|
|
420
420
|
continue;
|
|
421
421
|
}
|
|
422
422
|
const listIndent = block.listDepth ? " ".repeat(block.listDepth) : "";
|
|
423
|
-
if (_optionalChain([block, 'access',
|
|
423
|
+
if (_optionalChain([block, 'access', _23 => _23.spans, 'optionalAccess', _24 => _24.length])) {
|
|
424
424
|
let rendered = spansToMarkdown(block.spans);
|
|
425
425
|
if (block.href) {
|
|
426
|
-
const href =
|
|
426
|
+
const href = _chunkJFV7QT5Tcjs.sanitizeHref.call(void 0, block.href);
|
|
427
427
|
if (href) rendered = `[${rendered}](${href})`;
|
|
428
428
|
}
|
|
429
429
|
if (block.footnoteText) rendered += ` (\uC8FC: ${block.footnoteText})`;
|
|
@@ -431,7 +431,7 @@ function blocksToMarkdown(blocks) {
|
|
|
431
431
|
continue;
|
|
432
432
|
}
|
|
433
433
|
if (block.href) {
|
|
434
|
-
const href =
|
|
434
|
+
const href = _chunkJFV7QT5Tcjs.sanitizeHref.call(void 0, block.href);
|
|
435
435
|
if (href) text = `[${text}](${href})`;
|
|
436
436
|
}
|
|
437
437
|
if (block.footnoteText) {
|
|
@@ -466,13 +466,13 @@ function hasMergedCells(table) {
|
|
|
466
466
|
function hasNestedTables(table) {
|
|
467
467
|
for (const row of table.cells) {
|
|
468
468
|
for (const cell of row) {
|
|
469
|
-
if (_optionalChain([cell, 'access',
|
|
469
|
+
if (_optionalChain([cell, 'access', _25 => _25.blocks, 'optionalAccess', _26 => _26.some, 'call', _27 => _27((b) => b.type === "table" && b.table)])) return true;
|
|
470
470
|
}
|
|
471
471
|
}
|
|
472
472
|
return false;
|
|
473
473
|
}
|
|
474
474
|
function cellInnerHtml(cell) {
|
|
475
|
-
if (_optionalChain([cell, 'access',
|
|
475
|
+
if (_optionalChain([cell, 'access', _28 => _28.blocks, 'optionalAccess', _29 => _29.length])) {
|
|
476
476
|
return cell.blocks.map((b) => {
|
|
477
477
|
if (b.type === "table" && b.table) {
|
|
478
478
|
const cap = b.table.caption ? sanitizeText(b.table.caption) : "";
|
|
@@ -505,7 +505,7 @@ function tableToHtml(table) {
|
|
|
505
505
|
const rowHtml = [];
|
|
506
506
|
for (let c = 0; c < numCols; c++) {
|
|
507
507
|
if (skip.has(`${r},${c}`)) continue;
|
|
508
|
-
const cell = _optionalChain([cells, 'access',
|
|
508
|
+
const cell = _optionalChain([cells, 'access', _30 => _30[r], 'optionalAccess', _31 => _31[c]]);
|
|
509
509
|
if (!cell) continue;
|
|
510
510
|
for (let dr = 0; dr < cell.rowSpan; dr++) {
|
|
511
511
|
for (let dc = 0; dc < cell.colSpan; dc++) {
|
|
@@ -550,9 +550,9 @@ function tableToMarkdown(table) {
|
|
|
550
550
|
for (let r = 0; r < numRows; r++) {
|
|
551
551
|
for (let c = 0; c < numCols; c++) {
|
|
552
552
|
if (skip.has(`${r},${c}`)) continue;
|
|
553
|
-
const cell = _optionalChain([cells, 'access',
|
|
553
|
+
const cell = _optionalChain([cells, 'access', _32 => _32[r], 'optionalAccess', _33 => _33[c]]);
|
|
554
554
|
if (!cell) continue;
|
|
555
|
-
display[r][c] = (_optionalChain([cell, 'access',
|
|
555
|
+
display[r][c] = (_optionalChain([cell, 'access', _34 => _34.blocks, 'optionalAccess', _35 => _35.some, 'call', _36 => _36((b) => b.spans)]) ? cell.blocks.map((b) => b.type === "image" && b.text ? `` : b.spans ? spansToMarkdown(b.spans) : escapeGfm(sanitizeText(_nullishCoalesce(b.text, () => ( ""))))).filter(Boolean).join("<br>") : escapeGfm(sanitizeText(cell.text)).replace(/\n/g, "<br>")).replace(/\|/g, "\\|");
|
|
556
556
|
for (let dr = 0; dr < cell.rowSpan; dr++) {
|
|
557
557
|
for (let dc = 0; dc < cell.colSpan; dc++) {
|
|
558
558
|
if (dr === 0 && dc === 0) continue;
|
|
@@ -713,7 +713,7 @@ function encodePng(width, height, rgba) {
|
|
|
713
713
|
return out;
|
|
714
714
|
}
|
|
715
715
|
function inlineImagesIntoMarkdown(markdown, images, opts) {
|
|
716
|
-
const compress = _optionalChain([opts, 'optionalAccess',
|
|
716
|
+
const compress = _optionalChain([opts, 'optionalAccess', _37 => _37.compress]) !== false;
|
|
717
717
|
const uris = /* @__PURE__ */ new Map();
|
|
718
718
|
for (const img of images) {
|
|
719
719
|
let bytes = img.data;
|
|
@@ -751,4 +751,4 @@ function inlineImagesIntoMarkdown(markdown, images, opts) {
|
|
|
751
751
|
|
|
752
752
|
|
|
753
753
|
exports.mapPuaText = mapPuaText; exports.MAX_COLS = MAX_COLS; exports.MAX_ROWS = MAX_ROWS; exports.buildTable = buildTable; exports.convertTableToText = convertTableToText; exports.flattenLayoutTables = flattenLayoutTables; exports.dedupeRunningHeaders = dedupeRunningHeaders; exports.blocksToMarkdown = blocksToMarkdown; exports.encodePng = encodePng; exports.inlineImagesIntoMarkdown = inlineImagesIntoMarkdown;
|
|
754
|
-
//# sourceMappingURL=chunk-
|
|
754
|
+
//# sourceMappingURL=chunk-AUOEZKJE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["c:\\github_project\\kordoc\\dist\\chunk-AUOEZKJE.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;AACA,IAAI,eAAe,EAAE;AACrB;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA;AACA,EAAE,GAAG,EAAE,MAAM;AACb;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,MAAM;AACb;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA,EAAE,GAAG,EAAE,QAAQ;AACf;AACA;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE,QAAQ;AACd;AACA,EAAE,EAAE,EAAE;AACN;AACA,CAAC;AACD,IAAI,kBAAkB,EAAE;AACxB,EAAE,MAAM,EAAE,QAAQ;AAClB;AACA,EAAE,MAAM,EAAE,MAAM;AAChB;AACA,EAAE,MAAM,EAAE,QAAQ;AAClB;AACA,EAAE,MAAM,EAAE,QAAQ;AAClB;AACA,EAAE,MAAM,EAAE,QAAQ;AAClB;AACA,EAAE,MAAM,EAAE,QAAQ;AAClB;AACA,EAAE,MAAM,EAAE,QAAQ;AAClB;AACA,EAAE,MAAM,EAAE;AACV;AACA,CAAC;AACD,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,EAAE;AACtC,IAAI,OAAO,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;AACvC,EAAE;AACF,EAAE,GAAG,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,EAAE;AACxC,IAAI,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAClC,EAAE;AACF,EAAE,OAAO,KAAK,CAAC;AACf;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,IAAI,IAAI,EAAE,EAAE;AACd,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,EAAE;AACzB,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AAClC,IAAI,IAAI,oBAAG,UAAU,CAAC,IAAI,CAAE,UAAG,IAAE;AACjC,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA;AACA;AACA,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG;AAClB,SAAS,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE;AACnC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;AAC5D,EAAE,MAAM,QAAQ,EAAE,IAAI,CAAC,MAAM;AAC7B,EAAE,MAAM,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;AACnG,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAC9D,EAAE,IAAI,QAAQ,EAAE,CAAC;AACjB,EAAE,MAAM,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAChE,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;AACnD,IAAI,IAAI,OAAO,EAAE,CAAC;AAClB,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;AACrC,MAAM,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE;AACxE,MAAM,GAAG,CAAC,OAAO,GAAG,QAAQ,EAAE,KAAK;AACnC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9E,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;AACjF,UAAU,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI;AACnC,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;AAC5B,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;AAC5C,IAAI;AACJ,EAAE;AACF,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC;AAC7E,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,IAAI;AACzB,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC;AACvB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACtF,EAAE,CAAC;AACH,EAAE,MAAM,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpF,EAAE,MAAM,WAAW,kBAAkB,IAAI,GAAG,CAAC,CAAC;AAC9C,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;AACnD,IAAI,IAAI,OAAO,EAAE,CAAC;AAClB,IAAI,IAAI,QAAQ,EAAE,CAAC;AACnB,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;AAC9D,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE;AACnE,MAAM,GAAG,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK;AAClC,MAAM,MAAM,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;AACxC,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;AAC7B,QAAQ,IAAI,kBAAE,OAAO,6BAAE,sBAAoB,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzE,QAAQ,OAAO,EAAE,IAAI,CAAC,OAAO;AAC7B,QAAQ,OAAO,EAAE,IAAI,CAAC;AACtB,MAAM,CAAC;AACP,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9E,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE;AAChF,UAAU,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI;AAC/B,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;AAC5B,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;AACnE;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;AAClD,EAAE,IAAI,QAAQ,EAAE,CAAC;AACjB,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,EAAE;AAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;AAC5B,MAAM,MAAM,IAAI,EAAE,kBAAC,IAAI,CAAC,OAAQ,UAAG,GAAC,EAAE,EAAE,IAAI,CAAC,OAAO;AACpD,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;AACtC,IAAI;AACJ,EAAE;AACF,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;AAC5C,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC;AAC7E,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,IAAI;AACzB,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC;AACvB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACtF,EAAE,CAAC;AACH,EAAE,MAAM,WAAW,kBAAkB,IAAI,GAAG,CAAC,CAAC;AAC9C,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,EAAE;AAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;AAC5B,MAAM,MAAM,EAAE,mBAAE,IAAI,CAAC,OAAQ,UAAG,GAAC;AACjC,MAAM,MAAM,EAAE,mBAAE,IAAI,CAAC,OAAQ,UAAG,GAAC;AACjC,MAAM,GAAG,CAAC,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,QAAQ,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ;AAClE,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACvB,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,kBAAE,OAAO,6BAAE,sBAAoB,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;AACtI,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;AAChD,QAAQ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;AAClD,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,QAAQ;AAC5C,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;AACpD,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;AACvE,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;AACnE;AACA,SAAS,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE;AACpE,EAAE,IAAI,cAAc,EAAE,OAAO;AAC7B,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE;AAC5B,IAAI,MAAM,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,iBAAC,GAAG,qBAAC,cAAc,EAAE,CAAC,CAAC,6BAAE,IAAI,6BAAE,IAAI,mBAAC,GAAC,CAAC;AAC/E,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK;AACxB,IAAI,GAAG,iBAAC,OAAO,6BAAE,wBAAsB,GAAG,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,KAAK;AAClF,IAAI,aAAa,EAAE;AACnB,EAAE;AACF,EAAE,GAAG,CAAC,cAAc,EAAE,QAAQ,GAAG,cAAc,EAAE,CAAC,EAAE;AACpD,IAAI,MAAM,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAClE,IAAI,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AACzF,EAAE;AACF,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;AAC9E;AACA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,EAAE,OAAO,IAAI,CAAC,GAAG;AACjB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK;AAC/G,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,MAAM,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AACpC,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;AAClB,EAAE,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,4FAA4F,EAAE,CAAC,CAAC,EAAE,GAAG;AACnI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,IAAI,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG;AACzC,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;AACrD,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F;AACA,IAAI,sBAAsB,EAAE,sOAAsO;AAClQ,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACrI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACnD,IAAI,MAAM,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AACpC,IAAI,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;AACvH,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,sBAAsB,EAAE,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;AAC5E,MAAM,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9B,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACrC,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;AACnB,EAAE,IAAI,CAAC,MAAM,MAAM,GAAG,MAAM,EAAE;AAC9B,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;AAChD,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,MAAM,QAAQ;AACd,IAAI;AACJ,IAAI,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK;AAC/D,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,GAAG,QAAQ,IAAI,CAAC,EAAE;AACxC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,MAAM,QAAQ;AACd,IAAI;AACJ,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE;AACtB,MAAM,IAAI,cAAc,EAAE,CAAC;AAC3B,MAAM,IAAI,aAAa,EAAE,CAAC;AAC1B,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;AACxC,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;AAC1C,UAAU,MAAM,EAAE,kBAAE,KAAK,qBAAC,CAAC,CAAC,8BAAE,CAAC,CAAC,CAAC,+BAAE,OAAK,GAAG,EAAE;AAC7C,UAAU,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;AACxD,UAAU,aAAa,GAAG,CAAC,CAAC,MAAM;AAClC,QAAQ;AACR,MAAM;AACN,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE;AACpF,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;AAC1C,UAAU,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;AAC5C,YAAY,MAAM,KAAK,kBAAE,KAAK,uBAAC,CAAC,CAAC,8BAAE,CAAC,CAAC,GAAC;AACtC,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ;AAC/B,YAAY,GAAG,iBAAC,IAAI,uBAAC,MAAM,+BAAE,QAAM,EAAE;AACrC,cAAc,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9D,cAAc,QAAQ;AACtB,YAAY;AACZ,YAAY,MAAM,SAAS,kBAAE,IAAI,uBAAC,IAAI,+BAAE,IAAI,qBAAC,GAAC;AAC9C,YAAY,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ;AACnC,YAAY,IAAI,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACrD,cAAc,MAAM,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,cAAc,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ;AACpC,cAAc,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAC7F,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,QAAQ,QAAQ;AAChB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,IAAI,uBAAuB,EAAE,EAAE;AAC/B,IAAI,wBAAwB,EAAE,CAAC;AAC/B,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACzC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE,OAAO,KAAK;AAC1E,EAAE,MAAM,KAAK,kBAAE,KAAK,uBAAC,IAAI,+BAAE,IAAI,qBAAC,GAAC;AACjC,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,KAAK;AACjE,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B;AACA,SAAS,oBAAoB,CAAC,MAAM,EAAE;AACtC,EAAE,MAAM,KAAK,kBAAkB,IAAI,GAAG,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,MAAM,MAAM,GAAG,MAAM,EAAE;AAC9B,IAAI,GAAG,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,QAAQ;AAClD,IAAI,MAAM,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,UAAG,GAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,EAAE;AACF,EAAE,MAAM,KAAK,kBAAkB,IAAI,GAAG,CAAC,CAAC;AACxC,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;AACnB,EAAE,IAAI,CAAC,MAAM,MAAM,GAAG,MAAM,EAAE;AAC9B,IAAI,GAAG,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE;AACzC,MAAM,MAAM,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,MAAM,GAAG,CAAC,kBAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,UAAG,GAAC,EAAE,GAAG,uBAAuB,EAAE;AAC5D,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ;AACpC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,IAAI,IAAI,EAAE,EAAE;AACd,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE;AACzB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ;AACzB,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;AAChG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,MAAA;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,IAAA;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,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"C:\\github_project\\kordoc\\dist\\chunk-AUOEZKJE.cjs","sourcesContent":[null]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["c:\\github_project\\kordoc\\dist\\chunk-DCZVOIEO.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-DCZVOIEO.cjs","sourcesContent":[null]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
// src/utils.ts
|
|
4
|
-
var VERSION = true ? "4.
|
|
4
|
+
var VERSION = true ? "4.3.0" : "0.0.0-dev";
|
|
5
5
|
function toArrayBuffer(buf) {
|
|
6
6
|
if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
|
|
7
7
|
return buf.buffer;
|
|
@@ -96,8 +96,9 @@ function safeMax(arr) {
|
|
|
96
96
|
function classifyError(err) {
|
|
97
97
|
if (!(err instanceof Error)) return "PARSE_ERROR";
|
|
98
98
|
const msg = err.message;
|
|
99
|
-
if (msg.includes("\uC554\uD638\uD654")) return "ENCRYPTED";
|
|
100
99
|
if (msg.includes("DRM")) return "DRM_PROTECTED";
|
|
100
|
+
if (msg.includes("\uC554\uD638\uD654") || msg.includes("\uC554\uD638\uB85C \uBCF4\uD638")) return "ENCRYPTED";
|
|
101
|
+
if (msg.includes("optional dependency")) return "MISSING_DEPENDENCY";
|
|
101
102
|
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";
|
|
102
103
|
if (msg.includes("bomb") || msg.includes("\uD06C\uAE30 \uCD08\uACFC") || msg.includes("\uC555\uCD95 \uD574\uC81C")) return "DECOMPRESSION_BOMB";
|
|
103
104
|
if (msg.includes("\uC774\uBBF8\uC9C0 \uAE30\uBC18")) return "IMAGE_BASED_PDF";
|
|
@@ -121,4 +122,4 @@ export {
|
|
|
121
122
|
safeMax,
|
|
122
123
|
classifyError
|
|
123
124
|
};
|
|
124
|
-
//# sourceMappingURL=chunk-
|
|
125
|
+
//# sourceMappingURL=chunk-DRQUAYNT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts"],"sourcesContent":["/** kordoc 공용 유틸리티 */\r\n\r\n/** 빌드 타임에 tsup define으로 주입되는 버전 */\r\ndeclare const __KORDOC_VERSION__: string\r\nexport const VERSION: string = typeof __KORDOC_VERSION__ !== \"undefined\" ? __KORDOC_VERSION__ : \"0.0.0-dev\"\r\n\r\n/**\r\n * Node.js Buffer → ArrayBuffer 변환\r\n * pool Buffer의 공유 ArrayBuffer 문제를 안전하게 처리.\r\n * offset=0이고 전체 ArrayBuffer를 차지하면 복사 없이 직접 반환.\r\n */\r\nexport function toArrayBuffer(buf: Buffer): ArrayBuffer {\r\n if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {\r\n return buf.buffer as ArrayBuffer\r\n }\r\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength) as ArrayBuffer\r\n}\r\n\r\n/**\r\n * kordoc 내부 에러 클래스 — 사용자에게 노출해도 안전한 메시지만 포함.\r\n * MCP 에러 정제에서 instanceof로 판별하여 allowlist 패턴 매칭 없이 안전하게 통과.\r\n */\r\nexport class KordocError extends Error {\r\n constructor(message: string) {\r\n super(message)\r\n this.name = \"KordocError\"\r\n }\r\n}\r\n\r\n/**\r\n * 에러 메시지 정제 — KordocError는 그대로, 나머지는 일반 메시지로 대체.\r\n * 파일시스템 경로, 스택 트레이스 등 내부 정보 노출 방지.\r\n */\r\nexport function sanitizeError(err: unknown): string {\r\n if (err instanceof KordocError) return err.message\r\n return \"문서 처리 중 오류가 발생했습니다\"\r\n}\r\n\r\n/**\r\n * ZIP 엔트리 경로의 경로 순회 여부 판별.\r\n * 백슬래시 정규화, .., 절대경로, Windows 드라이브 문자 모두 차단.\r\n */\r\nexport function isPathTraversal(name: string): boolean {\r\n if (name.includes(\"\\x00\")) return true\r\n const normalized = name.replace(/\\\\/g, \"/\")\r\n const segments = normalized.split(\"/\")\r\n return segments.some(s => s === \"..\") || normalized.startsWith(\"/\") || /^[A-Za-z]:/.test(normalized)\r\n}\r\n\r\n// ─── HWPX 섹션 href 해석 (parser/roundtrip 공용) ────────────────────\r\n\r\n/**\r\n * manifest href를 본문 섹션 경로(`Contents/sectionN.xml`)로 정규화.\r\n * 비본문 XML(header/script/settings)·path traversal·드라이브 경로는 null로 거른다.\r\n * 백슬래시 구분자를 슬래시로 통일해 parser와 roundtrip이 동일한 목록을 만든다.\r\n */\r\nexport function normalizeSectionHref(href: string): string | null {\r\n if (!href) return null\r\n let normalized = href.replace(/\\\\/g, \"/\").replace(/^\\/+/, \"\")\r\n if (isPathTraversal(normalized)) return null\r\n if (/^[Ss]ection\\d+\\.xml$/.test(normalized)) normalized = \"Contents/\" + normalized\r\n return /(?:^|\\/)[Ss]ection\\d+\\.xml$/.test(normalized) ? normalized : null\r\n}\r\n\r\n/** sectionN.xml을 N 숫자 순서로 정렬 (section10 > section2). */\r\nexport function compareSectionPaths(a: string, b: string): number {\r\n const ai = Number(a.match(/[Ss]ection(\\d+)\\.xml$/)?.[1] ?? Number.MAX_SAFE_INTEGER)\r\n const bi = Number(b.match(/[Ss]ection(\\d+)\\.xml$/)?.[1] ?? Number.MAX_SAFE_INTEGER)\r\n return ai === bi ? a.localeCompare(b) : ai - bi\r\n}\r\n\r\n// ─── ZIP 안전 로딩 (ZIP bomb 방지) ────────────────────\r\n\r\n/**\r\n * ZIP bomb 사전 검사 — Central Directory에서 비압축 합계와 엔트리 수 확인.\r\n * HWPX/XLSX/DOCX 등 모든 ZIP 기반 포맷에서 공통 사용.\r\n */\r\nexport function precheckZipSize(\r\n buffer: ArrayBuffer,\r\n maxUncompressedSize = 256 * 1024 * 1024, // parser-shared MAX_DECOMPRESS_SIZE 와 동기\r\n maxEntries = 500,\r\n): { totalUncompressed: number; entryCount: number } {\r\n try {\r\n const data = new DataView(buffer)\r\n const len = buffer.byteLength\r\n // EOCD 시그니처 역방향 스캔\r\n let eocdOffset = -1\r\n for (let i = len - 22; i >= Math.max(0, len - 65557); i--) {\r\n if (data.getUint32(i, true) === 0x06054b50) { eocdOffset = i; break }\r\n }\r\n if (eocdOffset < 0) return { totalUncompressed: 0, entryCount: 0 }\r\n\r\n const entryCount = data.getUint16(eocdOffset + 10, true)\r\n if (entryCount > maxEntries) {\r\n throw new KordocError(`ZIP 엔트리 수 초과: ${entryCount} (최대 ${maxEntries})`)\r\n }\r\n\r\n const cdSize = data.getUint32(eocdOffset + 12, true)\r\n const cdOffset = data.getUint32(eocdOffset + 16, true)\r\n if (cdOffset + cdSize > len) return { totalUncompressed: 0, entryCount }\r\n\r\n let totalUncompressed = 0\r\n let pos = cdOffset\r\n for (let i = 0; i < entryCount && pos + 46 <= cdOffset + cdSize; i++) {\r\n if (data.getUint32(pos, true) !== 0x02014b50) break\r\n totalUncompressed += data.getUint32(pos + 24, true)\r\n const nameLen = data.getUint16(pos + 28, true)\r\n const extraLen = data.getUint16(pos + 30, true)\r\n const commentLen = data.getUint16(pos + 32, true)\r\n pos += 46 + nameLen + extraLen + commentLen\r\n }\r\n\r\n if (totalUncompressed > maxUncompressedSize) {\r\n throw new KordocError(`ZIP 비압축 크기 초과: ${(totalUncompressed / 1024 / 1024).toFixed(1)}MB (최대 ${maxUncompressedSize / 1024 / 1024}MB)`)\r\n }\r\n\r\n return { totalUncompressed, entryCount }\r\n } catch (err) {\r\n if (err instanceof KordocError) throw err\r\n return { totalUncompressed: 0, entryCount: 0 }\r\n }\r\n}\r\n\r\n/** XXE/Billion Laughs 방지 — DOCTYPE 제거 (내부 DTD 서브셋 포함) */\r\nexport function stripDtd(xml: string): string {\r\n return xml.replace(/<!DOCTYPE\\s[^[>]*(\\[[\\s\\S]*?\\])?\\s*>/gi, \"\")\r\n}\r\n\r\n/** 하이퍼링크 URL 살균 — javascript: 등 XSS 위험 스킴 차단 */\r\nconst SAFE_HREF_RE = /^(?:https?:|mailto:|tel:|#)/i\r\nexport function sanitizeHref(href: string): string | null {\r\n const trimmed = href.trim()\r\n if (!trimmed || !SAFE_HREF_RE.test(trimmed)) return null\r\n // 괄호 percent-encoding — 마크다운 링크 목적지에서 불균형 ')'는 링크를 조기 종료시켜\r\n // 문법이 깨진다 (원문 하이퍼링크에 ')'가 박힌 실문서 존재). %28/%29는 의미 동일.\r\n return trimmed.replace(/\\(/g, \"%28\").replace(/\\)/g, \"%29\")\r\n}\r\n\r\n// ─── 안전한 min/max (스택 오버플로 방지) ─────────────\r\n\r\n/** Math.min(...arr) 대체 — 대형 배열에서 스택 오버플로 방지 */\r\nexport function safeMin(arr: number[]): number {\r\n let min = Infinity\r\n for (let i = 0; i < arr.length; i++) if (arr[i] < min) min = arr[i]\r\n return min\r\n}\r\n\r\n/** Math.max(...arr) 대체 — 대형 배열에서 스택 오버플로 방지 */\r\nexport function safeMax(arr: number[]): number {\r\n let max = -Infinity\r\n for (let i = 0; i < arr.length; i++) if (arr[i] > max) max = arr[i]\r\n return max\r\n}\r\n\r\n// ─── 에러 분류 ──────────────────────────────────────\r\n\r\nimport type { ErrorCode } from \"./types.js\"\r\n\r\n/** 에러를 구조화된 ErrorCode로 분류 — KordocError 메시지 패턴 매칭 */\r\nexport function classifyError(err: unknown): ErrorCode {\r\n if (!(err instanceof Error)) return \"PARSE_ERROR\"\r\n const msg = err.message\r\n // DRM 을 암호화보다 먼저 — \"DRM 암호화된 HWPX…\" 류 메시지가 ENCRYPTED 로 떨어지지 않도록\r\n if (msg.includes(\"DRM\")) return \"DRM_PROTECTED\"\r\n if (msg.includes(\"암호화\") || msg.includes(\"암호로 보호\")) return \"ENCRYPTED\"\r\n if (msg.includes(\"optional dependency\")) return \"MISSING_DEPENDENCY\"\r\n if (msg.includes(\"ZIP bomb\") || msg.includes(\"ZIP 비압축 크기 초과\") || msg.includes(\"ZIP 엔트리 수 초과\")) return \"ZIP_BOMB\"\r\n if (msg.includes(\"bomb\") || msg.includes(\"크기 초과\") || msg.includes(\"압축 해제\")) return \"DECOMPRESSION_BOMB\"\r\n if (msg.includes(\"이미지 기반\")) return \"IMAGE_BASED_PDF\"\r\n if (msg.includes(\"섹션\") && (msg.includes(\"찾을 수 없\") || msg.includes(\"없음\"))) return \"NO_SECTIONS\"\r\n if (msg.includes(\"시그니처\") || msg.includes(\"복구할 수 없\")) return \"CORRUPTED\"\r\n return \"PARSE_ERROR\"\r\n}\r\n"],"mappings":"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","names":[]}
|