UNPKG

@inversifyjs/core

Version:

InversifyJs core package

20 lines 1 kB
import { Cloneable } from './Cloneable'; type OneToManyMapStartSpec<TRelation extends object> = { [TKey in keyof TRelation]: { isOptional: undefined extends TRelation[TKey] ? true : false; }; }; /** * Data structure able to efficiently manage a set of models related to a set of properties in a one to many relation. */ export declare class OneToManyMapStar<TModel, TRelation extends object> implements Cloneable<OneToManyMapStar<TModel, TRelation>> { #private; constructor(spec: OneToManyMapStartSpec<TRelation>); add(model: TModel, relation: TRelation): void; clone(): OneToManyMapStar<TModel, TRelation>; get<TKey extends keyof TRelation>(key: TKey, value: Required<TRelation>[TKey]): Iterable<TModel> | undefined; getAllKeys<TKey extends keyof TRelation>(key: TKey): Iterable<TRelation[TKey]>; removeByRelation<TKey extends keyof TRelation>(key: TKey, value: Required<TRelation>[TKey]): void; } export {}; //# sourceMappingURL=OneToManyMapStar.d.ts.map