UNPKG

@atlaskit/adf-utils

Version:

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

55 lines 1.49 kB
import { traverse } from '../traverse/traverse'; export const syncBlockFallbackTransform = (schema, adf) => { let isTransformed = false; const { syncBlock, bodiedSyncBlock, unsupportedBlock } = schema.nodes; if (!unsupportedBlock) { return { isTransformed, transformedAdf: adf }; } const transformedAdf = traverse(adf, { syncBlock: node => { if (syncBlock) { return node; } isTransformed = true; const unsupportedBlockNode = unsupportedBlock.createChecked({ originalValue: node }); return unsupportedBlockNode.toJSON(); }, bodiedSyncBlock: node => { if (bodiedSyncBlock) { return node; } isTransformed = true; const unsupportedBlockNode = unsupportedBlock.createChecked({ originalValue: node }); return unsupportedBlockNode.toJSON(); }, 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, isTransformed }; };