| 66 | * @returns Cleaned Figma node or children. If the node is invisible, return null. |
| 67 | */ |
| 68 | export const cleanFigma = (node: FigmaFrameInfo): FigmaFrameInfo | undefined => { |
| 69 | // if node is invisible, return undefined |
| 70 | if (node.visible === false) { |
| 71 | return undefined; |
| 72 | } |
| 73 | |
| 74 | // if node has children, recursively clean each child |
| 75 | if (node.children && Array.isArray(node.children)) { |
| 76 | node.children = node.children |
| 77 | .map(child => cleanFigma(child)) // recursively clean each child |
| 78 | .filter(child => child !== undefined); // filter out invisible nodes |
| 79 | } |
| 80 | |
| 81 | return node; |
| 82 | }; |
| 83 | |
| 84 | /** |
| 85 | * Check if node has border |