@logic-pad/core
Version:
27 lines (26 loc) • 1.03 kB
TypeScript
import { Edge, Position } from './primitives.js';
export default class GridZones {
readonly edges: readonly Edge[];
constructor(edges?: readonly Edge[]);
addEdge(edge: Edge): GridZones;
removeEdge(edge: Edge): GridZones;
hasEdge(edge: Edge): boolean;
getEdgesAt({ x, y }: Position): readonly Edge[];
/**
* Check if two GridZones objects are equal.
* @param other The other GridZones object to compare to.
* @returns Whether the two objects are equal.
*/
equals(other: GridZones): boolean;
/**
* Deduplicate an array of edges.
* @param edges The array of edges to deduplicate.
* @returns The deduplicated array of edges.
*/
static deduplicateEdges(edges: readonly Edge[]): readonly Edge[];
static validateEdges(connections: GridZones, width: number, height: number): GridZones;
insertColumn(index: number): GridZones;
insertRow(index: number): GridZones;
removeColumn(index: number): GridZones;
removeRow(index: number): GridZones;
}