@jupyterlab/rendermime 4.3.0 → 4.3.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/lib/renderers.js +136 -37
- package/lib/renderers.js.map +1 -1
- package/package.json +9 -9
- package/src/renderers.ts +166 -42
package/lib/renderers.js
CHANGED
|
@@ -443,26 +443,97 @@ function* alignedNodes(a, b) {
|
|
|
443
443
|
* @returns A promise which resolves when rendering is complete.
|
|
444
444
|
*/
|
|
445
445
|
export function renderText(options) {
|
|
446
|
+
renderTextual(options, {
|
|
447
|
+
checkWeb: true,
|
|
448
|
+
checkPaths: false
|
|
449
|
+
});
|
|
450
|
+
// Return the rendered promise.
|
|
451
|
+
return Promise.resolve(undefined);
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Sanitize HTML out using native browser sanitizer.
|
|
455
|
+
*
|
|
456
|
+
* Compared to the `ISanitizer.sanitize` this does not allow to selectively
|
|
457
|
+
* allow to keep certain tags but escapes everything; on the other hand
|
|
458
|
+
* it is much faster as it uses platform-optimized code.
|
|
459
|
+
*/
|
|
460
|
+
function nativeSanitize(source) {
|
|
461
|
+
const el = document.createElement('span');
|
|
462
|
+
el.textContent = source;
|
|
463
|
+
return el.innerHTML;
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Render the textual representation into a host node.
|
|
467
|
+
*
|
|
468
|
+
* Implements the shared logic for `renderText` and `renderError`.
|
|
469
|
+
*/
|
|
470
|
+
function renderTextual(options, autoLinkOptions) {
|
|
446
471
|
var _a, _b;
|
|
447
472
|
// Unpack the options.
|
|
448
473
|
const { host, sanitizer, source } = options;
|
|
449
|
-
|
|
450
|
-
const
|
|
451
|
-
|
|
452
|
-
|
|
474
|
+
const ansiPrefixRe = /\x1b/; // eslint-disable-line no-control-regex
|
|
475
|
+
const hasAnsiPrefix = ansiPrefixRe.test(source);
|
|
476
|
+
// Create the HTML content:
|
|
477
|
+
// If no ANSI codes are present use a fast path for escaping.
|
|
478
|
+
const content = hasAnsiPrefix
|
|
479
|
+
? sanitizer.sanitize(Private.ansiSpan(source), {
|
|
480
|
+
allowedTags: ['span']
|
|
481
|
+
})
|
|
482
|
+
: nativeSanitize(source);
|
|
453
483
|
// Set the sanitized content for the host node.
|
|
454
484
|
const pre = document.createElement('pre');
|
|
455
485
|
pre.innerHTML = content;
|
|
456
486
|
const preTextContent = pre.textContent;
|
|
487
|
+
const cacheStoreOptions = [];
|
|
488
|
+
if (autoLinkOptions.checkWeb) {
|
|
489
|
+
cacheStoreOptions.push('web');
|
|
490
|
+
}
|
|
491
|
+
if (autoLinkOptions.checkPaths) {
|
|
492
|
+
cacheStoreOptions.push('paths');
|
|
493
|
+
}
|
|
494
|
+
const cacheStoreKey = cacheStoreOptions.join('-');
|
|
495
|
+
let cacheStore = Private.autoLinkCache.get(cacheStoreKey);
|
|
496
|
+
if (!cacheStore) {
|
|
497
|
+
cacheStore = new WeakMap();
|
|
498
|
+
Private.autoLinkCache.set(cacheStoreKey, cacheStore);
|
|
499
|
+
}
|
|
457
500
|
let ret;
|
|
458
501
|
if (preTextContent) {
|
|
459
502
|
// Note: only text nodes and span elements should be present after sanitization in the `<pre>` element.
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
503
|
+
let linkedNodes;
|
|
504
|
+
if ((_b = (_a = sanitizer.getAutolink) === null || _a === void 0 ? void 0 : _a.call(sanitizer)) !== null && _b !== void 0 ? _b : true) {
|
|
505
|
+
const cache = getApplicableLinkCache(cacheStore.get(host), preTextContent);
|
|
506
|
+
if (cache) {
|
|
507
|
+
const { cachedNodes: fromCache, addedText } = cache;
|
|
508
|
+
const newAdditions = autolink(addedText, autoLinkOptions);
|
|
509
|
+
const lastInCache = fromCache[fromCache.length - 1];
|
|
510
|
+
const firstNewNode = newAdditions[0];
|
|
511
|
+
if (lastInCache instanceof Text && firstNewNode instanceof Text) {
|
|
512
|
+
const joiningNode = lastInCache;
|
|
513
|
+
joiningNode.data += firstNewNode.data;
|
|
514
|
+
linkedNodes = [
|
|
515
|
+
...fromCache.slice(0, -1),
|
|
516
|
+
joiningNode,
|
|
517
|
+
...newAdditions.slice(1)
|
|
518
|
+
];
|
|
519
|
+
}
|
|
520
|
+
else {
|
|
521
|
+
linkedNodes = [...fromCache, ...newAdditions];
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
linkedNodes = autolink(preTextContent, autoLinkOptions);
|
|
526
|
+
}
|
|
527
|
+
cacheStore.set(host, {
|
|
528
|
+
preTextContent,
|
|
529
|
+
// Clone the nodes before storing them in the cache in case if another component
|
|
530
|
+
// attempts to modify (e.g. dispose of) them - which is the case for search highlights!
|
|
531
|
+
linkedNodes: linkedNodes.map(node => node.cloneNode(true))
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
linkedNodes = [document.createTextNode(content)];
|
|
536
|
+
}
|
|
466
537
|
const preNodes = Array.from(pre.childNodes);
|
|
467
538
|
ret = mergeNodes(preNodes, linkedNodes);
|
|
468
539
|
}
|
|
@@ -470,8 +541,53 @@ export function renderText(options) {
|
|
|
470
541
|
ret = document.createElement('pre');
|
|
471
542
|
}
|
|
472
543
|
host.appendChild(ret);
|
|
473
|
-
|
|
474
|
-
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Return the information from the cache that can be used given the cache entry and current text.
|
|
547
|
+
* If the cache is invalid given the current text (or cannot be used) `null` is returned.
|
|
548
|
+
*/
|
|
549
|
+
function getApplicableLinkCache(cachedResult, preTextContent) {
|
|
550
|
+
if (!cachedResult) {
|
|
551
|
+
return null;
|
|
552
|
+
}
|
|
553
|
+
if (preTextContent.length < cachedResult.preTextContent.length) {
|
|
554
|
+
// If the new content is shorter than the cached content
|
|
555
|
+
// we cannot use the cache as we only support appending.
|
|
556
|
+
return null;
|
|
557
|
+
}
|
|
558
|
+
let addedText = preTextContent.substring(cachedResult.preTextContent.length);
|
|
559
|
+
let cachedNodes = cachedResult.linkedNodes;
|
|
560
|
+
const lastCachedNode = cachedResult.linkedNodes[cachedResult.linkedNodes.length - 1];
|
|
561
|
+
// Only use cached nodes if:
|
|
562
|
+
// - the last cached node is a text node
|
|
563
|
+
// - the new content starts with a new line
|
|
564
|
+
// - the old content ends with a new line
|
|
565
|
+
if (cachedResult.preTextContent.endsWith('\n') ||
|
|
566
|
+
addedText.startsWith('\n')) {
|
|
567
|
+
// Second or third condition is met, we can use the cached nodes
|
|
568
|
+
// (this is a no-op, we just continue execution).
|
|
569
|
+
}
|
|
570
|
+
else if (lastCachedNode instanceof Text) {
|
|
571
|
+
// The first condition is met, we can use the cached nodes,
|
|
572
|
+
// but first we remove the Text node to re-analyse its text.
|
|
573
|
+
// This is required when we cached `aaa www.one.com bbb www.`
|
|
574
|
+
// and the incoming addition is `two.com`. We can still
|
|
575
|
+
// use text node `aaa ` and anchor node `www.one.com`, but
|
|
576
|
+
// we need to pass `bbb www.` + `two.com` through linkify again.
|
|
577
|
+
cachedNodes = cachedNodes.slice(0, -1);
|
|
578
|
+
addedText = lastCachedNode.textContent + addedText;
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
return null;
|
|
582
|
+
}
|
|
583
|
+
// Finally check if text has not changed.
|
|
584
|
+
if (!preTextContent.startsWith(cachedResult.preTextContent)) {
|
|
585
|
+
return null;
|
|
586
|
+
}
|
|
587
|
+
return {
|
|
588
|
+
cachedNodes,
|
|
589
|
+
addedText
|
|
590
|
+
};
|
|
475
591
|
}
|
|
476
592
|
/**
|
|
477
593
|
* Render error into a host node.
|
|
@@ -481,33 +597,12 @@ export function renderText(options) {
|
|
|
481
597
|
* @returns A promise which resolves when rendering is complete.
|
|
482
598
|
*/
|
|
483
599
|
export function renderError(options) {
|
|
484
|
-
var _a, _b;
|
|
485
600
|
// Unpack the options.
|
|
486
|
-
const { host, linkHandler,
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
601
|
+
const { host, linkHandler, resolver } = options;
|
|
602
|
+
renderTextual(options, {
|
|
603
|
+
checkWeb: true,
|
|
604
|
+
checkPaths: true
|
|
490
605
|
});
|
|
491
|
-
// Set the sanitized content for the host node.
|
|
492
|
-
const pre = document.createElement('pre');
|
|
493
|
-
pre.innerHTML = content;
|
|
494
|
-
const preTextContent = pre.textContent;
|
|
495
|
-
let ret;
|
|
496
|
-
if (preTextContent) {
|
|
497
|
-
// Note: only text nodes and span elements should be present after sanitization in the `<pre>` element.
|
|
498
|
-
const linkedNodes = ((_b = (_a = sanitizer.getAutolink) === null || _a === void 0 ? void 0 : _a.call(sanitizer)) !== null && _b !== void 0 ? _b : true)
|
|
499
|
-
? autolink(preTextContent, {
|
|
500
|
-
checkWeb: true,
|
|
501
|
-
checkPaths: true
|
|
502
|
-
})
|
|
503
|
-
: [document.createTextNode(content)];
|
|
504
|
-
const preNodes = Array.from(pre.childNodes);
|
|
505
|
-
ret = mergeNodes(preNodes, linkedNodes);
|
|
506
|
-
}
|
|
507
|
-
else {
|
|
508
|
-
ret = document.createElement('pre');
|
|
509
|
-
}
|
|
510
|
-
host.appendChild(ret);
|
|
511
606
|
// Patch the paths if a resolver is available.
|
|
512
607
|
let promise;
|
|
513
608
|
if (resolver) {
|
|
@@ -577,6 +672,10 @@ function mergeNodes(preNodes, linkedNodes) {
|
|
|
577
672
|
*/
|
|
578
673
|
var Private;
|
|
579
674
|
(function (Private) {
|
|
675
|
+
/**
|
|
676
|
+
* Cache for auto-linking results to provide better performance when streaming outputs.
|
|
677
|
+
*/
|
|
678
|
+
Private.autoLinkCache = new Map();
|
|
580
679
|
/**
|
|
581
680
|
* Eval the script tags contained in a host populated by `innerHTML`.
|
|
582
681
|
*
|
package/lib/renderers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../src/renderers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../src/renderers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/rendermime",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.2",
|
|
4
4
|
"description": "JupyterLab - RenderMime",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"watch": "tsc -b --watch"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@jupyterlab/apputils": "^4.4.
|
|
45
|
-
"@jupyterlab/coreutils": "^6.3.
|
|
46
|
-
"@jupyterlab/nbformat": "^4.3.
|
|
47
|
-
"@jupyterlab/observables": "^5.3.
|
|
48
|
-
"@jupyterlab/rendermime-interfaces": "^3.11.
|
|
49
|
-
"@jupyterlab/services": "^7.3.
|
|
50
|
-
"@jupyterlab/translation": "^4.3.
|
|
44
|
+
"@jupyterlab/apputils": "^4.4.2",
|
|
45
|
+
"@jupyterlab/coreutils": "^6.3.2",
|
|
46
|
+
"@jupyterlab/nbformat": "^4.3.2",
|
|
47
|
+
"@jupyterlab/observables": "^5.3.2",
|
|
48
|
+
"@jupyterlab/rendermime-interfaces": "^3.11.2",
|
|
49
|
+
"@jupyterlab/services": "^7.3.2",
|
|
50
|
+
"@jupyterlab/translation": "^4.3.2",
|
|
51
51
|
"@lumino/coreutils": "^2.2.0",
|
|
52
52
|
"@lumino/messaging": "^2.0.2",
|
|
53
53
|
"@lumino/signaling": "^2.1.3",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"lodash.escape": "^4.0.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@jupyterlab/testing": "^4.3.
|
|
58
|
+
"@jupyterlab/testing": "^4.3.2",
|
|
59
59
|
"@types/jest": "^29.2.0",
|
|
60
60
|
"@types/lodash.escape": "^4.0.6",
|
|
61
61
|
"fs-extra": "^10.1.0",
|
package/src/renderers.ts
CHANGED
|
@@ -787,13 +787,50 @@ function* alignedNodes<T extends Node, U extends Node>(
|
|
|
787
787
|
* @returns A promise which resolves when rendering is complete.
|
|
788
788
|
*/
|
|
789
789
|
export function renderText(options: renderText.IRenderOptions): Promise<void> {
|
|
790
|
+
renderTextual(options, {
|
|
791
|
+
checkWeb: true,
|
|
792
|
+
checkPaths: false
|
|
793
|
+
});
|
|
794
|
+
|
|
795
|
+
// Return the rendered promise.
|
|
796
|
+
return Promise.resolve(undefined);
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
/**
|
|
800
|
+
* Sanitize HTML out using native browser sanitizer.
|
|
801
|
+
*
|
|
802
|
+
* Compared to the `ISanitizer.sanitize` this does not allow to selectively
|
|
803
|
+
* allow to keep certain tags but escapes everything; on the other hand
|
|
804
|
+
* it is much faster as it uses platform-optimized code.
|
|
805
|
+
*/
|
|
806
|
+
function nativeSanitize(source: string): string {
|
|
807
|
+
const el = document.createElement('span');
|
|
808
|
+
el.textContent = source;
|
|
809
|
+
return el.innerHTML;
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
/**
|
|
813
|
+
* Render the textual representation into a host node.
|
|
814
|
+
*
|
|
815
|
+
* Implements the shared logic for `renderText` and `renderError`.
|
|
816
|
+
*/
|
|
817
|
+
function renderTextual(
|
|
818
|
+
options: renderText.IRenderOptions,
|
|
819
|
+
autoLinkOptions: IAutoLinkOptions
|
|
820
|
+
): void {
|
|
790
821
|
// Unpack the options.
|
|
791
822
|
const { host, sanitizer, source } = options;
|
|
792
823
|
|
|
793
|
-
|
|
794
|
-
const
|
|
795
|
-
|
|
796
|
-
|
|
824
|
+
const ansiPrefixRe = /\x1b/; // eslint-disable-line no-control-regex
|
|
825
|
+
const hasAnsiPrefix = ansiPrefixRe.test(source);
|
|
826
|
+
|
|
827
|
+
// Create the HTML content:
|
|
828
|
+
// If no ANSI codes are present use a fast path for escaping.
|
|
829
|
+
const content = hasAnsiPrefix
|
|
830
|
+
? sanitizer.sanitize(Private.ansiSpan(source), {
|
|
831
|
+
allowedTags: ['span']
|
|
832
|
+
})
|
|
833
|
+
: nativeSanitize(source);
|
|
797
834
|
|
|
798
835
|
// Set the sanitized content for the host node.
|
|
799
836
|
const pre = document.createElement('pre');
|
|
@@ -801,16 +838,60 @@ export function renderText(options: renderText.IRenderOptions): Promise<void> {
|
|
|
801
838
|
|
|
802
839
|
const preTextContent = pre.textContent;
|
|
803
840
|
|
|
841
|
+
const cacheStoreOptions = [];
|
|
842
|
+
if (autoLinkOptions.checkWeb) {
|
|
843
|
+
cacheStoreOptions.push('web');
|
|
844
|
+
}
|
|
845
|
+
if (autoLinkOptions.checkPaths) {
|
|
846
|
+
cacheStoreOptions.push('paths');
|
|
847
|
+
}
|
|
848
|
+
const cacheStoreKey = cacheStoreOptions.join('-');
|
|
849
|
+
let cacheStore = Private.autoLinkCache.get(cacheStoreKey);
|
|
850
|
+
if (!cacheStore) {
|
|
851
|
+
cacheStore = new WeakMap();
|
|
852
|
+
Private.autoLinkCache.set(cacheStoreKey, cacheStore);
|
|
853
|
+
}
|
|
854
|
+
|
|
804
855
|
let ret: HTMLPreElement;
|
|
805
856
|
if (preTextContent) {
|
|
806
857
|
// Note: only text nodes and span elements should be present after sanitization in the `<pre>` element.
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
858
|
+
let linkedNodes: (HTMLAnchorElement | Text)[];
|
|
859
|
+
if (sanitizer.getAutolink?.() ?? true) {
|
|
860
|
+
const cache = getApplicableLinkCache(
|
|
861
|
+
cacheStore.get(host),
|
|
862
|
+
preTextContent
|
|
863
|
+
);
|
|
864
|
+
if (cache) {
|
|
865
|
+
const { cachedNodes: fromCache, addedText } = cache;
|
|
866
|
+
const newAdditions = autolink(addedText, autoLinkOptions);
|
|
867
|
+
const lastInCache = fromCache[fromCache.length - 1];
|
|
868
|
+
const firstNewNode = newAdditions[0];
|
|
869
|
+
|
|
870
|
+
if (lastInCache instanceof Text && firstNewNode instanceof Text) {
|
|
871
|
+
const joiningNode = lastInCache;
|
|
872
|
+
joiningNode.data += firstNewNode.data;
|
|
873
|
+
linkedNodes = [
|
|
874
|
+
...fromCache.slice(0, -1),
|
|
875
|
+
joiningNode,
|
|
876
|
+
...newAdditions.slice(1)
|
|
877
|
+
];
|
|
878
|
+
} else {
|
|
879
|
+
linkedNodes = [...fromCache, ...newAdditions];
|
|
880
|
+
}
|
|
881
|
+
} else {
|
|
882
|
+
linkedNodes = autolink(preTextContent, autoLinkOptions);
|
|
883
|
+
}
|
|
884
|
+
cacheStore.set(host, {
|
|
885
|
+
preTextContent,
|
|
886
|
+
// Clone the nodes before storing them in the cache in case if another component
|
|
887
|
+
// attempts to modify (e.g. dispose of) them - which is the case for search highlights!
|
|
888
|
+
linkedNodes: linkedNodes.map(
|
|
889
|
+
node => node.cloneNode(true) as HTMLAnchorElement | Text
|
|
890
|
+
)
|
|
891
|
+
});
|
|
892
|
+
} else {
|
|
893
|
+
linkedNodes = [document.createTextNode(content)];
|
|
894
|
+
}
|
|
814
895
|
|
|
815
896
|
const preNodes = Array.from(pre.childNodes) as (Text | HTMLSpanElement)[];
|
|
816
897
|
ret = mergeNodes(preNodes, linkedNodes);
|
|
@@ -819,9 +900,6 @@ export function renderText(options: renderText.IRenderOptions): Promise<void> {
|
|
|
819
900
|
}
|
|
820
901
|
|
|
821
902
|
host.appendChild(ret);
|
|
822
|
-
|
|
823
|
-
// Return the rendered promise.
|
|
824
|
-
return Promise.resolve(undefined);
|
|
825
903
|
}
|
|
826
904
|
|
|
827
905
|
/**
|
|
@@ -854,6 +932,68 @@ export namespace renderText {
|
|
|
854
932
|
}
|
|
855
933
|
}
|
|
856
934
|
|
|
935
|
+
interface IAutoLinkCacheEntry {
|
|
936
|
+
preTextContent: string;
|
|
937
|
+
linkedNodes: (HTMLAnchorElement | Text)[];
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* Return the information from the cache that can be used given the cache entry and current text.
|
|
942
|
+
* If the cache is invalid given the current text (or cannot be used) `null` is returned.
|
|
943
|
+
*/
|
|
944
|
+
function getApplicableLinkCache(
|
|
945
|
+
cachedResult: IAutoLinkCacheEntry | undefined,
|
|
946
|
+
preTextContent: string
|
|
947
|
+
): {
|
|
948
|
+
cachedNodes: IAutoLinkCacheEntry['linkedNodes'];
|
|
949
|
+
addedText: string;
|
|
950
|
+
} | null {
|
|
951
|
+
if (!cachedResult) {
|
|
952
|
+
return null;
|
|
953
|
+
}
|
|
954
|
+
if (preTextContent.length < cachedResult.preTextContent.length) {
|
|
955
|
+
// If the new content is shorter than the cached content
|
|
956
|
+
// we cannot use the cache as we only support appending.
|
|
957
|
+
return null;
|
|
958
|
+
}
|
|
959
|
+
let addedText = preTextContent.substring(cachedResult.preTextContent.length);
|
|
960
|
+
let cachedNodes = cachedResult.linkedNodes;
|
|
961
|
+
const lastCachedNode =
|
|
962
|
+
cachedResult.linkedNodes[cachedResult.linkedNodes.length - 1];
|
|
963
|
+
|
|
964
|
+
// Only use cached nodes if:
|
|
965
|
+
// - the last cached node is a text node
|
|
966
|
+
// - the new content starts with a new line
|
|
967
|
+
// - the old content ends with a new line
|
|
968
|
+
if (
|
|
969
|
+
cachedResult.preTextContent.endsWith('\n') ||
|
|
970
|
+
addedText.startsWith('\n')
|
|
971
|
+
) {
|
|
972
|
+
// Second or third condition is met, we can use the cached nodes
|
|
973
|
+
// (this is a no-op, we just continue execution).
|
|
974
|
+
} else if (lastCachedNode instanceof Text) {
|
|
975
|
+
// The first condition is met, we can use the cached nodes,
|
|
976
|
+
// but first we remove the Text node to re-analyse its text.
|
|
977
|
+
// This is required when we cached `aaa www.one.com bbb www.`
|
|
978
|
+
// and the incoming addition is `two.com`. We can still
|
|
979
|
+
// use text node `aaa ` and anchor node `www.one.com`, but
|
|
980
|
+
// we need to pass `bbb www.` + `two.com` through linkify again.
|
|
981
|
+
cachedNodes = cachedNodes.slice(0, -1);
|
|
982
|
+
addedText = lastCachedNode.textContent + addedText;
|
|
983
|
+
} else {
|
|
984
|
+
return null;
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
// Finally check if text has not changed.
|
|
988
|
+
if (!preTextContent.startsWith(cachedResult.preTextContent)) {
|
|
989
|
+
return null;
|
|
990
|
+
}
|
|
991
|
+
return {
|
|
992
|
+
cachedNodes,
|
|
993
|
+
addedText
|
|
994
|
+
};
|
|
995
|
+
}
|
|
996
|
+
|
|
857
997
|
/**
|
|
858
998
|
* Render error into a host node.
|
|
859
999
|
*
|
|
@@ -865,37 +1005,13 @@ export function renderError(
|
|
|
865
1005
|
options: renderError.IRenderOptions
|
|
866
1006
|
): Promise<void> {
|
|
867
1007
|
// Unpack the options.
|
|
868
|
-
const { host, linkHandler,
|
|
1008
|
+
const { host, linkHandler, resolver } = options;
|
|
869
1009
|
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
1010
|
+
renderTextual(options, {
|
|
1011
|
+
checkWeb: true,
|
|
1012
|
+
checkPaths: true
|
|
873
1013
|
});
|
|
874
1014
|
|
|
875
|
-
// Set the sanitized content for the host node.
|
|
876
|
-
const pre = document.createElement('pre');
|
|
877
|
-
pre.innerHTML = content;
|
|
878
|
-
|
|
879
|
-
const preTextContent = pre.textContent;
|
|
880
|
-
|
|
881
|
-
let ret: HTMLPreElement;
|
|
882
|
-
if (preTextContent) {
|
|
883
|
-
// Note: only text nodes and span elements should be present after sanitization in the `<pre>` element.
|
|
884
|
-
const linkedNodes =
|
|
885
|
-
sanitizer.getAutolink?.() ?? true
|
|
886
|
-
? autolink(preTextContent, {
|
|
887
|
-
checkWeb: true,
|
|
888
|
-
checkPaths: true
|
|
889
|
-
})
|
|
890
|
-
: [document.createTextNode(content)];
|
|
891
|
-
|
|
892
|
-
const preNodes = Array.from(pre.childNodes) as (Text | HTMLSpanElement)[];
|
|
893
|
-
ret = mergeNodes(preNodes, linkedNodes);
|
|
894
|
-
} else {
|
|
895
|
-
ret = document.createElement('pre');
|
|
896
|
-
}
|
|
897
|
-
host.appendChild(ret);
|
|
898
|
-
|
|
899
1015
|
// Patch the paths if a resolver is available.
|
|
900
1016
|
let promise: Promise<void>;
|
|
901
1017
|
if (resolver) {
|
|
@@ -1012,6 +1128,14 @@ export namespace renderError {
|
|
|
1012
1128
|
* The namespace for module implementation details.
|
|
1013
1129
|
*/
|
|
1014
1130
|
namespace Private {
|
|
1131
|
+
/**
|
|
1132
|
+
* Cache for auto-linking results to provide better performance when streaming outputs.
|
|
1133
|
+
*/
|
|
1134
|
+
export const autoLinkCache = new Map<
|
|
1135
|
+
string,
|
|
1136
|
+
WeakMap<HTMLElement, IAutoLinkCacheEntry>
|
|
1137
|
+
>();
|
|
1138
|
+
|
|
1015
1139
|
/**
|
|
1016
1140
|
* Eval the script tags contained in a host populated by `innerHTML`.
|
|
1017
1141
|
*
|