@witchcraft/layout
    Preparing search index...

    Function createEdge

    • Ensures the edge given is sorted (start < end coordinates). Mutates given edge if it's not.

      Parameters

      • edge: {
            endX: number;
            endY: number;
            error?:
                | KnownError<
                    LayoutError,
                    | {}
                    | { id: string
                    | undefined }
                    | { id: string | undefined }
                    | { size: { height: number; width: number } }
                    | Record<string, never>
                    | { frame: LayoutFrame }
                    | {
                        frame: LayoutFrame;
                        minSize: { height: number; width: number };
                        nearbyFrames: LayoutFrame[];
                    }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame; minSize: number; newSize: number }
                    | { frame: LayoutFrame; framesRequiredToBeDeleted: LayoutFrame[] }
                    | { frame: LayoutFrame }
                    | {
                        hoveredFrameId: string;
                        movingFrameId: string;
                        zoneSide: "left" | "right" | "top" | "bottom" | "center";
                    }
                    | {
                        hoveredFrameId: string;
                        movingFrameId: string;
                        zoneSide: "left"
                        | "right"
                        | "top"
                        | "bottom"
                        | "center";
                    }
                    | {
                        hoveredFrameId: string;
                        movingFrameId: string;
                        zoneSide: "left"
                        | "right"
                        | "top"
                        | "bottom"
                        | "center";
                    }
                    | { frame: LayoutFrame }
                    | { frameSizeNeeded: number; minFrameSize: number }
                    | { max: number; min: number; wanted: number }
                    | { problemEdgeCoordinates: number[] }
                    | { id: string; side: "left" | "right" | "top" | "bottom" }
                    | { frame: string }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame }
                    | { frame: LayoutFrame },
                >
                | { code: string; message: string };
            startX: number;
            startY: number;
        }

      Returns {
          endX: number;
          endY: number;
          error?:
              | KnownError<
                  LayoutError,
                  | {}
                  | { id: string
                  | undefined }
                  | { id: string | undefined }
                  | { size: { height: number; width: number } }
                  | Record<string, never>
                  | { frame: LayoutFrame }
                  | {
                      frame: LayoutFrame;
                      minSize: { height: number; width: number };
                      nearbyFrames: LayoutFrame[];
                  }
                  | { frame: LayoutFrame }
                  | { frame: LayoutFrame; minSize: number; newSize: number }
                  | { frame: LayoutFrame; framesRequiredToBeDeleted: LayoutFrame[] }
                  | { frame: LayoutFrame }
                  | {
                      hoveredFrameId: string;
                      movingFrameId: string;
                      zoneSide: "left" | "right" | "top" | "bottom" | "center";
                  }
                  | {
                      hoveredFrameId: string;
                      movingFrameId: string;
                      zoneSide: "left"
                      | "right"
                      | "top"
                      | "bottom"
                      | "center";
                  }
                  | {
                      hoveredFrameId: string;
                      movingFrameId: string;
                      zoneSide: "left"
                      | "right"
                      | "top"
                      | "bottom"
                      | "center";
                  }
                  | { frame: LayoutFrame }
                  | { frameSizeNeeded: number; minFrameSize: number }
                  | { max: number; min: number; wanted: number }
                  | { problemEdgeCoordinates: number[] }
                  | { id: string; side: "left" | "right" | "top" | "bottom" }
                  | { frame: string }
                  | { frame: LayoutFrame }
                  | { frame: LayoutFrame }
                  | { frame: LayoutFrame }
                  | { frame: LayoutFrame },
              >
              | { code: string; message: string };
          startX: number;
          startY: number;
      }