@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
package/dist/es2019/version.json
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
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 var mention = function mention(attrs) {
|
|
8
5
|
return {
|
|
9
6
|
type: 'mention',
|
|
@@ -2,13 +2,11 @@ import { isDuplicateMark, duplicateMarkError } from './is-duplicate-mark';
|
|
|
2
2
|
import { text } from '../nodes/text';
|
|
3
3
|
export function applyMark(mark, maybeNode) {
|
|
4
4
|
var node = typeof maybeNode === 'string' ? text(maybeNode) : maybeNode;
|
|
5
|
-
|
|
6
5
|
if (isDuplicateMark(node, mark.type)) {
|
|
7
6
|
// eslint-disable-next-line no-console
|
|
8
7
|
console.error(duplicateMarkError(node, mark.type));
|
|
9
8
|
return node;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
10
|
node.marks = node.marks || [];
|
|
13
11
|
node.marks.push(mark);
|
|
14
12
|
return node;
|
package/dist/esm/builders.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Marks Builders
|
|
2
|
+
|
|
2
3
|
export { breakout } from './builders/marks/breakout';
|
|
3
4
|
export { code } from './builders/marks/code';
|
|
4
5
|
export { em } from './builders/marks/em';
|
|
@@ -14,7 +15,9 @@ export { underline as u } from './builders/marks/underline';
|
|
|
14
15
|
export { alignment } from './builders/marks/alignment';
|
|
15
16
|
export { indentation } from './builders/marks/indentation';
|
|
16
17
|
export { dataConsumer } from './builders/marks/data-consumer';
|
|
17
|
-
export { fragment } from './builders/marks/fragment';
|
|
18
|
+
export { fragment } from './builders/marks/fragment';
|
|
19
|
+
|
|
20
|
+
// Nodes Builders
|
|
18
21
|
|
|
19
22
|
export { blockQuote } from './builders/nodes/blockquote';
|
|
20
23
|
export { bodiedExtension } from './builders/nodes/bodied-extension';
|
|
@@ -1,14 +1,9 @@
|
|
|
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 { scrubAttrs } from './scrub-content';
|
|
8
|
-
|
|
9
5
|
var card = function card(node, _ref) {
|
|
10
6
|
var _node$attrs;
|
|
11
|
-
|
|
12
7
|
var valueReplacements = _ref.valueReplacements;
|
|
13
8
|
return {
|
|
14
9
|
type: node.type,
|
|
@@ -17,10 +12,8 @@ var card = function card(node, _ref) {
|
|
|
17
12
|
}
|
|
18
13
|
};
|
|
19
14
|
};
|
|
20
|
-
|
|
21
15
|
var mediaParent = function mediaParent(node) {
|
|
22
16
|
var _node$content;
|
|
23
|
-
|
|
24
17
|
return {
|
|
25
18
|
type: node.type,
|
|
26
19
|
attrs: node.attrs ? scrubAttrs(node.type, node.attrs) : undefined,
|
|
@@ -29,7 +22,6 @@ var mediaParent = function mediaParent(node) {
|
|
|
29
22
|
})
|
|
30
23
|
};
|
|
31
24
|
};
|
|
32
|
-
|
|
33
25
|
export var defaultNodeReplacements = {
|
|
34
26
|
emoji: function emoji() {
|
|
35
27
|
return {
|
|
@@ -65,7 +57,6 @@ export var defaultNodeReplacements = {
|
|
|
65
57
|
mediaGroup: mediaParent,
|
|
66
58
|
media: function media(node, _ref2) {
|
|
67
59
|
var _parent$node, _node$attrs$width, _node$attrs2, _node$attrs$height, _node$attrs3;
|
|
68
|
-
|
|
69
60
|
var parent = _ref2.parent;
|
|
70
61
|
var defaults = ((_parent$node = parent.node) === null || _parent$node === void 0 ? void 0 : _parent$node.type) === 'mediaSingle' ? {
|
|
71
62
|
width: 600,
|
package/dist/esm/scrub/hash.js
CHANGED
|
@@ -1,63 +1,48 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
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 { scrubAttrs, scrubStr, scrubLink } from './scrub-content';
|
|
10
7
|
import { defaultNodeReplacements } from './default-node-replacements';
|
|
11
8
|
import { defaultValueReplacements } from './default-value-replacements';
|
|
12
9
|
export default (function (adf) {
|
|
13
10
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
14
|
-
|
|
15
11
|
var nodeReplacements = _objectSpread(_objectSpread({}, defaultNodeReplacements), options.nodeReplacements);
|
|
16
|
-
|
|
17
12
|
var valueReplacements = _objectSpread(_objectSpread({}, defaultValueReplacements), options.valueReplacements);
|
|
18
|
-
|
|
19
13
|
return traverse(adf, {
|
|
20
14
|
any: function any(node, parent) {
|
|
21
15
|
var replacement = nodeReplacements[node.type];
|
|
22
|
-
|
|
23
16
|
if (typeof replacement === 'function') {
|
|
24
17
|
var result = replacement(node, {
|
|
25
18
|
parent: parent,
|
|
26
19
|
valueReplacements: valueReplacements
|
|
27
20
|
});
|
|
28
|
-
|
|
29
21
|
if (result !== false) {
|
|
30
22
|
return result;
|
|
31
23
|
}
|
|
32
24
|
}
|
|
33
|
-
|
|
34
25
|
var updatedNode = {};
|
|
35
26
|
Object.entries(node).forEach(function (_ref) {
|
|
36
27
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
key = _ref2[0],
|
|
29
|
+
value = _ref2[1];
|
|
40
30
|
if (['version', 'type', 'content', 'marks'].includes(key)) {
|
|
41
31
|
updatedNode[key] = value;
|
|
42
32
|
}
|
|
43
33
|
});
|
|
44
|
-
|
|
45
34
|
if (node.text && node.marks) {
|
|
46
35
|
var _node$marks;
|
|
47
|
-
|
|
48
36
|
updatedNode.marks = scrubLink((_node$marks = node.marks) !== null && _node$marks !== void 0 ? _node$marks : [], {
|
|
49
37
|
valueReplacements: valueReplacements
|
|
50
38
|
});
|
|
51
39
|
}
|
|
52
|
-
|
|
53
40
|
if (node.text) {
|
|
54
41
|
updatedNode.text = scrubStr(node.text);
|
|
55
42
|
}
|
|
56
|
-
|
|
57
43
|
if (node.attrs) {
|
|
58
44
|
updatedNode.attrs = scrubAttrs(node.type, node.attrs);
|
|
59
45
|
}
|
|
60
|
-
|
|
61
46
|
return updatedNode;
|
|
62
47
|
}
|
|
63
48
|
});
|
|
@@ -2,11 +2,8 @@ import _typeof from "@babel/runtime/helpers/typeof";
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
5
|
-
|
|
6
5
|
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; }
|
|
7
|
-
|
|
8
6
|
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; }
|
|
9
|
-
|
|
10
7
|
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";
|
|
11
8
|
var DUMMY_DIGITS = ['2', '7', '4', '3', '5', '9', '1', '8', '0', '5'];
|
|
12
9
|
var BYPASS_ATTR_LIST = {
|
|
@@ -29,18 +26,15 @@ var BYPASS_ATTR_LIST = {
|
|
|
29
26
|
tableRow: ['defaultMarks'],
|
|
30
27
|
taskItem: ['state']
|
|
31
28
|
};
|
|
32
|
-
|
|
33
29
|
var fromEntries = function fromEntries(iterable) {
|
|
34
30
|
return _toConsumableArray(iterable).reduce(function (obj, _ref) {
|
|
35
31
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
key = _ref2[0],
|
|
33
|
+
val = _ref2[1];
|
|
39
34
|
obj[key] = val;
|
|
40
35
|
return obj;
|
|
41
36
|
}, {});
|
|
42
37
|
};
|
|
43
|
-
|
|
44
38
|
var scrubNum = function scrubNum(val) {
|
|
45
39
|
var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
46
40
|
return parseInt(val.toString().split('').map(function (_, index) {
|
|
@@ -49,19 +43,18 @@ var scrubNum = function scrubNum(val) {
|
|
|
49
43
|
return DUMMY_DIGITS[base % len];
|
|
50
44
|
}).join(''), 10);
|
|
51
45
|
};
|
|
52
|
-
|
|
53
46
|
export var scrubStr = function scrubStr(val) {
|
|
54
47
|
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
55
|
-
var base = DUMMY_TEXT.repeat(Math.ceil((offset + val.length) / DUMMY_TEXT.length));
|
|
56
|
-
// something like "".split('')
|
|
48
|
+
var base = DUMMY_TEXT.repeat(Math.ceil((offset + val.length) / DUMMY_TEXT.length));
|
|
57
49
|
|
|
50
|
+
// using [...val] splits emoji character pairs correctly, compared to
|
|
51
|
+
// something like "".split('')
|
|
58
52
|
return _toConsumableArray(val).map(function (char, index, chars) {
|
|
59
53
|
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)) {
|
|
60
54
|
// Decimal digits
|
|
61
55
|
return scrubNum(parseInt(char, 10), index).toString();
|
|
62
56
|
} 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)) {
|
|
63
57
|
var _chars;
|
|
64
|
-
|
|
65
58
|
// Emoji
|
|
66
59
|
return ((_chars = chars[index - 1]) === null || _chars === void 0 ? void 0 : _chars.codePointAt(0)) === 8205 ? '' : '⭐️';
|
|
67
60
|
} 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)) {
|
|
@@ -94,58 +87,44 @@ export var scrubLink = function scrubLink(marks, _ref3) {
|
|
|
94
87
|
})
|
|
95
88
|
});
|
|
96
89
|
}
|
|
97
|
-
|
|
98
90
|
return mark;
|
|
99
91
|
});
|
|
100
92
|
};
|
|
101
|
-
|
|
102
93
|
var scrubObj = function scrubObj(nodeType, attrsObj) {
|
|
103
94
|
var entries = Object.entries(attrsObj).map(function (_ref4) {
|
|
104
95
|
var _BYPASS_ATTR_LIST$nod;
|
|
105
|
-
|
|
106
96
|
var _ref5 = _slicedToArray(_ref4, 2),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
97
|
+
key = _ref5[0],
|
|
98
|
+
value = _ref5[1];
|
|
110
99
|
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)];
|
|
111
100
|
});
|
|
112
101
|
return fromEntries(entries);
|
|
113
102
|
};
|
|
114
|
-
|
|
115
103
|
export var scrubAttrs = function scrubAttrs(nodeType, attrs) {
|
|
116
104
|
var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
117
|
-
|
|
118
105
|
if (typeof attrs === 'number') {
|
|
119
106
|
return scrubNum(attrs, offset);
|
|
120
107
|
}
|
|
121
|
-
|
|
122
108
|
if (typeof attrs === 'string') {
|
|
123
109
|
return scrubStr(attrs, offset);
|
|
124
110
|
}
|
|
125
|
-
|
|
126
111
|
if (typeof attrs === 'boolean') {
|
|
127
112
|
return attrs;
|
|
128
113
|
}
|
|
129
|
-
|
|
130
114
|
if (!attrs) {
|
|
131
115
|
return attrs;
|
|
132
116
|
}
|
|
133
|
-
|
|
134
117
|
var attrsObj = attrs;
|
|
135
|
-
|
|
136
118
|
if (attrsObj && attrsObj.constructor === Object && Object.keys(attrsObj).length === 0) {
|
|
137
119
|
return {};
|
|
138
120
|
}
|
|
139
|
-
|
|
140
121
|
if (_typeof(attrsObj) === 'object' && !Array.isArray(attrsObj)) {
|
|
141
122
|
return scrubObj(nodeType, attrsObj);
|
|
142
123
|
}
|
|
143
|
-
|
|
144
124
|
if (Array.isArray(attrsObj)) {
|
|
145
125
|
return attrsObj.map(function (el) {
|
|
146
126
|
return _typeof(el) === 'object' ? scrubObj(nodeType, el) : scrubAttrs(nodeType, el);
|
|
147
127
|
});
|
|
148
128
|
}
|
|
149
|
-
|
|
150
129
|
throw new TypeError("scrubAttrs: encountered unsupported attributes type \"".concat(_typeof(attrsObj), "\"\n of value ").concat(JSON.stringify(attrsObj)));
|
|
151
130
|
};
|
|
@@ -1,24 +1,20 @@
|
|
|
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
|
// This is the set of marks that we wont allow in duplicate to
|
|
10
7
|
// exist on a given node, regardless of their attributes. We do
|
|
11
8
|
// not include annotations here, because we do allow duplicate
|
|
12
9
|
// annotations as long as they have unique id attributes (valid scenario)
|
|
13
10
|
var markDuplicatesDisallowed = new Set(['strong', 'underline', 'textColor', 'link', 'em', 'subsup', 'strike']);
|
|
14
|
-
|
|
15
11
|
var maybeHasDisallowedDuplicateMarks = function maybeHasDisallowedDuplicateMarks(node) {
|
|
16
12
|
var _node$marks, _node$marks$map;
|
|
17
|
-
|
|
18
13
|
var markTypes = (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : (_node$marks$map = _node$marks.map(function (mark) {
|
|
19
14
|
return mark.type;
|
|
20
15
|
})) === null || _node$marks$map === void 0 ? void 0 : _node$marks$map.filter(function (markType) {
|
|
21
|
-
return (
|
|
16
|
+
return (
|
|
17
|
+
// For annotations, we are performing the same cheap check
|
|
22
18
|
// for duplicates by type, without considering IDs, to quickly determine
|
|
23
19
|
// whether there may be potential deduping targets.
|
|
24
20
|
// In the actual deduping logic in maybeRemoveDisallowedDuplicateMarks,
|
|
@@ -26,14 +22,11 @@ var maybeHasDisallowedDuplicateMarks = function maybeHasDisallowedDuplicateMarks
|
|
|
26
22
|
markDuplicatesDisallowed.has(markType) || markType === 'annotation'
|
|
27
23
|
);
|
|
28
24
|
});
|
|
29
|
-
|
|
30
25
|
if (!(markTypes !== null && markTypes !== void 0 && markTypes.length)) {
|
|
31
26
|
return false;
|
|
32
27
|
}
|
|
33
|
-
|
|
34
28
|
return new Set(markTypes).size !== markTypes.length;
|
|
35
29
|
};
|
|
36
|
-
|
|
37
30
|
var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicateMarks(node) {
|
|
38
31
|
var quota = new Map();
|
|
39
32
|
var annotationsQuota = new Map();
|
|
@@ -41,21 +34,16 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
41
34
|
markDuplicatesDisallowed.forEach(function (mark) {
|
|
42
35
|
quota.set(mark, false);
|
|
43
36
|
});
|
|
44
|
-
|
|
45
37
|
if (!node.marks) {
|
|
46
38
|
return {
|
|
47
39
|
discardedMarks: discardedMarks
|
|
48
40
|
};
|
|
49
41
|
}
|
|
50
|
-
|
|
51
42
|
var dedupedMarks = node.marks.filter(function (mark) {
|
|
52
43
|
var markType = mark.type;
|
|
53
|
-
|
|
54
44
|
if (markType === 'annotation') {
|
|
55
45
|
var _mark$attrs;
|
|
56
|
-
|
|
57
46
|
var id = (_mark$attrs = mark.attrs) === null || _mark$attrs === void 0 ? void 0 : _mark$attrs.id;
|
|
58
|
-
|
|
59
47
|
if (annotationsQuota.has(id)) {
|
|
60
48
|
discardedMarks.push(mark);
|
|
61
49
|
return false;
|
|
@@ -64,7 +52,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
64
52
|
return true;
|
|
65
53
|
}
|
|
66
54
|
}
|
|
67
|
-
|
|
68
55
|
if (quota.has(markType)) {
|
|
69
56
|
if (!quota.get(markType)) {
|
|
70
57
|
quota.set(markType, true);
|
|
@@ -74,7 +61,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
74
61
|
return false;
|
|
75
62
|
}
|
|
76
63
|
}
|
|
77
|
-
|
|
78
64
|
return true;
|
|
79
65
|
});
|
|
80
66
|
return {
|
|
@@ -84,7 +70,6 @@ var maybeRemoveDisallowedDuplicateMarks = function maybeRemoveDisallowedDuplicat
|
|
|
84
70
|
discardedMarks: discardedMarks
|
|
85
71
|
};
|
|
86
72
|
};
|
|
87
|
-
|
|
88
73
|
export var transformDedupeMarks = function transformDedupeMarks(adf) {
|
|
89
74
|
var isTransformed = false;
|
|
90
75
|
var discardedMarks = [];
|
|
@@ -93,7 +78,6 @@ export var transformDedupeMarks = function transformDedupeMarks(adf) {
|
|
|
93
78
|
if (maybeHasDisallowedDuplicateMarks(node)) {
|
|
94
79
|
var result = maybeRemoveDisallowedDuplicateMarks(node);
|
|
95
80
|
var resultDiscardedMarks = result.discardedMarks;
|
|
96
|
-
|
|
97
81
|
if (resultDiscardedMarks.length) {
|
|
98
82
|
discardedMarks.push.apply(discardedMarks, _toConsumableArray(resultDiscardedMarks));
|
|
99
83
|
isTransformed = true;
|
|
@@ -1,43 +1,32 @@
|
|
|
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 hasChildHeadingWithIndentation = function hasChildHeadingWithIndentation(node) {
|
|
10
6
|
var _node$content$some, _node$content;
|
|
11
|
-
|
|
12
7
|
return (_node$content$some = (_node$content = node.content) === null || _node$content === void 0 ? void 0 : _node$content.some(function (childNode) {
|
|
13
8
|
var _childNode$marks;
|
|
14
|
-
|
|
15
9
|
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) {
|
|
16
10
|
return mark.type === 'indentation';
|
|
17
11
|
}));
|
|
18
12
|
})) !== null && _node$content$some !== void 0 ? _node$content$some : false;
|
|
19
13
|
};
|
|
20
|
-
|
|
21
14
|
var removeIndentationFromHeadings = function removeIndentationFromHeadings(node) {
|
|
22
15
|
var _node$content2;
|
|
23
|
-
|
|
24
16
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
25
17
|
content: (_node$content2 = node.content) === null || _node$content2 === void 0 ? void 0 : _node$content2.map(function (childNode) {
|
|
26
18
|
if ((childNode === null || childNode === void 0 ? void 0 : childNode.type) === 'heading') {
|
|
27
19
|
var _childNode$marks2;
|
|
28
|
-
|
|
29
20
|
return _objectSpread(_objectSpread({}, childNode), {}, {
|
|
30
21
|
marks: (_childNode$marks2 = childNode.marks) === null || _childNode$marks2 === void 0 ? void 0 : _childNode$marks2.filter(function (mark) {
|
|
31
22
|
return mark.type !== 'indentation';
|
|
32
23
|
})
|
|
33
24
|
});
|
|
34
25
|
}
|
|
35
|
-
|
|
36
26
|
return childNode;
|
|
37
27
|
})
|
|
38
28
|
});
|
|
39
29
|
};
|
|
40
|
-
|
|
41
30
|
export var transformIndentationMarks = function transformIndentationMarks(adf) {
|
|
42
31
|
var isTransformed = false;
|
|
43
32
|
var transformedAdf = traverse(adf, {
|
|
@@ -46,6 +35,12 @@ export var transformIndentationMarks = function transformIndentationMarks(adf) {
|
|
|
46
35
|
isTransformed = true;
|
|
47
36
|
return removeIndentationFromHeadings(node);
|
|
48
37
|
}
|
|
38
|
+
},
|
|
39
|
+
tableHeader: function tableHeader(node) {
|
|
40
|
+
if (hasChildHeadingWithIndentation(node)) {
|
|
41
|
+
isTransformed = true;
|
|
42
|
+
return removeIndentationFromHeadings(node);
|
|
43
|
+
}
|
|
49
44
|
}
|
|
50
45
|
});
|
|
51
46
|
return {
|