UNPKG

@create-figma-plugin/utilities

Version:

An extensive library of utility functions for common Figma/FigJam plugin/widget operations

26 lines 840 B
import { getParentNode } from '../get-nodes/get-parent-node.js'; import { areSiblingNodes } from '../sibling-nodes/are-sibling-nodes.js'; export function sortNodesByCanonicalOrder(siblingNodes) { if (siblingNodes.length < 2) { return siblingNodes.slice(); } const parentNode = getParentNode(siblingNodes[0]); if (areSiblingNodes(siblingNodes) === false) { throw new Error('Nodes in `siblingNodes` do not have the same parent'); } return siblingNodes .slice() .map(function (node) { return { index: parentNode.children.indexOf(node), node }; }) .sort(function (a, b) { return a.index - b.index; }) .map(function ({ node }) { return node; }); } //# sourceMappingURL=sort-nodes-by-canonical-order.js.map