wongtty 0.0.1 → 0.0.2

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/dist/index.d.ts CHANGED
@@ -86,12 +86,16 @@ export interface Hook {
86
86
 
87
87
  /** How `searchNext` and friends compare text. */
88
88
  export interface SearchOptions {
89
- /** Off: matched with the RegExp `i` flag. */
89
+ /**
90
+ * Off: matched with the RegExp `i` flag, but by `searchRows` of a plain ASCII query, which the engine matches
91
+ * with each line lowercased as the N-API binding does (U+212A KELVIN SIGN reads as `k`, U+0130 as `i` + U+0307).
92
+ */
90
93
  caseSensitive?: boolean;
91
94
  /** A match needs a non-word character (`@xterm/addon-search`'s set, so not `_`) or a line end on both sides. */
92
95
  wholeWord?: boolean;
93
- /** `query` is a JavaScript regular expression (flag `g`); otherwise it is matched as plain text. Either way the
94
- * matching runs in JS over each logical line's text (`searchLine`). */
96
+ /** `query` is a JavaScript regular expression (flag `g`); otherwise it is matched as plain text. Regular
97
+ * expressions, and plain queries but for `searchRows` of an ASCII one, are matched in JS over each logical line's
98
+ * text (`searchLine`). */
95
99
  regex?: boolean;
96
100
  }
97
101
 
@@ -141,6 +145,11 @@ export class Terminal {
141
145
  */
142
146
  readonly trimmedLines: number;
143
147
  rowText(line: number): string | null;
148
+ /**
149
+ * `translateToString(trimRight)` of lines `first`…`last` (clamped to the buffer; by default all of it), each
150
+ * followed by `\n`, in one call. `trimRight` defaults to true.
151
+ */
152
+ textRows(first?: number, last?: number, trimRight?: boolean): string;
144
153
  /** `[codepoint, fg, bg, attrs]` per cell. */
145
154
  rowCells(line: number): Uint32Array | null;
146
155
  /**
@@ -232,12 +241,27 @@ export class Terminal {
232
241
  /**
233
242
  * The first match of `query` starting at or after cell (`line`, `col`), down to the bottom of the screen (no
234
243
  * wrap-around). Defaults to the top of the history. Matches never span logical lines (rows joined by soft wraps).
244
+ * Ignoring case, it folds as the RegExp `i` flag does, not as `searchRows` of a plain ASCII query: a match on
245
+ * U+212A or U+0130 that `searchRows` finds is skipped here (`SearchOptions.caseSensitive`).
235
246
  */
236
247
  searchNext(query: string, options?: SearchOptions, line?: number, col?: number): SearchMatch | null;
237
248
  /** The last match ending at or before cell (`line`, `col`), up to the top of the history. Defaults to the end of the screen. */
238
249
  searchPrevious(query: string, options?: SearchOptions, line?: number, col?: number): SearchMatch | null;
239
250
  /** Every match in the logical lines rows `first`…`last` belong to (each search goes on from the end of the previous match), keeping those that touch the rows. */
240
251
  searchRows(query: string, options: SearchOptions | undefined, first: number, last: number): SearchMatch[];
252
+ /**
253
+ * The engine's matching of a plain `query` over rows `first`…`last` (`searchRows` without `regex`): at most
254
+ * `limit` matches as `[startLine, startCol, endLine, endCol]` each, a view into WebAssembly memory valid only until
255
+ * the next call into any terminal. Null for a query that is not ASCII and, with `keepLength`, when a line with a
256
+ * match holds U+0130 (İ), which lowercases to two characters (for hosts that lowercase whole lines themselves).
257
+ */
258
+ searchRowsView(
259
+ query: string,
260
+ options: { caseSensitive?: boolean; wholeWord?: boolean; keepLength?: boolean } | undefined,
261
+ first: number,
262
+ last: number,
263
+ limit?: number,
264
+ ): Int32Array | null;
241
265
  /** The logical line row `line` belongs to, as search reads it, for matching the text yourself; null outside the buffer. */
242
266
  searchLine(line: number): SearchLine | null;
243
267
  /**
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // wongtty — terminal emulator engine (Rust → WebAssembly).
2
2
  // Works in browsers, bundlers (Vite/webpack resolve the .wasm URL) and Node ≥ 18.
3
3
 
4
- const ABI = 14;
4
+ const ABI = 15;
5
5
  const encoder = new TextEncoder();
6
6
  const decoder = new TextDecoder();
7
7
  // Input buffer: smallest allocation, and the largest one kept between writes.
@@ -104,6 +104,11 @@ const bytesOut = (len) => new Uint8Array(wasm.memory.buffer, wasm.wongtty_out_pt
104
104
  const textOut = (len) => (len <= 0 ? '' : decoder.decode(new Uint8Array(wasm.memory.buffer, wasm.wongtty_out_ptr(), len)));
105
105
  const wordsOut = (n) => (n <= 0 ? new Uint32Array(0) : new Uint32Array(wasm.memory.buffer, wasm.wongtty_out32_ptr(), n).slice());
106
106
 
107
+ /** Rows `textRows` asks the engine for at a time, so the text it holds in its memory stays small. */
108
+ const TEXT_BLOCK = 1024;
109
+ /** Matches `searchRows` asks the engine for at a time (16 bytes each in its memory), so a common query does not grow it. */
110
+ const MATCH_PAGE = 4096;
111
+
107
112
  /** `@xterm/addon-search` `NON_WORD_CHARACTERS`: what ends a word for `wholeWord`. */
108
113
  const NON_WORD = ' ~!@#$%^&*()+`-=[]{}|\\;:"\',./<>?';
109
114
  const CELL_WIDE = 0x80000000;
@@ -426,6 +431,22 @@ export class Terminal {
426
431
  return n < 0 ? null : textOut(n);
427
432
  }
428
433
 
434
+ /**
435
+ * `translateToString(trimRight)` of lines `first`…`last` (clamped to the buffer), each followed by `\n`.
436
+ * @returns {string}
437
+ */
438
+ textRows(first = -this.historyLength, last = this.rows - 1, trimRight = true) {
439
+ const h = this.#handle();
440
+ first = Math.max(first, -this.historyLength);
441
+ last = Math.min(last, this.rows - 1);
442
+ let text = '';
443
+ for (let from = first; from <= last; from += TEXT_BLOCK) {
444
+ text += textOut(wasm.wongtty_text_rows(h, from, Math.min(from + TEXT_BLOCK - 1, last), trimRight ? 1 : 0));
445
+ }
446
+ wasm.wongtty_out_release();
447
+ return text;
448
+ }
449
+
429
450
  /** `[codepoint, fg, bg, attrs]` per cell. @returns {Uint32Array | null} */
430
451
  rowCells(line) {
431
452
  const n = wasm.wongtty_row_cells(this.#handle(), line);
@@ -648,7 +669,8 @@ export class Terminal {
648
669
  }
649
670
 
650
671
  // Search runs here over the engine's logical lines (`searchLine`), with a RegExp for every query: a plain one is
651
- // escaped, and the `i` flag folds case without changing lengths. Matching in the wasm would cost the size budget.
672
+ // escaped, and the `i` flag folds case without changing lengths. Only `searchRows` of a plain ASCII query is
673
+ // matched in the engine (`searchRowsView`), whose ASCII case folding needs no Unicode tables in the wasm.
652
674
  #matcher(query, { caseSensitive = false, regex = false } = {}) {
653
675
  return new RegExp(regex ? query : query.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), caseSensitive ? 'g' : 'gi');
654
676
  }
@@ -702,6 +724,18 @@ export class Terminal {
702
724
  searchRows(query, options = {}, first, last) {
703
725
  const out = [];
704
726
  if (!query) return out;
727
+ // Page by page, each from just after the last match
728
+ for (let line = -0x80000000, col = 0; !options.regex; ) {
729
+ const m = this.#searchRowsAt(query, options, first, last, MATCH_PAGE, line, col);
730
+ if (!m) break;
731
+ for (let i = 0; i < m.length; i += 4) out.push({ startLine: m[i], startCol: m[i + 1], endLine: m[i + 2], endCol: m[i + 3] });
732
+ if (m.length < MATCH_PAGE * 4) {
733
+ wasm.wongtty_out_release();
734
+ return out;
735
+ }
736
+ [line, col] = [m[m.length - 4], m[m.length - 3] + 1];
737
+ }
738
+ out.length = 0;
705
739
  const re = this.#matcher(query, options);
706
740
  last = Math.min(last, this.rows - 1);
707
741
  let found = this.searchLine(Math.max(first, -this.historyLength));
@@ -715,6 +749,39 @@ export class Terminal {
715
749
  return out;
716
750
  }
717
751
 
752
+ /**
753
+ * The engine's matching of a plain `query` over rows `first`…`last` (`searchRows` without `regex`): at most
754
+ * `limit` matches as `[startLine, startCol, endLine, endCol]` each, a view into WebAssembly memory valid only until
755
+ * the next call into any terminal. Null for a query that is not ASCII and, with `keepLength`, when a line with a
756
+ * match holds U+0130 (İ): ignoring case it lowercases to two characters, where a host that lowercases whole lines
757
+ * (`@xterm/addon-search`) places matches differently. @returns {Int32Array | null}
758
+ */
759
+ searchRowsView(query, options = {}, first, last, limit = 0xffffffff) {
760
+ return this.#searchRowsAt(query, options, first, last, limit, -0x80000000, 0);
761
+ }
762
+
763
+ // `searchRowsView` of the matches starting at or after cell (`line`, `col`).
764
+ #searchRowsAt(query, { caseSensitive = false, wholeWord = false, keepLength = false }, first, last, limit, line, col) {
765
+ const h = this.#handle();
766
+ // Bounds past the buffer (±Infinity too) are its ends, as the RegExp path reads them; NaN finds nothing
767
+ first = Math.max(first, -this.historyLength);
768
+ last = Math.min(last, this.rows - 1);
769
+ if (!(first <= last)) return new Int32Array(0);
770
+ const bytes = encoder.encode(query);
771
+ const ptr = this.#reserve(20 + bytes.length);
772
+ const head = new DataView(wasm.memory.buffer, ptr, 20);
773
+ head.setInt32(0, first, true);
774
+ head.setInt32(4, last, true);
775
+ head.setUint32(8, Math.min(limit, 0xffffffff), true);
776
+ head.setInt32(12, line, true);
777
+ head.setUint32(16, col, true);
778
+ new Uint8Array(wasm.memory.buffer, ptr + 20, bytes.length).set(bytes);
779
+ const flags = (caseSensitive ? 1 : 0) | (wholeWord ? 2 : 0) | (keepLength ? 4 : 0);
780
+ const n = wasm.wongtty_search_rows(h, ptr, 20 + bytes.length, flags);
781
+ this.#shrinkInput();
782
+ return n < 0 ? null : new Int32Array(wasm.memory.buffer, wasm.wongtty_out32_ptr(), n * 4);
783
+ }
784
+
718
785
  /**
719
786
  * The logical line row `line` belongs to as search reads it, or null outside the buffer. `cells[i]` is the cell of
720
787
  * the UTF-16 unit `text[i]`: `row * cols + col` from `first`, bit 31 set for a wide character.
package/dist/wongtty.wasm CHANGED
Binary file
@@ -895,23 +895,23 @@ export interface InitOutput {
895
895
  readonly weblinksaddon_activate: (a: number, b: number) => void;
896
896
  readonly weblinksaddon_dispose: (a: number) => void;
897
897
  readonly weblinksaddon_new: (a: number, b: number) => number;
898
- readonly __wasm_bindgen_func_elem_644: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
899
- readonly __wasm_bindgen_func_elem_643: (a: number, b: number, c: number, d: number, e: number) => number;
898
+ readonly __wasm_bindgen_func_elem_648: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
900
899
  readonly __wasm_bindgen_func_elem_647: (a: number, b: number, c: number, d: number, e: number) => number;
901
- readonly __wasm_bindgen_func_elem_640: (a: number, b: number, c: number, d: number) => number;
902
- readonly __wasm_bindgen_func_elem_640_151: (a: number, b: number, c: number, d: number) => number;
903
- readonly __wasm_bindgen_func_elem_649: (a: number, b: number, c: number, d: number) => number;
904
- readonly __wasm_bindgen_func_elem_2791: (a: number, b: number, c: number, d: number) => void;
905
- readonly __wasm_bindgen_func_elem_2807: (a: number, b: number, c: number, d: number) => void;
906
- readonly __wasm_bindgen_func_elem_641: (a: number, b: number, c: number) => number;
907
- readonly __wasm_bindgen_func_elem_651: (a: number, b: number, c: number) => number;
908
- readonly __wasm_bindgen_func_elem_642: (a: number, b: number, c: number) => void;
909
- readonly __wasm_bindgen_func_elem_642_149: (a: number, b: number, c: number) => void;
910
- readonly __wasm_bindgen_func_elem_653: (a: number, b: number, c: number) => void;
911
- readonly __wasm_bindgen_func_elem_653_148: (a: number, b: number, c: number) => void;
912
- readonly __wasm_bindgen_func_elem_653_150: (a: number, b: number, c: number) => void;
913
- readonly __wasm_bindgen_func_elem_645: (a: number, b: number) => void;
914
- readonly __wasm_bindgen_func_elem_655: (a: number, b: number) => void;
900
+ readonly __wasm_bindgen_func_elem_651: (a: number, b: number, c: number, d: number, e: number) => number;
901
+ readonly __wasm_bindgen_func_elem_644: (a: number, b: number, c: number, d: number) => number;
902
+ readonly __wasm_bindgen_func_elem_644_151: (a: number, b: number, c: number, d: number) => number;
903
+ readonly __wasm_bindgen_func_elem_653: (a: number, b: number, c: number, d: number) => number;
904
+ readonly __wasm_bindgen_func_elem_2801: (a: number, b: number, c: number, d: number) => void;
905
+ readonly __wasm_bindgen_func_elem_2817: (a: number, b: number, c: number, d: number) => void;
906
+ readonly __wasm_bindgen_func_elem_645: (a: number, b: number, c: number) => number;
907
+ readonly __wasm_bindgen_func_elem_655: (a: number, b: number, c: number) => number;
908
+ readonly __wasm_bindgen_func_elem_646: (a: number, b: number, c: number) => void;
909
+ readonly __wasm_bindgen_func_elem_646_149: (a: number, b: number, c: number) => void;
910
+ readonly __wasm_bindgen_func_elem_657: (a: number, b: number, c: number) => void;
911
+ readonly __wasm_bindgen_func_elem_657_148: (a: number, b: number, c: number) => void;
912
+ readonly __wasm_bindgen_func_elem_657_150: (a: number, b: number, c: number) => void;
913
+ readonly __wasm_bindgen_func_elem_649: (a: number, b: number) => void;
914
+ readonly __wasm_bindgen_func_elem_659: (a: number, b: number) => void;
915
915
  readonly __wbindgen_export: (a: number) => void;
916
916
  readonly __wbindgen_export2: (a: number, b: number) => number;
917
917
  readonly __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
package/dist/xterm_web.js CHANGED
@@ -2601,6 +2601,10 @@ function __wbg_get_imports() {
2601
2601
  const ret = getObject(arg0).left;
2602
2602
  return ret;
2603
2603
  },
2604
+ __wbg_length_0acba72356589f9c: function(arg0) {
2605
+ const ret = getObject(arg0).length;
2606
+ return ret;
2607
+ },
2604
2608
  __wbg_length_511b1f84719d3462: function(arg0) {
2605
2609
  const ret = getObject(arg0).length;
2606
2610
  return ret;
@@ -2752,7 +2756,7 @@ function __wbg_get_imports() {
2752
2756
  const a = state0.a;
2753
2757
  state0.a = 0;
2754
2758
  try {
2755
- return __wasm_bindgen_func_elem_2807(a, state0.b, arg0, arg1);
2759
+ return __wasm_bindgen_func_elem_2817(a, state0.b, arg0, arg1);
2756
2760
  } finally {
2757
2761
  state0.a = a;
2758
2762
  }
@@ -2881,6 +2885,9 @@ function __wbg_get_imports() {
2881
2885
  __wbg_prototypesetcall_06eb15da165dee8f: function(arg0, arg1, arg2) {
2882
2886
  Uint32Array.prototype.set.call(getArrayU32FromWasm0(arg0, arg1), getObject(arg2));
2883
2887
  },
2888
+ __wbg_prototypesetcall_13adbfb002dee200: function(arg0, arg1, arg2) {
2889
+ Int32Array.prototype.set.call(getArrayI32FromWasm0(arg0, arg1), getObject(arg2));
2890
+ },
2884
2891
  __wbg_prototypesetcall_bc27214492979395: function(arg0, arg1, arg2) {
2885
2892
  Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
2886
2893
  },
@@ -3002,6 +3009,10 @@ function __wbg_get_imports() {
3002
3009
  const ret = getObject(arg0).searchLine(arg1);
3003
3010
  return addHeapObject(ret);
3004
3011
  }, arguments); },
3012
+ __wbg_searchRowsView_8fb325f88f629cb7: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {
3013
+ const ret = getObject(arg0).searchRowsView(getObject(arg1), getObject(arg2), arg3, arg4, arg5 >>> 0);
3014
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3015
+ }, arguments); },
3005
3016
  __wbg_select_fe4329ce446004d9: function(arg0) {
3006
3017
  getObject(arg0).select();
3007
3018
  },
@@ -3308,6 +3319,13 @@ function __wbg_get_imports() {
3308
3319
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
3309
3320
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
3310
3321
  },
3322
+ __wbg_textRows_dc20af19957adbbd: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
3323
+ const ret = getObject(arg1).textRows(arg2, arg3, arg4 !== 0);
3324
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
3325
+ const len1 = WASM_VECTOR_LEN;
3326
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
3327
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
3328
+ }, arguments); },
3311
3329
  __wbg_then_c949d5a25a4e78f8: function(arg0, arg1, arg2) {
3312
3330
  const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
3313
3331
  return addHeapObject(ret);
@@ -3436,82 +3454,82 @@ function __wbg_get_imports() {
3436
3454
  }, arguments); },
3437
3455
  __wbindgen_generic_0000000000000001: function(arg0, arg1) {
3438
3456
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref, Externref, Externref], shim_idx: 30, ret: Boolean, inner_ret: Some(Boolean) }, mutable: true }) -> Externref`.
3439
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_647);
3457
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_651);
3440
3458
  return addHeapObject(ret);
3441
3459
  },
3442
3460
  __wbindgen_generic_0000000000000002: function(arg0, arg1) {
3443
3461
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref, Externref], shim_idx: 21, ret: Externref, inner_ret: Some(Externref) }, mutable: false }) -> Externref`.
3444
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_640);
3462
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_644);
3445
3463
  return addHeapObject(ret);
3446
3464
  },
3447
3465
  __wbindgen_generic_0000000000000003: function(arg0, arg1) {
3448
3466
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref, Externref], shim_idx: 32, ret: Externref, inner_ret: Some(Externref) }, mutable: true }) -> Externref`.
3449
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_649);
3467
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_653);
3450
3468
  return addHeapObject(ret);
3451
3469
  },
3452
3470
  __wbindgen_generic_0000000000000004: function(arg0, arg1) {
3453
3471
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
3454
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_642);
3472
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_646);
3455
3473
  return addHeapObject(ret);
3456
3474
  },
3457
3475
  __wbindgen_generic_0000000000000005: function(arg0, arg1) {
3458
3476
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 16, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3459
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_653);
3477
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_657);
3460
3478
  return addHeapObject(ret);
3461
3479
  },
3462
3480
  __wbindgen_generic_0000000000000006: function(arg0, arg1) {
3463
3481
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 28, ret: Externref, inner_ret: Some(Externref) }, mutable: false }) -> Externref`.
3464
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_641);
3482
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_645);
3465
3483
  return addHeapObject(ret);
3466
3484
  },
3467
3485
  __wbindgen_generic_0000000000000007: function(arg0, arg1) {
3468
3486
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 296, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3469
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2791);
3487
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2801);
3470
3488
  return addHeapObject(ret);
3471
3489
  },
3472
3490
  __wbindgen_generic_0000000000000008: function(arg0, arg1) {
3473
3491
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 34, ret: Externref, inner_ret: Some(Externref) }, mutable: true }) -> Externref`.
3474
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_651);
3492
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_655);
3475
3493
  return addHeapObject(ret);
3476
3494
  },
3477
3495
  __wbindgen_generic_0000000000000009: function(arg0, arg1) {
3478
3496
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Array<any>")], shim_idx: 16, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3479
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_653_148);
3497
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_657_148);
3480
3498
  return addHeapObject(ret);
3481
3499
  },
3482
3500
  __wbindgen_generic_000000000000000a: function(arg0, arg1) {
3483
3501
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 1, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
3484
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_642_149);
3502
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_646_149);
3485
3503
  return addHeapObject(ret);
3486
3504
  },
3487
3505
  __wbindgen_generic_000000000000000b: function(arg0, arg1) {
3488
3506
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 16, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3489
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_653_150);
3507
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_657_150);
3490
3508
  return addHeapObject(ret);
3491
3509
  },
3492
3510
  __wbindgen_generic_000000000000000c: function(arg0, arg1) {
3493
3511
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [U32, Externref], shim_idx: 21, ret: Externref, inner_ret: Some(Externref) }, mutable: false }) -> Externref`.
3494
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_640_151);
3512
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_644_151);
3495
3513
  return addHeapObject(ret);
3496
3514
  },
3497
3515
  __wbindgen_generic_000000000000000d: function(arg0, arg1) {
3498
3516
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [U32, U32, Externref], shim_idx: 23, ret: Externref, inner_ret: Some(Externref) }, mutable: false }) -> Externref`.
3499
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_643);
3517
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_647);
3500
3518
  return addHeapObject(ret);
3501
3519
  },
3502
3520
  __wbindgen_generic_000000000000000e: function(arg0, arg1) {
3503
3521
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [U32, U32, U32, Externref], shim_idx: 19, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
3504
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_644);
3522
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_648);
3505
3523
  return addHeapObject(ret);
3506
3524
  },
3507
3525
  __wbindgen_generic_000000000000000f: function(arg0, arg1) {
3508
3526
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 26, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
3509
- const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_645);
3527
+ const ret = makeClosure(arg0, arg1, __wasm_bindgen_func_elem_649);
3510
3528
  return addHeapObject(ret);
3511
3529
  },
3512
3530
  __wbindgen_generic_0000000000000010: function(arg0, arg1) {
3513
3531
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 4, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3514
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_655);
3532
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_659);
3515
3533
  return addHeapObject(ret);
3516
3534
  },
3517
3535
  __wbindgen_generic_0000000000000011: function(arg0) {
@@ -3548,52 +3566,52 @@ function __wbg_get_imports() {
3548
3566
  };
3549
3567
  }
3550
3568
 
3551
- function __wasm_bindgen_func_elem_645(arg0, arg1) {
3552
- wasm.__wasm_bindgen_func_elem_645(arg0, arg1);
3569
+ function __wasm_bindgen_func_elem_649(arg0, arg1) {
3570
+ wasm.__wasm_bindgen_func_elem_649(arg0, arg1);
3553
3571
  }
3554
3572
 
3555
- function __wasm_bindgen_func_elem_655(arg0, arg1) {
3556
- wasm.__wasm_bindgen_func_elem_655(arg0, arg1);
3573
+ function __wasm_bindgen_func_elem_659(arg0, arg1) {
3574
+ wasm.__wasm_bindgen_func_elem_659(arg0, arg1);
3557
3575
  }
3558
3576
 
3559
- function __wasm_bindgen_func_elem_642(arg0, arg1, arg2) {
3560
- wasm.__wasm_bindgen_func_elem_642(arg0, arg1, addHeapObject(arg2));
3577
+ function __wasm_bindgen_func_elem_646(arg0, arg1, arg2) {
3578
+ wasm.__wasm_bindgen_func_elem_646(arg0, arg1, addHeapObject(arg2));
3561
3579
  }
3562
3580
 
3563
- function __wasm_bindgen_func_elem_653(arg0, arg1, arg2) {
3564
- wasm.__wasm_bindgen_func_elem_653(arg0, arg1, addHeapObject(arg2));
3581
+ function __wasm_bindgen_func_elem_657(arg0, arg1, arg2) {
3582
+ wasm.__wasm_bindgen_func_elem_657(arg0, arg1, addHeapObject(arg2));
3565
3583
  }
3566
3584
 
3567
- function __wasm_bindgen_func_elem_653_148(arg0, arg1, arg2) {
3568
- wasm.__wasm_bindgen_func_elem_653_148(arg0, arg1, addHeapObject(arg2));
3585
+ function __wasm_bindgen_func_elem_657_148(arg0, arg1, arg2) {
3586
+ wasm.__wasm_bindgen_func_elem_657_148(arg0, arg1, addHeapObject(arg2));
3569
3587
  }
3570
3588
 
3571
- function __wasm_bindgen_func_elem_642_149(arg0, arg1, arg2) {
3572
- wasm.__wasm_bindgen_func_elem_642_149(arg0, arg1, addHeapObject(arg2));
3589
+ function __wasm_bindgen_func_elem_646_149(arg0, arg1, arg2) {
3590
+ wasm.__wasm_bindgen_func_elem_646_149(arg0, arg1, addHeapObject(arg2));
3573
3591
  }
3574
3592
 
3575
- function __wasm_bindgen_func_elem_653_150(arg0, arg1, arg2) {
3576
- wasm.__wasm_bindgen_func_elem_653_150(arg0, arg1, addHeapObject(arg2));
3593
+ function __wasm_bindgen_func_elem_657_150(arg0, arg1, arg2) {
3594
+ wasm.__wasm_bindgen_func_elem_657_150(arg0, arg1, addHeapObject(arg2));
3577
3595
  }
3578
3596
 
3579
- function __wasm_bindgen_func_elem_641(arg0, arg1, arg2) {
3580
- const ret = wasm.__wasm_bindgen_func_elem_641(arg0, arg1, addHeapObject(arg2));
3597
+ function __wasm_bindgen_func_elem_645(arg0, arg1, arg2) {
3598
+ const ret = wasm.__wasm_bindgen_func_elem_645(arg0, arg1, addHeapObject(arg2));
3581
3599
  return takeObject(ret);
3582
3600
  }
3583
3601
 
3584
- function __wasm_bindgen_func_elem_651(arg0, arg1, arg2) {
3585
- const ret = wasm.__wasm_bindgen_func_elem_651(arg0, arg1, addHeapObject(arg2));
3602
+ function __wasm_bindgen_func_elem_655(arg0, arg1, arg2) {
3603
+ const ret = wasm.__wasm_bindgen_func_elem_655(arg0, arg1, addHeapObject(arg2));
3586
3604
  return takeObject(ret);
3587
3605
  }
3588
3606
 
3589
- function __wasm_bindgen_func_elem_2807(arg0, arg1, arg2, arg3) {
3590
- wasm.__wasm_bindgen_func_elem_2807(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3607
+ function __wasm_bindgen_func_elem_2817(arg0, arg1, arg2, arg3) {
3608
+ wasm.__wasm_bindgen_func_elem_2817(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3591
3609
  }
3592
3610
 
3593
- function __wasm_bindgen_func_elem_2791(arg0, arg1, arg2) {
3611
+ function __wasm_bindgen_func_elem_2801(arg0, arg1, arg2) {
3594
3612
  try {
3595
3613
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3596
- wasm.__wasm_bindgen_func_elem_2791(retptr, arg0, arg1, addHeapObject(arg2));
3614
+ wasm.__wasm_bindgen_func_elem_2801(retptr, arg0, arg1, addHeapObject(arg2));
3597
3615
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3598
3616
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3599
3617
  if (r1) {
@@ -3604,33 +3622,33 @@ function __wasm_bindgen_func_elem_2791(arg0, arg1, arg2) {
3604
3622
  }
3605
3623
  }
3606
3624
 
3607
- function __wasm_bindgen_func_elem_640(arg0, arg1, arg2, arg3) {
3608
- const ret = wasm.__wasm_bindgen_func_elem_640(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3625
+ function __wasm_bindgen_func_elem_644(arg0, arg1, arg2, arg3) {
3626
+ const ret = wasm.__wasm_bindgen_func_elem_644(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3609
3627
  return takeObject(ret);
3610
3628
  }
3611
3629
 
3612
- function __wasm_bindgen_func_elem_649(arg0, arg1, arg2, arg3) {
3613
- const ret = wasm.__wasm_bindgen_func_elem_649(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3630
+ function __wasm_bindgen_func_elem_653(arg0, arg1, arg2, arg3) {
3631
+ const ret = wasm.__wasm_bindgen_func_elem_653(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3614
3632
  return takeObject(ret);
3615
3633
  }
3616
3634
 
3617
- function __wasm_bindgen_func_elem_640_151(arg0, arg1, arg2, arg3) {
3618
- const ret = wasm.__wasm_bindgen_func_elem_640_151(arg0, arg1, arg2, addHeapObject(arg3));
3635
+ function __wasm_bindgen_func_elem_644_151(arg0, arg1, arg2, arg3) {
3636
+ const ret = wasm.__wasm_bindgen_func_elem_644_151(arg0, arg1, arg2, addHeapObject(arg3));
3619
3637
  return takeObject(ret);
3620
3638
  }
3621
3639
 
3622
- function __wasm_bindgen_func_elem_647(arg0, arg1, arg2, arg3, arg4) {
3623
- const ret = wasm.__wasm_bindgen_func_elem_647(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3), addHeapObject(arg4));
3640
+ function __wasm_bindgen_func_elem_651(arg0, arg1, arg2, arg3, arg4) {
3641
+ const ret = wasm.__wasm_bindgen_func_elem_651(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3), addHeapObject(arg4));
3624
3642
  return ret !== 0;
3625
3643
  }
3626
3644
 
3627
- function __wasm_bindgen_func_elem_643(arg0, arg1, arg2, arg3, arg4) {
3628
- const ret = wasm.__wasm_bindgen_func_elem_643(arg0, arg1, arg2, arg3, addHeapObject(arg4));
3645
+ function __wasm_bindgen_func_elem_647(arg0, arg1, arg2, arg3, arg4) {
3646
+ const ret = wasm.__wasm_bindgen_func_elem_647(arg0, arg1, arg2, arg3, addHeapObject(arg4));
3629
3647
  return takeObject(ret);
3630
3648
  }
3631
3649
 
3632
- function __wasm_bindgen_func_elem_644(arg0, arg1, arg2, arg3, arg4, arg5) {
3633
- wasm.__wasm_bindgen_func_elem_644(arg0, arg1, arg2, arg3, arg4, addHeapObject(arg5));
3650
+ function __wasm_bindgen_func_elem_648(arg0, arg1, arg2, arg3, arg4, arg5) {
3651
+ wasm.__wasm_bindgen_func_elem_648(arg0, arg1, arg2, arg3, arg4, addHeapObject(arg5));
3634
3652
  }
3635
3653
 
3636
3654
  const BufferCellFinalization = (typeof FinalizationRegistry === 'undefined')
Binary file
@@ -154,23 +154,23 @@ export const weblinksaddon___wongttyWebLinksAddon: (a: number) => number;
154
154
  export const weblinksaddon_activate: (a: number, b: number) => void;
155
155
  export const weblinksaddon_dispose: (a: number) => void;
156
156
  export const weblinksaddon_new: (a: number, b: number) => number;
157
- export const __wasm_bindgen_func_elem_644: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
158
- export const __wasm_bindgen_func_elem_643: (a: number, b: number, c: number, d: number, e: number) => number;
157
+ export const __wasm_bindgen_func_elem_648: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
159
158
  export const __wasm_bindgen_func_elem_647: (a: number, b: number, c: number, d: number, e: number) => number;
160
- export const __wasm_bindgen_func_elem_640: (a: number, b: number, c: number, d: number) => number;
161
- export const __wasm_bindgen_func_elem_640_151: (a: number, b: number, c: number, d: number) => number;
162
- export const __wasm_bindgen_func_elem_649: (a: number, b: number, c: number, d: number) => number;
163
- export const __wasm_bindgen_func_elem_2791: (a: number, b: number, c: number, d: number) => void;
164
- export const __wasm_bindgen_func_elem_2807: (a: number, b: number, c: number, d: number) => void;
165
- export const __wasm_bindgen_func_elem_641: (a: number, b: number, c: number) => number;
166
- export const __wasm_bindgen_func_elem_651: (a: number, b: number, c: number) => number;
167
- export const __wasm_bindgen_func_elem_642: (a: number, b: number, c: number) => void;
168
- export const __wasm_bindgen_func_elem_642_149: (a: number, b: number, c: number) => void;
169
- export const __wasm_bindgen_func_elem_653: (a: number, b: number, c: number) => void;
170
- export const __wasm_bindgen_func_elem_653_148: (a: number, b: number, c: number) => void;
171
- export const __wasm_bindgen_func_elem_653_150: (a: number, b: number, c: number) => void;
172
- export const __wasm_bindgen_func_elem_645: (a: number, b: number) => void;
173
- export const __wasm_bindgen_func_elem_655: (a: number, b: number) => void;
159
+ export const __wasm_bindgen_func_elem_651: (a: number, b: number, c: number, d: number, e: number) => number;
160
+ export const __wasm_bindgen_func_elem_644: (a: number, b: number, c: number, d: number) => number;
161
+ export const __wasm_bindgen_func_elem_644_151: (a: number, b: number, c: number, d: number) => number;
162
+ export const __wasm_bindgen_func_elem_653: (a: number, b: number, c: number, d: number) => number;
163
+ export const __wasm_bindgen_func_elem_2801: (a: number, b: number, c: number, d: number) => void;
164
+ export const __wasm_bindgen_func_elem_2817: (a: number, b: number, c: number, d: number) => void;
165
+ export const __wasm_bindgen_func_elem_645: (a: number, b: number, c: number) => number;
166
+ export const __wasm_bindgen_func_elem_655: (a: number, b: number, c: number) => number;
167
+ export const __wasm_bindgen_func_elem_646: (a: number, b: number, c: number) => void;
168
+ export const __wasm_bindgen_func_elem_646_149: (a: number, b: number, c: number) => void;
169
+ export const __wasm_bindgen_func_elem_657: (a: number, b: number, c: number) => void;
170
+ export const __wasm_bindgen_func_elem_657_148: (a: number, b: number, c: number) => void;
171
+ export const __wasm_bindgen_func_elem_657_150: (a: number, b: number, c: number) => void;
172
+ export const __wasm_bindgen_func_elem_649: (a: number, b: number) => void;
173
+ export const __wasm_bindgen_func_elem_659: (a: number, b: number) => void;
174
174
  export const __wbindgen_export: (a: number) => void;
175
175
  export const __wbindgen_export2: (a: number, b: number) => number;
176
176
  export const __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wongtty",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Terminal emulator engine in Rust, compiled to WebAssembly. Feed it PTY bytes, render the rows that changed.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",