UNPKG

@inversifyjs/core

Version:

InversifyJs core package

22 lines 1.16 kB
import { Cloneable } from './Cloneable'; export 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(): this; 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; protected _buildNewInstance(spec: OneToManyMapStartSpec<TRelation>): this; protected _cloneModel(model: TModel): TModel; protected _cloneRelation(relation: TRelation): TRelation; } //# sourceMappingURL=OneToManyMapStar.d.ts.map