@wandzai/utils 1.0.75-benchmark-classifications-14 → 1.0.75-benchmark-classifications-15
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 +1 -1
- package/src/bee-free.js +59 -66
- package/src/bee-free.js.map +1 -1
package/package.json
CHANGED
package/src/bee-free.js
CHANGED
|
@@ -6,7 +6,7 @@ const html_entities_1 = require("html-entities");
|
|
|
6
6
|
const wandz_interfaces_1 = require("@wandzai/wandz-interfaces");
|
|
7
7
|
const extractAllTextFromEntityJson = (json, device = null) => {
|
|
8
8
|
const elements = [];
|
|
9
|
-
|
|
9
|
+
let index = 0;
|
|
10
10
|
const stripHtml = (html) => (0, html_entities_1.decode)(html
|
|
11
11
|
.replace(/<style[^>]*>.*?<\/style>/gis, '')
|
|
12
12
|
.replace(/<script[^>]*>.*?<\/script>/gis, '')
|
|
@@ -16,89 +16,82 @@ const extractAllTextFromEntityJson = (json, device = null) => {
|
|
|
16
16
|
const isVisibleForDevice = (style) => {
|
|
17
17
|
if (!style)
|
|
18
18
|
return true;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (device ===
|
|
22
|
-
return
|
|
23
|
-
|
|
19
|
+
const hideDesktop = style?.hideContentOnDesktop;
|
|
20
|
+
const hideMobile = style?.hideContentOnMobile;
|
|
21
|
+
if (device === wandz_interfaces_1.InteractionViewModes.DESKTOP)
|
|
22
|
+
return !hideDesktop;
|
|
23
|
+
if (device === wandz_interfaces_1.InteractionViewModes.MOBILE)
|
|
24
|
+
return !hideMobile;
|
|
25
|
+
return !(hideDesktop && hideMobile);
|
|
24
26
|
};
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
+
const mergeStyles = (...styles) => Object.assign({}, ...styles);
|
|
28
|
+
const pushElement = (text, style, rowIndex, columnIndex, moduleIndex, totalRows, contentFlags) => {
|
|
29
|
+
if (!text)
|
|
27
30
|
return;
|
|
28
|
-
seenText.add(text);
|
|
29
31
|
elements.push({
|
|
30
|
-
id: `${rowIndex}-${columnIndex}-${moduleIndex}-${
|
|
31
|
-
text,
|
|
32
|
-
index:
|
|
32
|
+
id: `${rowIndex}-${columnIndex}-${moduleIndex}-${index}`,
|
|
33
|
+
text: text.trim(),
|
|
34
|
+
index: index++,
|
|
33
35
|
signals: {
|
|
34
|
-
content:
|
|
36
|
+
content: contentFlags,
|
|
35
37
|
typography: {
|
|
36
|
-
fontSizePx: style.
|
|
37
|
-
fontWeight: style.fontWeight
|
|
38
|
-
isItalic:
|
|
39
|
-
isUppercase:
|
|
40
|
-
isUnderlined:
|
|
38
|
+
fontSizePx: style?.fontSize ? Number(String(style.fontSize).replace('px', '')) : undefined,
|
|
39
|
+
fontWeight: style?.fontWeight ? Number(style.fontWeight) : undefined,
|
|
40
|
+
isItalic: style?.fontStyle === 'italic',
|
|
41
|
+
isUppercase: style?.textTransform === 'uppercase',
|
|
42
|
+
isUnderlined: style?.textDecoration === 'underline',
|
|
41
43
|
},
|
|
42
44
|
color: {
|
|
43
|
-
textColor: style
|
|
44
|
-
backgroundColor: style
|
|
45
|
+
textColor: style?.color,
|
|
46
|
+
backgroundColor: style?.backgroundColor,
|
|
45
47
|
},
|
|
46
48
|
layout: {
|
|
47
|
-
textAlign: style
|
|
49
|
+
textAlign: style?.textAlign,
|
|
48
50
|
rowIndex,
|
|
49
51
|
columnIndex,
|
|
50
52
|
moduleIndex,
|
|
51
|
-
verticalRatio: rowIndex / (totalRows
|
|
52
|
-
}
|
|
53
|
-
}
|
|
53
|
+
verticalRatio: rowIndex / Math.max(totalRows - 1, 1),
|
|
54
|
+
},
|
|
55
|
+
},
|
|
54
56
|
});
|
|
55
57
|
};
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
{
|
|
76
|
-
text: null,
|
|
77
|
-
flags: { isTableCell: true },
|
|
78
|
-
style: { ...baseStyle, ...d.table?.style },
|
|
79
|
-
tableCells: d.table?.content?.rows?.flatMap((r) => r.cells?.map((c) => stripHtml(c.html)) || []) || []
|
|
80
|
-
}
|
|
81
|
-
];
|
|
82
|
-
for (const src of sources) {
|
|
83
|
-
if (src.listItems && src.listItems.length) {
|
|
84
|
-
src.listItems.forEach((text, idx) => pushElement(text, src.style, idx, 0, moduleIndex, src.listItems.length, src.flags));
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
if (src.tableCells && src.tableCells.length) {
|
|
88
|
-
src.tableCells.forEach((text, idx) => pushElement(text, src.style, idx, 0, moduleIndex, src.tableCells.length, src.flags));
|
|
89
|
-
break;
|
|
58
|
+
const extractTextFromModule = (module, rowIndex, columnIndex, moduleIndex, totalRows) => {
|
|
59
|
+
const d = module.descriptor;
|
|
60
|
+
if (!d || !isVisibleForDevice(d.computedStyle))
|
|
61
|
+
return;
|
|
62
|
+
const baseStyle = mergeStyles(d.computedStyle, d.style, d.mobileStyle);
|
|
63
|
+
const sources = [
|
|
64
|
+
{ text: d.paragraph?.html && stripHtml(d.paragraph.html), flags: { isParagraph: true }, style: mergeStyles(baseStyle, d.paragraph?.style, d.paragraph?.computedStyle) },
|
|
65
|
+
{ text: d.button?.label && stripHtml(d.button.label), flags: { isButton: true }, style: mergeStyles(baseStyle, d.button?.style, d.button?.computedStyle) },
|
|
66
|
+
{ text: d.heading?.text && stripHtml(d.heading.text), flags: { isHeading: true }, style: mergeStyles(baseStyle, d.heading?.style, d.heading?.computedStyle) },
|
|
67
|
+
{ text: d.heading?.html && stripHtml(d.heading.html), flags: { isHeading: true }, style: mergeStyles(baseStyle, d.heading?.style, d.heading?.computedStyle) },
|
|
68
|
+
{ text: Array.isArray(d.list?.items) ? d.list.items.map((i) => stripHtml(i.text)).join(' | ') : null, flags: { isListItem: true }, style: mergeStyles(baseStyle, d.list?.style, d.list?.computedStyle) },
|
|
69
|
+
{ text: d.html?.html && stripHtml(d.html.html), flags: { isRawHtml: true }, style: mergeStyles(baseStyle, d.html?.style, d.html?.computedStyle) },
|
|
70
|
+
{ text: d.image?.alt && stripHtml(d.image.alt), flags: { isImageAlt: true }, style: mergeStyles(baseStyle, d.image?.style, d.image?.computedStyle) },
|
|
71
|
+
{ text: d.table?.content?.rows?.map((r) => r.cells?.map((c) => stripHtml(c.html)).join(' | ')).join(' || '), flags: { isTableCell: true }, style: mergeStyles(baseStyle, d.table?.style, d.table?.computedStyle) },
|
|
72
|
+
];
|
|
73
|
+
for (const src of sources) {
|
|
74
|
+
if (src.text) {
|
|
75
|
+
if (Array.isArray(src.text)) {
|
|
76
|
+
src.text.forEach(cellText => pushElement(cellText, src.style, rowIndex, columnIndex, moduleIndex, totalRows, src.flags));
|
|
90
77
|
}
|
|
91
|
-
|
|
92
|
-
pushElement(src.text, src.style,
|
|
93
|
-
break;
|
|
78
|
+
else {
|
|
79
|
+
pushElement(src.text, src.style, rowIndex, columnIndex, moduleIndex, totalRows, src.flags);
|
|
94
80
|
}
|
|
81
|
+
break;
|
|
95
82
|
}
|
|
96
|
-
}
|
|
83
|
+
}
|
|
97
84
|
};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
85
|
+
const rows = json.page?.rows ?? [];
|
|
86
|
+
rows.forEach((row, rowIndex) => {
|
|
87
|
+
if (!isVisibleForDevice(row.content?.computedStyle))
|
|
88
|
+
return;
|
|
89
|
+
row.columns?.forEach((column, columnIndex) => {
|
|
90
|
+
column.modules?.forEach((module, moduleIndex) => {
|
|
91
|
+
extractTextFromModule(module, rowIndex, columnIndex, moduleIndex, rows.length);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
102
95
|
return elements;
|
|
103
96
|
};
|
|
104
97
|
exports.extractAllTextFromEntityJson = extractAllTextFromEntityJson;
|
package/src/bee-free.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bee-free.js","sourceRoot":"","sources":["../../../../libs/utils/src/bee-free.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAC7B,iDAAuC;AACvC,gEAImC;AAE5B,MAAM,4BAA4B,GAAG,CAC1C,IAAS,EACT,SAAsC,IAAI,EACzB,EAAE;IACnB,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,
|
|
1
|
+
{"version":3,"file":"bee-free.js","sourceRoot":"","sources":["../../../../libs/utils/src/bee-free.ts"],"names":[],"mappings":"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"}
|