@k8ts/instruments
Version:
A collection of utilities and core components for k8ts.
35 lines • 1.33 kB
TypeScript
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