UNPKG

@atlaskit/adf-utils

Version:

Set of utilities to traverse, modify and create ADF documents.

54 lines 1.73 kB
import { traverse } from '../traverse/traverse'; export var 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 = 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 }; };