kordoc 3.5.3 → 3.5.4

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 (32) hide show
  1. package/dist/{-N2SJBI4R.js → -KX7VLNW5.js} +3 -3
  2. package/dist/chunk-DCZVOIEO.cjs.map +1 -1
  3. package/dist/{chunk-GUDFEDFK.js → chunk-DK2IE43H.js} +17 -7
  4. package/dist/{chunk-GUDFEDFK.js.map → chunk-DK2IE43H.js.map} +1 -1
  5. package/dist/chunk-GS7T56RP.cjs.map +1 -1
  6. package/dist/{chunk-JOLDAN3Q.js → chunk-VEB43O2L.js} +2 -2
  7. package/dist/{chunk-3Z2RAKIL.js → chunk-WEAP42T3.js} +2 -2
  8. package/dist/{chunk-53XNKPN6.cjs → chunk-XZTDYOZV.cjs} +2 -2
  9. package/dist/chunk-XZTDYOZV.cjs.map +1 -0
  10. package/dist/cli.js +4 -4
  11. package/dist/formula-5NKVS2LR.cjs.map +1 -1
  12. package/dist/index.cjs +126 -116
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.js +16 -6
  15. package/dist/index.js.map +1 -1
  16. package/dist/mcp.js +3 -3
  17. package/dist/page-range-P7SDW6LR.cjs.map +1 -1
  18. package/dist/{parser-CK5C6FF4.cjs → parser-CPTBEGQP.cjs} +14 -14
  19. package/dist/parser-CPTBEGQP.cjs.map +1 -0
  20. package/dist/{parser-IAROZTY3.js → parser-W5TBEAVX.js} +2 -2
  21. package/dist/{parser-CPFIB47T.js → parser-XT65AEDJ.js} +2 -2
  22. package/dist/provider-G4C2V2PD.cjs.map +1 -1
  23. package/dist/{watch-ZYNP3QFT.js → watch-VOSNRZAY.js} +3 -3
  24. package/package.json +1 -1
  25. package/dist/chunk-53XNKPN6.cjs.map +0 -1
  26. package/dist/parser-CK5C6FF4.cjs.map +0 -1
  27. /package/dist/{-N2SJBI4R.js.map → -KX7VLNW5.js.map} +0 -0
  28. /package/dist/{chunk-JOLDAN3Q.js.map → chunk-VEB43O2L.js.map} +0 -0
  29. /package/dist/{chunk-3Z2RAKIL.js.map → chunk-WEAP42T3.js.map} +0 -0
  30. /package/dist/{parser-IAROZTY3.js.map → parser-W5TBEAVX.js.map} +0 -0
  31. /package/dist/{parser-CPFIB47T.js.map → parser-XT65AEDJ.js.map} +0 -0
  32. /package/dist/{watch-ZYNP3QFT.js.map → watch-VOSNRZAY.js.map} +0 -0
