@atlaskit/adf-utils
Version:
Set of utilities to traverse, modify and create ADF documents.
60 lines (59 loc) • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.syncBlockFallbackTransform = void 0;
var _traverse = require("../traverse/traverse");
var syncBlockFallbackTransform = exports.syncBlockFallbackTransform = function syncBlockFallbackTransform(schema, adf) {
var isTransformed = false;
var _schema$nodes = schema.nodes,
_syncBlock = _schema$nodes.syncBlock,
_bodiedSyncBlock = _schema$nodes.bodiedSyncBlock,
unsupportedBlock = _schema$nodes.unsupportedBlock;
if (!unsupportedBlock) {
return {
isTransformed: isTransformed,
transformedAdf: adf
};
}
var transformedAdf = (0, _traverse.traverse)(adf, {
syncBlock: function syncBlock(node) {
if (_syncBlock) {
return node;
}
isTransformed = true;
var unsupportedBlockNode = unsupportedBlock.createChecked({
originalValue: node
});
return unsupportedBlockNode.toJSON();
},
bodiedSyncBlock: function bodiedSyncBlock(node) {
if (_bodiedSyncBlock) {
return node;
}
isTransformed = true;
var unsupportedBlockNode = unsupportedBlock.createChecked({
originalValue: node
});
return unsupportedBlockNode.toJSON();
},
unsupportedBlock: function unsupportedBlock(node) {
var _node$attrs;
if (!((_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.originalValue)) {
return node;
}
if (node.attrs.originalValue.type === 'syncBlock' && _syncBlock) {
isTransformed = true;
return node.attrs.originalValue;
} else if (node.attrs.originalValue.type === 'bodiedSyncBlock' && _bodiedSyncBlock) {
isTransformed = true;
return node.attrs.originalValue;
}
return node;
}
});
return {
transformedAdf: transformedAdf,
isTransformed: isTransformed
};
};