UNPKG

@k8ts/instruments

Version:

A collection of utilities and core components for k8ts.

35 lines 1.33 kB
import { Seq } from "doddle"; import { Kind } from "../api-kind"; import { RefKey } from "../ref-key"; import { Relation } from "./dependencies"; export interface BaseEntity<Node extends BaseNode<Node>> { readonly node: Node; readonly kind: Kind.Identifier; readonly name: string; } export declare abstract class BaseNode<Node extends BaseNode<Node, Entity>, Entity extends BaseEntity<Node> = BaseEntity<Node>> { readonly _entity: Entity; private _eqProxy; abstract readonly key: RefKey; get kind(): Kind.Identifier<string, Kind.IdentParent | null>; abstract readonly kids: Seq<Node>; abstract readonly relations: Seq<Relation<Node>>; abstract readonly parent: Node | null; protected get _asNode(): Node; constructor(_entity: Entity); get shortFqn(): string; get root(): Node; get name(): string; get isRoot(): boolean; hashCode(): number; equals(other: any): any; readonly ancestors: Seq<Node>; readonly descendants: Seq<Node>; isParentOf(other: Node): boolean; isChildOf(other: Node): boolean; hasRelationTo(other: Node): boolean; readonly recursiveRelationsSubtree: Seq<Relation<Node>>; readonly recursiveRelations: Seq<Relation<Node>>; } export type Formats = "local" | "source" | undefined; //# sourceMappingURL=base-node.d.ts.map