g3-toolkit API Reference
    Preparing search index...

    Class UGM

    @g3t/core public API.

    Framework-agnostic (D6): zero React, zero Zustand, zero Cytoscape imports.

    The boundary here is enforced two ways: (1) physical separation (packages/core/src/ cannot relatively-import from packages/react/src/), and (2) the module-boundary test in test/module-boundary.test.ts which dynamically imports every entry below and asserts none of them pull in React.

    Index

    Constructors

    Accessors

    Methods

    • Add an edge with Qualified Edge metadata (D1). Auto-generates an edge key for multi-edge support.

      Parameters

      Returns string

      the generated edge ID

    • Iterate all edges.

      Parameters

      • callback: (
            edgeId: string,
            attributes: EdgeAttributes,
            source: string,
            target: string,
        ) => void

      Returns void

    • Get the source and target of an edge.

      Parameters

      • edgeId: string

      Returns { source: string; target: string } | undefined

    • Get edges between two specific nodes (multi-edge support).

      Parameters

      • source: string
      • target: string

      Returns string[]

    • Get neighbor node IDs at depth 1.

      Parameters

      • nodeId: string

      Returns string[]

    • Get all edges incident to a node.

      Parameters

      • nodeId: string

      Returns string[]

    • Check whether an edge exists.

      Parameters

      • edgeId: string

      Returns boolean

    • Check whether a node exists.

      Parameters

      • id: string

      Returns boolean

    • Subscribe to a UGM event. Returns an unsubscribe function.

      Type Parameters

      Parameters

      • event: T
      • handler: EventHandler<
            T extends "nodeAdded"
            | "nodeRemoved"
                ? NodeEventPayload
                : T extends "edgeAdded"
                | "edgeRemoved"
                    ? EdgeEventPayload
                    : T extends "nodeAttributesUpdated"
                    | "edgeAttributesUpdated"
                        ? AttributeUpdatePayload
                        : null,
        >

      Returns () => void

    • Remove an edge by ID.

      Parameters

      • edgeId: string

      Returns void

    • Remove a node and all its incident edges.

      Parameters

      • id: string

      Returns void

    • Update properties on an existing edge. Merges with existing.

      Parameters

      • edgeId: string
      • properties: Record<string, unknown>

      Returns void

    • Update properties on an existing node. Merges with existing.

      Parameters

      • id: string
      • properties: Record<string, unknown>

      Returns void