@rhwp/core 0.7.3 → 0.7.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhwp/core",
3
- "version": "0.7.3",
3
+ "version": "0.7.6",
4
4
  "description": "HWP/HWPX file parser and renderer — Rust + WebAssembly",
5
5
  "type": "module",
6
6
  "main": "rhwp.js",
package/rhwp.d.ts CHANGED
@@ -1017,6 +1017,10 @@ export class HwpDocument {
1017
1017
  * 전체 치환
1018
1018
  */
1019
1019
  replaceAll(query: string, new_text: string, case_sensitive: boolean): string;
1020
+ /**
1021
+ * 단일 치환 (검색어 기반) — 첫 번째 매치만 교체
1022
+ */
1023
+ replaceOne(query: string, new_text: string, case_sensitive: boolean): string;
1020
1024
  /**
1021
1025
  * 텍스트 치환 (단일)
1022
1026
  */
@@ -1170,6 +1174,11 @@ export class HwpDocument {
1170
1174
  * 디버그 오버레이 표시 여부를 설정한다.
1171
1175
  */
1172
1176
  set_debug_overlay(enabled: boolean): void;
1177
+ /**
1178
+ * LINE_SEG vpos-reset 강제 분리 적용 여부를 설정한다.
1179
+ * 변경 시 페이지네이션 결과가 달라지므로 모든 섹션을 재페이지네이션한다.
1180
+ */
1181
+ set_respect_vpos_reset(enabled: boolean): void;
1173
1182
  /**
1174
1183
  * 캐럿 위치에서 문단을 분할한다 (Enter 키).
1175
1184
  *
@@ -1503,6 +1512,7 @@ export interface InitOutput {
1503
1512
  readonly hwpdocument_renderPageSvg: (a: number, b: number) => [number, number, number, number];
1504
1513
  readonly hwpdocument_renderPageToCanvas: (a: number, b: number, c: any, d: number) => [number, number];
1505
1514
  readonly hwpdocument_replaceAll: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1515
+ readonly hwpdocument_replaceOne: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1506
1516
  readonly hwpdocument_replaceText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1507
1517
  readonly hwpdocument_resizeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1508
1518
  readonly hwpdocument_restoreSnapshot: (a: number, b: number) => [number, number, number, number];
@@ -1534,6 +1544,7 @@ export interface InitOutput {
1534
1544
  readonly hwpdocument_setShowTransparentBorders: (a: number, b: number) => void;
1535
1545
  readonly hwpdocument_setTableProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1536
1546
  readonly hwpdocument_set_debug_overlay: (a: number, b: number) => void;
1547
+ readonly hwpdocument_set_respect_vpos_reset: (a: number, b: number) => void;
1537
1548
  readonly hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1538
1549
  readonly hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1539
1550
  readonly hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
package/rhwp.js CHANGED
@@ -4575,6 +4575,35 @@ export class HwpDocument {
4575
4575
  wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
4576
4576
  }
4577
4577
  }
4578
+ /**
4579
+ * 단일 치환 (검색어 기반) — 첫 번째 매치만 교체
4580
+ * @param {string} query
4581
+ * @param {string} new_text
4582
+ * @param {boolean} case_sensitive
4583
+ * @returns {string}
4584
+ */
4585
+ replaceOne(query, new_text, case_sensitive) {
4586
+ let deferred4_0;
4587
+ let deferred4_1;
4588
+ try {
4589
+ const ptr0 = passStringToWasm0(query, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
4590
+ const len0 = WASM_VECTOR_LEN;
4591
+ const ptr1 = passStringToWasm0(new_text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
4592
+ const len1 = WASM_VECTOR_LEN;
4593
+ const ret = wasm.hwpdocument_replaceOne(this.__wbg_ptr, ptr0, len0, ptr1, len1, case_sensitive);
4594
+ var ptr3 = ret[0];
4595
+ var len3 = ret[1];
4596
+ if (ret[3]) {
4597
+ ptr3 = 0; len3 = 0;
4598
+ throw takeFromExternrefTable0(ret[2]);
4599
+ }
4600
+ deferred4_0 = ptr3;
4601
+ deferred4_1 = len3;
4602
+ return getStringFromWasm0(ptr3, len3);
4603
+ } finally {
4604
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
4605
+ }
4606
+ }
4578
4607
  /**
4579
4608
  * 텍스트 치환 (단일)
4580
4609
  * @param {number} sec
@@ -5240,6 +5269,14 @@ export class HwpDocument {
5240
5269
  set_debug_overlay(enabled) {
5241
5270
  wasm.hwpdocument_set_debug_overlay(this.__wbg_ptr, enabled);
5242
5271
  }
5272
+ /**
5273
+ * LINE_SEG vpos-reset 강제 분리 적용 여부를 설정한다.
5274
+ * 변경 시 페이지네이션 결과가 달라지므로 모든 섹션을 재페이지네이션한다.
5275
+ * @param {boolean} enabled
5276
+ */
5277
+ set_respect_vpos_reset(enabled) {
5278
+ wasm.hwpdocument_set_respect_vpos_reset(this.__wbg_ptr, enabled);
5279
+ }
5243
5280
  /**
5244
5281
  * 캐럿 위치에서 문단을 분할한다 (Enter 키).
5245
5282
  *
@@ -5892,7 +5929,7 @@ function __wbg_get_imports() {
5892
5929
  __wbg_lineTo_c9f1e0dd4824ae31: function(arg0, arg1, arg2) {
5893
5930
  arg0.lineTo(arg1, arg2);
5894
5931
  },
5895
- __wbg_measureTextWidth_0962d94b80b2a16a: function(arg0, arg1, arg2, arg3) {
5932
+ __wbg_measureTextWidth_ee8c76e138de8dd3: function(arg0, arg1, arg2, arg3) {
5896
5933
  const ret = globalThis.measureTextWidth(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
5897
5934
  return ret;
5898
5935
  },
package/rhwp_bg.wasm CHANGED
Binary file
package/rhwp_bg.wasm.d.ts CHANGED
@@ -195,6 +195,7 @@ export const hwpdocument_renderPageHtml: (a: number, b: number) => [number, numb
195
195
  export const hwpdocument_renderPageSvg: (a: number, b: number) => [number, number, number, number];
196
196
  export const hwpdocument_renderPageToCanvas: (a: number, b: number, c: any, d: number) => [number, number];
197
197
  export const hwpdocument_replaceAll: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
198
+ export const hwpdocument_replaceOne: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
198
199
  export const hwpdocument_replaceText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
199
200
  export const hwpdocument_resizeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
200
201
  export const hwpdocument_restoreSnapshot: (a: number, b: number) => [number, number, number, number];
@@ -226,6 +227,7 @@ export const hwpdocument_setShowParagraphMarks: (a: number, b: number) => void;
226
227
  export const hwpdocument_setShowTransparentBorders: (a: number, b: number) => void;
227
228
  export const hwpdocument_setTableProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
228
229
  export const hwpdocument_set_debug_overlay: (a: number, b: number) => void;
230
+ export const hwpdocument_set_respect_vpos_reset: (a: number, b: number) => void;
229
231
  export const hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number) => [number, number, number, number];
230
232
  export const hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
231
233
  export const hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];