@@ -33,7 +33,7 @@ import {
33
33
  patchHwpxBlocks,
34
34
  renderHtml,
35
35
  scanSectionXml
36
- } from "./chunk-GUDFEDFK.js";
36
+ } from "./chunk-DK2IE43H.js";
37
37
  import {
38
38
  detectFormat,
39
39
  detectOle2Format,
@@ -46,7 +46,7 @@ import {
46
46
  import {
47
47
  VERSION,
48
48
  blocksToMarkdown
49
- } from "./chunk-3Z2RAKIL.js";
49
+ } from "./chunk-WEAP42T3.js";
50
50
  import "./chunk-MOL7MDBG.js";
51
51
  export {
52
52
  HwpxSession,
@@ -92,4 +92,4 @@ export {
92
92
  renderHtml,
93
93
  scanSectionXml
94
94
  };
95
- //# sourceMappingURL=-N2SJBI4R.js.map
95
+ //# sourceMappingURL=-KX7VLNW5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/chris_gomdori/workspace/kordoc/dist/chunk-DCZVOIEO.cjs","../src/page-range.ts"],"names":[],"mappings":"AAAA;ACSO,SAAS,cAAA,CAAe,IAAA,EAAyB,QAAA,EAA+B;AACrF,EAAA,MAAM,OAAA,kBAAS,IAAI,GAAA,CAAY,CAAA;AAC/B,EAAA,GAAA,CAAI,SAAA,GAAY,CAAA,EAAG,OAAO,MAAA;AAE1B,EAAA,GAAA,CAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACvB,IAAA,IAAA,CAAA,MAAW,EAAA,GAAK,IAAA,EAAM;AACpB,MAAA,MAAM,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA;AACzB,MAAA,GAAA,CAAI,KAAA,GAAQ,EAAA,GAAK,KAAA,GAAQ,QAAA,EAAU,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AAAA,IACpD;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,GAAA,CAAI,OAAO,KAAA,IAAS,SAAA,GAAY,IAAA,CAAK,IAAA,CAAK,EAAA,IAAM,EAAA,EAAI,OAAO,MAAA;AAE3D,EAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAC5B,EAAA,IAAA,CAAA,MAAW,KAAA,GAAQ,KAAA,EAAO;AACxB,IAAA,MAAM,QAAA,EAAU,IAAA,CAAK,IAAA,CAAK,CAAA;AAC1B,IAAA,GAAA,CAAI,CAAC,OAAA,EAAS,QAAA;AAEd,IAAA,MAAM,WAAA,EAAa,OAAA,CAAQ,KAAA,CAAM,qBAAqB,CAAA;AACtD,IAAA,GAAA,CAAI,UAAA,EAAY;AACd,MAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,QAAA,CAAS,UAAA,CAAW,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA;AACrD,MAAA,MAAM,IAAA,EAAM,IAAA,CAAK,GAAA,CAAI,QAAA,EAAU,QAAA,CAAS,UAAA,CAAW,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA;AAC1D,MAAA,IAAA,CAAA,IAAS,EAAA,EAAI,KAAA,EAAO,EAAA,GAAK,GAAA,EAAK,CAAA,EAAA,EAAK,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA;AAAA,IACjD,EAAA,KAAO;AACL,MAAA,MAAM,KAAA,EAAO,QAAA,CAAS,OAAA,EAAS,EAAE,CAAA;AACjC,MAAA,GAAA,CAAI,CAAC,KAAA,CAAM,IAAI,EAAA,GAAK,KAAA,GAAQ,EAAA,GAAK,KAAA,GAAQ,QAAA,EAAU,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AAAA,IACpE;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;ADZA;AACA;AACE;AACF,wCAAC","file":"/Users/chris_gomdori/workspace/kordoc/dist/chunk-DCZVOIEO.cjs","sourcesContent":[null,"/** 페이지/섹션 범위 파싱 유틸리티 */\n\n/**\n * 페이지 범위 지정을 1-based Set<number>로 변환.\n *\n * @param spec - [1,2,3] 또는 \"1-3\" 또는 \"1,3,5-7\"\n * @param maxPages - 최대 페이지 수 (클램핑 상한)\n * @returns 1-based 페이지 번호 Set\n */\nexport function parsePageRange(spec: number[] | string, maxPages: number): Set<number> {\n const result = new Set<number>()\n if (maxPages <= 0) return result\n\n if (Array.isArray(spec)) {\n for (const n of spec) {\n const page = Math.round(n)\n if (page >= 1 && page <= maxPages) result.add(page)\n }\n return result\n }\n\n if (typeof spec !== \"string\" || spec.trim() === \"\") return result\n\n const parts = spec.split(\",\")\n for (const part of parts) {\n const trimmed = part.trim()\n if (!trimmed) continue\n\n const rangeMatch = trimmed.match(/^(\\d+)\\s*-\\s*(\\d+)$/)\n if (rangeMatch) {\n const start = Math.max(1, parseInt(rangeMatch[1], 10))\n const end = Math.min(maxPages, parseInt(rangeMatch[2], 10))\n for (let i = start; i <= end; i++) result.add(i)\n } else {\n const page = parseInt(trimmed, 10)\n if (!isNaN(page) && page >= 1 && page <= maxPages) result.add(page)\n }\n }\n\n return result\n}\n"]}
1
+ {"version":3,"sources":["/Users/mong-e/workspace/kordoc/dist/chunk-DCZVOIEO.cjs","../src/page-range.ts"],"names":[],"mappings":"AAAA;ACSO,SAAS,cAAA,CAAe,IAAA,EAAyB,QAAA,EAA+B;AACrF,EAAA,MAAM,OAAA,kBAAS,IAAI,GAAA,CAAY,CAAA;AAC/B,EAAA,GAAA,CAAI,SAAA,GAAY,CAAA,EAAG,OAAO,MAAA;AAE1B,EAAA,GAAA,CAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACvB,IAAA,IAAA,CAAA,MAAW,EAAA,GAAK,IAAA,EAAM;AACpB,MAAA,MAAM,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA;AACzB,MAAA,GAAA,CAAI,KAAA,GAAQ,EAAA,GAAK,KAAA,GAAQ,QAAA,EAAU,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AAAA,IACpD;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,GAAA,CAAI,OAAO,KAAA,IAAS,SAAA,GAAY,IAAA,CAAK,IAAA,CAAK,EAAA,IAAM,EAAA,EAAI,OAAO,MAAA;AAE3D,EAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAC5B,EAAA,IAAA,CAAA,MAAW,KAAA,GAAQ,KAAA,EAAO;AACxB,IAAA,MAAM,QAAA,EAAU,IAAA,CAAK,IAAA,CAAK,CAAA;AAC1B,IAAA,GAAA,CAAI,CAAC,OAAA,EAAS,QAAA;AAEd,IAAA,MAAM,WAAA,EAAa,OAAA,CAAQ,KAAA,CAAM,qBAAqB,CAAA;AACtD,IAAA,GAAA,CAAI,UAAA,EAAY;AACd,MAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,QAAA,CAAS,UAAA,CAAW,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA;AACrD,MAAA,MAAM,IAAA,EAAM,IAAA,CAAK,GAAA,CAAI,QAAA,EAAU,QAAA,CAAS,UAAA,CAAW,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA;AAC1D,MAAA,IAAA,CAAA,IAAS,EAAA,EAAI,KAAA,EAAO,EAAA,GAAK,GAAA,EAAK,CAAA,EAAA,EAAK,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA;AAAA,IACjD,EAAA,KAAO;AACL,MAAA,MAAM,KAAA,EAAO,QAAA,CAAS,OAAA,EAAS,EAAE,CAAA;AACjC,MAAA,GAAA,CAAI,CAAC,KAAA,CAAM,IAAI,EAAA,GAAK,KAAA,GAAQ,EAAA,GAAK,KAAA,GAAQ,QAAA,EAAU,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA;AAAA,IACpE;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;ADZA;AACA;AACE;AACF,wCAAC","file":"/Users/mong-e/workspace/kordoc/dist/chunk-DCZVOIEO.cjs","sourcesContent":[null,"/** 페이지/섹션 범위 파싱 유틸리티 */\n\n/**\n * 페이지 범위 지정을 1-based Set<number>로 변환.\n *\n * @param spec - [1,2,3] 또는 \"1-3\" 또는 \"1,3,5-7\"\n * @param maxPages - 최대 페이지 수 (클램핑 상한)\n * @returns 1-based 페이지 번호 Set\n */\nexport function parsePageRange(spec: number[] | string, maxPages: number): Set<number> {\n const result = new Set<number>()\n if (maxPages <= 0) return result\n\n if (Array.isArray(spec)) {\n for (const n of spec) {\n const page = Math.round(n)\n if (page >= 1 && page <= maxPages) result.add(page)\n }\n return result\n }\n\n if (typeof spec !== \"string\" || spec.trim() === \"\") return result\n\n const parts = spec.split(\",\")\n for (const part of parts) {\n const trimmed = part.trim()\n if (!trimmed) continue\n\n const rangeMatch = trimmed.match(/^(\\d+)\\s*-\\s*(\\d+)$/)\n if (rangeMatch) {\n const start = Math.max(1, parseInt(rangeMatch[1], 10))\n const end = Math.min(maxPages, parseInt(rangeMatch[2], 10))\n for (let i = start; i <= end; i++) result.add(i)\n } else {\n const page = parseInt(trimmed, 10)\n if (!isNaN(page) && page >= 1 && page <= maxPages) result.add(page)\n }\n }\n\n return result\n}\n"]}
@@ -25,7 +25,7 @@ import {
25
25
  sanitizeHref,
26
26
  stripDtd,
27
27
  toArrayBuffer
28
- } from "./chunk-3Z2RAKIL.js";
28
+ } from "./chunk-WEAP42T3.js";
29
29
  import {
30
30
  parsePageRange
31
31
  } from "./chunk-MOL7MDBG.js";
@@ -19880,11 +19880,21 @@ function standardMarker(depth, n) {
19880
19880
  function reportMarker(depth) {
19881
19881
  return REPORT_BULLETS[Math.min(depth, REPORT_BULLETS.length - 1)];
19882
19882
  }
19883
- function levelIndent(depth, bodyHeight, numbering) {
19883
+ var MARKER_FULLWIDTH = "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F\u2470\u2471\u2472\u2473\u326E\u326F\u3270\u3271\u3272\u3273\u3274\u3275\u3276\u3277\u3278\u3279\u327A\u327B\u25A1\u25CB\u25E6\u25AA\u25C7\u25B3\u25B6\u318D";
19884
+ function markerWidth(marker, bodyHeight) {
19884
19885
  const ta = bodyHeight / 2;
19885
- const markerTa = numbering === "standard" && (depth === 4 || depth === 5) ? 3 : 2;
19886
- const hang = Math.round((markerTa + 1) * ta);
19887
- return { left: Math.round(depth * bodyHeight), indent: -hang };
19886
+ let w = 0;
19887
+ for (const c of marker) {
19888
+ if (/[가-힣]/.test(c) || MARKER_FULLWIDTH.includes(c)) w += bodyHeight;
19889
+ else if (c === "." || c === ",") w += Math.round(bodyHeight * 0.25);
19890
+ else if (c === "(" || c === ")") w += Math.round(bodyHeight * 0.45);
19891
+ else w += Math.round(ta);
19892
+ }
19893
+ return Math.round(w + ta);
19894
+ }
19895
+ function levelIndent(depth, bodyHeight, numbering) {
19896
+ const marker = numbering === "report" ? reportMarker(depth) : standardMarker(depth, 0);
19897
+ return { left: Math.round(depth * bodyHeight), indent: -markerWidth(marker, bodyHeight) };
19888
19898
  }
19889
19899
  function computeSuppression(depths) {
19890
19900
  const counts = /* @__PURE__ */ new Map();
@@ -23300,7 +23310,7 @@ async function parseHwp(buffer, options) {
23300
23310
  async function parsePdf(buffer, options) {
23301
23311
  let parsePdfDocument;
23302
23312
  try {
23303
- const mod = await import("./parser-IAROZTY3.js");
23313
+ const mod = await import("./parser-W5TBEAVX.js");
23304
23314
  parsePdfDocument = mod.parsePdfDocument;
23305
23315
  } catch {
23306
23316
  return {
@@ -23427,4 +23437,4 @@ export {
23427
23437
  parseHwpml,
23428
23438
  fillForm
23429
23439
  };
23430
- //# sourceMappingURL=chunk-GUDFEDFK.js.map
23440
+ //# sourceMappingURL=chunk-DK2IE43H.js.map