@k8ts/instruments
Version:
A collection of utilities and core components for k8ts.
19 lines • 1.09 kB
TypeScript
import { Map } from "immutable";
import { PortMap } from "./map";
import type { InputPort, InputPortMapping, InputPortSetEntry, InputPortSetRecord, InputProtocol, PortSetEntry } from "./types";
export declare class PortSet<Names extends string = never> {
private readonly _map;
constructor(_map?: Map<Names, PortSetEntry>);
private _apply;
union<InNames extends string>(other: PortSet<InNames>): PortSet<Names | InNames>;
add<Name extends string>(name: Name, port: InputPort, protocol: InputProtocol): PortSet<Names | Name>;
add<Name extends string>(name: Name, entry: InputPortSetEntry): PortSet<Names | Name>;
add<InNames extends string>(input?: InputPortSetRecord<InNames>): PortSet<Names | InNames>;
pick<InNames extends Names>(...name: InNames[]): PortSet<InNames>;
get names(): Names[];
get(name: Names): PortSetEntry;
get values(): Map<Names, PortSetEntry>;
map(mapping: InputPortMapping<Names>): PortMap<Names>;
static make<Names extends string>(input?: InputPortSetRecord<Names>): PortSet<Names>;
}
//# sourceMappingURL=set.d.ts.map