[TS] Prefer narrow interface - readonly network (#769)

Uses new readonly link network interface in APIs that do not require
write.
This commit is contained in:
filtered
2025-03-14 02:00:57 +11:00
committed by GitHub
parent 835e22d754
commit df36b23db8
2 changed files with 5 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ import type {
ISlotType,
LinkNetwork,
LinkSegment,
ReadonlyLinkNetwork,
} from "./interfaces"
import type { NodeId } from "./LGraphNode"
import type { Reroute, RerouteId } from "./Reroute"
@@ -108,7 +109,7 @@ export class LLink implements LinkSegment, Serialisable<SerialisableLLink> {
* this reroute or the reroute before it. Otherwise, an empty array.
*/
static getReroutes(
network: LinkNetwork,
network: ReadonlyLinkNetwork,
linkSegment: LinkSegment,
): Reroute[] {
if (!linkSegment.parentId) return []
@@ -133,7 +134,7 @@ export class LLink implements LinkSegment, Serialisable<SerialisableLLink> {
* @returns The reroute that was found, `undefined` if no reroute was found, or `null` if an infinite loop was detected.
*/
static findNextReroute(
network: LinkNetwork,
network: Pick<ReadonlyLinkNetwork, "reroutes">,
linkSegment: LinkSegment,
rerouteId: RerouteId,
): Reroute | null | undefined {

View File

@@ -4,6 +4,7 @@ import type {
LinkSegment,
Point,
Positionable,
ReadonlyLinkNetwork,
ReadOnlyRect,
} from "./interfaces"
import type { NodeId } from "./LGraphNode"
@@ -252,7 +253,7 @@ export class Reroute implements Positionable, LinkSegment, Serialisable<Serialis
return true
}
calculateAngle(lastRenderTime: number, network: LinkNetwork, linkStart: Point): void {
calculateAngle(lastRenderTime: number, network: ReadonlyLinkNetwork, linkStart: Point): void {
// Ensure we run once per render
if (!(lastRenderTime > this.#lastRenderTime)) return
this.#lastRenderTime = lastRenderTime