Skip to content

Instantly share code, notes, and snippets.

@janjiss
Last active March 12, 2017 01:09
Show Gist options
  • Save janjiss/0f25a8ca7b94c2b266dac8bdcf90688c to your computer and use it in GitHub Desktop.
Save janjiss/0f25a8ca7b94c2b266dac8bdcf90688c to your computer and use it in GitHub Desktop.
{
match: (node) => {
return node.kind == 'document'
},
validate: (document) => {
let previousNodeType = null
const joinableNode = document.nodes.find((node, key) => {
if (node.type === 'ordered-list' || node.type === 'unordered-list') {
console.log(node.type)
if (previousNodeType === node.type) {
return true
} else {
previousNodeType = node.type
return false
}
} else {
previousNodeType = null
return false
}
})
if ( joinableNode ) {
const previousNode = document.getPreviousSibling(joinableNode.key)
return { previousNode, joinableNode }
} else {
return false
}
},
normalize: (transform, document, nodes) => {
const { joinableNode, previousNode } = nodes
const size = previousNode.nodes.size
const listItems = joinableNode.nodes
listItems.forEach((node, index) => {
transform.moveNodeByKey(node.key, previousNode.key, size + 1 + index)
})
return transform.removeNodeByKey(joinableNode.key)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment