@expensify/react-native-live-markdown 0.1.213 → 0.1.214
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/commonjs/parseExpensiMark.js +3 -1
- package/lib/commonjs/parseExpensiMark.js.map +1 -1
- package/lib/commonjs/rangeUtils.js +52 -0
- package/lib/commonjs/rangeUtils.js.map +1 -1
- package/lib/module/parseExpensiMark.js +4 -2
- package/lib/module/parseExpensiMark.js.map +1 -1
- package/lib/module/rangeUtils.js +53 -1
- package/lib/module/rangeUtils.js.map +1 -1
- package/lib/typescript/src/parseExpensiMark.d.ts.map +1 -1
- package/lib/typescript/src/rangeUtils.d.ts +3 -2
- package/lib/typescript/src/rangeUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/parseExpensiMark.ts +7 -2
- package/src/rangeUtils.ts +59 -1
|
@@ -237,7 +237,9 @@ function parseExpensiMark(markdown) {
|
|
|
237
237
|
console.error(`[react-native-live-markdown] Parsing error: the processed text does not match the original Markdown input. This may be caused by incorrect parsing functions or invalid input Markdown.\nProcessed input: '${JSON.stringify(text)}'\nOriginal input: '${JSON.stringify(markdown)}'`);
|
|
238
238
|
return [];
|
|
239
239
|
}
|
|
240
|
-
|
|
240
|
+
let splittedRanges = (0, _rangeUtils.splitRangesOnEmojis)(ranges, 'italic');
|
|
241
|
+
splittedRanges = (0, _rangeUtils.splitRangesOnEmojis)(splittedRanges, 'strikethrough');
|
|
242
|
+
const sortedRanges = (0, _rangeUtils.sortRanges)(splittedRanges);
|
|
241
243
|
const groupedRanges = (0, _rangeUtils.groupRanges)(sortedRanges);
|
|
242
244
|
return groupedRanges;
|
|
243
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","_rangeUtils","isWeb","Platform","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","decode","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","ExpensiMark","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","unescapeText","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","sortedRanges","sortRanges","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","default","_reactNative","require","_expensifyCommon","_utils","_htmlEntities","_rangeUtils","isWeb","Platform","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","decode","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","ExpensiMark","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","unescapeText","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","splittedRanges","splitRangesOnEmojis","sortedRanges","sortRanges","groupedRanges","groupRanges","_default"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'worklet';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.groupRanges = groupRanges;
|
|
7
8
|
exports.sortRanges = sortRanges;
|
|
9
|
+
exports.splitRangesOnEmojis = splitRangesOnEmojis;
|
|
8
10
|
exports.ungroupRanges = ungroupRanges;
|
|
9
11
|
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
10
12
|
function getTagPriority(tag) {
|
|
@@ -56,4 +58,54 @@ function ungroupRanges(ranges) {
|
|
|
56
58
|
});
|
|
57
59
|
return ungroupedRanges;
|
|
58
60
|
}
|
|
61
|
+
function splitRangesOnEmojis(ranges, type) {
|
|
62
|
+
const emojiRanges = ranges.filter(range => range.type === 'emoji');
|
|
63
|
+
const newRanges = [];
|
|
64
|
+
let i = 0;
|
|
65
|
+
let j = 0;
|
|
66
|
+
while (i < ranges.length) {
|
|
67
|
+
const currentRange = ranges[i];
|
|
68
|
+
if (!currentRange) {
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
if (currentRange.type !== type) {
|
|
72
|
+
newRanges.push(currentRange);
|
|
73
|
+
i++;
|
|
74
|
+
} else {
|
|
75
|
+
// Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
|
|
76
|
+
while (j < emojiRanges.length) {
|
|
77
|
+
const emojiRange = emojiRanges[j];
|
|
78
|
+
if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
const currentStart = currentRange.start;
|
|
82
|
+
const currentEnd = currentRange.start + currentRange.length;
|
|
83
|
+
const emojiStart = emojiRange.start;
|
|
84
|
+
const emojiEnd = emojiRange.start + emojiRange.length;
|
|
85
|
+
if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
|
|
86
|
+
// Intersection
|
|
87
|
+
const newRange = {
|
|
88
|
+
type: currentRange.type,
|
|
89
|
+
start: currentStart,
|
|
90
|
+
length: emojiStart - currentStart,
|
|
91
|
+
...((currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth) && {
|
|
92
|
+
depth: currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth
|
|
93
|
+
})
|
|
94
|
+
};
|
|
95
|
+
currentRange.start = emojiEnd;
|
|
96
|
+
currentRange.length = currentEnd - emojiEnd;
|
|
97
|
+
if (newRange.length > 0) {
|
|
98
|
+
newRanges.push(newRange);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
j++;
|
|
102
|
+
}
|
|
103
|
+
if (currentRange.length > 0) {
|
|
104
|
+
newRanges.push(currentRange);
|
|
105
|
+
}
|
|
106
|
+
i++;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return newRanges;
|
|
110
|
+
}
|
|
59
111
|
//# sourceMappingURL=rangeUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Object","defineProperty","exports","value","groupRanges","sortRanges","splitRangesOnEmojis","ungroupRanges","getTagPriority","tag","ranges","sort","a","b","start","length","type","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","emojiRanges","filter","newRanges","i","j","currentRange","emojiRange","currentStart","currentEnd","emojiStart","emojiEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { Platform } from 'react-native';
|
|
|
4
4
|
import { ExpensiMark } from 'expensify-common';
|
|
5
5
|
import { unescapeText } from 'expensify-common/dist/utils';
|
|
6
6
|
import { decode } from 'html-entities';
|
|
7
|
-
import { groupRanges, sortRanges } from './rangeUtils';
|
|
7
|
+
import { groupRanges, sortRanges, splitRangesOnEmojis } from './rangeUtils';
|
|
8
8
|
function isWeb() {
|
|
9
9
|
return Platform.OS === 'web';
|
|
10
10
|
}
|
|
@@ -232,7 +232,9 @@ function parseExpensiMark(markdown) {
|
|
|
232
232
|
console.error(`[react-native-live-markdown] Parsing error: the processed text does not match the original Markdown input. This may be caused by incorrect parsing functions or invalid input Markdown.\nProcessed input: '${JSON.stringify(text)}'\nOriginal input: '${JSON.stringify(markdown)}'`);
|
|
233
233
|
return [];
|
|
234
234
|
}
|
|
235
|
-
|
|
235
|
+
let splittedRanges = splitRangesOnEmojis(ranges, 'italic');
|
|
236
|
+
splittedRanges = splitRangesOnEmojis(splittedRanges, 'strikethrough');
|
|
237
|
+
const sortedRanges = sortRanges(splittedRanges);
|
|
236
238
|
const groupedRanges = groupRanges(sortedRanges);
|
|
237
239
|
return groupedRanges;
|
|
238
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","isWeb","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","sortedRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","ExpensiMark","unescapeText","decode","groupRanges","sortRanges","splitRangesOnEmojis","isWeb","OS","isJest","global","process","env","JEST_WORKER_ID","__DEV__","__workletHash","undefined","Error","MAX_PARSABLE_LENGTH","parseMarkdownToHTML","markdown","parser","html","replace","shouldKeepRawInput","parseHTMLToTokens","tokens","left","open","indexOf","length","push","substring","close","parseTokensToTree","stack","tag","children","forEach","type","payload","text","top","startsWith","child","pop","endsWith","unclosedTags","slice","map","item","join","parseTreeToTextAndRanges","tree","processChildren","node","dfs","appendSyntax","syntax","addChildrenWithStyle","start","end","ranges","curr","content","rawHref","match","href","isLabeledLink","dataRawHref","matchString","src","alt","hasAlt","rawLink","linkString","parseExpensiMark","console","error","JSON","stringify","splittedRanges","sortedRanges","groupedRanges"],"sourceRoot":"../../src","sources":["parseExpensiMark.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/rangeUtils.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'worklet';
|
|
2
|
+
|
|
1
3
|
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
2
4
|
function getTagPriority(tag) {
|
|
3
5
|
switch (tag) {
|
|
@@ -48,5 +50,55 @@ function ungroupRanges(ranges) {
|
|
|
48
50
|
});
|
|
49
51
|
return ungroupedRanges;
|
|
50
52
|
}
|
|
51
|
-
|
|
53
|
+
function splitRangesOnEmojis(ranges, type) {
|
|
54
|
+
const emojiRanges = ranges.filter(range => range.type === 'emoji');
|
|
55
|
+
const newRanges = [];
|
|
56
|
+
let i = 0;
|
|
57
|
+
let j = 0;
|
|
58
|
+
while (i < ranges.length) {
|
|
59
|
+
const currentRange = ranges[i];
|
|
60
|
+
if (!currentRange) {
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if (currentRange.type !== type) {
|
|
64
|
+
newRanges.push(currentRange);
|
|
65
|
+
i++;
|
|
66
|
+
} else {
|
|
67
|
+
// Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
|
|
68
|
+
while (j < emojiRanges.length) {
|
|
69
|
+
const emojiRange = emojiRanges[j];
|
|
70
|
+
if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
const currentStart = currentRange.start;
|
|
74
|
+
const currentEnd = currentRange.start + currentRange.length;
|
|
75
|
+
const emojiStart = emojiRange.start;
|
|
76
|
+
const emojiEnd = emojiRange.start + emojiRange.length;
|
|
77
|
+
if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
|
|
78
|
+
// Intersection
|
|
79
|
+
const newRange = {
|
|
80
|
+
type: currentRange.type,
|
|
81
|
+
start: currentStart,
|
|
82
|
+
length: emojiStart - currentStart,
|
|
83
|
+
...((currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth) && {
|
|
84
|
+
depth: currentRange === null || currentRange === void 0 ? void 0 : currentRange.depth
|
|
85
|
+
})
|
|
86
|
+
};
|
|
87
|
+
currentRange.start = emojiEnd;
|
|
88
|
+
currentRange.length = currentEnd - emojiEnd;
|
|
89
|
+
if (newRange.length > 0) {
|
|
90
|
+
newRanges.push(newRange);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
j++;
|
|
94
|
+
}
|
|
95
|
+
if (currentRange.length > 0) {
|
|
96
|
+
newRanges.push(currentRange);
|
|
97
|
+
}
|
|
98
|
+
i++;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return newRanges;
|
|
102
|
+
}
|
|
103
|
+
export { sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis };
|
|
52
104
|
//# sourceMappingURL=rangeUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["getTagPriority","tag","sortRanges","ranges","sort","a","b","start","length","type","groupRanges","lastVisibleRangeIndex","reduce","acc","range","end","rangeWithSameStyleIndex","sameStyleRange","undefined","depth","push","ungroupRanges","ungroupedRanges","forEach","rangeWithoutDepth","Array","from","splitRangesOnEmojis","emojiRanges","filter","newRanges","i","j","currentRange","emojiRange","currentStart","currentEnd","emojiStart","emojiEnd","newRange"],"sourceRoot":"../../src","sources":["rangeUtils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseExpensiMark.d.ts","sourceRoot":"","sources":["../../../src/parseExpensiMark.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,aAAa,EAAC,MAAM,eAAe,CAAC;AAqO/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"parseExpensiMark.d.ts","sourceRoot":"","sources":["../../../src/parseExpensiMark.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,aAAa,EAAC,MAAM,eAAe,CAAC;AAqO/D,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAwB3D;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { MarkdownRange } from './commonTypes';
|
|
1
|
+
import type { MarkdownRange, MarkdownType } from './commonTypes';
|
|
2
2
|
declare function sortRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
3
3
|
declare function groupRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
4
4
|
declare function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[];
|
|
5
|
-
|
|
5
|
+
declare function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): MarkdownRange[];
|
|
6
|
+
export { sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis };
|
|
6
7
|
//# sourceMappingURL=rangeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rangeUtils.d.ts","sourceRoot":"","sources":["../../../src/rangeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAc/D,iBAAS,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,mBAG1C;AAED,iBAAS,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,mBAoB3C;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAY/D;AAED,iBAAS,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,aAAa,EAAE,CAsDzF;AAED,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expensify/react-native-live-markdown",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.214",
|
|
4
4
|
"description": "Drop-in replacement for React Native's TextInput component with Markdown formatting.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
package/src/parseExpensiMark.ts
CHANGED
|
@@ -6,7 +6,7 @@ import {unescapeText} from 'expensify-common/dist/utils';
|
|
|
6
6
|
import {decode} from 'html-entities';
|
|
7
7
|
import type {WorkletFunction} from 'react-native-reanimated/lib/typescript/commonTypes';
|
|
8
8
|
import type {MarkdownType, MarkdownRange} from './commonTypes';
|
|
9
|
-
import {groupRanges, sortRanges} from './rangeUtils';
|
|
9
|
+
import {groupRanges, sortRanges, splitRangesOnEmojis} from './rangeUtils';
|
|
10
10
|
|
|
11
11
|
function isWeb() {
|
|
12
12
|
return Platform.OS === 'web';
|
|
@@ -250,8 +250,13 @@ function parseExpensiMark(markdown: string): MarkdownRange[] {
|
|
|
250
250
|
);
|
|
251
251
|
return [];
|
|
252
252
|
}
|
|
253
|
-
|
|
253
|
+
|
|
254
|
+
let splittedRanges = splitRangesOnEmojis(ranges, 'italic');
|
|
255
|
+
splittedRanges = splitRangesOnEmojis(splittedRanges, 'strikethrough');
|
|
256
|
+
|
|
257
|
+
const sortedRanges = sortRanges(splittedRanges);
|
|
254
258
|
const groupedRanges = groupRanges(sortedRanges);
|
|
259
|
+
|
|
255
260
|
return groupedRanges;
|
|
256
261
|
}
|
|
257
262
|
|
package/src/rangeUtils.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'worklet';
|
|
2
|
+
|
|
1
3
|
import type {MarkdownRange, MarkdownType} from './commonTypes';
|
|
2
4
|
|
|
3
5
|
// getTagPriority returns a priority for a tag, higher priority means the tag should be processed first
|
|
@@ -53,4 +55,60 @@ function ungroupRanges(ranges: MarkdownRange[]): MarkdownRange[] {
|
|
|
53
55
|
return ungroupedRanges;
|
|
54
56
|
}
|
|
55
57
|
|
|
56
|
-
|
|
58
|
+
function splitRangesOnEmojis(ranges: MarkdownRange[], type: MarkdownType): MarkdownRange[] {
|
|
59
|
+
const emojiRanges: MarkdownRange[] = ranges.filter((range) => range.type === 'emoji');
|
|
60
|
+
const newRanges: MarkdownRange[] = [];
|
|
61
|
+
|
|
62
|
+
let i = 0;
|
|
63
|
+
let j = 0;
|
|
64
|
+
while (i < ranges.length) {
|
|
65
|
+
const currentRange = ranges[i];
|
|
66
|
+
if (!currentRange) {
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (currentRange.type !== type) {
|
|
71
|
+
newRanges.push(currentRange);
|
|
72
|
+
i++;
|
|
73
|
+
} else {
|
|
74
|
+
// Iterate through all emoji ranges before the end of the current range, splitting the current range at each intersection.
|
|
75
|
+
while (j < emojiRanges.length) {
|
|
76
|
+
const emojiRange = emojiRanges[j];
|
|
77
|
+
if (!emojiRange || emojiRange.start > currentRange.start + currentRange.length) {
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const currentStart: number = currentRange.start;
|
|
82
|
+
const currentEnd: number = currentRange.start + currentRange.length;
|
|
83
|
+
const emojiStart: number = emojiRange.start;
|
|
84
|
+
const emojiEnd: number = emojiRange.start + emojiRange.length;
|
|
85
|
+
|
|
86
|
+
if (emojiStart >= currentStart && emojiEnd <= currentEnd) {
|
|
87
|
+
// Intersection
|
|
88
|
+
const newRange: MarkdownRange = {
|
|
89
|
+
type: currentRange.type,
|
|
90
|
+
start: currentStart,
|
|
91
|
+
length: emojiStart - currentStart,
|
|
92
|
+
...(currentRange?.depth && {depth: currentRange?.depth}),
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
currentRange.start = emojiEnd;
|
|
96
|
+
currentRange.length = currentEnd - emojiEnd;
|
|
97
|
+
|
|
98
|
+
if (newRange.length > 0) {
|
|
99
|
+
newRanges.push(newRange);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
j++;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (currentRange.length > 0) {
|
|
106
|
+
newRanges.push(currentRange);
|
|
107
|
+
}
|
|
108
|
+
i++;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return newRanges;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export {sortRanges, groupRanges, ungroupRanges, splitRangesOnEmojis};
|