import { AutoBeOpenApi } from "@autobe/interface"; import { hash } from "tstl"; export namespace AutoBeOpenApiEndpointComparator { export function compare( x: AutoBeOpenApi.IEndpoint, y: AutoBeOpenApi.IEndpoint, ): number { if (x.path !== y.path) return x.path.localeCompare(y.path); return x.method.localeCompare(y.method); } export const equals = ( x: AutoBeOpenApi.IEndpoint, y: AutoBeOpenApi.IEndpoint, ): boolean => x.method === y.method && x.path === y.path; export const hashCode = (endpoint: AutoBeOpenApi.IEndpoint): number => hash(endpoint.path, endpoint.method); export const clone = ( endpoint: AutoBeOpenApi.IEndpoint, ): AutoBeOpenApi.IEndpoint => ({ path: endpoint.path, method: endpoint.method, }); }