@atlaskit/adf-utils 18.0.2 → 18.0.4
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 +17 -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/block_content.js +1 -1
- package/dist/cjs/validator/specs/doc.js +1 -1
- package/dist/cjs/validator/specs/index.js +2 -85
- package/dist/cjs/validator/specs/listItem.js +1 -1
- package/dist/cjs/validator/specs/nestedExpand_content.js +1 -1
- package/dist/cjs/validator/specs/non_nestable_block_content.js +1 -1
- package/dist/cjs/validator/specs/panel.js +3 -3
- package/dist/cjs/validator/specs/tableCell_content.js +1 -1
- 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/specs/block_content.js +1 -1
- package/dist/es2019/validator/specs/doc.js +1 -1
- package/dist/es2019/validator/specs/index.js +2 -2
- package/dist/es2019/validator/specs/listItem.js +1 -1
- package/dist/es2019/validator/specs/nestedExpand_content.js +1 -1
- package/dist/es2019/validator/specs/non_nestable_block_content.js +1 -1
- package/dist/es2019/validator/specs/panel.js +3 -3
- package/dist/es2019/validator/specs/tableCell_content.js +1 -1
- 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/specs/block_content.js +1 -1
- package/dist/esm/validator/specs/doc.js +1 -1
- package/dist/esm/validator/specs/index.js +2 -2
- package/dist/esm/validator/specs/listItem.js +1 -1
- package/dist/esm/validator/specs/nestedExpand_content.js +1 -1
- package/dist/esm/validator/specs/non_nestable_block_content.js +1 -1
- package/dist/esm/validator/specs/panel.js +3 -3
- package/dist/esm/validator/specs/tableCell_content.js +1 -1
- package/dist/esm/validator/utils.js +4 -2
- package/dist/esm/validator/validator.js +67 -209
- package/dist/esm/version.json +1 -1
- package/dist/types/validator/specs/index.d.ts +2 -2
- package/dist/types/validator/specs/panel.d.ts +3 -3
- package/package.json +2 -2
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.scrubStr = exports.scrubLink = exports.scrubAttrs = void 0;
|
|
9
|
-
|
|
10
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
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; }
|
|
19
|
-
|
|
20
13
|
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) { (0, _defineProperty2.default)(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; }
|
|
21
|
-
|
|
22
14
|
var DUMMY_TEXT = "Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur Excepteur sint occaecat cupidatat non proident sunt in culpa qui officia deserunt mollit anim id est laborum";
|
|
23
15
|
var DUMMY_DIGITS = ['2', '7', '4', '3', '5', '9', '1', '8', '0', '5'];
|
|
24
16
|
var BYPASS_ATTR_LIST = {
|
|
@@ -41,18 +33,15 @@ var BYPASS_ATTR_LIST = {
|
|
|
41
33
|
tableRow: ['defaultMarks'],
|
|
42
34
|
taskItem: ['state']
|
|
43
35
|
};
|
|
44
|
-
|
|
45
36
|
var fromEntries = function fromEntries(iterable) {
|
|
46
37
|
return (0, _toConsumableArray2.default)(iterable).reduce(function (obj, _ref) {
|
|
47
38
|
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
39
|
+
key = _ref2[0],
|
|
40
|
+
val = _ref2[1];
|
|
51
41
|
obj[key] = val;
|
|
52
42
|
return obj;
|
|
53
43
|
}, {});
|
|
54
44
|
};
|
|
55
|
-
|
|
56
45
|
var scrubNum = function scrubNum(val) {
|
|
57
46
|
var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
58
47
|
return parseInt(val.toString().split('').map(function (_, index) {
|
|
@@ -61,19 +50,18 @@ var scrubNum = function scrubNum(val) {
|
|
|
61
50
|
return DUMMY_DIGITS[base % len];
|
|
62
51
|
}).join(''), 10);
|
|
63
52
|
};
|
|
64
|
-
|
|
65
53
|
var scrubStr = function scrubStr(val) {
|
|
66
54
|
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
67
|
-
var base = DUMMY_TEXT.repeat(Math.ceil((offset + val.length) / DUMMY_TEXT.length));
|
|
68
|
-
// something like "".split('')
|
|
55
|
+
var base = DUMMY_TEXT.repeat(Math.ceil((offset + val.length) / DUMMY_TEXT.length));
|
|
69
56
|
|
|
57
|
+
// using [...val] splits emoji character pairs correctly, compared to
|
|
58
|
+
// something like "".split('')
|
|
70
59
|
return (0, _toConsumableArray2.default)(val).map(function (char, index, chars) {
|
|
71
60
|
if (/^(?:[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9])$/.test(char)) {
|
|
72
61
|
// Decimal digits
|
|
73
62
|
return scrubNum(parseInt(char, 10), index).toString();
|
|
74
63
|
} else if (/^(?:[\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFD40-\uFD4F\uFDCF\uFDFD-\uFDFF\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838\uDD4F|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA])$/.test(char)) {
|
|
75
64
|
var _chars;
|
|
76
|
-
|
|
77
65
|
// Emoji
|
|
78
66
|
return ((_chars = chars[index - 1]) === null || _chars === void 0 ? void 0 : _chars.codePointAt(0)) === 8205 ? '' : '⭐️';
|
|
79
67
|
} else if (/^(?:[\$\xA2-\xA5\u058F\u060B\u07FE\u07FF\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20C0\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]|\uD807[\uDFDD-\uDFE0]|\uD838\uDEFF|\uD83B\uDCB0)$/.test(char)) {
|
|
@@ -96,9 +84,7 @@ var scrubStr = function scrubStr(val) {
|
|
|
96
84
|
}
|
|
97
85
|
}).join('');
|
|
98
86
|
};
|
|
99
|
-
|
|
100
87
|
exports.scrubStr = scrubStr;
|
|
101
|
-
|
|
102
88
|
var scrubLink = function scrubLink(marks, _ref3) {
|
|
103
89
|
var valueReplacements = _ref3.valueReplacements;
|
|
104
90
|
return marks.map(function (mark) {
|
|
@@ -109,62 +95,46 @@ var scrubLink = function scrubLink(marks, _ref3) {
|
|
|
109
95
|
})
|
|
110
96
|
});
|
|
111
97
|
}
|
|
112
|
-
|
|
113
98
|
return mark;
|
|
114
99
|
});
|
|
115
100
|
};
|
|
116
|
-
|
|
117
101
|
exports.scrubLink = scrubLink;
|
|
118
|
-
|
|
119
102
|
var scrubObj = function scrubObj(nodeType, attrsObj) {
|
|
120
103
|
var entries = Object.entries(attrsObj).map(function (_ref4) {
|
|
121
104
|
var _BYPASS_ATTR_LIST$nod;
|
|
122
|
-
|
|
123
105
|
var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
106
|
+
key = _ref5[0],
|
|
107
|
+
value = _ref5[1];
|
|
127
108
|
return (_BYPASS_ATTR_LIST$nod = BYPASS_ATTR_LIST[nodeType]) !== null && _BYPASS_ATTR_LIST$nod !== void 0 && _BYPASS_ATTR_LIST$nod.includes(key) ? [key, value] : [key, scrubAttrs(nodeType, value)];
|
|
128
109
|
});
|
|
129
110
|
return fromEntries(entries);
|
|
130
111
|
};
|
|
131
|
-
|
|
132
112
|
var scrubAttrs = function scrubAttrs(nodeType, attrs) {
|
|
133
113
|
var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
134
|
-
|
|
135
114
|
if (typeof attrs === 'number') {
|
|
136
115
|
return scrubNum(attrs, offset);
|
|
137
116
|
}
|
|
138
|
-
|
|
139
117
|
if (typeof attrs === 'string') {
|
|
140
118
|
return scrubStr(attrs, offset);
|
|
141
119
|
}
|
|
142
|
-
|
|
143
120
|
if (typeof attrs === 'boolean') {
|
|
144
121
|
return attrs;
|
|
145
122
|
}
|
|
146
|
-
|
|
147
123
|
if (!attrs) {
|
|
148
124
|
return attrs;
|
|
149
125
|
}
|
|
150
|
-
|
|
151
126
|
var attrsObj = attrs;
|
|
152
|
-
|
|
153
127
|
if (attrsObj && attrsObj.constructor === Object && Object.keys(attrsObj).length === 0) {
|
|
154
128
|
return {};
|
|
155
129
|
}
|
|
156
|
-
|
|
157
130
|
if ((0, _typeof2.default)(attrsObj) === 'object' && !Array.isArray(attrsObj)) {
|
|
158
131
|
return scrubObj(nodeType, attrsObj);
|
|
159
132
|
}
|
|
160
|
-
|
|
161
133
|
if (Array.isArray(attrsObj)) {
|
|
162
134
|
return attrsObj.map(function (el) {
|
|
163
135
|
return (0, _typeof2.default)(el) === 'object' ? scrubObj(nodeType, el) : scrubAttrs(nodeType, el);
|
|
164
136
|
});
|
|
165
137
|
}
|
|
166
|
-
|
|
167
138
|
throw new TypeError("scrubAttrs: encountered unsupported attributes type \"".concat((0, _typeof2.default)(attrsObj), "\"\n of value ").concat(JSON.stringify(attrsObj)));
|
|
168
139
|
};
|
|
169
|
-
|
|
170
140
|
exports.scrubAttrs = scrubAttrs;
|
package/dist/cjs/scrub.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "scrubAdf", {
|
|
|
11
10
|
return _scrubAdf.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _scrubAdf = _interopRequireDefault(require("./scrub/scrub-adf"));
|
|
@@ -1,35 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.transformDedupeMarks = void 0;
|
|
9
|
-
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _traverse = require("../traverse/traverse");
|
|
15
|
-
|
|
16
11
|
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; }
|
|
17
|
-
|
|
18
12
|
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) { (0, _defineProperty2.default)(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; }
|
|
19
|
-
|
|
20
13
|
// This is the set of marks that we wont allow in duplicate to
|
|
21
14
|
// exist on a given node, regardless of their attributes. We do
|
|
22
15
|
// not include annotations here, because we do allow duplicate
|
|
23
16
|
// annotations as long as they have unique id attributes (valid scenario)
|
|
24
17
|
var markDuplicatesDisallowed = new Set(['strong', 'underline', 'textColor', 'link', 'em', 'subsup', 'strike']);
|
|
25
|
-
|
|
26
18
|
var maybeHasDisallowedDuplicateMarks = function maybeHasDisallowedDuplicateMarks(node) {
|
|
27
19
|
var _node$marks, _node$marks$map;
|
|
28
|
-
|
|
29
20
|
var markTypes = (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : (_node$marks$map = _node$marks.map(function (mark) {
|
|
30
21
|
return mark.type;
|
|
31
22
|
})) === null || _node$marks$map === void 0 ? void 0 : _node$marks$map.filter(function (markType) {
|
|
32
|
-
return (
|
|
23
|
+
return (
|
|
24
|
+
// For annotations, we are performing the same cheap check
|
|
33
25
|
// for duplicates by type, without considering IDs, to quickly determine
|
|
34
26
|
// whether there may be potential deduping targets.
|
|
35
27
|
// In the actual deduping logic in maybeRemoveDisallowedDuplicateMarks,
|
|
@@ -37,14 +29,11 @@ var maybeHasDisallowedDuplicateMarks = function maybeHasDisallowedDuplicateMarks
|
|
|
37
29
|
markDuplicatesDisallowed.has(markType) || markType === 'annotation'
|
|
38
30
|
);
|
|
39
31
|
});
|
|
40
|
-
|
|
41
32
|
if (!(markTypes !== null && markTypes !== void 0 && markTypes.length)) {
|
|
42
33
|
return false;
|
|
43
34
|
}
|
|
44
|
-
|
|
45
35
|
return new Set(markTypes).size !== markTypes.length;
|
|
46
36
|
};
|
|
47
|
-
|
|
48
37
|
var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicateMarks(node) {
|
|
49
38
|
var quota = new Map();
|
|
50
39
|
var annotationsQuota = new Map();
|
|
@@ -52,21 +41,16 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
52
41
|
markDuplicatesDisallowed.forEach(function (mark) {
|
|
53
42
|
quota.set(mark, false);
|
|
54
43
|
});
|
|
55
|
-
|
|
56
44
|
if (!node.marks) {
|
|
57
45
|
return {
|
|
58
46
|
discardedMarks: discardedMarks
|
|
59
47
|
};
|
|
60
48
|
}
|
|
61
|
-
|
|
62
49
|
var dedupedMarks = node.marks.filter(function (mark) {
|
|
63
50
|
var markType = mark.type;
|
|
64
|
-
|
|
65
51
|
if (markType === 'annotation') {
|
|
66
52
|
var _mark$attrs;
|
|
67
|
-
|
|
68
53
|
var id = (_mark$attrs = mark.attrs) === null || _mark$attrs === void 0 ? void 0 : _mark$attrs.id;
|
|
69
|
-
|
|
70
54
|
if (annotationsQuota.has(id)) {
|
|
71
55
|
discardedMarks.push(mark);
|
|
72
56
|
return false;
|
|
@@ -75,7 +59,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
75
59
|
return true;
|
|
76
60
|
}
|
|
77
61
|
}
|
|
78
|
-
|
|
79
62
|
if (quota.has(markType)) {
|
|
80
63
|
if (!quota.get(markType)) {
|
|
81
64
|
quota.set(markType, true);
|
|
@@ -85,7 +68,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
85
68
|
return false;
|
|
86
69
|
}
|
|
87
70
|
}
|
|
88
|
-
|
|
89
71
|
return true;
|
|
90
72
|
});
|
|
91
73
|
return {
|
|
@@ -95,7 +77,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
95
77
|
discardedMarks: discardedMarks
|
|
96
78
|
};
|
|
97
79
|
};
|
|
98
|
-
|
|
99
80
|
var transformDedupeMarks = function transformDedupeMarks(adf) {
|
|
100
81
|
var isTransformed = false;
|
|
101
82
|
var discardedMarks = [];
|
|
@@ -104,7 +85,6 @@ var transformDedupeMarks = function transformDedupeMarks(adf) {
|
|
|
104
85
|
if (maybeHasDisallowedDuplicateMarks(node)) {
|
|
105
86
|
var result = maybeRemoveDisallowedDuplicateMarks(node);
|
|
106
87
|
var resultDiscardedMarks = result.discardedMarks;
|
|
107
|
-
|
|
108
88
|
if (resultDiscardedMarks.length) {
|
|
109
89
|
discardedMarks.push.apply(discardedMarks, (0, _toConsumableArray2.default)(resultDiscardedMarks));
|
|
110
90
|
isTransformed = true;
|
|
@@ -119,5 +99,4 @@ var transformDedupeMarks = function transformDedupeMarks(adf) {
|
|
|
119
99
|
discardedMarks: discardedMarks
|
|
120
100
|
};
|
|
121
101
|
};
|
|
122
|
-
|
|
123
102
|
exports.transformDedupeMarks = transformDedupeMarks;
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isEmpty = void 0;
|
|
7
|
-
|
|
8
7
|
var isEmpty = function isEmpty(node) {
|
|
9
8
|
var _node$content;
|
|
10
|
-
|
|
11
9
|
return !(node !== null && node !== void 0 && (_node$content = node.content) !== null && _node$content !== void 0 && _node$content.length);
|
|
12
10
|
};
|
|
13
|
-
|
|
14
11
|
exports.isEmpty = isEmpty;
|
|
@@ -1,52 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.transformIndentationMarks = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _traverse = require("../traverse/traverse");
|
|
13
|
-
|
|
14
10
|
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; }
|
|
15
|
-
|
|
16
11
|
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) { (0, _defineProperty2.default)(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; }
|
|
17
|
-
|
|
18
12
|
var hasChildHeadingWithIndentation = function hasChildHeadingWithIndentation(node) {
|
|
19
13
|
var _node$content$some, _node$content;
|
|
20
|
-
|
|
21
14
|
return (_node$content$some = (_node$content = node.content) === null || _node$content === void 0 ? void 0 : _node$content.some(function (childNode) {
|
|
22
15
|
var _childNode$marks;
|
|
23
|
-
|
|
24
16
|
return (childNode === null || childNode === void 0 ? void 0 : childNode.type) === 'heading' && (childNode === null || childNode === void 0 ? void 0 : (_childNode$marks = childNode.marks) === null || _childNode$marks === void 0 ? void 0 : _childNode$marks.some(function (mark) {
|
|
25
17
|
return mark.type === 'indentation';
|
|
26
18
|
}));
|
|
27
19
|
})) !== null && _node$content$some !== void 0 ? _node$content$some : false;
|
|
28
20
|
};
|
|
29
|
-
|
|
30
21
|
var removeIndentationFromHeadings = function removeIndentationFromHeadings(node) {
|
|
31
22
|
var _node$content2;
|
|
32
|
-
|
|
33
23
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
34
24
|
content: (_node$content2 = node.content) === null || _node$content2 === void 0 ? void 0 : _node$content2.map(function (childNode) {
|
|
35
25
|
if ((childNode === null || childNode === void 0 ? void 0 : childNode.type) === 'heading') {
|
|
36
26
|
var _childNode$marks2;
|
|
37
|
-
|
|
38
27
|
return _objectSpread(_objectSpread({}, childNode), {}, {
|
|
39
28
|
marks: (_childNode$marks2 = childNode.marks) === null || _childNode$marks2 === void 0 ? void 0 : _childNode$marks2.filter(function (mark) {
|
|
40
29
|
return mark.type !== 'indentation';
|
|
41
30
|
})
|
|
42
31
|
});
|
|
43
32
|
}
|
|
44
|
-
|
|
45
33
|
return childNode;
|
|
46
34
|
})
|
|
47
35
|
});
|
|
48
36
|
};
|
|
49
|
-
|
|
50
37
|
var transformIndentationMarks = function transformIndentationMarks(adf) {
|
|
51
38
|
var isTransformed = false;
|
|
52
39
|
var transformedAdf = (0, _traverse.traverse)(adf, {
|
|
@@ -55,6 +42,12 @@ var transformIndentationMarks = function transformIndentationMarks(adf) {
|
|
|
55
42
|
isTransformed = true;
|
|
56
43
|
return removeIndentationFromHeadings(node);
|
|
57
44
|
}
|
|
45
|
+
},
|
|
46
|
+
tableHeader: function tableHeader(node) {
|
|
47
|
+
if (hasChildHeadingWithIndentation(node)) {
|
|
48
|
+
isTransformed = true;
|
|
49
|
+
return removeIndentationFromHeadings(node);
|
|
50
|
+
}
|
|
58
51
|
}
|
|
59
52
|
});
|
|
60
53
|
return {
|
|
@@ -62,5 +55,4 @@ var transformIndentationMarks = function transformIndentationMarks(adf) {
|
|
|
62
55
|
isTransformed: isTransformed
|
|
63
56
|
};
|
|
64
57
|
};
|
|
65
|
-
|
|
66
58
|
exports.transformIndentationMarks = transformIndentationMarks;
|
|
@@ -1,69 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.transformInvalidMediaContent = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
10
|
var _traverse = require("../traverse/traverse");
|
|
15
|
-
|
|
16
11
|
var _helpers = require("./helpers");
|
|
17
|
-
|
|
18
12
|
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; }
|
|
19
|
-
|
|
20
13
|
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) { (0, _defineProperty2.default)(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; }
|
|
21
|
-
|
|
22
14
|
var getChildrenTypeCounts = function getChildrenTypeCounts(nodeContent, allowedTypes) {
|
|
23
15
|
var childrenTypes = {};
|
|
24
16
|
nodeContent.forEach(function (childNode, index) {
|
|
25
17
|
if (!(childNode !== null && childNode !== void 0 && childNode.type) || !allowedTypes.includes(childNode.type)) {
|
|
26
18
|
return;
|
|
27
19
|
}
|
|
28
|
-
|
|
29
20
|
if (!childrenTypes[childNode.type]) {
|
|
30
21
|
childrenTypes[childNode.type] = 1;
|
|
31
22
|
return;
|
|
32
23
|
}
|
|
33
|
-
|
|
34
24
|
childrenTypes[childNode.type]++;
|
|
35
25
|
});
|
|
36
26
|
return childrenTypes;
|
|
37
27
|
};
|
|
38
|
-
|
|
39
28
|
var removeDuplicatedNodes = function removeDuplicatedNodes(type, content, predicate) {
|
|
40
29
|
var maxIterations = 10;
|
|
41
30
|
var childrenTypeCounts = getChildrenTypeCounts(content, [type])[type];
|
|
42
31
|
var firstPredicateNodeIndex = content.findIndex(predicate);
|
|
43
|
-
|
|
44
32
|
while (childrenTypeCounts > 1 && firstPredicateNodeIndex > -1 && maxIterations-- > 0) {
|
|
45
33
|
content.splice(firstPredicateNodeIndex, 1);
|
|
46
34
|
firstPredicateNodeIndex = content.findIndex(predicate);
|
|
47
35
|
childrenTypeCounts = getChildrenTypeCounts(content, [type])[type];
|
|
48
36
|
}
|
|
49
37
|
};
|
|
38
|
+
|
|
50
39
|
/**
|
|
51
40
|
* @param {{[type:string]:number}} allowedTypes - array types allowed to deduplicate
|
|
52
41
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
42
|
var deduplicateMediaSingleChildren = function deduplicateMediaSingleChildren(node, allowedTypes) {
|
|
56
43
|
if (!node.content) {
|
|
57
44
|
return;
|
|
58
45
|
}
|
|
59
|
-
|
|
60
46
|
var content = (0, _toConsumableArray2.default)(node.content);
|
|
61
47
|
Object.keys(allowedTypes).forEach(function (type) {
|
|
62
48
|
//prioritise removing empty nodes first
|
|
63
49
|
removeDuplicatedNodes(type, content, function (node) {
|
|
64
50
|
return (node === null || node === void 0 ? void 0 : node.type) === type && (0, _helpers.isEmpty)(node);
|
|
65
|
-
});
|
|
66
|
-
|
|
51
|
+
});
|
|
52
|
+
//remove other remaining dupicates
|
|
67
53
|
removeDuplicatedNodes(type, content, function (node) {
|
|
68
54
|
return (node === null || node === void 0 ? void 0 : node.type) === type;
|
|
69
55
|
});
|
|
@@ -72,20 +58,16 @@ var deduplicateMediaSingleChildren = function deduplicateMediaSingleChildren(nod
|
|
|
72
58
|
content: content
|
|
73
59
|
});
|
|
74
60
|
};
|
|
75
|
-
|
|
76
61
|
var transformInvalidMediaContent = function transformInvalidMediaContent(adf) {
|
|
77
62
|
var isTransformed = false;
|
|
78
63
|
var transformedAdf = (0, _traverse.traverse)(adf, {
|
|
79
64
|
mediaSingle: function mediaSingle(node) {
|
|
80
65
|
var _node$content;
|
|
81
|
-
|
|
82
66
|
if (!(node !== null && node !== void 0 && (_node$content = node.content) !== null && _node$content !== void 0 && _node$content.length)) {
|
|
83
67
|
return;
|
|
84
68
|
}
|
|
85
|
-
|
|
86
69
|
var disallowedDuplicateTypes = ['media', 'caption'];
|
|
87
70
|
var childrenTypes = getChildrenTypeCounts(node.content, disallowedDuplicateTypes);
|
|
88
|
-
|
|
89
71
|
if (Object.values(childrenTypes).some(function (occurences) {
|
|
90
72
|
return occurences > 1;
|
|
91
73
|
})) {
|
|
@@ -99,5 +81,4 @@ var transformInvalidMediaContent = function transformInvalidMediaContent(adf) {
|
|
|
99
81
|
isTransformed: isTransformed
|
|
100
82
|
};
|
|
101
83
|
};
|
|
102
|
-
|
|
103
84
|
exports.transformInvalidMediaContent = transformInvalidMediaContent;
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.transformMediaLinkMarks = void 0;
|
|
7
|
-
|
|
8
7
|
var _traverse = require("../traverse/traverse");
|
|
9
|
-
|
|
10
8
|
// link mark on mediaSingle is deprecated, need to move link mark to child media node
|
|
11
9
|
// https://product-fabric.atlassian.net/browse/ED-14043
|
|
12
10
|
var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
@@ -14,31 +12,25 @@ var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
|
14
12
|
var transformedAdf = (0, _traverse.traverse)(adf, {
|
|
15
13
|
mediaSingle: function mediaSingle(node) {
|
|
16
14
|
var _node$content$;
|
|
17
|
-
|
|
18
15
|
if (!node.marks || !node.content || ((_node$content$ = node.content[0]) === null || _node$content$ === void 0 ? void 0 : _node$content$.type) !== 'media') {
|
|
19
16
|
return node;
|
|
20
17
|
}
|
|
21
|
-
|
|
22
18
|
var linkMark = null;
|
|
23
19
|
node.marks.forEach(function (mark, i) {
|
|
24
20
|
if (mark.type === 'link') {
|
|
25
21
|
var _node$marks;
|
|
26
|
-
|
|
27
22
|
linkMark = mark;
|
|
28
23
|
(_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.splice(i, 1);
|
|
29
24
|
isTransformed = true;
|
|
30
25
|
}
|
|
31
26
|
});
|
|
32
|
-
|
|
33
27
|
if (node.marks.length === 0) {
|
|
34
28
|
delete node.marks;
|
|
35
29
|
}
|
|
36
|
-
|
|
37
30
|
if (linkMark) {
|
|
38
31
|
var _mediaNode$marks;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
var mediaNode = node.content[0];
|
|
33
|
+
// only add link mark if media node doesnt already have one
|
|
42
34
|
if ((_mediaNode$marks = mediaNode.marks) !== null && _mediaNode$marks !== void 0 && _mediaNode$marks.every(function (mark) {
|
|
43
35
|
return mark.type !== 'link';
|
|
44
36
|
})) {
|
|
@@ -47,7 +39,6 @@ var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
|
47
39
|
mediaNode.marks = [linkMark];
|
|
48
40
|
}
|
|
49
41
|
}
|
|
50
|
-
|
|
51
42
|
return node;
|
|
52
43
|
}
|
|
53
44
|
});
|
|
@@ -56,5 +47,4 @@ var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
|
56
47
|
isTransformed: isTransformed
|
|
57
48
|
};
|
|
58
49
|
};
|
|
59
|
-
|
|
60
50
|
exports.transformMediaLinkMarks = transformMediaLinkMarks;
|