UNPKG

@altostra/core

Version:

Core library for shared types and logic

19 lines (18 loc) 1.46 kB
import type { Connection, ConnectionId, ConnectionKindType } from "../../Blueprint/Connection"; import type { Maybe } from "../../Common"; import type { BlueprintHelper } from "../BlueprintHelper"; import { Collection } from "../Collection"; import type { ConnectionHelperByType } from "../ConnectionHelper"; import { ConnectionHelper } from "../ConnectionHelper"; import type { It } from "../Iterable"; export declare abstract class ConnectionCollectionBase extends Collection<Connection, ConnectionHelper, ConnectionId> { protected readonly _blueprint: BlueprintHelper; private readonly _connections; constructor(cache: WeakMap<Connection, ConnectionHelper>, _blueprint: BlueprintHelper, _connections: () => Iterable<Connection>); [Symbol.iterator](): Generator<ConnectionHelper, void, unknown>; get({ from, to }: ConnectionId): Maybe<ConnectionHelper>; ofType<TType extends ConnectionKindType>(...type: [TType, ...TType[]]): It<ConnectionHelperByType<TType>>; assertType<TType extends ConnectionKindType>(...validTypes: [TType, ...TType[]]): It<ConnectionHelperByType<TType>>; } export declare function ofConnectionType<TType extends ConnectionKindType>(...type: [TType, ...TType[]]): (src: Iterable<ConnectionHelper>) => It<ConnectionHelperByType<TType>>; export declare function assertConnectionType<TType extends ConnectionKindType>(...validTypes: TType[]): (src: Iterable<ConnectionHelper>) => It<ConnectionHelperByType<TType>>;