Sha256: d986a50b047f04a50f8d67487b1893aea4305bd0ed9563df17129af710a13a45
Contents?: true
Size: 746 Bytes
Versions: 25
Compression:
Stored size: 746 Bytes
Contents
export const encodeToTree = (blocks, parentId) => { return blocks .filter((block) => block.parentId === parentId) .map((block) => ({ sectionBlock: { ...block }, children: encodeToTree(blocks, block.id), })) } export const decodeTree = (tree, parentId) => { return tree .map((treeNode) => { return [].concat( { ...treeNode.sectionBlock, parentId }, decodeTree(treeNode.children, treeNode.sectionBlock.id), ) }) .flat() } export const filterRoot = (blockDefinitions, content) => { return blockDefinitions.filter((block) => { const count = content.filter(({ type }) => block.type === type).length return block.root && (block.limit === -1 || block.limit > count) }) }
Version data entries
25 entries across 25 versions & 1 rubygems