@atlaskit/adf-utils 18.0.2 → 18.0.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/CHANGELOG.md +7 -0
- package/dist/cjs/builders/marks/alignment.js +0 -3
- package/dist/cjs/builders/marks/annotation.js +0 -3
- package/dist/cjs/builders/marks/breakout.js +0 -3
- package/dist/cjs/builders/marks/code.js +0 -3
- package/dist/cjs/builders/marks/data-consumer.js +0 -3
- package/dist/cjs/builders/marks/em.js +0 -3
- package/dist/cjs/builders/marks/fragment.js +0 -3
- package/dist/cjs/builders/marks/indentation.js +0 -3
- package/dist/cjs/builders/marks/link.js +0 -3
- package/dist/cjs/builders/marks/strike.js +0 -3
- package/dist/cjs/builders/marks/strong.js +0 -3
- package/dist/cjs/builders/marks/subsup.js +0 -3
- package/dist/cjs/builders/marks/text-color.js +0 -3
- package/dist/cjs/builders/marks/underline.js +0 -3
- package/dist/cjs/builders/nodes/block-card.js +0 -2
- package/dist/cjs/builders/nodes/blockquote.js +0 -3
- package/dist/cjs/builders/nodes/bodied-extension.js +0 -3
- package/dist/cjs/builders/nodes/bullet-list.js +0 -3
- package/dist/cjs/builders/nodes/caption.js +0 -3
- package/dist/cjs/builders/nodes/code-block.js +0 -3
- package/dist/cjs/builders/nodes/date.js +0 -2
- package/dist/cjs/builders/nodes/decision-item.js +0 -3
- package/dist/cjs/builders/nodes/decision-list.js +0 -3
- package/dist/cjs/builders/nodes/doc.js +0 -3
- package/dist/cjs/builders/nodes/embed-card.js +0 -2
- package/dist/cjs/builders/nodes/emoji.js +0 -2
- package/dist/cjs/builders/nodes/expand.js +0 -3
- package/dist/cjs/builders/nodes/extension.js +0 -2
- package/dist/cjs/builders/nodes/hard-break.js +0 -2
- package/dist/cjs/builders/nodes/heading.js +0 -3
- package/dist/cjs/builders/nodes/inline-card.js +0 -2
- package/dist/cjs/builders/nodes/inline-extension.js +0 -2
- package/dist/cjs/builders/nodes/layout-column.js +0 -2
- package/dist/cjs/builders/nodes/layout-section.js +0 -2
- package/dist/cjs/builders/nodes/list-item.js +0 -2
- package/dist/cjs/builders/nodes/media-group.js +0 -3
- package/dist/cjs/builders/nodes/media-inline.js +0 -2
- package/dist/cjs/builders/nodes/media-single.js +0 -2
- package/dist/cjs/builders/nodes/media.js +0 -2
- package/dist/cjs/builders/nodes/mention.js +0 -6
- package/dist/cjs/builders/nodes/nested-expand.js +0 -3
- package/dist/cjs/builders/nodes/ordered-list.js +0 -3
- package/dist/cjs/builders/nodes/panel.js +0 -3
- package/dist/cjs/builders/nodes/paragraph.js +0 -4
- package/dist/cjs/builders/nodes/placeholder.js +0 -2
- package/dist/cjs/builders/nodes/rule.js +0 -2
- package/dist/cjs/builders/nodes/status.js +0 -2
- package/dist/cjs/builders/nodes/table-cell.js +0 -3
- package/dist/cjs/builders/nodes/table-header.js +0 -3
- package/dist/cjs/builders/nodes/table-row.js +0 -2
- package/dist/cjs/builders/nodes/table.js +0 -3
- package/dist/cjs/builders/nodes/task-item.js +0 -3
- package/dist/cjs/builders/nodes/task-list.js +0 -3
- package/dist/cjs/builders/nodes/text.js +0 -2
- package/dist/cjs/builders/utils/apply-mark.js +0 -5
- package/dist/cjs/builders/utils/create-text-nodes.js +0 -3
- package/dist/cjs/builders/utils/is-duplicate-mark.js +0 -3
- package/dist/cjs/builders.js +0 -51
- package/dist/cjs/empty-adf.js +0 -2
- package/dist/cjs/scrub/default-node-replacements.js +0 -11
- package/dist/cjs/scrub/default-value-replacements.js +0 -2
- package/dist/cjs/scrub/hash.js +0 -4
- package/dist/cjs/scrub/scrub-adf.js +2 -25
- package/dist/cjs/scrub/scrub-content.js +7 -37
- package/dist/cjs/scrub.js +0 -2
- package/dist/cjs/transforms/dedupe-marks-transform.js +2 -23
- package/dist/cjs/transforms/helpers.js +0 -3
- package/dist/cjs/transforms/indentation-marks-transform.js +6 -14
- package/dist/cjs/transforms/invalid-media-content-transform.js +3 -22
- package/dist/cjs/transforms/media-link-transform.js +2 -12
- package/dist/cjs/transforms/nodes-missing-content-transform.js +0 -44
- package/dist/cjs/transforms/text-link-code-transform.js +3 -13
- package/dist/cjs/transforms.js +0 -6
- package/dist/cjs/traverse/filter.js +0 -2
- package/dist/cjs/traverse/map.js +0 -2
- package/dist/cjs/traverse/reduce.js +0 -2
- package/dist/cjs/traverse/traverse.js +1 -18
- package/dist/cjs/traverse.js +0 -4
- package/dist/cjs/validator/rules.js +0 -2
- package/dist/cjs/validator/specs/index.js +0 -83
- package/dist/cjs/validator/utils.js +4 -20
- package/dist/cjs/validator/validator.js +67 -218
- package/dist/cjs/validator.js +0 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/builders/utils/apply-mark.js +0 -2
- package/dist/es2019/builders/utils/is-duplicate-mark.js +0 -1
- package/dist/es2019/builders.js +4 -1
- package/dist/es2019/scrub/default-node-replacements.js +2 -7
- package/dist/es2019/scrub/hash.js +0 -2
- package/dist/es2019/scrub/scrub-adf.js +4 -10
- package/dist/es2019/scrub/scrub-content.js +7 -20
- package/dist/es2019/transforms/dedupe-marks-transform.js +4 -16
- package/dist/es2019/transforms/helpers.js +0 -1
- package/dist/es2019/transforms/indentation-marks-transform.js +10 -10
- package/dist/es2019/transforms/invalid-media-content-transform.js +5 -15
- package/dist/es2019/transforms/media-link-transform.js +2 -9
- package/dist/es2019/transforms/nodes-missing-content-transform.js +6 -38
- package/dist/es2019/transforms/text-link-code-transform.js +5 -8
- package/dist/es2019/traverse/traverse.js +5 -13
- package/dist/es2019/validator/utils.js +4 -2
- package/dist/es2019/validator/validator.js +60 -174
- package/dist/es2019/version.json +1 -1
- package/dist/esm/builders/nodes/blockquote.js +0 -1
- package/dist/esm/builders/nodes/bodied-extension.js +0 -1
- package/dist/esm/builders/nodes/bullet-list.js +0 -1
- package/dist/esm/builders/nodes/caption.js +0 -1
- package/dist/esm/builders/nodes/code-block.js +0 -1
- package/dist/esm/builders/nodes/decision-item.js +0 -1
- package/dist/esm/builders/nodes/decision-list.js +0 -1
- package/dist/esm/builders/nodes/doc.js +0 -1
- package/dist/esm/builders/nodes/expand.js +0 -1
- package/dist/esm/builders/nodes/heading.js +0 -1
- package/dist/esm/builders/nodes/media-group.js +0 -1
- package/dist/esm/builders/nodes/mention.js +0 -3
- package/dist/esm/builders/nodes/nested-expand.js +0 -1
- package/dist/esm/builders/nodes/ordered-list.js +0 -1
- package/dist/esm/builders/nodes/panel.js +0 -1
- package/dist/esm/builders/nodes/paragraph.js +0 -1
- package/dist/esm/builders/nodes/table-cell.js +0 -1
- package/dist/esm/builders/nodes/table-header.js +0 -1
- package/dist/esm/builders/nodes/table.js +0 -1
- package/dist/esm/builders/nodes/task-item.js +0 -1
- package/dist/esm/builders/nodes/task-list.js +0 -1
- package/dist/esm/builders/utils/apply-mark.js +0 -2
- package/dist/esm/builders/utils/is-duplicate-mark.js +0 -1
- package/dist/esm/builders.js +4 -1
- package/dist/esm/scrub/default-node-replacements.js +0 -9
- package/dist/esm/scrub/hash.js +0 -2
- package/dist/esm/scrub/scrub-adf.js +2 -17
- package/dist/esm/scrub/scrub-content.js +7 -28
- package/dist/esm/transforms/dedupe-marks-transform.js +2 -18
- package/dist/esm/transforms/helpers.js +0 -1
- package/dist/esm/transforms/indentation-marks-transform.js +6 -11
- package/dist/esm/transforms/invalid-media-content-transform.js +3 -18
- package/dist/esm/transforms/media-link-transform.js +2 -9
- package/dist/esm/transforms/nodes-missing-content-transform.js +0 -38
- package/dist/esm/transforms/text-link-code-transform.js +3 -10
- package/dist/esm/traverse/traverse.js +1 -15
- package/dist/esm/validator/utils.js +4 -2
- package/dist/esm/validator/validator.js +67 -209
- package/dist/esm/version.json +1 -1
- package/package.json +2 -2
|
@@ -1,59 +1,48 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
-
|
|
4
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
-
|
|
6
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
-
|
|
8
5
|
import { traverse } from '../traverse/traverse';
|
|
9
6
|
import { isEmpty } from './helpers';
|
|
10
|
-
|
|
11
7
|
var getChildrenTypeCounts = function getChildrenTypeCounts(nodeContent, allowedTypes) {
|
|
12
8
|
var childrenTypes = {};
|
|
13
9
|
nodeContent.forEach(function (childNode, index) {
|
|
14
10
|
if (!(childNode !== null && childNode !== void 0 && childNode.type) || !allowedTypes.includes(childNode.type)) {
|
|
15
11
|
return;
|
|
16
12
|
}
|
|
17
|
-
|
|
18
13
|
if (!childrenTypes[childNode.type]) {
|
|
19
14
|
childrenTypes[childNode.type] = 1;
|
|
20
15
|
return;
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
childrenTypes[childNode.type]++;
|
|
24
18
|
});
|
|
25
19
|
return childrenTypes;
|
|
26
20
|
};
|
|
27
|
-
|
|
28
21
|
var removeDuplicatedNodes = function removeDuplicatedNodes(type, content, predicate) {
|
|
29
22
|
var maxIterations = 10;
|
|
30
23
|
var childrenTypeCounts = getChildrenTypeCounts(content, [type])[type];
|
|
31
24
|
var firstPredicateNodeIndex = content.findIndex(predicate);
|
|
32
|
-
|
|
33
25
|
while (childrenTypeCounts > 1 && firstPredicateNodeIndex > -1 && maxIterations-- > 0) {
|
|
34
26
|
content.splice(firstPredicateNodeIndex, 1);
|
|
35
27
|
firstPredicateNodeIndex = content.findIndex(predicate);
|
|
36
28
|
childrenTypeCounts = getChildrenTypeCounts(content, [type])[type];
|
|
37
29
|
}
|
|
38
30
|
};
|
|
31
|
+
|
|
39
32
|
/**
|
|
40
33
|
* @param {{[type:string]:number}} allowedTypes - array types allowed to deduplicate
|
|
41
34
|
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
35
|
var deduplicateMediaSingleChildren = function deduplicateMediaSingleChildren(node, allowedTypes) {
|
|
45
36
|
if (!node.content) {
|
|
46
37
|
return;
|
|
47
38
|
}
|
|
48
|
-
|
|
49
39
|
var content = _toConsumableArray(node.content);
|
|
50
|
-
|
|
51
40
|
Object.keys(allowedTypes).forEach(function (type) {
|
|
52
41
|
//prioritise removing empty nodes first
|
|
53
42
|
removeDuplicatedNodes(type, content, function (node) {
|
|
54
43
|
return (node === null || node === void 0 ? void 0 : node.type) === type && isEmpty(node);
|
|
55
|
-
});
|
|
56
|
-
|
|
44
|
+
});
|
|
45
|
+
//remove other remaining dupicates
|
|
57
46
|
removeDuplicatedNodes(type, content, function (node) {
|
|
58
47
|
return (node === null || node === void 0 ? void 0 : node.type) === type;
|
|
59
48
|
});
|
|
@@ -62,20 +51,16 @@ var deduplicateMediaSingleChildren = function deduplicateMediaSingleChildren(nod
|
|
|
62
51
|
content: content
|
|
63
52
|
});
|
|
64
53
|
};
|
|
65
|
-
|
|
66
54
|
export var transformInvalidMediaContent = function transformInvalidMediaContent(adf) {
|
|
67
55
|
var isTransformed = false;
|
|
68
56
|
var transformedAdf = traverse(adf, {
|
|
69
57
|
mediaSingle: function mediaSingle(node) {
|
|
70
58
|
var _node$content;
|
|
71
|
-
|
|
72
59
|
if (!(node !== null && node !== void 0 && (_node$content = node.content) !== null && _node$content !== void 0 && _node$content.length)) {
|
|
73
60
|
return;
|
|
74
61
|
}
|
|
75
|
-
|
|
76
62
|
var disallowedDuplicateTypes = ['media', 'caption'];
|
|
77
63
|
var childrenTypes = getChildrenTypeCounts(node.content, disallowedDuplicateTypes);
|
|
78
|
-
|
|
79
64
|
if (Object.values(childrenTypes).some(function (occurences) {
|
|
80
65
|
return occurences > 1;
|
|
81
66
|
})) {
|
|
@@ -6,31 +6,25 @@ export var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
|
6
6
|
var transformedAdf = traverse(adf, {
|
|
7
7
|
mediaSingle: function mediaSingle(node) {
|
|
8
8
|
var _node$content$;
|
|
9
|
-
|
|
10
9
|
if (!node.marks || !node.content || ((_node$content$ = node.content[0]) === null || _node$content$ === void 0 ? void 0 : _node$content$.type) !== 'media') {
|
|
11
10
|
return node;
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
var linkMark = null;
|
|
15
13
|
node.marks.forEach(function (mark, i) {
|
|
16
14
|
if (mark.type === 'link') {
|
|
17
15
|
var _node$marks;
|
|
18
|
-
|
|
19
16
|
linkMark = mark;
|
|
20
17
|
(_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.splice(i, 1);
|
|
21
18
|
isTransformed = true;
|
|
22
19
|
}
|
|
23
20
|
});
|
|
24
|
-
|
|
25
21
|
if (node.marks.length === 0) {
|
|
26
22
|
delete node.marks;
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
if (linkMark) {
|
|
30
25
|
var _mediaNode$marks;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
var mediaNode = node.content[0];
|
|
27
|
+
// only add link mark if media node doesnt already have one
|
|
34
28
|
if ((_mediaNode$marks = mediaNode.marks) !== null && _mediaNode$marks !== void 0 && _mediaNode$marks.every(function (mark) {
|
|
35
29
|
return mark.type !== 'link';
|
|
36
30
|
})) {
|
|
@@ -39,7 +33,6 @@ export var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
|
39
33
|
mediaNode.marks = [linkMark];
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
|
-
|
|
43
36
|
return node;
|
|
44
37
|
}
|
|
45
38
|
});
|
|
@@ -1,38 +1,29 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
|
|
4
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
-
|
|
6
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
-
|
|
8
5
|
import { traverse } from '../traverse/traverse';
|
|
9
6
|
import { tableRow, tableCell, paragraph, listItem } from '../builders';
|
|
10
7
|
import { isEmpty } from './helpers';
|
|
11
|
-
|
|
12
8
|
var getMaxColumnsCountForTable = function getMaxColumnsCountForTable(tableNode) {
|
|
13
9
|
var _tableNode$content;
|
|
14
|
-
|
|
15
10
|
var colsInRow = 1;
|
|
16
11
|
(_tableNode$content = tableNode.content) === null || _tableNode$content === void 0 ? void 0 : _tableNode$content.forEach(function (childNode) {
|
|
17
12
|
var _childNode$content;
|
|
18
|
-
|
|
19
13
|
if ((childNode === null || childNode === void 0 ? void 0 : childNode.type) === 'tableRow' && typeof ((_childNode$content = childNode.content) === null || _childNode$content === void 0 ? void 0 : _childNode$content.length) === 'number' && childNode.content.length > colsInRow) {
|
|
20
14
|
colsInRow = childNode.content.length;
|
|
21
15
|
}
|
|
22
16
|
});
|
|
23
17
|
return colsInRow;
|
|
24
18
|
};
|
|
25
|
-
|
|
26
19
|
var createValidEmptyContent = function createValidEmptyContent(node) {
|
|
27
20
|
switch (node.type) {
|
|
28
21
|
case 'tableCell':
|
|
29
22
|
return [paragraph()];
|
|
30
|
-
|
|
31
23
|
default:
|
|
32
24
|
return [];
|
|
33
25
|
}
|
|
34
26
|
};
|
|
35
|
-
|
|
36
27
|
var fixIfTableCellInvalidEmpty = function fixIfTableCellInvalidEmpty(reportTransform) {
|
|
37
28
|
return function (node) {
|
|
38
29
|
if (isEmpty(node)) {
|
|
@@ -43,28 +34,21 @@ var fixIfTableCellInvalidEmpty = function fixIfTableCellInvalidEmpty(reportTrans
|
|
|
43
34
|
}
|
|
44
35
|
};
|
|
45
36
|
};
|
|
46
|
-
|
|
47
37
|
var hasNonListItemChildren = function hasNonListItemChildren(node) {
|
|
48
38
|
var _node$content;
|
|
49
|
-
|
|
50
39
|
return (_node$content = node.content) === null || _node$content === void 0 ? void 0 : _node$content.some(function (node) {
|
|
51
40
|
return (node === null || node === void 0 ? void 0 : node.type) !== 'listItem';
|
|
52
41
|
});
|
|
53
42
|
};
|
|
54
|
-
|
|
55
43
|
var hasEmptyListItemChildren = function hasEmptyListItemChildren(node) {
|
|
56
44
|
var _node$content2;
|
|
57
|
-
|
|
58
45
|
return (_node$content2 = node.content) === null || _node$content2 === void 0 ? void 0 : _node$content2.some(function (childNode) {
|
|
59
46
|
var _childNode$content2;
|
|
60
|
-
|
|
61
47
|
return (childNode === null || childNode === void 0 ? void 0 : childNode.type) === 'listItem' && !((_childNode$content2 = childNode.content) !== null && _childNode$content2 !== void 0 && _childNode$content2.length);
|
|
62
48
|
});
|
|
63
49
|
};
|
|
64
|
-
|
|
65
50
|
var tryCreateValidListItemWrappedChildren = function tryCreateValidListItemWrappedChildren(parentListNode) {
|
|
66
51
|
var _parentListNode$conte;
|
|
67
|
-
|
|
68
52
|
return (_parentListNode$conte = parentListNode.content) === null || _parentListNode$conte === void 0 ? void 0 : _parentListNode$conte.map(function (childNode) {
|
|
69
53
|
if (childNode) {
|
|
70
54
|
switch (childNode.type) {
|
|
@@ -74,22 +58,17 @@ var tryCreateValidListItemWrappedChildren = function tryCreateValidListItemWrapp
|
|
|
74
58
|
var result = listItem([paragraph()]);
|
|
75
59
|
return result;
|
|
76
60
|
}
|
|
77
|
-
|
|
78
61
|
return childNode;
|
|
79
62
|
}
|
|
80
|
-
|
|
81
63
|
case 'text':
|
|
82
64
|
return listItem([paragraph(childNode)]);
|
|
83
|
-
|
|
84
65
|
default:
|
|
85
66
|
return listItem([childNode]);
|
|
86
67
|
}
|
|
87
68
|
}
|
|
88
|
-
|
|
89
69
|
return childNode;
|
|
90
70
|
});
|
|
91
71
|
};
|
|
92
|
-
|
|
93
72
|
var fixIfListParentWithInvalidListItemChildren = function fixIfListParentWithInvalidListItemChildren(reportTransform) {
|
|
94
73
|
return function (node) {
|
|
95
74
|
if (hasNonListItemChildren(node) || hasEmptyListItemChildren(node)) {
|
|
@@ -100,18 +79,14 @@ var fixIfListParentWithInvalidListItemChildren = function fixIfListParentWithInv
|
|
|
100
79
|
}
|
|
101
80
|
};
|
|
102
81
|
};
|
|
103
|
-
|
|
104
82
|
var hasNonTableRowChildren = function hasNonTableRowChildren(node) {
|
|
105
83
|
var _node$content3;
|
|
106
|
-
|
|
107
84
|
return (_node$content3 = node.content) === null || _node$content3 === void 0 ? void 0 : _node$content3.some(function (node) {
|
|
108
85
|
return (node === null || node === void 0 ? void 0 : node.type) !== 'tableRow';
|
|
109
86
|
});
|
|
110
87
|
};
|
|
111
|
-
|
|
112
88
|
var tryCreateValidTableRowWrappedChildren = function tryCreateValidTableRowWrappedChildren(parentTableNode) {
|
|
113
89
|
var _parentTableNode$cont;
|
|
114
|
-
|
|
115
90
|
var maxColsCount = getMaxColumnsCountForTable(parentTableNode);
|
|
116
91
|
return (_parentTableNode$cont = parentTableNode.content) === null || _parentTableNode$cont === void 0 ? void 0 : _parentTableNode$cont.map(function (childNode) {
|
|
117
92
|
if (childNode) {
|
|
@@ -120,40 +95,31 @@ var tryCreateValidTableRowWrappedChildren = function tryCreateValidTableRowWrapp
|
|
|
120
95
|
{
|
|
121
96
|
return tableRow([tableCell({})(paragraph(childNode))].concat(_toConsumableArray(new Array(maxColsCount - 1).fill(tableCell({})(paragraph())))));
|
|
122
97
|
}
|
|
123
|
-
|
|
124
98
|
case 'tableCell':
|
|
125
99
|
{
|
|
126
100
|
return tableRow([childNode]);
|
|
127
101
|
}
|
|
128
|
-
|
|
129
102
|
case 'tableRow':
|
|
130
103
|
{
|
|
131
104
|
if (isEmpty(childNode)) {
|
|
132
105
|
return tableRow(_toConsumableArray(new Array(maxColsCount).fill(tableCell({})(paragraph()))));
|
|
133
106
|
}
|
|
134
|
-
|
|
135
107
|
return childNode;
|
|
136
108
|
}
|
|
137
|
-
|
|
138
109
|
default:
|
|
139
110
|
return childNode;
|
|
140
111
|
}
|
|
141
112
|
}
|
|
142
|
-
|
|
143
113
|
return childNode;
|
|
144
114
|
});
|
|
145
115
|
};
|
|
146
|
-
|
|
147
116
|
var hasEmptyTableRowChildren = function hasEmptyTableRowChildren(node) {
|
|
148
117
|
var _node$content4;
|
|
149
|
-
|
|
150
118
|
return node === null || node === void 0 ? void 0 : (_node$content4 = node.content) === null || _node$content4 === void 0 ? void 0 : _node$content4.some(function (node) {
|
|
151
119
|
var _node$content5;
|
|
152
|
-
|
|
153
120
|
return (node === null || node === void 0 ? void 0 : node.type) === 'tableRow' && (node === null || node === void 0 ? void 0 : (_node$content5 = node.content) === null || _node$content5 === void 0 ? void 0 : _node$content5.length) === 0;
|
|
154
121
|
});
|
|
155
122
|
};
|
|
156
|
-
|
|
157
123
|
var fixIfTableParentWithInvalidTableRowChildren = function fixIfTableParentWithInvalidTableRowChildren(reportTransform) {
|
|
158
124
|
return function (node) {
|
|
159
125
|
if (hasEmptyTableRowChildren(node) || hasNonTableRowChildren(node)) {
|
|
@@ -164,7 +130,6 @@ var fixIfTableParentWithInvalidTableRowChildren = function fixIfTableParentWithI
|
|
|
164
130
|
}
|
|
165
131
|
};
|
|
166
132
|
};
|
|
167
|
-
|
|
168
133
|
var removeMediaSingleWithNoContent = function removeMediaSingleWithNoContent(reportTransform) {
|
|
169
134
|
return function (node) {
|
|
170
135
|
if (isEmpty(node)) {
|
|
@@ -173,14 +138,11 @@ var removeMediaSingleWithNoContent = function removeMediaSingleWithNoContent(rep
|
|
|
173
138
|
}
|
|
174
139
|
};
|
|
175
140
|
};
|
|
176
|
-
|
|
177
141
|
export var transformNodesMissingContent = function transformNodesMissingContent(adf) {
|
|
178
142
|
var isTransformed = false;
|
|
179
|
-
|
|
180
143
|
var reportTransform = function reportTransform() {
|
|
181
144
|
isTransformed = true;
|
|
182
145
|
};
|
|
183
|
-
|
|
184
146
|
var transformedAdf = traverse(adf, {
|
|
185
147
|
tableCell: fixIfTableCellInvalidEmpty(reportTransform)
|
|
186
148
|
});
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
-
|
|
7
4
|
import { traverse } from '../traverse/traverse';
|
|
8
|
-
|
|
9
5
|
var hasLinkAndCodeMarks = function hasLinkAndCodeMarks(node) {
|
|
10
6
|
var _node$marks;
|
|
11
|
-
|
|
12
7
|
var marks = (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.map(function (mark) {
|
|
13
8
|
return mark.type;
|
|
14
9
|
});
|
|
15
10
|
return (marks === null || marks === void 0 ? void 0 : marks.includes('link')) && (marks === null || marks === void 0 ? void 0 : marks.includes('code'));
|
|
16
11
|
};
|
|
17
|
-
|
|
18
12
|
var removeCodeMarks = function removeCodeMarks(node) {
|
|
19
13
|
if (node.marks) {
|
|
20
14
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
@@ -23,13 +17,12 @@ var removeCodeMarks = function removeCodeMarks(node) {
|
|
|
23
17
|
})
|
|
24
18
|
});
|
|
25
19
|
}
|
|
26
|
-
|
|
27
20
|
return node;
|
|
28
|
-
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// See: HOT-97965 https://product-fabric.atlassian.net/browse/ED-14400
|
|
29
24
|
// We declared in code mark spec that links and marks should not co-exist on
|
|
30
25
|
// text nodes. This util strips code marks from bad text nodes and preserves links.
|
|
31
|
-
|
|
32
|
-
|
|
33
26
|
export var transformTextLinkCodeMarks = function transformTextLinkCodeMarks(adf) {
|
|
34
27
|
var isTransformed = false;
|
|
35
28
|
var transformedAdf = traverse(adf, {
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
-
|
|
7
4
|
export function validateVisitors(_visitors) {
|
|
8
5
|
return true;
|
|
9
6
|
}
|
|
7
|
+
|
|
10
8
|
/**
|
|
11
9
|
* Provides recursive, depth-first search document traversal. Use visitors collection to define nodes of interest.
|
|
12
10
|
* If no visitor for given node is defined, no-op happens.
|
|
@@ -16,50 +14,38 @@ export function validateVisitors(_visitors) {
|
|
|
16
14
|
* @param adf Document to traverse.
|
|
17
15
|
* @param visitors Collection of visitors.
|
|
18
16
|
*/
|
|
19
|
-
|
|
20
17
|
export function traverse(adf, visitors) {
|
|
21
18
|
if (!validateVisitors(visitors)) {
|
|
22
19
|
throw new Error("Visitors are not valid: \"".concat(Object.keys(visitors).join(', '), "\""));
|
|
23
20
|
}
|
|
24
|
-
|
|
25
21
|
return traverseNode(adf, {
|
|
26
22
|
node: undefined
|
|
27
23
|
}, visitors, 0, 0);
|
|
28
24
|
}
|
|
29
|
-
|
|
30
25
|
function traverseNode(adfNode, parent, visitors, index, depth) {
|
|
31
26
|
var visitor = visitors[adfNode.type] || visitors['any'];
|
|
32
|
-
|
|
33
27
|
var newNode = _objectSpread({}, adfNode);
|
|
34
|
-
|
|
35
28
|
if (visitor) {
|
|
36
29
|
var processedNode = visitor(_objectSpread({}, newNode), parent, index, depth);
|
|
37
|
-
|
|
38
30
|
if (processedNode === false) {
|
|
39
31
|
return false;
|
|
40
32
|
}
|
|
41
|
-
|
|
42
33
|
newNode = processedNode || adfNode;
|
|
43
34
|
}
|
|
44
|
-
|
|
45
35
|
if (newNode.content) {
|
|
46
36
|
newNode.content = newNode.content.reduce(function (acc, node, idx) {
|
|
47
37
|
if (!node) {
|
|
48
38
|
return acc;
|
|
49
39
|
}
|
|
50
|
-
|
|
51
40
|
var processedNode = traverseNode(node, {
|
|
52
41
|
node: newNode,
|
|
53
42
|
parent: parent
|
|
54
43
|
}, visitors, idx, depth + 1);
|
|
55
|
-
|
|
56
44
|
if (processedNode !== false) {
|
|
57
45
|
acc.push(processedNode);
|
|
58
46
|
}
|
|
59
|
-
|
|
60
47
|
return acc;
|
|
61
48
|
}, []);
|
|
62
49
|
}
|
|
63
|
-
|
|
64
50
|
return newNode;
|
|
65
51
|
}
|
|
@@ -10,8 +10,9 @@ export var isInteger = function isInteger(x) {
|
|
|
10
10
|
};
|
|
11
11
|
export var isBoolean = function isBoolean(x) {
|
|
12
12
|
return x === true || x === false || toString.call(x) === '[object Boolean]';
|
|
13
|
-
};
|
|
13
|
+
};
|
|
14
14
|
|
|
15
|
+
// This is a kludge, might replace with something like _.isString in future
|
|
15
16
|
export var isString = function isString(s) {
|
|
16
17
|
return typeof s === 'string' || s instanceof String;
|
|
17
18
|
};
|
|
@@ -21,8 +22,9 @@ export var isPlainObject = function isPlainObject(x) {
|
|
|
21
22
|
export var copy = function copy(source, dest, key) {
|
|
22
23
|
dest[key] = source[key];
|
|
23
24
|
return dest;
|
|
24
|
-
};
|
|
25
|
+
};
|
|
25
26
|
|
|
27
|
+
// Helpers
|
|
26
28
|
export var makeArray = function makeArray(maybeArray) {
|
|
27
29
|
return Array.isArray(maybeArray) ? maybeArray : [maybeArray];
|
|
28
30
|
};
|