@atlaskit/adf-utils 19.10.1 → 19.11.0

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/adf-utils
2
2
 
3
+ ## 19.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#161679](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/161679)
8
+ [`27c4a6d9b2fb1`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/27c4a6d9b2fb1) -
9
+ ED-25498 Add nested table incoming transform for adf-utils
10
+
3
11
  ## 19.10.1
4
12
 
5
13
  ### Patch Changes
@@ -1,24 +1,24 @@
1
1
  {
2
- "extends": "../../../../tsconfig.entry-points.jira.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "target": "es5",
6
- "outDir": "../../../../../tsDist/@atlaskit__adf-utils/app",
7
- "composite": true,
8
- "rootDir": "../"
9
- },
10
- "include": [
11
- "../src/**/*.ts",
12
- "../src/**/*.tsx"
13
- ],
14
- "exclude": [
15
- "../src/**/__tests__/*",
16
- "../src/**/*.test.*",
17
- "../src/**/test.*"
18
- ],
19
- "references": [
20
- {
21
- "path": "../../../monorepo-tooling/codemod-utils/afm-jira/tsconfig.json"
22
- }
23
- ]
24
- }
2
+ "extends": "../../../../tsconfig.entry-points.jira.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "target": "es5",
6
+ "outDir": "../../../../../tsDist/@atlaskit__adf-utils/app",
7
+ "rootDir": "../",
8
+ "composite": true
9
+ },
10
+ "include": [
11
+ "../src/**/*.ts",
12
+ "../src/**/*.tsx"
13
+ ],
14
+ "exclude": [
15
+ "../src/**/__tests__/*",
16
+ "../src/**/*.test.*",
17
+ "../src/**/test.*"
18
+ ],
19
+ "references": [
20
+ {
21
+ "path": "../../../monorepo-tooling/codemod-utils/afm-jira/tsconfig.json"
22
+ }
23
+ ]
24
+ }
@@ -1,24 +1,24 @@
1
1
  {
2
- "extends": "../../../../tsconfig.entry-points.post-office.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "target": "es5",
6
- "outDir": "../../../../../tsDist/@atlaskit__adf-utils/app",
7
- "composite": true,
8
- "rootDir": "../"
9
- },
10
- "include": [
11
- "../src/**/*.ts",
12
- "../src/**/*.tsx"
13
- ],
14
- "exclude": [
15
- "../src/**/__tests__/*",
16
- "../src/**/*.test.*",
17
- "../src/**/test.*"
18
- ],
19
- "references": [
20
- {
21
- "path": "../../../monorepo-tooling/codemod-utils/afm-post-office/tsconfig.json"
22
- }
23
- ]
24
- }
2
+ "extends": "../../../../tsconfig.entry-points.post-office.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "target": "es5",
6
+ "outDir": "../../../../../tsDist/@atlaskit__adf-utils/app",
7
+ "rootDir": "../",
8
+ "composite": true
9
+ },
10
+ "include": [
11
+ "../src/**/*.ts",
12
+ "../src/**/*.tsx"
13
+ ],
14
+ "exclude": [
15
+ "../src/**/__tests__/*",
16
+ "../src/**/*.test.*",
17
+ "../src/**/test.*"
18
+ ],
19
+ "references": [
20
+ {
21
+ "path": "../../../monorepo-tooling/codemod-utils/afm-post-office/tsconfig.json"
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.transformNestedTablesIncomingDocument = void 0;
7
+ var _traverse = require("../traverse/traverse");
8
+ var NESTED_TABLE_EXTENSION_TYPE = 'com.atlassian.nesting',
9
+ NESTED_TABLE_EXTENSION_KEY = 'nested-table';
10
+ var isNestedTableExtension = function isNestedTableExtension(extensionNode) {
11
+ var _extensionNode$attrs, _extensionNode$attrs2;
12
+ return ((_extensionNode$attrs = extensionNode.attrs) === null || _extensionNode$attrs === void 0 ? void 0 : _extensionNode$attrs.extensionType) === NESTED_TABLE_EXTENSION_TYPE && ((_extensionNode$attrs2 = extensionNode.attrs) === null || _extensionNode$attrs2 === void 0 ? void 0 : _extensionNode$attrs2.extensionKey) === NESTED_TABLE_EXTENSION_KEY;
13
+ };
14
+ var transformNestedTableExtension = function transformNestedTableExtension(nestedTableExtension) {
15
+ var _nestedTableExtension, _transformedNestedTab;
16
+ // No content - nothing to transform
17
+ if (!((_nestedTableExtension = nestedTableExtension.attrs) !== null && _nestedTableExtension !== void 0 && (_nestedTableExtension = _nestedTableExtension.parameters) !== null && _nestedTableExtension !== void 0 && (_nestedTableExtension = _nestedTableExtension.macroParams) !== null && _nestedTableExtension !== void 0 && _nestedTableExtension.nestedContent)) {
18
+ return {
19
+ adf: nestedTableExtension,
20
+ isTransformed: false
21
+ };
22
+ }
23
+ var transformedNestedTable;
24
+ try {
25
+ var _nestedTableExtension2;
26
+ transformedNestedTable = JSON.parse((_nestedTableExtension2 = nestedTableExtension.attrs) === null || _nestedTableExtension2 === void 0 || (_nestedTableExtension2 = _nestedTableExtension2.parameters) === null || _nestedTableExtension2 === void 0 || (_nestedTableExtension2 = _nestedTableExtension2.macroParams) === null || _nestedTableExtension2 === void 0 ? void 0 : _nestedTableExtension2.nestedContent.value);
27
+ } catch (e) {
28
+ throw new Error('Failed to parse nested table content');
29
+ }
30
+ if (!Array.isArray(transformedNestedTable) && ((_transformedNestedTab = transformedNestedTable) === null || _transformedNestedTab === void 0 ? void 0 : _transformedNestedTab.type) === 'table') {
31
+ return {
32
+ adf: transformedNestedTable,
33
+ isTransformed: true
34
+ };
35
+ } else {
36
+ throw new Error('Invalid nested table content');
37
+ }
38
+ };
39
+ var transformNestedTablesIncomingDocument = exports.transformNestedTablesIncomingDocument = function transformNestedTablesIncomingDocument(adf) {
40
+ var isTransformed = false;
41
+ var transformedAdf = (0, _traverse.traverse)(adf, {
42
+ extension: function extension(node) {
43
+ if (isNestedTableExtension(node)) {
44
+ var transformResult = transformNestedTableExtension(node);
45
+ if (transformResult.isTransformed) {
46
+ isTransformed = true;
47
+ return transformResult.adf;
48
+ } else {
49
+ return false;
50
+ }
51
+ }
52
+ }
53
+ });
54
+ return {
55
+ transformedAdf: transformedAdf,
56
+ isTransformed: isTransformed
57
+ };
58
+ };
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "transformMediaLinkMarks", {
27
27
  return _mediaLinkTransform.transformMediaLinkMarks;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "transformNestedTablesIncomingDocument", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _nestedTableTransform.transformNestedTablesIncomingDocument;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "transformNodesMissingContent", {
31
37
  enumerable: true,
32
38
  get: function get() {
@@ -44,4 +50,5 @@ var _textLinkCodeTransform = require("./transforms/text-link-code-transform");
44
50
  var _dedupeMarksTransform = require("./transforms/dedupe-marks-transform");
45
51
  var _nodesMissingContentTransform = require("./transforms/nodes-missing-content-transform");
46
52
  var _indentationMarksTransform = require("./transforms/indentation-marks-transform");
47
- var _invalidMediaContentTransform = require("./transforms/invalid-media-content-transform");
53
+ var _invalidMediaContentTransform = require("./transforms/invalid-media-content-transform");
54
+ var _nestedTableTransform = require("./transforms/nested-table-transform");
@@ -0,0 +1,52 @@
1
+ import { traverse } from '../traverse/traverse';
2
+ const NESTED_TABLE_EXTENSION_TYPE = 'com.atlassian.nesting',
3
+ NESTED_TABLE_EXTENSION_KEY = 'nested-table';
4
+ const isNestedTableExtension = extensionNode => {
5
+ var _extensionNode$attrs, _extensionNode$attrs2;
6
+ return ((_extensionNode$attrs = extensionNode.attrs) === null || _extensionNode$attrs === void 0 ? void 0 : _extensionNode$attrs.extensionType) === NESTED_TABLE_EXTENSION_TYPE && ((_extensionNode$attrs2 = extensionNode.attrs) === null || _extensionNode$attrs2 === void 0 ? void 0 : _extensionNode$attrs2.extensionKey) === NESTED_TABLE_EXTENSION_KEY;
7
+ };
8
+ const transformNestedTableExtension = nestedTableExtension => {
9
+ var _nestedTableExtension, _nestedTableExtension2, _nestedTableExtension3, _transformedNestedTab;
10
+ // No content - nothing to transform
11
+ if (!((_nestedTableExtension = nestedTableExtension.attrs) !== null && _nestedTableExtension !== void 0 && (_nestedTableExtension2 = _nestedTableExtension.parameters) !== null && _nestedTableExtension2 !== void 0 && (_nestedTableExtension3 = _nestedTableExtension2.macroParams) !== null && _nestedTableExtension3 !== void 0 && _nestedTableExtension3.nestedContent)) {
12
+ return {
13
+ adf: nestedTableExtension,
14
+ isTransformed: false
15
+ };
16
+ }
17
+ let transformedNestedTable;
18
+ try {
19
+ var _nestedTableExtension4, _nestedTableExtension5, _nestedTableExtension6;
20
+ transformedNestedTable = JSON.parse((_nestedTableExtension4 = nestedTableExtension.attrs) === null || _nestedTableExtension4 === void 0 ? void 0 : (_nestedTableExtension5 = _nestedTableExtension4.parameters) === null || _nestedTableExtension5 === void 0 ? void 0 : (_nestedTableExtension6 = _nestedTableExtension5.macroParams) === null || _nestedTableExtension6 === void 0 ? void 0 : _nestedTableExtension6.nestedContent.value);
21
+ } catch (e) {
22
+ throw new Error('Failed to parse nested table content');
23
+ }
24
+ if (!Array.isArray(transformedNestedTable) && ((_transformedNestedTab = transformedNestedTable) === null || _transformedNestedTab === void 0 ? void 0 : _transformedNestedTab.type) === 'table') {
25
+ return {
26
+ adf: transformedNestedTable,
27
+ isTransformed: true
28
+ };
29
+ } else {
30
+ throw new Error('Invalid nested table content');
31
+ }
32
+ };
33
+ export const transformNestedTablesIncomingDocument = adf => {
34
+ let isTransformed = false;
35
+ const transformedAdf = traverse(adf, {
36
+ extension: node => {
37
+ if (isNestedTableExtension(node)) {
38
+ const transformResult = transformNestedTableExtension(node);
39
+ if (transformResult.isTransformed) {
40
+ isTransformed = true;
41
+ return transformResult.adf;
42
+ } else {
43
+ return false;
44
+ }
45
+ }
46
+ }
47
+ });
48
+ return {
49
+ transformedAdf,
50
+ isTransformed
51
+ };
52
+ };
@@ -3,4 +3,5 @@ export { transformTextLinkCodeMarks } from './transforms/text-link-code-transfor
3
3
  export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
4
4
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
5
5
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
6
- export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
6
+ export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
7
+ export { transformNestedTablesIncomingDocument } from './transforms/nested-table-transform';
@@ -0,0 +1,52 @@
1
+ import { traverse } from '../traverse/traverse';
2
+ var NESTED_TABLE_EXTENSION_TYPE = 'com.atlassian.nesting',
3
+ NESTED_TABLE_EXTENSION_KEY = 'nested-table';
4
+ var isNestedTableExtension = function isNestedTableExtension(extensionNode) {
5
+ var _extensionNode$attrs, _extensionNode$attrs2;
6
+ return ((_extensionNode$attrs = extensionNode.attrs) === null || _extensionNode$attrs === void 0 ? void 0 : _extensionNode$attrs.extensionType) === NESTED_TABLE_EXTENSION_TYPE && ((_extensionNode$attrs2 = extensionNode.attrs) === null || _extensionNode$attrs2 === void 0 ? void 0 : _extensionNode$attrs2.extensionKey) === NESTED_TABLE_EXTENSION_KEY;
7
+ };
8
+ var transformNestedTableExtension = function transformNestedTableExtension(nestedTableExtension) {
9
+ var _nestedTableExtension, _transformedNestedTab;
10
+ // No content - nothing to transform
11
+ if (!((_nestedTableExtension = nestedTableExtension.attrs) !== null && _nestedTableExtension !== void 0 && (_nestedTableExtension = _nestedTableExtension.parameters) !== null && _nestedTableExtension !== void 0 && (_nestedTableExtension = _nestedTableExtension.macroParams) !== null && _nestedTableExtension !== void 0 && _nestedTableExtension.nestedContent)) {
12
+ return {
13
+ adf: nestedTableExtension,
14
+ isTransformed: false
15
+ };
16
+ }
17
+ var transformedNestedTable;
18
+ try {
19
+ var _nestedTableExtension2;
20
+ transformedNestedTable = JSON.parse((_nestedTableExtension2 = nestedTableExtension.attrs) === null || _nestedTableExtension2 === void 0 || (_nestedTableExtension2 = _nestedTableExtension2.parameters) === null || _nestedTableExtension2 === void 0 || (_nestedTableExtension2 = _nestedTableExtension2.macroParams) === null || _nestedTableExtension2 === void 0 ? void 0 : _nestedTableExtension2.nestedContent.value);
21
+ } catch (e) {
22
+ throw new Error('Failed to parse nested table content');
23
+ }
24
+ if (!Array.isArray(transformedNestedTable) && ((_transformedNestedTab = transformedNestedTable) === null || _transformedNestedTab === void 0 ? void 0 : _transformedNestedTab.type) === 'table') {
25
+ return {
26
+ adf: transformedNestedTable,
27
+ isTransformed: true
28
+ };
29
+ } else {
30
+ throw new Error('Invalid nested table content');
31
+ }
32
+ };
33
+ export var transformNestedTablesIncomingDocument = function transformNestedTablesIncomingDocument(adf) {
34
+ var isTransformed = false;
35
+ var transformedAdf = traverse(adf, {
36
+ extension: function extension(node) {
37
+ if (isNestedTableExtension(node)) {
38
+ var transformResult = transformNestedTableExtension(node);
39
+ if (transformResult.isTransformed) {
40
+ isTransformed = true;
41
+ return transformResult.adf;
42
+ } else {
43
+ return false;
44
+ }
45
+ }
46
+ }
47
+ });
48
+ return {
49
+ transformedAdf: transformedAdf,
50
+ isTransformed: isTransformed
51
+ };
52
+ };
@@ -3,4 +3,5 @@ export { transformTextLinkCodeMarks } from './transforms/text-link-code-transfor
3
3
  export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
4
4
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
5
5
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
6
- export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
6
+ export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
7
+ export { transformNestedTablesIncomingDocument } from './transforms/nested-table-transform';
@@ -0,0 +1,5 @@
1
+ import type { ADFEntity } from '../types';
2
+ export declare const transformNestedTablesIncomingDocument: (adf: ADFEntity) => {
3
+ transformedAdf: ADFEntity;
4
+ isTransformed: boolean;
5
+ };
@@ -4,3 +4,4 @@ export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
4
4
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
5
5
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
6
6
  export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
7
+ export { transformNestedTablesIncomingDocument } from './transforms/nested-table-transform';
@@ -0,0 +1,5 @@
1
+ import type { ADFEntity } from '../types';
2
+ export declare const transformNestedTablesIncomingDocument: (adf: ADFEntity) => {
3
+ transformedAdf: ADFEntity;
4
+ isTransformed: boolean;
5
+ };
@@ -4,3 +4,4 @@ export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
4
4
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
5
5
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
6
6
  export { transformInvalidMediaContent } from './transforms/invalid-media-content-transform';
7
+ export { transformNestedTablesIncomingDocument } from './transforms/nested-table-transform';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/adf-utils",
3
- "version": "19.10.1",
3
+ "version": "19.11.0",
4
4
  "description": "Set of utilities to traverse, modify and create ADF documents.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"