@jupyterlab/outputarea 4.3.0-beta.1 → 4.3.0-beta.3

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/lib/model.js CHANGED
@@ -334,6 +334,13 @@ var Private;
334
334
  }
335
335
  }
336
336
  Private.normalize = normalize;
337
+ /**
338
+ * Like `indexOf` but allowing to use a regular expression.
339
+ */
340
+ function indexOfAny(text, re, i) {
341
+ const index = text.slice(i).search(re);
342
+ return index >= 0 ? index + i : index;
343
+ }
337
344
  /*
338
345
  * Handle backspaces in `newText` and concatenates to `text`, if any.
339
346
  */
@@ -341,8 +348,26 @@ var Private;
341
348
  if (text === undefined) {
342
349
  text = '';
343
350
  }
351
+ if (!(newText.includes('\b') || newText.includes('\r'))) {
352
+ return text + newText;
353
+ }
344
354
  let idx0 = text.length;
345
- for (let idx1 = 0; idx1 < newText.length; idx1++) {
355
+ let idx1 = -1;
356
+ let lastEnd = 0;
357
+ const regex = /[\n\b\r]/;
358
+ // TODO: once we upgrade eslint to 9.1.0 we can toggle `allExceptWhileTrue`
359
+ // option and remove the ignore rule below.
360
+ // eslint-disable-next-line no-constant-condition
361
+ while (true) {
362
+ idx1 = indexOfAny(newText, regex, lastEnd);
363
+ // Insert characters at current position.
364
+ const prefix = newText.slice(lastEnd, idx1 === -1 ? newText.length : idx1);
365
+ text = text.slice(0, idx0) + prefix + text.slice(idx0 + prefix.length);
366
+ lastEnd = idx1 + 1;
367
+ if (idx1 === -1) {
368
+ break;
369
+ }
370
+ idx0 += prefix.length;
346
371
  const newChar = newText[idx1];
347
372
  if (newChar === '\b') {
348
373
  // Backspace: delete previous character if there is one and if it's not a line feed.
@@ -372,9 +397,7 @@ var Private;
372
397
  idx0 = text.length;
373
398
  }
374
399
  else {
375
- // Insert character at current position.
376
- text = text.slice(0, idx0) + newChar + text.slice(idx0 + 1);
377
- idx0++;
400
+ throw Error(`This should not happen`);
378
401
  }
379
402
  }
380
403
  return text;
package/lib/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/outputarea",
3
- "version": "4.3.0-beta.1",
3
+ "version": "4.3.0-beta.3",
4
4
  "description": "JupyterLab - Notebook Output Area",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -41,23 +41,23 @@
41
41
  "watch": "tsc -b --watch"
42
42
  },
43
43
  "dependencies": {
44
- "@jupyterlab/apputils": "^4.4.0-beta.1",
45
- "@jupyterlab/nbformat": "^4.3.0-beta.1",
46
- "@jupyterlab/observables": "^5.3.0-beta.1",
47
- "@jupyterlab/rendermime": "^4.3.0-beta.1",
48
- "@jupyterlab/rendermime-interfaces": "^3.11.0-beta.1",
49
- "@jupyterlab/services": "^7.3.0-beta.1",
50
- "@jupyterlab/translation": "^4.3.0-beta.1",
51
- "@lumino/algorithm": "^2.0.1",
52
- "@lumino/coreutils": "^2.1.2",
53
- "@lumino/disposable": "^2.1.2",
54
- "@lumino/messaging": "^2.0.1",
55
- "@lumino/properties": "^2.0.1",
56
- "@lumino/signaling": "^2.1.2",
57
- "@lumino/widgets": "^2.3.2"
44
+ "@jupyterlab/apputils": "^4.4.0-beta.3",
45
+ "@jupyterlab/nbformat": "^4.3.0-beta.3",
46
+ "@jupyterlab/observables": "^5.3.0-beta.3",
47
+ "@jupyterlab/rendermime": "^4.3.0-beta.3",
48
+ "@jupyterlab/rendermime-interfaces": "^3.11.0-beta.3",
49
+ "@jupyterlab/services": "^7.3.0-beta.3",
50
+ "@jupyterlab/translation": "^4.3.0-beta.3",
51
+ "@lumino/algorithm": "^2.0.2",
52
+ "@lumino/coreutils": "^2.2.0",
53
+ "@lumino/disposable": "^2.1.3",
54
+ "@lumino/messaging": "^2.0.2",
55
+ "@lumino/properties": "^2.0.2",
56
+ "@lumino/signaling": "^2.1.3",
57
+ "@lumino/widgets": "^2.5.0"
58
58
  },
59
59
  "devDependencies": {
60
- "@jupyterlab/testing": "^4.3.0-beta.1",
60
+ "@jupyterlab/testing": "^4.3.0-beta.3",
61
61
  "@types/jest": "^29.2.0",
62
62
  "jest": "^29.2.0",
63
63
  "rimraf": "~5.0.5",
package/src/model.ts CHANGED
@@ -519,6 +519,14 @@ namespace Private {
519
519
  }
520
520
  }
521
521
 
522
+ /**
523
+ * Like `indexOf` but allowing to use a regular expression.
524
+ */
525
+ function indexOfAny(text: string, re: RegExp, i: number): number {
526
+ const index = text.slice(i).search(re);
527
+ return index >= 0 ? index + i : index;
528
+ }
529
+
522
530
  /*
523
531
  * Handle backspaces in `newText` and concatenates to `text`, if any.
524
532
  */
@@ -526,8 +534,32 @@ namespace Private {
526
534
  if (text === undefined) {
527
535
  text = '';
528
536
  }
537
+ if (!(newText.includes('\b') || newText.includes('\r'))) {
538
+ return text + newText;
539
+ }
529
540
  let idx0 = text.length;
530
- for (let idx1 = 0; idx1 < newText.length; idx1++) {
541
+ let idx1: number = -1;
542
+ let lastEnd: number = 0;
543
+ const regex = /[\n\b\r]/;
544
+ // TODO: once we upgrade eslint to 9.1.0 we can toggle `allExceptWhileTrue`
545
+ // option and remove the ignore rule below.
546
+ // eslint-disable-next-line no-constant-condition
547
+ while (true) {
548
+ idx1 = indexOfAny(newText, regex, lastEnd);
549
+
550
+ // Insert characters at current position.
551
+ const prefix = newText.slice(
552
+ lastEnd,
553
+ idx1 === -1 ? newText.length : idx1
554
+ );
555
+ text = text.slice(0, idx0) + prefix + text.slice(idx0 + prefix.length);
556
+ lastEnd = idx1 + 1;
557
+
558
+ if (idx1 === -1) {
559
+ break;
560
+ }
561
+ idx0 += prefix.length;
562
+
531
563
  const newChar = newText[idx1];
532
564
  if (newChar === '\b') {
533
565
  // Backspace: delete previous character if there is one and if it's not a line feed.
@@ -552,9 +584,7 @@ namespace Private {
552
584
  text = text + '\n';
553
585
  idx0 = text.length;
554
586
  } else {
555
- // Insert character at current position.
556
- text = text.slice(0, idx0) + newChar + text.slice(idx0 + 1);
557
- idx0++;
587
+ throw Error(`This should not happen`);
558
588
  }
559
589
  }
560
590
  return text;